[LLVMdev] 2.1 Pre-Release Available (testers needed)

Emil Mikulic emil at cs.rmit.edu.au
Wed Sep 19 00:45:11 PDT 2007


On Wed, Sep 19, 2007 at 05:24:12PM +1000, Emil Mikulic wrote:
> http://goanna.cs.rmit.edu.au/~emil/llvm2.1-check-debug.txt

Here's an ARM test that cores:

$ llvm-as < /home/emil/ll/llvm-2.1/test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll | llc -march=arm -mattr=+v6,+vfp2
Segmentation fault (core dumped)

$ gdb `which llc` llc.core
[...]
(gdb) where
#0  0x0853d606 in llvm::ilist_traits<llvm::MachineInstr>::getNext (
    N=0x5a5a5a5a) at MachineBasicBlock.h:37
#1  0x0854d807 in llvm::ilist_iterator<llvm::MachineInstr>::operator-- (
    this=0xbfbfe880) at ilist:137
#2  0x085502c5 in std::__advance<llvm::ilist_iterator<llvm::MachineInstr>, int>
    (__i=@0xbfbfe880, __n=0) at stl_iterator_base_funcs.h:145
#3  0x08550311 in std::advance<llvm::ilist_iterator<llvm::MachineInstr>, int> (
    __i=@0xbfbfe880, __n=-1) at stl_iterator_base_funcs.h:177
#4  0x08550339 in llvm::prior<llvm::ilist_iterator<llvm::MachineInstr> > (it=
      {<bidirectional_iterator<llvm::MachineInstr,int>> = {<std::iterator<std::bidirectional_iterator_tag,llvm::MachineInstr,int,llvm::MachineInstr*,llvm::MachineInstr&>> = {<No data fields>}, <No data fields>}, NodePtr = 0x5a5a5a5a})
    at STLExtras.h:154
#5  0x085c08c8 in LoadStoreMultipleOpti (this=0x29005ec0, MBB=@0x2904c400)
    at /home/emil/ll/llvm-2.1/lib/Target/ARM/ARMLoadStoreOptimizer.cpp:683
#6  0x085c0a8e in runOnMachineFunction (this=0x29005ec0, Fn=@0x290282c0)
    at /home/emil/ll/llvm-2.1/lib/Target/ARM/ARMLoadStoreOptimizer.cpp:744
#7  0x0853d4b8 in llvm::MachineFunctionPass::runOnFunction (this=0x29005ec0, 
    F=@0x29007420) at MachineFunctionPass.h:41
#8  0x08b48a5d in llvm::FPPassManager::runOnFunction (this=0x29037060, 
    F=@0x29007420) at /home/emil/ll/llvm-2.1/lib/VMCore/PassManager.cpp:1168
#9  0x08b48cc4 in llvm::FunctionPassManagerImpl::run (this=0x2902a040, 
    F=@0x29007420) at /home/emil/ll/llvm-2.1/lib/VMCore/PassManager.cpp:1126
#10 0x08b48e48 in llvm::FunctionPassManager::run (this=0xbfbfebcc, 
    F=@0x29007420) at /home/emil/ll/llvm-2.1/lib/VMCore/PassManager.cpp:1071
#11 0x0851b0da in main (argc=3, argv=0xbfbfec84)
    at /home/emil/ll/llvm-2.1/tools/llc/llc.cpp:295

line 37 is:
37        static MachineInstr* getNext(MachineInstr* N) { return N->next; }

(gdb) print N
$1 = (llvm::MachineInstr *) 0x5a5a5a5a
(gdb) print *N
Cannot access memory at address 0x5a5a5a5a

Should I take this (and the other crashes?) off the list and start
filing bugs or something?

--Emil



More information about the llvm-dev mailing list