[LLVMbugs] [Bug 14337] New: UNREACHABLE executed at CallingConvLower.cpp:111 when returning v4f64 on ARM

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Nov 13 22:07:03 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=14337

             Bug #: 14337
           Summary: UNREACHABLE executed at CallingConvLower.cpp:111 when
                    returning v4f64 on ARM
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: ARM
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: craig.topper at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 9533
  --> http://llvm.org/bugs/attachment.cgi?id=9533
Test case

Trying to return a v4f64 or v8f32 and probably other larger vectors causes an
UNREACHABLE to be executed in CallingConvLower.cpp when compiling for ARM.

Stack trace

Return operand #4 has unhandled type i32
UNREACHABLE executed at lib/CodeGen/CallingConvLower.cpp:111!
0  llc               0x000000010da5a08e PrintStackTrace(void*) + 46
1  llc               0x000000010da5a6a8 SignalHandler(int) + 408
2  libsystem_c.dylib 0x00007fff8ee898ea _sigtramp + 26
3  libsystem_c.dylib 0x00007fa0634104b0 _sigtramp + 18446743664955255776
4  llc               0x000000010da5a35b raise + 27
5  llc               0x000000010da5a412 abort + 18
6  llc               0x000000010da2f076 llvm::llvm_unreachable_internal(char
const*, char const*, unsigned int) + 198
7  llc               0x000000010d2b29e7
llvm::CCState::AnalyzeReturn(llvm::SmallVectorImpl<llvm::ISD::OutputArg>
const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT,
llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)) + 327
8  llc               0x000000010ccf68df
llvm::ARMTargetLowering::LowerReturn(llvm::SDValue, llvm::CallingConv::ID,
bool, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&,
llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::DebugLoc,
llvm::SelectionDAG&) const + 335
9  llc               0x000000010d117814
llvm::SelectionDAGBuilder::visitRet(llvm::ReturnInst const&) + 3572
10 llc               0x000000010d1162ae
llvm::SelectionDAGBuilder::visit(unsigned int, llvm::User const&) + 110
11 llc               0x000000010d1157e4
llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) + 132
12 llc               0x000000010d186e5c
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction
const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) + 140
13 llc               0x000000010d186c2b
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 3979
14 llc               0x000000010d184ec6
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 998
15 llc               0x000000010d399b1e
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 110
16 llc               0x000000010d99e81f
llvm::FPPassManager::runOnFunction(llvm::Function&) + 431
17 llc               0x000000010d99eb1d
llvm::FPPassManager::runOnModule(llvm::Module&) + 125
18 llc               0x000000010d99f021
llvm::MPPassManager::runOnModule(llvm::Module&) + 1185
19 llc               0x000000010d99f9ad
llvm::PassManagerImpl::run(llvm::Module&) + 157
20 llc               0x000000010d99fbc1 llvm::PassManager::run(llvm::Module&) +
33
21 llc               0x000000010c9439c1 main + 7809
22 libdyld.dylib     0x00007fff9469e7e1 start + 0
23 libdyld.dylib     0x0000000000000005 start + 18446603338026194980


Test case is attached.

-- 
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