llvm-project/llvm/test/CodeGen/AVR
Dylan McKay e967308da4 Add TargetLoweringInfo hook for explicitly setting the ABI calling convention endianess
Summary:
The endianess used in the calling convention does not always match the
endianess of the target on all architectures, namely AVR.

When an argument is too large to be legalised by the architecture and is
split for the ABI, a new hook TargetLoweringInfo::shouldSplitFunctionArgumentsAsLittleEndian
is queried to find the endianess that function arguments must be laid
out in.

This approach was recommended by Eli Friedman.

Originally reported in https://github.com/avr-rust/rust/issues/129.

Patch by Carl Peto.

Reviewers: bogner, t.p.northover, RKSimon, niravd, efriedma

Reviewed By: efriedma

Subscribers: JDevlieghere, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62003

llvm-svn: 361222
2019-05-21 06:38:02 +00:00
..
atomics [AVR] Fix codegen bug in 16-bit loads 2019-01-20 03:41:08 +00:00
calling-conv/c [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later. 2019-03-13 17:07:09 +00:00
features
inline-asm
integration [AVR] Update integration/blink.ll as we now generate sbi/cbi instructions. 2019-01-03 21:25:39 +00:00
intrinsics
pseudo [AVR] Fix codegen bug in 16-bit loads 2019-01-20 03:41:08 +00:00
relax-mem [AVR] Fix the testsuite after '%' changed to '$' in MIR 2018-02-08 09:17:11 +00:00
PR31344.ll
PR31345.ll
PR37143.ll [AVR] Fix codegen bug in 16-bit loads 2019-01-20 03:41:08 +00:00
add.ll
alloca.ll
and.ll
avr-rust-issue-123.ll [AVR] Insert unconditional branch when inserting MBBs between blocks with fallthrough 2019-01-21 04:32:02 +00:00
branch-relaxation-long.ll
branch-relaxation.ll
brind.ll
call.ll [AVR] Fix the 'call.ll' CodeGen test 2018-10-10 03:21:42 +00:00
clear-bss.ll
cmp.ll
com.ll
copy-data-to-ram.ll
ctlz.ll
ctpop.ll
cttz.ll
directmem.ll [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later. 2019-03-13 17:07:09 +00:00
div.ll [AVR] Lower i128 divisions to runtime library calls 2018-03-19 00:55:50 +00:00
dynalloca.ll
eor.ll
expand-integer-failure.ll
frame.ll
frmidx-iterator-bug.ll
hardware-mul.ll [AVR] Expand 8/16-bit multiplication to libcalls on MCUs that don't have hardware MUL 2019-01-18 06:10:41 +00:00
high-pressure-on-ptrregs.ll
icall-func-pointer-correct-addr-space.ll
impossible-reg-to-reg-copy.ll
interrupts.ll
io.ll
issue-cannot-select-bswap.ll
issue-regalloc-stackframe-folding-earlyclobber.ll [AVR] Remove the earlyclobber flag from LDDWRdYQ 2018-03-06 11:20:25 +00:00
large-return-size.ll
lit.local.cfg
load.ll [AVR] Fix codegen bug in 16-bit loads 2019-01-20 03:41:08 +00:00
lower-formal-args-struct-return.ll [AVR] Add a regression test for struct return lowering 2018-03-20 11:23:03 +00:00
lower-formal-arguments-assertion.ll
neg.ll
no-print-operand-twice.ll
or.ll
pre-schedule.ll [ScheduleDAGRRList] Do not preschedule the node has ADJCALLSTACKDOWN parent 2019-01-18 08:36:06 +00:00
progmem-extended.ll
progmem.ll
rem.ll
return.ll
rot.ll
runtime-trig.ll
rust-avr-bug-37.ll [AVR] Disallow the LDDWRdPtrQ instruction with Z as the destination 2018-11-05 05:00:44 +00:00
rust-avr-bug-95.ll [AVR] Disallow the LDDWRdPtrQ instruction with Z as the destination 2018-11-05 05:00:44 +00:00
rust-avr-bug-99.ll [AVR] Set trackLivenessAfterRegAlloc 2018-06-11 14:46:48 +00:00
rust-avr-bug-112.ll [AVR] Fix a backend bug that left extraneous operands after expansion 2018-11-05 05:49:04 +00:00
select-must-add-unconditional-jump.ll [CodeGen] Unify the syntax of MBB successors in MIR and -debug output 2018-02-09 00:10:31 +00:00
sext.ll
shift.ll
sign-extension.ll
smul-with-overflow.ll [AVR] Expand 8/16-bit multiplication to libcalls on MCUs that don't have hardware MUL 2019-01-18 06:10:41 +00:00
software-mul.ll [AVR] Expand 8/16-bit multiplication to libcalls on MCUs that don't have hardware MUL 2019-01-18 06:10:41 +00:00
std-ldd-immediate-overflow.ll
store-undef.ll
store.ll
sub.ll
trunc.ll
umul-with-overflow.ll [AVR] Expand 8/16-bit multiplication to libcalls on MCUs that don't have hardware MUL 2019-01-18 06:10:41 +00:00
umul.with.overflow.i16-bug.ll Add TargetLoweringInfo hook for explicitly setting the ABI calling convention endianess 2019-05-21 06:38:02 +00:00
unaligned-atomic-loads.ll
varargs.ll
xor.ll
zext.ll [AVR] Fix the test suite after r326500. 2018-03-05 20:56:25 +00:00