When run on the attached test case, the opt tool crases from a SEGFAULT. Initial investigation shows that LCSSA::GetValueForBlock is being passed a NULL pointer for the BB operand and attempts to dereference it.
Created attachment 429 [details] Test case reduced from net/network.o from Linux 2.4.22 The crash can be reproduced as follows: llvm-as bugpoint-reduced-simplified.ll opt -loop-unroll bugpoint-reduced-simplified.bc
Fixed, patch here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20061030/039276.html Testcase here: Transforms/LCSSA/2006-10-31-UnreachableBlock.ll Thanks, -Chris
Created attachment 430 [details] New testcase for similar problem This is another testcase from the Linux 2.4.22 kernel (drivers/char/char.o).
Chris, I believe the new testcase is another form of the same bug.
Fixed. Patch here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20061030/039278.html Testcase here: Transforms/LCSSA/2006-10-31-UnreachableBlock-2.ll -Chris