<h1 class="vi-is1-titleH1">Hi folk, <br></h1>I have a Module pass.  I tested the pass against  the following code. <br><br>./gcc.dg/20030721-1.c<br>extern void abort(void);<br><br>void foo(int) __attribute__((__noinline__));<br>
<br>void foo(int i)<br>{<br>  abort();<br>}<br><br>int main()<br>{<br>  int i;<br>  int first= 0;<br>  int last= 0;<br><br>  while (last<3) {<br>    last = first;<br><br>    while (first<=last) {<br>      first++;<br>
<br>      for (i=0;i<3;i++)<br>        last++;<br><br>      if (last>10)<br>        return 0;<br>    }<br><br>    foo(first);<br>  }<br><br>  return 0;<br>}<br>~                        <br><br><br>If I test my pass with "gcc -fmypass ./gcc.dg/20030721-1.c -fno-show-column -S -o 20030721-1.s", it works. <br>
But when I add -O2 to the above command line, I get the following error message:<br><br>LCSSA.cpp:167: virtual bool<unnamed>::LCSSA::runOnLoop(llvm::Loop*, llvm::LPPassManager&): Assertion `L->isLCSSAForm()' failed.<br>
./gcc.dg/20030721-1.c:41: internal compiler error: Aborted<br><br>Any thought what "isLCSSAForm" fails mean?<br><br>Thanks, <br>Neal. <br>