[LLVMdev] isLCSSAForm failed

Neal N. Wang neal.wang at gmail.com
Sun Sep 12 19:41:39 PDT 2010


Hi folk,
I have a Module pass.  I tested the pass against  the following code.

./gcc.dg/20030721-1.c
extern void abort(void);

void foo(int) __attribute__((__noinline__));

void foo(int i)
{
  abort();
}

int main()
{
  int i;
  int first= 0;
  int last= 0;

  while (last<3) {
    last = first;

    while (first<=last) {
      first++;

      for (i=0;i<3;i++)
        last++;

      if (last>10)
        return 0;
    }

    foo(first);
  }

  return 0;
}
~


If I test my pass with "gcc -fmypass ./gcc.dg/20030721-1.c -fno-show-column
-S -o 20030721-1.s", it works.
But when I add -O2 to the above command line, I get the following error
message:

LCSSA.cpp:167: virtual bool<unnamed>::LCSSA::runOnLoop(llvm::Loop*,
llvm::LPPassManager&): Assertion `L->isLCSSAForm()' failed.
./gcc.dg/20030721-1.c:41: internal compiler error: Aborted

Any thought what "isLCSSAForm" fails mean?

Thanks,
Neal.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100912/602a3ab3/attachment.html>


More information about the llvm-dev mailing list