llvm-6502/lib/Target/AArch64
Juergen Ributzka 446f01b1d5 [AArch64] MachO large code-model: Materialize FP constants in code.
In the large code model we have to first get the address of the GOT entry, load
the address of the constant, and then load the constant itself.

To avoid these loads and the GOT entry alltogether this commit changes the way
how FP constants are materialized in the large code model. The constats are now
materialized in a GPR and then bitconverted/moved into the FPR.

Reviewed by Tim Northover

Fixes rdar://problem/16572564.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223941 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-10 19:43:32 +00:00
..
AsmParser Remove StringMap::GetOrCreateValue in favor of StringMap::insert 2014-11-19 05:49:42 +00:00
Disassembler Pass an ArrayRef to MCDisassembler::getInstruction. 2014-11-12 02:04:27 +00:00
InstPrinter
MCTargetDesc Allow target to specify prefix for labels 2014-12-04 00:06:57 +00:00
TargetInfo
Utils
AArch64.h
AArch64.td
AArch64A53Fix835769.cpp
AArch64A57FPLoadBalancing.cpp [AArch64] Fix clobber computation in A57LoadBalancing pass. 2014-11-24 18:57:58 +00:00
AArch64AddressTypePromotion.cpp
AArch64AdvSIMDScalarPass.cpp
AArch64AsmPrinter.cpp [AArch64][Stackmaps] Optimize stackmap shadows on AArch64. 2014-12-02 21:36:24 +00:00
AArch64BranchRelaxation.cpp
AArch64CallingConvention.h AArch64: treat HFAs containing "half" types as blocks too. 2014-12-08 17:54:58 +00:00
AArch64CallingConvention.td AArch64: treat [N x Ty] as a block during procedure calls. 2014-11-27 21:02:42 +00:00
AArch64CleanupLocalDynamicTLSPass.cpp
AArch64CollectLOH.cpp
AArch64ConditionalCompares.cpp
AArch64ConditionOptimizer.cpp [AArch64] Check Dest Register Liveness in CondOpt pass. 2014-10-31 19:02:38 +00:00
AArch64DeadRegisterDefinitionsPass.cpp
AArch64ExpandPseudoInsts.cpp
AArch64FastISel.cpp [AArch64] MachO large code-model: Materialize FP constants in code. 2014-12-10 19:43:32 +00:00
AArch64FrameLowering.cpp
AArch64FrameLowering.h
AArch64InstrAtomics.td
AArch64InstrFormats.td Replace neverHasSideEffects=1 with hasSideEffects=0 in all .td files. 2014-11-26 00:46:26 +00:00
AArch64InstrInfo.cpp [AArch64] Don't optimize all compare instructions. 2014-11-18 21:02:40 +00:00
AArch64InstrInfo.h AArch64InstrInfo.h: Fix a warning introduced in clang r220703. [-Winconsistent-missing-override] 2014-10-27 23:29:27 +00:00
AArch64InstrInfo.td [AArch64] MachO large code-model: Materialize FP constants in code. 2014-12-10 19:43:32 +00:00
AArch64ISelDAGToDAG.cpp AArch64: strengthen Darwin ABI alignment assumptions 2014-12-02 23:53:43 +00:00
AArch64ISelLowering.cpp [AArch64] MachO large code-model: Materialize FP constants in code. 2014-12-10 19:43:32 +00:00
AArch64ISelLowering.h Add missing 'override' keyword. 2014-11-28 03:58:26 +00:00
AArch64LoadStoreOptimizer.cpp
AArch64MachineCombinerPattern.h
AArch64MachineFunctionInfo.h
AArch64MCInstLower.cpp
AArch64MCInstLower.h
AArch64PBQPRegAlloc.cpp [PBQP] Unique allowed-sets for nodes in the PBQP graph and use pairs of these 2014-10-27 17:44:25 +00:00
AArch64PBQPRegAlloc.h [AArch64] Cleanup A57PBQPConstraints 2014-10-22 12:40:20 +00:00
AArch64PerfectShuffle.h
AArch64PromoteConstant.cpp Make the DenseMap bucket type configurable and use a smaller bucket for DenseSet. 2014-12-06 19:22:44 +00:00
AArch64RegisterInfo.cpp
AArch64RegisterInfo.h
AArch64RegisterInfo.td
AArch64SchedA53.td
AArch64SchedA57.td
AArch64SchedA57WriteRes.td
AArch64SchedCyclone.td
AArch64Schedule.td
AArch64SelectionDAGInfo.cpp
AArch64SelectionDAGInfo.h
AArch64StorePairSuppress.cpp
AArch64Subtarget.cpp Remove redundant calls to isMaterializable. 2014-11-01 16:46:18 +00:00
AArch64Subtarget.h [AArch64] Disable useAA for Cortex-A57. 2014-11-19 06:48:56 +00:00
AArch64TargetMachine.cpp Add out of line virtual destructors to all LLVMTargetMachine subclasses 2014-11-20 23:37:18 +00:00
AArch64TargetMachine.h Add out of line virtual destructors to all LLVMTargetMachine subclasses 2014-11-20 23:37:18 +00:00
AArch64TargetObjectFile.cpp
AArch64TargetObjectFile.h
AArch64TargetTransformInfo.cpp
CMakeLists.txt
LLVMBuild.txt
Makefile