https://bugs.llvm.org/show_bug.cgi?id=48698
Bug ID: 48698
Summary: 32-bit sparc backend fails to allocate by-value
returns of 256 bytes
Product: libraries
Version: trunk
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: Sparc
Assignee: unassignedb...@nondot.org
Reporter: simonas+llvm....@kazlauskas.me
CC: llvm-bugs@lists.llvm.org
Code
define i256 @test() unnamed_addr {
start:
ret i256 0
}
built with `llc -mtriple=sparc` will fail with the following assertion:
LLVM ERROR: unable to allocate function return #6
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace.
Stack dump:
0. Program arguments: /opt/compiler-explorer/clang-trunk/bin/llc -o
./output.s -mtriple=sparc <source>
1. Running pass 'Function Pass Manager' on module '<source>'.
2. Running pass 'SPARC DAG->DAG Pattern Instruction Selection' on function
'@test'
<snip>
#7 0x0000558c147c69b6
llvm::CCState::AnalyzeReturn(llvm::SmallVectorImpl<llvm::ISD::OutputArg>
const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT,
llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&))
(/opt/compiler-explorer/clang-trunk/bin/llc+0x1b7e9b6)
#8 0x0000558c13f8c16d llvm::SparcTargetLowering::LowerReturn_32(llvm::SDValue,
unsigned int, bool, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&,
llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::SDLoc const&,
llvm::SelectionDAG&) const
(/opt/compiler-explorer/clang-trunk/bin/llc+0x134416d)
#9 0x0000558c151c77cb llvm::SelectionDAGBuilder::visitRet(llvm::ReturnInst
const&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x257f7cb)
#10 0x0000558c151ec4fc llvm::SelectionDAGBuilder::visit(llvm::Instruction
const&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x25a44fc)
<snip>
Compiler returned: 255
Possibly related to bug 27161
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs