From: "Brent N. Chun" <bnc@paradigm-shift.CS.Berkeley.EDU>
Date: Wed, 16 Apr 1997 20:32:40 -0700 (PDT)
Subject: Three questions and a possible bug
Message-Id: <199704170332.UAA23051@paradigm-shift.CS.Berkeley.EDU>
Hi,
I have a few (newbie?) questions.
(1) When trying to clone an instruction in a flat list, the following
assertion is getting in my way:
**** Assertion failure in file "trees.cc" at line 2179 (module libsuif.a)
**** False expression: oldinstrs.count() == newinstrs.count()
This looks like a bug. Has anyone seen this problem or have a fix
for it?
(2) Ultimately, what I'd like to do is insert a call to a procedure
that takes four parameters, which could be variables or temporary
results from other instructions. In a procedure call, does SUIF
allow pointers to instructions like those used for sources in regular
instructions?
(3) I'm working with flat lists throughout my program. What is the
easiest way to insert new SUIF code? Functions like make_tree_node
return code that are in high SUIF form. Do I need to flatten this
first somehow and insert it that way?
--
bnc
From: Chris Wilson <cwilson@CS.Stanford.EDU>
Date: Wed, 16 Apr 97 19:22:23 PDT
Subject: Re: Bug in tile.cc
Message-Id: <CMM.0.90.4.861243743.cwilson@Xenon.Stanford.EDU>
> hi,
>
> There seems to be a minor bug in tile.cc which is a tiling example
> in the suifmath library. As there is declaration and initialization
> going on within the case statements g++ screams :
>
> tile.cc:93: jump to case label
> tile.cc:89: crosses initialization of `class tree_for * tnf'
>
> A quick and easy fix is to include every such case in a block.
> Hope that helps.
>
> Amit
Thanks for the bug report. That's exactly the right fix.
This is something that used to be legal, but as draft ANSI C++ has
developed, it has become illegal. Older versions of g++ accepted it
but newer ones need the fix you mention.
This will be fixed in the next release of baseparsuif.
--Chris
From: Chris Wilson <cwilson@CS.Stanford.EDU>
Date: Wed, 16 Apr 97 18:58:50 PDT
Subject: Re: I77 usage
Message-Id: <CMM.0.90.4.861242330.cwilson@Xenon.Stanford.EDU>
> Hi,
>
> I'm trying to use some C functions (such as s_wsfe, do_fio, e_wsfe
> etc) in the I77 subdir for fortran io. Is there any documentation, other
> than the source code (there're few comment lines in the source code),
> talking about the usage of these functions? For example, before I call
> do_fio, I need to call s_wsfe to set a clist struct, which value shall
> I set in order to get correct activity.
>
> Thank you for your help.
>
> Haibing Ma
No, there isn't much documentation for this. It's not meant to be
used directly, just used by code generated by sf2c, part of the
Fortran front-end for SUIF.
This library is taken from an older version of the Bell Labs f2c
package. If you can find documentation about the I77 for Bell Labs
f2c, some or all of it may apply to the I77 distributed with SUIF.
Note also that the interface is similar to that of the I77 libraries
provided with many UNIX systems, so documentation on any I77 library
for any system may be helpful.
Otherwise, reading the code and trying test programs throught the SUIF
Fortran front-end are the best ways to figure out what is going on.
--Chris
From: Chris Wilson <cwilson@CS.Stanford.EDU>
Date: Wed, 16 Apr 97 16:37:28 PDT
Subject: Re: for dismantling
Message-Id: <CMM.0.90.4.861233849.cwilson@Xenon.Stanford.EDU>
> Hi,
>
> I want to pass a program that I parallelized using SUIF
> through SUIF again, in order to make some modifications
> of my own to the lower and upper bounds of for loop
>
> unfortunately when I transform the C code back to SUIF
> format (using snoot and porky) the for loops are dismantled !
> is there a way of avoiding this ?
>
> thanx,
> &si
Try the ``-drop-bounds'' flag to s2c.
If that doesn't work, try creating a small test program that
demonstrates the problem and send the source and s2c output after
parallelization, along with all commands used, and we can see what
else might be the problem.
--Chris
From: "Amit M. Rao" <arao@ececs.uc.edu>
Date: Wed, 16 Apr 1997 11:19:14 -0400 (EDT)
Subject: Bug in tile.cc
Message-Id: <Pine.SOL.3.96.970416111234.22523A-100000@klingon.ececs.uc.edu>
hi,
There seems to be a minor bug in tile.cc which is a tiling example
in the suifmath library. As there is declaration and initialization
going on within the case statements g++ screams :
tile.cc:93: jump to case label
tile.cc:89: crosses initialization of `class tree_for * tnf'
A quick and easy fix is to include every such case in a block.
Hope that helps.
Amit
-----------------------------------------------------------------------------------------------------------------------------------------------------
Work : Home :
---- ----
Graduate Student 506 Riddle Rd.,
Computer Engg. Apt # 25,
Dept. of ECECS Cincinnati, Oh 45220
Univ of Cincinnati, USA.
805C Rhodes Hall, Tel no : (513)559-9413
Cincinnati, OH 45220
USA
email : arao@ececs.uc.edu
URL : http://www.ececs.uc.edu/~arao/
-----------------------------------------------------------------------------------------------------------------------------------------------------