hanchenye-llvm-project/llvm/lib/Target/AArch64
Manman Ren 4632e8e625 CXX_FAST_TLS calling convention: fix issue on AArch64.
When we have a single basic block, the explicit copy-back instructions should
be inserted right before the terminator. Before this fix, they were wrongly
placed at the beginning of the basic block.

I will commit fixes to other platforms as well.

PR26136

llvm-svn: 257929
2016-01-15 20:13:28 +00:00
..
AsmParser [AArch64] Add ARMv8.2-A FP16 vector instructions 2015-12-08 12:16:10 +00:00
Disassembler [AArch64] Add ARMv8.2-A UAO PSTATE bit 2015-11-26 15:32:30 +00:00
InstPrinter Remove extra forward declarations and scrub includes for all in tree InstPrinters. NFC 2015-12-25 22:10:01 +00:00
MCTargetDesc Convert a few assert failures into proper errors. 2016-01-13 22:56:57 +00:00
TargetInfo
Utils Delete trailing whitespace; NFC 2016-01-06 03:53:36 +00:00
AArch64.h
AArch64.td [AArch64] Add support for Samsung Exynos-M1 2016-01-05 12:51:59 +00:00
AArch64A53Fix835769.cpp AArch64: Remove implicit ilist iterator conversions, NFC 2015-10-13 20:02:15 +00:00
AArch64A57FPLoadBalancing.cpp Delete trailing whitespace; NFC 2016-01-06 03:41:30 +00:00
AArch64AddressTypePromotion.cpp [AArch64] Make the naming of the Address Type Promotion pass consistent. 2015-08-05 15:32:23 +00:00
AArch64AdvSIMDScalarPass.cpp AArch64: Remove implicit ilist iterator conversions, NFC 2015-10-13 20:02:15 +00:00
AArch64AsmPrinter.cpp
AArch64BranchRelaxation.cpp AArch64: Remove implicit ilist iterator conversions, NFC 2015-10-13 20:02:15 +00:00
AArch64CallingConvention.h Replace uint16_t with the MCPhysReg typedef in many places. A lot of physical register arrays already use this typedef. 2015-12-05 07:13:35 +00:00
AArch64CallingConvention.td CXX_FAST_TLS calling convention: performance improvement for AArch64. 2015-12-16 21:04:19 +00:00
AArch64CleanupLocalDynamicTLSPass.cpp AArch64: Make getNextNode() cleanup in r249764 more clear 2015-10-09 16:54:54 +00:00
AArch64CollectLOH.cpp [AArch64][CollectLOH] Remove an invalid assertion and add a test case exposing it. 2015-08-31 19:02:00 +00:00
AArch64ConditionOptimizer.cpp Fix AArch64ConditionOptimizer 2016-01-15 00:06:58 +00:00
AArch64ConditionalCompares.cpp Normalize MBB's successors' probabilities in several locations. 2015-12-13 09:26:17 +00:00
AArch64DeadRegisterDefinitionsPass.cpp [AArch64] Register AArch64DeadRegisterDefinition pass with LLVM pass manager. 2015-08-05 17:35:34 +00:00
AArch64ExpandPseudoInsts.cpp [AArch64] Register (existing) AArch64ExpandPseudo pass with LLVM pass manager. 2015-08-05 14:22:53 +00:00
AArch64FastISel.cpp CXX_FAST_TLS calling convention: performance improvement for AArch64. 2015-12-16 21:04:19 +00:00
AArch64FrameLowering.cpp Update to use new name alignTo(). 2016-01-14 21:06:47 +00:00
AArch64FrameLowering.h [AArch64] Enable shrink-wrapping by default. 2015-11-18 23:12:20 +00:00
AArch64ISelDAGToDAG.cpp [AArch64] Fix a corner case in BitFeild select 2015-12-01 19:17:49 +00:00
AArch64ISelLowering.cpp CXX_FAST_TLS calling convention: fix issue on AArch64. 2016-01-15 20:13:28 +00:00
AArch64ISelLowering.h CXX_FAST_TLS calling convention: performance improvement for AArch64. 2015-12-16 21:04:19 +00:00
AArch64InstrAtomics.td
AArch64InstrFormats.td [AArch64] Fix FP16 vector instructions that should only accept low registers 2015-12-09 14:32:11 +00:00
AArch64InstrInfo.cpp [AArch64 MachineCombine] Enhance/Add support for general reassociation to reduce the critical path 2016-01-07 04:01:02 +00:00
AArch64InstrInfo.h [AArch64 MachineCombine] Enhance/Add support for general reassociation to reduce the critical path 2016-01-07 04:01:02 +00:00
AArch64InstrInfo.td [AArch64] Add additional extract-extend patterns for smov 2015-12-21 18:31:25 +00:00
AArch64LoadStoreOptimizer.cpp Update to use new name alignTo(). 2016-01-14 21:06:47 +00:00
AArch64MCInstLower.cpp Convert some AArch64 code to foreach loops. NFC. 2015-08-03 19:04:32 +00:00
AArch64MCInstLower.h
AArch64MachineFunctionInfo.h CXX_FAST_TLS calling convention: performance improvement for AArch64. 2015-12-16 21:04:19 +00:00
AArch64PBQPRegAlloc.cpp
AArch64PBQPRegAlloc.h
AArch64PerfectShuffle.h
AArch64PromoteConstant.cpp AArch64: Remove implicit ilist iterator conversions, NFC 2015-10-13 20:02:15 +00:00
AArch64RegisterInfo.cpp CXX_FAST_TLS calling convention: performance improvement for AArch64. 2015-12-16 21:04:19 +00:00
AArch64RegisterInfo.h CXX_FAST_TLS calling convention: performance improvement for AArch64. 2015-12-16 21:04:19 +00:00
AArch64RegisterInfo.td [AArch64] Add ARMv8.2-A FP16 vector instructions 2015-12-08 12:16:10 +00:00
AArch64SchedA53.td
AArch64SchedA57.td
AArch64SchedA57WriteRes.td
AArch64SchedCyclone.td
AArch64Schedule.td
AArch64SelectionDAGInfo.cpp
AArch64SelectionDAGInfo.h
AArch64StorePairSuppress.cpp
AArch64Subtarget.cpp [AArch64] Add subtarget features for ARMv8.2-A 2015-11-26 15:23:32 +00:00
AArch64Subtarget.h [AArch64] Add support for Samsung Exynos-M1 2016-01-05 12:51:59 +00:00
AArch64TargetMachine.cpp constify the Function parameter to the TTI creation callback and 2015-09-16 23:38:13 +00:00
AArch64TargetMachine.h
AArch64TargetObjectFile.cpp
AArch64TargetObjectFile.h
AArch64TargetTransformInfo.cpp [AArch64][ARM] Don't base interleaved op legality on type alloc size. 2015-12-09 01:19:50 +00:00
AArch64TargetTransformInfo.h constify the Function parameter to the TTI creation callback and 2015-09-16 23:38:13 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile