llvm-project/llvm/test/CodeGen/SPARC
Koakuma d3fcbee10d [SPARC] Make calls to function with big return values work
Implement CanLowerReturn and associated CallingConv changes for SPARC/SPARC64.

In particular, for SPARC64 there's new `RetCC_Sparc64_*` functions that handles the return case of the calling convention.
It uses the same analysis as `CC_Sparc64_*` family of funtions, but fails if the return value doesn't fit into the return registers.

This makes calls to functions with big return values converted to an sret function as expected, instead of crashing LLVM.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D132465
2022-10-18 00:01:55 +00:00
..
32abi.ll
64abi.ll [SPARC] Make calls to function with big return values work 2022-10-18 00:01:55 +00:00
64atomics.ll
64bit.ll [SDAG] try to replace subtract-from-constant with xor 2022-07-08 08:14:24 -04:00
64cond.ll [SPARC] Zero-extend the operands when doing UMULO on 64-bit integers 2021-11-14 19:59:52 +01:00
64spill.ll
2006-01-22-BitConvertLegalize.ll
2007-05-09-JumpTables.ll
2007-07-05-LiveIntervalAssert.ll
2008-10-10-InlineAsmMemoryOperand.ll [Sparc] Have test use IAS 2022-05-23 01:22:07 -04:00
2008-10-10-InlineAsmRegOperand.ll [Sparc] Don't use SunStyleELFSectionSwitchSyntax 2022-08-17 12:59:29 +02:00
2009-08-28-PIC.ll
2009-08-28-WeakLinkage.ll
2011-01-11-CC.ll [Tests] Add elementtype attribute to indirect inline asm operands (NFC) 2022-01-06 14:23:51 +01:00
2011-01-11-Call.ll [Sparc] Add tail call support 2022-03-08 13:50:54 +01:00
2011-01-11-FrameAddr.ll
2011-01-19-DelaySlot.ll [Sparc] Add tail call support 2022-03-08 13:50:54 +01:00
2011-01-21-ByValArgs.ll
2011-01-22-SRet.ll
2011-12-03-TailDuplication.ll
2012-05-01-LowerArguments.ll
2013-05-17-CallFrame.ll
DbgValueOtherTargets.test
LeonCASAInstructionUT.ll
LeonDetectRoundChangePassUT.ll
LeonFixAllFDIVSQRTPassUT.ll
LeonInsertNOPLoadPassUT.ll
LeonItinerariesUT.ll
LeonSMACUMACInstructionUT.ll [SPARC] Don't do leaf optimization on procedures with inline assembly 2022-06-27 15:09:30 +02:00
analyze-branch.ll
atomics.ll
basictest.ll
bigreturn.ll [SPARC] Make calls to function with big return values work 2022-10-18 00:01:55 +00:00
blockaddr.ll Fix tests defaulting to incorrect triples on AIX 2021-09-27 11:30:45 -04:00
cast-sret-func.ll
codemodel.ll [Support] Make report_fatal_error respect its GenCrashDiag argument so it doesn't generate a backtrace 2022-05-30 19:19:23 +01:00
constpool.ll Fix tests defaulting to incorrect triples on AIX 2021-09-27 11:30:45 -04:00
constructor.ll [Sparc] Don't use SunStyleELFSectionSwitchSyntax 2022-08-17 12:59:29 +02:00
ctpop.ll
cttz.ll [TargetLowering][RISCV][Sparc] Don't emit zero check in CTTZTableLookup for CTTZ_ZERO_UNDEF. 2022-10-17 10:15:39 -07:00
disable-fsmuld-fmuls.ll
empty-functions.ll
exception.ll Fix tests defaulting to incorrect triples on AIX 2021-09-27 11:30:45 -04:00
fail-alloca-align.ll
float-constants.ll
float.ll
fp16-promote.ll
fp128-split.ll
fp128.ll
fshl.ll
func-addr.ll Fix tests defaulting to incorrect triples on AIX 2021-09-27 11:30:45 -04:00
globals.ll Fix tests defaulting to incorrect triples on AIX 2021-09-27 11:30:45 -04:00
hard-quad-float.ll [Sparc] Make sure that we really don't emit quad-precision unless the "hard-quad-float" feature is available 2022-05-18 20:11:58 -04:00
imm.ll
inline-asm-i-constraint-i1.ll
inlineasm-bad.ll
inlineasm-output-template.ll
inlineasm-v9.ll [SPARC] Don't do leaf optimization on procedures with inline assembly 2022-06-27 15:09:30 +02:00
inlineasm.ll [SPARC] Don't do leaf optimization on procedures with inline assembly 2022-06-27 15:09:30 +02:00
leafproc.ll [SPARC] Don't do leaf optimization on procedures with inline assembly 2022-06-27 15:09:30 +02:00
lit.local.cfg
mature-mc-support.ll
missing-sret.ll
missinglabel.ll
mult-alt-generic-sparc.ll [Tests] Add elementtype attribute to indirect inline asm operands (NFC) 2022-01-06 14:23:51 +01:00
multiple-div.ll
obj-relocs.ll Fix tests defaulting to incorrect triples on AIX 2021-09-27 11:30:45 -04:00
overflow-intrinsic-optimizations.ll [SparcISelLowering] avoid emitting libcalls to __muloti4 and __mulodi4 2021-10-29 13:14:09 -07:00
parts.ll
pic.ll
private.ll
readcycle.ll
reg64.ll
register-clobber.ll
rem.ll
reserved-regs.ll
select-mask.ll
sethiandn.ll
setjmp.ll
smulo-128-legalisation-lowering.ll [SPARC] Zero-extend the operands when doing UMULO on 64-bit integers 2021-11-14 19:59:52 +01:00
soft-float.ll
soft-mul-div.ll
spill.ll
spillsize.ll
sret-secondary.ll
stack-align.ll
stack-protector.ll
tailcall.ll [Sparc] Add tail call support 2022-03-08 13:50:54 +01:00
thread-pointer.ll
tls.ll
trap.ll
umulo-128-legalisation-lowering.ll [SPARC] Zero-extend the operands when doing UMULO on 64-bit integers 2021-11-14 19:59:52 +01:00
varargs-v8.ll
varargs.ll
vector-call.ll
vector-extract-elt.ll
zerostructcall.ll