-
Notifications
You must be signed in to change notification settings - Fork 15.3k
Description
| Bugzilla Link | 3909 |
| Resolution | WORKSFORME |
| Resolved on | Apr 22, 2009 02:19 |
| Version | unspecified |
| OS | Linux |
| Attachments | test case, generated by the LLVM D compiler and simplified manually |
| Reporter | LLVM Bugzilla Contributor |
| CC | @nlewycky |
Extended Description
Assembling the attached code with 'llc bug.bc' triggers the assert
ScalarEvolutionExpressions.h:570: RetVal llvm::SCEVVisitor<SC, RetVal>::visitCouldNotCompute(llvm::SCEVCouldNotCompute*) [with SC = llvm::SCEVExpander, RetVal = llvm::Value*]: Assertion `0 && "Invalid use of SCEVCouldNotCompute!"' failed.
with LLVM 2.5. The issue seems to be i64 related: if you replace all i64s with i32s, the code is assembled fine. The backtrace is:
4 libc.so.6 0xb7d01f25 __assert_fail + 245
5 llc 0x08d0fc9a llvm::LoopBasellvm::BasicBlock::isLoopInvariant(llvm::Value*) const + 0
6 llc 0x08d10861 llvm::SCEVVisitor<llvm::SCEVExpander, llvm::Value*>::visit(llvm::SCEV*) + 337
7 llc 0x08d0e3fd llvm::SCEVExpander::expand(llvm::SCEV*) + 161
8 llc 0x08d0f0f2 llvm::SCEVExpander::visitAddRecExpr(llvm::SCEVAddRecExpr*) + 1956
9 llc 0x08d10802 llvm::SCEVVisitor<llvm::SCEVExpander, llvm::Value*>::visit(llvm::SCEV*) + 242
10 llc 0x08d0e3fd llvm::SCEVExpander::expand(llvm::SCEV*) + 161
11 llc 0x08d0e46d llvm::SCEVExpander::expandCodeFor(llvm::SCEVHandle, llvm::Instruction*) + 41
12 llc 0x08c854d0
13 llc 0x08c87748
14 llc 0x08ce83af llvm::LPPassManager::runOnFunction(llvm::Function&) + 911
15 llc 0x08d91a0e llvm::FPPassManager::runOnFunction(llvm::Function&) + 258
16 llc 0x08d91f98 llvm::FunctionPassManagerImpl::run(llvm::Function&) + 116
17 llc 0x08d920f1 llvm::FunctionPassManager::run(llvm::Function&) + 137
18 llc 0x08513503 main + 2479