llvm-project/llvm/lib/Target/CSKY
Zi Xuan Wu (Zeson) 80fd9f3e0a [CSKY] Fix error of underestimated function size by save/restore R15(LR) when we use BSR far jump.
In CSKYConstantIslands, when fix up an unconditional branch(CSKY::BR32) whose destination is
too far away to fit in its displacement field, and if the R15(LR) register has been
spilled in the prologue, then we can use BSR to implement a far jump. So we need estimate function
size, and spill R15(LR) when the function size >= unconditional branch(CSKY::BR32) can reach.

EstimateFunctionSizeInBytes function adds up all instructions and constant pool entries(each entry is 4 bytes).
2022-06-01 11:05:19 +08:00
..
AsmParser [CSKY] Correct the alignment of FPR register 2022-04-08 14:37:07 +08:00
Disassembler Rename `MCFixedLenDisassembler.h` as `MCDecoderOps.h` 2022-05-15 08:44:58 +08:00
MCTargetDesc [CSKY] Fix some Clang warnings. NFC 2022-04-06 20:09:32 -07:00
TargetInfo
CMakeLists.txt [CSKY] Add CSKYTargetObjectFile to support exception handling 2022-03-29 16:05:30 +08:00
CSKY.h [CSKY] Add missing codegen pattern for 16-bit instruction 2022-03-29 16:05:30 +08:00
CSKY.td [CSKY] Add CK800 series ProcessorModel and complete related SubtargetFeatures 2022-02-08 16:02:59 +08:00
CSKYAsmPrinter.cpp Cleanup codegen includes 2022-03-16 08:43:00 +01:00
CSKYAsmPrinter.h [CSKY] Enable TargetAsmStreamer/ELFStreamer and support asm directive of csky_attribute 2022-03-08 14:00:38 +08:00
CSKYCallingConv.h
CSKYCallingConv.td Ensure newlines at the end of files (NFC) 2021-12-12 11:04:44 -08:00
CSKYConstantIslandPass.cpp [Target] use getSubtarget<> instead of static_cast<>(getSubtarget()) 2022-05-26 11:22:41 -07:00
CSKYConstantPoolValue.cpp [CSKY] Ensure a newline at the end of a file (NFC) 2022-01-12 22:11:57 -08:00
CSKYConstantPoolValue.h [CSKY] Lower leaf DAG node such as global symbol, frame address and jumptable, etc. 2022-01-10 14:35:07 +08:00
CSKYFrameLowering.cpp [CSKY] Fix error of underestimated function size by save/restore R15(LR) when we use BSR far jump. 2022-06-01 11:05:19 +08:00
CSKYFrameLowering.h [CSKY] Add codegen of select/br/cmp instruction and some frame lowering infra 2022-01-05 15:59:03 +08:00
CSKYISelDAGToDAG.cpp [CSKY] Support bitcast operation from/to double to/from two GPRs 2022-04-07 18:36:04 +08:00
CSKYISelLowering.cpp [CSKY] support select instruction in floating type 2022-04-08 12:38:50 +08:00
CSKYISelLowering.h [CSKY] Add inline asm constraints and related codegen support 2022-02-07 17:45:37 +08:00
CSKYInstrAlias.td [CSKY] Enhance asm parser and relocation fixup for some special symbol address instruction 2022-03-24 14:14:04 +08:00
CSKYInstrFormats.td [CSKY] Fix some Clang warnings. NFC 2022-04-06 20:09:32 -07:00
CSKYInstrFormats16Instr.td
CSKYInstrFormatsF1.td [CSKY] Add floating operation support including float and double 2022-01-27 15:54:04 +08:00
CSKYInstrFormatsF2.td [CSKY] Add floating operation support including float and double 2022-01-27 15:54:04 +08:00
CSKYInstrInfo.cpp [CSKY] Fix some Clang warnings. NFC 2022-04-06 20:09:32 -07:00
CSKYInstrInfo.h [CSKY] Add floating operation support including float and double 2022-01-27 15:54:04 +08:00
CSKYInstrInfo.td [CSKY] Fix some Clang warnings. NFC 2022-04-06 20:09:32 -07:00
CSKYInstrInfo16Instr.td [CSKY] Add missing codegen pattern for 16-bit instruction 2022-03-29 16:05:30 +08:00
CSKYInstrInfoF1.td [CSKY] Add floating operation support including float and double 2022-01-27 15:54:04 +08:00
CSKYInstrInfoF2.td [CSKY] Add floating operation support including float and double 2022-01-27 15:54:04 +08:00
CSKYMCInstLower.cpp Ensure newlines at the end of files (NFC) 2021-12-12 11:04:44 -08:00
CSKYMCInstLower.h
CSKYMachineFunctionInfo.h [CSKY] Fix some Clang warnings. NFC 2022-04-06 20:09:32 -07:00
CSKYRegisterInfo.cpp [NFC][CodeGen] Rename some functions in MachineInstr.h and remove duplicated comments 2022-03-16 20:25:42 +08:00
CSKYRegisterInfo.h
CSKYRegisterInfo.td [CSKY] Correct the alignment of FPR register 2022-04-08 14:37:07 +08:00
CSKYSubtarget.cpp Cleanup codegen includes 2022-03-16 08:43:00 +01:00
CSKYSubtarget.h [CSKY] Add CK800 series ProcessorModel and complete related SubtargetFeatures 2022-02-08 16:02:59 +08:00
CSKYTargetMachine.cpp [CSKY] Add atomic expand pass to support atomic operation with libcall 2022-04-06 15:05:34 +08:00
CSKYTargetMachine.h
CSKYTargetObjectFile.cpp [CSKY] Add CSKYTargetObjectFile to support exception handling 2022-03-29 16:05:30 +08:00
CSKYTargetObjectFile.h [CSKY] Add CSKYTargetObjectFile to support exception handling 2022-03-29 16:05:30 +08:00