llvm-project/llvm/lib/Target/AVR
Ayke van Laethem e03ba2198d
[AVR] Improve inline rotate/shift expansions
These expansions were rather inefficient and were done with more code
than necessary. This change optimizes them to use expansions more
similar to GCC. The code size is the same (when optimizing for code
size) but somehow LLVM reorders blocks in a non-optimal way. Still, this
should be an improvement with a reduction in code size of around 0.12%
(when building compiler-rt).

Differential Revision: https://reviews.llvm.org/D86418
2020-10-31 23:15:49 +01:00
..
AsmParser Don't dereference from a dyn_cast<>. NFCI. 2020-09-14 13:05:17 +01:00
Disassembler [AVR] Disassemble double register instructions 2020-06-23 02:18:04 +02:00
MCTargetDesc [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
TargetInfo
AVR.h
AVR.td
AVRAsmPrinter.cpp
AVRCallingConv.td [AVR] Rewrite the function calling convention. 2020-06-23 21:36:18 +12:00
AVRDevices.td [NFC][AVR] Improve device list 2020-10-29 10:54:17 +08:00
AVRExpandPseudoInsts.cpp [AVR][NFC] Use Register instead of unsigned 2020-03-05 11:38:24 +08:00
AVRFrameLowering.cpp [AVR] fix interrupt stack pointer restoration 2020-10-01 18:52:13 +13:00
AVRFrameLowering.h ArrayRef'ize restoreCalleeSavedRegisters. NFCI. 2020-02-29 09:50:23 +01:00
AVRISelDAGToDAG.cpp [AVR] Fix null dereference warning. NFCI. 2020-10-08 19:04:29 +01:00
AVRISelLowering.cpp [AVR] Improve inline rotate/shift expansions 2020-10-31 23:15:49 +01:00
AVRISelLowering.h [AVR] Rewrite the function calling convention. 2020-06-23 21:36:18 +12:00
AVRInstrFormats.td [AVR] Disassemble double register instructions 2020-06-23 02:18:04 +02:00
AVRInstrInfo.cpp [AVR] Rewrite the function calling convention. 2020-06-23 21:36:18 +12:00
AVRInstrInfo.h
AVRInstrInfo.td [AVR] Fix miscompilation of zext + add 2020-06-18 16:51:37 +02:00
AVRMCInstLower.cpp
AVRMCInstLower.h
AVRMachineFunctionInfo.h [AVR] Generalize the previous interrupt bugfix to signal handlers too 2020-03-31 19:33:34 +13:00
AVRRegisterInfo.cpp [AVR] Generalize the previous interrupt bugfix to signal handlers too 2020-03-31 19:33:34 +13:00
AVRRegisterInfo.h [AVR][NFC] Use Register instead of unsigned 2020-03-05 11:38:24 +08:00
AVRRegisterInfo.td [AVR] Rewrite the function calling convention. 2020-06-23 21:36:18 +12:00
AVRRelaxMemOperations.cpp
AVRSelectionDAGInfo.h
AVRSubtarget.cpp [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
AVRSubtarget.h [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
AVRTargetMachine.cpp
AVRTargetMachine.h
AVRTargetObjectFile.cpp [AVR] Do not place functions in .progmem.data 2020-04-20 13:56:38 +02:00
AVRTargetObjectFile.h
CMakeLists.txt
LLVMBuild.txt
README.md
TODO.md

README.md

AVR backend

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