[LLVMbugs] [Bug 4889] New: loop-unswitch assertion fails: " Cannot change null node pointers!"
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Fri Sep 4 10:31:43 PDT 2009
http://llvm.org/bugs/show_bug.cgi?id=4889
Summary: loop-unswitch assertion fails: "Cannot change null node
pointers!"
Product: libraries
Version: trunk
Platform: Macintosh
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Loop Optimizer
AssignedTo: unassignedbugs at nondot.org
ReportedBy: bob.wilson at apple.com
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=3432)
--> (http://llvm.org/bugs/attachment.cgi?id=3432)
testcase
There were 3 regressions in the armv6 nightly tester last night, and all of
them appear to be caused by this same problem. I have verified that it still
occurs in llvm trunk and reduced a testcase with bugpoint. (The
bugpoint-reduced-simplified output exposed a different failure, so the testcase
is the bugpoint-reduced-function version.)
To reproduce:
$ opt bugpoint-reduced-function.bc -loop-unswitch > out.bc
Assertion failed: (N && NewIDom && "Cannot change null node pointers!"),
function changeImmediateDominator, file
/Users/bwilson/local/llvm/llvm/include/llvm/Analysis/Dominators.h, line 490.
0 opt 0x003f8ef4 PrintStackTrace(void*) + 45
1 opt 0x003f94fc SignalHandler(int) + 410
2 libSystem.B.dylib 0x98115bfb _sigtramp + 43
3 libSystem.B.dylib 0xffffffff _sigtramp + 1743692847
4 libSystem.B.dylib 0x981a3ba5 raise + 26
5 libSystem.B.dylib 0x981b9c5c abort + 93
6 libSystem.B.dylib 0x981a6804 __pthread_markcancel + 0
7 opt 0x00335369
llvm::DominatorTreeBase<llvm::BasicBlock>::changeImmediateDominator(llvm::DomTreeNodeBase<llvm::BasicBlock>*,
llvm::DomTreeNodeBase<llvm::BasicBlock>*) + 85
8 opt 0x001d8a4f void
llvm::DominatorTreeBase<llvm::BasicBlock>::Split<llvm::BasicBlock*,
llvm::GraphTraits<llvm::BasicBlock*>
>(llvm::DominatorTreeBase<llvm::GraphTraits<llvm::BasicBlock*>::NodeType>&,
llvm::GraphTraits<llvm::BasicBlock*>::NodeType*) + 897
9 opt 0x00335fc1
llvm::DominatorTreeBase<llvm::BasicBlock>::splitBlock(llvm::BasicBlock*) + 69
10 opt 0x001bc033
llvm::DominatorTree::splitBlock(llvm::BasicBlock*) + 27
11 opt 0x001bac2b
llvm::SplitBlockPredecessors(llvm::BasicBlock*, llvm::BasicBlock* const*,
unsigned int, char const*, llvm::Pass*) + 544
12 opt 0x0015d6c7 (anonymous
namespace)::LoopUnswitch::SplitExitEdges(llvm::Loop*,
llvm::SmallVector<llvm::BasicBlock*, 8u> const&) + 229
13 opt 0x0015df30 (anonymous
namespace)::LoopUnswitch::UnswitchNontrivialCondition(llvm::Value*,
llvm::Constant*, llvm::Loop*) + 692
14 opt 0x0015eec8 (anonymous
namespace)::LoopUnswitch::UnswitchIfProfitable(llvm::Value*, llvm::Constant*) +
538
15 opt 0x0015f0dd (anonymous
namespace)::LoopUnswitch::processCurrentLoop() + 229
16 opt 0x0015f3e4 (anonymous
namespace)::LoopUnswitch::runOnLoop(llvm::Loop*, llvm::LPPassManager&) + 206
17 opt 0x002584b2
llvm::LPPassManager::runOnFunction(llvm::Function&) + 1026
18 opt 0x003891a7
llvm::FPPassManager::runOnFunction(llvm::Function&) + 297
19 opt 0x00389356
llvm::FPPassManager::runOnModule(llvm::Module&) + 84
20 opt 0x00387390
llvm::MPPassManager::runOnModule(llvm::Module&) + 378
21 opt 0x003895da llvm::PassManagerImpl::run(llvm::Module&) +
112
22 opt 0x00389631 llvm::PassManager::run(llvm::Module&) + 27
23 opt 0x0005cdb6 main + 4337
24 opt 0x00050ff1 start + 53
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list