[LLVMbugs] [Bug 2451] New: Anders pass asserts on extractelement/insertelement
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Fri Jun 13 01:00:04 PDT 2008
http://llvm.org/bugs/show_bug.cgi?id=2451
Summary: Anders pass asserts on extractelement/insertelement
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Global Analyses
AssignedTo: unassignedbugs at nondot.org
ReportedBy: matthijs at stdin.nl
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=1740)
--> (http://llvm.org/bugs/attachment.cgi?id=1740)
Test case
Very easy to reproduce: Feed any program containing a insertelement or extract
element to Anders AA pass, and it asserts. I guess nobody told anders about
these instructions yet...
I've attached a small testcase, which is taken from the instcombine testcases
(test/Transforms/InstCombine/2006-03-30-ExtractElement.ll). Run with
llvm-as < ./2006-03-30-ExtractElement.ll | opt -anders-aa
and it gives
Unknown instruction: %V2 = insertelement <4 x float> %V, float 1.000000e+00,
i32 3 ; <<4 x float>> [#uses=1]
Program received signal SIGABRT, Aborted.
[Switching to Thread -1211025728 (LWP 16041)]
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7d3f875 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7d41201 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0x0853e729 in (anonymous namespace)::Andersens::visitInstruction
(this=0x87c9980, I=@0x87c945c) at Andersens.cpp:1149
#4 0x0855347c in llvm::InstVisitor<(anonymous namespace)::Andersens,
void>::visitInsertElementInst (this=0x87c9980, I=@0x87c945c)
at /home/kooijman/src/llvm-trunk/include/llvm/Support/InstVisitor.h:197
#5 0x08553496 in llvm::InstVisitor<(anonymous namespace)::Andersens,
void>::visitInsertElement (this=0x87c9980, I=@0x87c945c)
at /home/kooijman/src/llvm-trunk/include/llvm/Instruction.def:165
#6 0x08553b72 in llvm::InstVisitor<(anonymous namespace)::Andersens,
void>::visit (this=0x87c9980, I=@0x87c945c)
at /home/kooijman/src/llvm-trunk/include/llvm/Instruction.def:165
#7 0x08553c31 in llvm::InstVisitor<(anonymous namespace)::Andersens,
void>::visit<llvm::ilist_iterator<llvm::Instruction> > (this=0x87c9980, Start=
{<bidirectional_iterator<llvm::Instruction,int>> = {<> = {<No data
fields>}, <No data fields>}, NodePtr = 0x87ca878}, End=
{<bidirectional_iterator<llvm::Instruction,int>> = {<> = {<No data
fields>}, <No data fields>}, NodePtr = 0x87c9488})
at /home/kooijman/src/llvm-trunk/include/llvm/Support/InstVisitor.h:92
#8 0x08553ca8 in llvm::InstVisitor<(anonymous namespace)::Andersens,
void>::visit (this=0x87c9980, BB=@0x87c9358)
at /home/kooijman/src/llvm-trunk/include/llvm/Support/InstVisitor.h:107
#9 0x08553cf3 in llvm::InstVisitor<(anonymous namespace)::Andersens,
void>::visit<llvm::ilist_iterator<llvm::BasicBlock> > (this=0x87c9980, Start=
{<bidirectional_iterator<llvm::BasicBlock,int>> = {<> = {<No data
fields>}, <No data fields>}, NodePtr = 0x87c9380}, End=
{<bidirectional_iterator<llvm::BasicBlock,int>> = {<> = {<No data
fields>}, <No data fields>}, NodePtr = 0x87c9380})
at /home/kooijman/src/llvm-trunk/include/llvm/Support/InstVisitor.h:92
#10 0x08553d6a in llvm::InstVisitor<(anonymous namespace)::Andersens,
void>::visit (this=0x87c9980, F=@0x87c97b8)
at /home/kooijman/src/llvm-trunk/include/llvm/Support/InstVisitor.h:103
#11 0x08553d88 in llvm::InstVisitor<(anonymous namespace)::Andersens,
void>::visit (this=0x87c9980, F=0x87c97b8)
at /home/kooijman/src/llvm-trunk/include/llvm/Support/InstVisitor.h:112
#12 0x08541cc7 in (anonymous namespace)::Andersens::CollectConstraints
(this=0x87c9980, M=@0x87c7e30) at Andersens.cpp:1085
#13 0x08553dca in (anonymous namespace)::Andersens::runOnModule
(this=0x87c9980, M=@0x87c7e30) at Andersens.cpp:439
#14 0x08654772 in llvm::MPPassManager::runOnModule (this=0x87c80c8,
M=@0x87c7e30) at PassManager.cpp:1264
#15 0x0865492a in llvm::PassManagerImpl::run (this=0x87c8918, M=@0x87c7e30) at
PassManager.cpp:1338
#16 0x0865497d in llvm::PassManager::run (this=0xbf8f4f34, M=@0x87c7e30) at
PassManager.cpp:1370
#17 0x083958c2 in main (argc=3, argv=0xbf8f5134) at opt.cpp:431
--
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