[LLVMbugs] [Bug 2097] New: crash in Transforms/Scalar/CodeGenPrepare.cpp:993 on sparc
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Tue Feb 26 07:36:38 PST 2008
http://llvm.org/bugs/show_bug.cgi?id=2097
Summary: crash in Transforms/Scalar/CodeGenPrepare.cpp:993 on
sparc
Product: libraries
Version: trunk
Platform: Sun
URL: http://llvm.org/viewvc/llvm-
project/llvm/trunk/lib/Transforms/Scalar/CodeGenPrepare.
cpp?view=markup&pathrev=47604
OS/Version: Solaris
Status: NEW
Severity: normal
Priority: P2
Component: Backend: SparcV8
AssignedTo: unassignedbugs at nondot.org
ReportedBy: ggreif at gmail.com
CC: llvmbugs at cs.uiuc.edu
llc crashes on this test:
CodeGen/PowerPC/2006-12-07-LargeAlloca.ll
Reproducible as:
cd Debug/bin
llvm-upgrade < .../CodeGen/PowerPC/2006-12-07-LargeAlloca.ll | llvm-as > ggg.bc
llc -march=sparc -f ggg.bc
Here is the gdb session:
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "sparc-sun-solaris"...
(gdb) b .../llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp:993
Breakpoint 1 at 0xa4285c: file CodeGenPrepare.cpp, line 993.
(gdb) run -march=sparc -f ../../Release/bin/ggg.bc
Starting program: .../llvm/Debug/bin/llc -march=sparc -f
../../Release/bin/ggg.bc
warning: Temporarily disabling breakpoints for unloaded shared library
"/usr/lib/ld.so.1"
warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 00000074
Breakpoint 1, (anonymous namespace)::CodeGenPrepare::OptimizeExtUses
(this=0xd323d0,
I=0xd34f98) at CodeGenPrepare.cpp:993
993 if (!TLI->isTruncateFree(I->getType(), Src->getType()))
(gdb) p TLI
$1 = (const class llvm::TargetLowering *) 0x0
(gdb) p *this
$2 = {<llvm::FunctionPass> = {<llvm::Pass> = {_vptr.Pass = 0xcebd78,
Resolver = 0xd31a90, PassID = 13815488,
AnalysisImpls = {<std::_Vector_base<std::pair<const llvm::PassInfo*,
llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >>
= {
_M_impl = {<std::allocator<std::pair<const llvm::PassInfo*,
llvm::Pass*> >> = {<__gnu_cxx::new_allocator<std::pair<const llvm::PassInfo*,
llvm::Pass*> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0,
_M_finish = 0x0,
_M_end_of_storage = 0x0}}, <No data fields>}}, <No data fields>},
TLI = 0x0, static ID = 0 '\0'}
(gdb) p I
$3 = (class llvm::Instruction *) 0xd34f98
(gdb) p Src
$4 = (class llvm::Value *) 0xd2e738
(gdb) p *Src
$5 = {_vptr.Value = 0xd073c8, SubclassID = 58, SubclassData = 0, Ty = {Ty =
0xd30720},
UseList = 0xd34fc0, Name = 0xd31dc0}
(gdb) call I->dump()
%gep.upgrd.1 = zext i32 %iv. to i64 ; <i64> [#uses=1]
(gdb) call Src->dump()
%iv. = phi i32 [ %iv..inc, %bb12.i ], [ 0, %bb19.bb12.i_crit_edge ]
; <i32> [#uses=2]
(gdb)
%iv. = phi i32 [ %iv..inc, %bb12.i ], [ 0, %bb19.bb12.i_crit_edge ]
; <i32> [#uses=2]
Obviously the TLI object pointer is not correctly set, or in case NULL is
admissible, it should be checked for.
--
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