[LLVMbugs] [Bug 6482] New: llvm-link asserts with "Type mismatch in constant table!" depending on linking order
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Wed Mar 3 09:38:03 PST 2010
http://llvm.org/bugs/show_bug.cgi?id=6482
Summary: llvm-link asserts with "Type mismatch in constant
table!" depending on linking order
Product: new-bugs
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: major
Priority: P5
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: matti.niemenmaa+llvmbugs at iki.fi
CC: llvmbugs at cs.uiuc.edu
The attached two bitcode files are both individually fine, but llvm-link from
trunk (r97652) asserts if one links them in the order 'one.bc' 'two.bc':
$ llvm-link one.bc two.bc >/dev/null
llvm-link: src/llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp:203:
llvm::Constant* llvm::BitcodeReaderValueList::getConstantFwdRef(unsigned int,
const llvm::Type*): Assertion `Ty == V->getType() && "Type mismatch in constant
table!"' failed.
Stack dump:
0. Program arguments: llvm-link one.bc two.bc
Doing it in the other order is fine though:
$ llvm-link two.bc one.bc | llvm-dis | wc -l
1267
llvm-link from LLVM 2.6 copes fine regardless of the order, but it does produce
different output for the two cases. (Not necessarily unexpected?)
I think that this is the same problem that is preventing me from bugpointing a
misoptimization: bugpoint dies in the same way when it starts splitting the
testcase.
Using the 'delta' tool for several CPU-hours I managed to bring 'two.bc' down
from over a megabyte to the current 43K, but it's still a bit big; I hope it's
not so big as to make finding the problem unduly difficult.
--
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