llvm-project/llvm/lib/Target/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
..
AsmParser [AVR] Create a TargetInfo header. NFC 2019-05-14 22:41:58 +00:00
Disassembler [AVR] Create a TargetInfo header. NFC 2019-05-14 22:41:58 +00:00
MCTargetDesc [AVR] Create a TargetInfo header. NFC 2019-05-14 22:41:58 +00:00
TargetInfo [AVR] Create a TargetInfo header. NFC 2019-05-14 22:41:58 +00:00
AVR.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVR.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRAsmPrinter.cpp [AVR] Create a TargetInfo header. NFC 2019-05-14 22:41:58 +00:00
AVRCallingConv.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRDevices.td
AVRExpandPseudoInsts.cpp [AVR] Fix codegen bug in 16-bit loads 2019-01-20 03:41:08 +00:00
AVRFrameLowering.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRFrameLowering.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRISelDAGToDAG.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRISelLowering.cpp [AVR] Fix a typo - 's/analisys/analysis' 2019-02-13 22:31:37 +00:00
AVRISelLowering.h Add TargetLoweringInfo hook for explicitly setting the ABI calling convention endianess 2019-05-21 06:38:02 +00:00
AVRInstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRInstrInfo.cpp Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +00:00
AVRInstrInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRInstrInfo.td [AVR] Replace two references to ARM's 't2_so_imm' type comments 2019-01-20 03:45:29 +00:00
AVRMCInstLower.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRMCInstLower.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRMachineFunctionInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRRegisterInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRRegisterInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRRegisterInfo.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRRelaxMemOperations.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRSelectionDAGInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRSubtarget.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRSubtarget.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRTargetMachine.cpp [AVR] Create a TargetInfo header. NFC 2019-05-14 22:41:58 +00:00
AVRTargetMachine.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRTargetObjectFile.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVRTargetObjectFile.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt [AVR] Move InstPrinter files to MCTargetDesc. NFC 2019-05-11 01:03:03 +00:00
LLVMBuild.txt [AVR] Move InstPrinter files to MCTargetDesc. NFC 2019-05-11 01:03:03 +00:00
README.md
TODO.md

README.md

AVR backend

This experimental backend is for the 8-bit Atmel AVR microcontroller.