[LLVMbugs] [Bug 1194] bcwriter turns <2 x i10> into <2 x opaque>
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Sat Feb 10 06:19:22 PST 2007
http://llvm.org/bugs/show_bug.cgi?id=1194
rspencer at x10sys.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From rspencer at x10sys.com 2007-02-10 08:19 -------
This had to do with a combination of things:
1. IntegerType is no longer "primitive"
2. Not all IntegerType instances are inserted early.
3. BCReader in some cases needs IntegerType sub-types to be inserted before
(for example) a packed type uses it.
4. Recent slot calculator changes caused non-standard IntegerType instances
to get slot calculator slots higher than their users.
The above caused a type slot number arrangement that forced the IntegerType
sub-type of a PackedType to have a higher slot number than the PackedType.
Consequently, bcreader created an OpaqueType for the IntegerType and then tried
to instantiate a PackedType with that. The resulting assertion ensued.
The fix for this is to just make sure that we insert things in a sane order.
This patch:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044290.html
looks at a type's sub-types and inserts any that cannot recurse back before the
main type is inserted. For example, this type: <2 x i10>* was previously
inserted like this:
#9: opaque#10 *
#10: <2 x opaque#11>
#11: i10
Now, it is inserted like this:
#9: i10
#10: <2 x i10>
#11: <2 x i10>*
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
More information about the llvm-bugs
mailing list