llvm/lib/Target/AArch64
Akira Hatanaka 0651a556fe [stack protector] Fix a potential security bug in stack protector where the
address of the stack guard was being spilled to the stack.

Previously the address of the stack guard would get spilled to the stack if it
was impossible to keep it in a register. This patch introduces a new target
independent node and pseudo instruction which gets expanded post-RA to a
sequence of instructions that load the stack guard value. Register allocator
can now just remat the value when it can't keep it in a register. 

<rdar://problem/12475629>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213967 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-25 19:31:34 +00:00
..
AsmParser Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
Disassembler Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
InstPrinter Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
MCTargetDesc Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
TargetInfo AArch64: remove "arm64_be" support in favour of "aarch64_be". 2014-07-23 12:58:11 +00:00
Utils Restore getInvertedCondCode() from the phased-out backend, fixing disassembly for NV 2014-05-29 11:34:50 +00:00
AArch64.h Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64.td [AArch64] Basic Sched Model for Cortex-A57. 2014-06-11 21:06:56 +00:00
AArch64AddressTypePromotion.cpp AArch64: Re-enable AArch64AddressTypePromotion 2014-07-02 18:17:40 +00:00
AArch64AdvSIMDScalarPass.cpp Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64AsmPrinter.cpp Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64BranchRelaxation.cpp Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64CallingConvention.td ARM: Allow __fp16 as a function arg or return type for AArch64 2014-07-11 13:33:46 +00:00
AArch64CleanupLocalDynamicTLSPass.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64CollectLOH.cpp Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64ConditionalCompares.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64DeadRegisterDefinitionsPass.cpp Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64ExpandPseudoInsts.cpp AArch64: remove unnecessary pseudo-instruction. 2014-07-14 11:16:02 +00:00
AArch64FastISel.cpp [FastISel][AArch64] Add support for frameaddress intrinsic. 2014-07-25 17:47:14 +00:00
AArch64FrameLowering.cpp Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64FrameLowering.h Remove the uses of AArch64TargetMachine and AArch64Subtarget from 2014-06-10 17:33:39 +00:00
AArch64InstrAtomics.td AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64InstrFormats.td Port memory barriers intrinsics to AArch64 2014-07-17 10:50:20 +00:00
AArch64InstrInfo.cpp [stack protector] Fix a potential security bug in stack protector where the 2014-07-25 19:31:34 +00:00
AArch64InstrInfo.h [stack protector] Fix a potential security bug in stack protector where the 2014-07-25 19:31:34 +00:00
AArch64InstrInfo.td [AArch64] Disable some optimization cases for type conversion from sint to fp, because those optimization cases are micro-architecture dependent and only make sense for Cyclone. A new predicate Cyclone is introduced in .td file. 2014-07-24 01:29:59 +00:00
AArch64ISelDAGToDAG.cpp [AArch64] Unsized types don't specify an alignment. 2014-06-30 15:03:00 +00:00
AArch64ISelLowering.cpp [stack protector] Fix a potential security bug in stack protector where the 2014-07-25 19:31:34 +00:00
AArch64ISelLowering.h [stack protector] Fix a potential security bug in stack protector where the 2014-07-25 19:31:34 +00:00
AArch64LoadStoreOptimizer.cpp Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64MachineFunctionInfo.h AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64MCInstLower.cpp Replace some assert(0)'s with llvm_unreachable. 2014-06-18 05:05:13 +00:00
AArch64MCInstLower.h AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64PerfectShuffle.h AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64PromoteConstant.cpp Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64RegisterInfo.cpp AArch64: implement copies to/from NZCV as a last ditch effort. 2014-05-27 12:16:02 +00:00
AArch64RegisterInfo.h AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64RegisterInfo.td AArch64: disallow x30 & x29 as the destination for indirect tail calls 2014-06-10 10:50:24 +00:00
AArch64SchedA53.td Fix typos 2014-05-31 21:26:28 +00:00
AArch64SchedA57.td [AArch64] Basic Sched Model for Cortex-A57. 2014-06-11 21:06:56 +00:00
AArch64SchedA57WriteRes.td [AArch64] Basic Sched Model for Cortex-A57. 2014-06-11 21:06:56 +00:00
AArch64SchedCyclone.td AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64Schedule.td AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64SelectionDAGInfo.cpp [DAG] Pass the argument list to the CallLoweringInfo via move semantics. NFCI. 2014-07-01 22:01:54 +00:00
AArch64SelectionDAGInfo.h Have AArch64SelectionDAGInfo take a DataLayout parameter rather 2014-06-10 18:06:28 +00:00
AArch64StorePairSuppress.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64Subtarget.cpp Move to a private function to initialize the subtarget dependencies 2014-06-11 00:46:34 +00:00
AArch64Subtarget.h Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64TargetMachine.cpp Run sort_includes.py on the AArch64 backend. 2014-07-25 11:42:14 +00:00
AArch64TargetMachine.h Remove extraneous includes from the target machines. 2014-06-26 19:30:05 +00:00
AArch64TargetObjectFile.cpp AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64TargetObjectFile.h AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
AArch64TargetTransformInfo.cpp AArch64: improve handling & modelling of FP_TO_XINT nodes. 2014-06-15 09:27:15 +00:00
CMakeLists.txt AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
LLVMBuild.txt Prune redundant libdeps. 2014-07-24 11:45:27 +00:00
Makefile AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00