On Tue, Jun 28, 2011 at 7:51 PM, Ian Lance Taylor <iant@xxxxxxxxxx> wrote: > Abdul Wahid Memon <engrwahidmemon@xxxxxxxxx> writes: > >> Yes. It is working when I am not in ssa mode (in ompexp) but there is >> again a problem with function call that I have declared and inserted >> in the code and the error is the following when my pass is before ompexp: >> >> RDOT/2(-1) @0x7fd2fbe38840 availability:not_available reachable body >> called by: main/0 (1.00 per call) main/0 (1.00 per call) main/0 >> (1.00 per call) main/0 (1.00 per call) >> calls: >> References: >> Refering this function: >> hello.c:21:1: internal compiler error: failed to reclaim unneeded function >> Please submit a full bug report, >> with preprocessed source if appropriate. >> See <http://gcc.gnu.org/bugs.html> for instructions. > > That makes it look like you have introduced a new function which nothing > calls. Perhaps you are accidentally defining a new function rather than > declaring it? No. Its just a declaration and its working fine when I put my pass exactly before "optimized" pass. Actually, the mistake that I did was gimplifying call declaration as I did when my pass was at before optimized pass. By not gimplifying it and putting the pass right before "ompexp" it is working fine. Thanks alot Ian. Regards Abdul > >> The same thing is working when I put my pass before optimized pass. >> The definition of this function is in other file which will be linked >> at link time and is defined external there. For the moment, I passed >> constant integer (just to resolve the issue). So let suppose I want to >> modify a variable at "optimized" pass i,e when ssa is over, how can I >> modify a variable? > > After SSA you are in RTL, not GIMPLE, where things are different. > > Ian >