1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/include/llvm/CodeGen
Josh Magee 5a6fad91a3 [stackprotector] Update the StackProtector pass to perform datalayout analysis.
This modifies the pass to classify every SSP-triggering AllocaInst according to
an SSPLayoutKind (LargeArray, SmallArray, AddrOf).  This analysis is collected
by the pass and made available for use, but no other pass uses it yet.

The next patch will make use of this analysis in PEI and StackSlot
passes.  The end goal is to support ssp-strong stack layout rules.

WIP.

Differential Revision: http://llvm-reviews.chandlerc.com/D1789

llvm-svn: 193653
2013-10-29 21:16:16 +00:00
..
PBQP Fix PBQP graph iterator typedefs. 2013-05-16 02:20:41 +00:00
Analysis.h [stackprotector] Refactor out the end of isInTailCallPosition into the function returnTypeIsEligibleForTailCall. 2013-08-20 08:36:50 +00:00
AsmPrinter.h Add a helper getSymbol to AsmPrinter. 2013-10-29 17:07:16 +00:00
CalcSpillWeights.h Switch spill weights from a basic loop depth estimation to BlockFrequencyInfo. 2013-06-17 19:00:36 +00:00
CallingConvLower.h Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-14 04:42:23 +00:00
CommandFlags.h Speling fixes. 2013-10-22 15:18:03 +00:00
DAGCombine.h Refactor DAGCombinerInfo. Change the different booleans that indicate if we are before or after different runs of DAGCo, with the CombineLevel enum. 2012-12-27 06:47:41 +00:00
DFAPacketizer.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
EdgeBundles.h Give a small negative bias to giant edge bundles. 2012-05-21 03:11:23 +00:00
FastISel.h Changed "mode: c++" => "C++" at the suggestion of Nick Lewycky. 2013-07-10 18:40:49 +00:00
FunctionLoweringInfo.h Simplify landing pad lowering. 2013-07-04 04:53:45 +00:00
GCMetadata.h GCInfoDeleter code cleanup after r175528 2013-03-01 11:40:32 +00:00
GCMetadataPrinter.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
GCs.h Add a GC plugin for Erlang 2013-03-25 13:47:46 +00:00
GCStrategy.h Convert comments to proper Doxygen comments. 2012-06-09 00:01:45 +00:00
IntrinsicLowering.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
ISDOpcodes.h [ARM] Use the load-acquire/store-release instructions optimally in AArch32. 2013-09-26 12:22:36 +00:00
JITCodeEmitter.h Simplify code. 2013-02-09 13:29:31 +00:00
LatencyPriorityQueue.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LexicalScopes.h Return SmallVectorImpl& instead of SmallVector& in a couple places to avoid having to specify the vector size in multiple places. 2013-07-03 04:30:58 +00:00
LinkAllAsmWriterComponents.h Add a GC plugin for Erlang 2013-03-25 13:47:46 +00:00
LinkAllCodegenComponents.h Add a GC plugin for Erlang 2013-03-25 13:47:46 +00:00
LiveInterval.h Print register in LiveInterval::print() 2013-10-10 21:29:05 +00:00
LiveIntervalAnalysis.h Represent RegUnit liveness with LiveRange instance 2013-10-10 21:29:02 +00:00
LiveIntervalUnion.h Rename LiveRange to LiveInterval::Segment 2013-10-10 21:28:43 +00:00
LiveRangeEdit.h Auto-compute live intervals on demand. 2013-08-14 23:50:16 +00:00
LiveRegMatrix.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
LiveRegUnits.h LiveRegUnits: Use *MBB for consistency and convenience. 2013-10-14 22:18:59 +00:00
LiveStackAnalysis.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LiveVariables.h Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-11 16:22:38 +00:00
MachineBasicBlock.h Even more spelling fixes for "instruction". 2013-09-28 13:42:22 +00:00
MachineBlockFrequencyInfo.h
MachineBranchProbabilityInfo.h Add editor C++ filetype declaration no functionality change. 2013-08-12 21:10:23 +00:00
MachineCodeEmitter.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineCodeInfo.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MachineConstantPool.h Directly access objects which may change during compilation. 2013-06-17 20:41:25 +00:00
MachineDominators.h Add even more constatness in MachineDominators.h. 2013-02-16 12:36:32 +00:00
MachineFrameInfo.h Directly access objects which may change during compilation. 2013-06-17 20:41:25 +00:00
MachineFunction.h Fix comment that didn't match the method it was above 2013-04-22 20:30:50 +00:00
MachineFunctionAnalysis.h Remove unneeded "TargetMachine.h" #includes. 2013-02-09 20:54:05 +00:00
MachineFunctionPass.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MachineInstr.h Rename parameter: defined regs are not incoming. 2013-10-10 21:28:38 +00:00
MachineInstrBuilder.h Reapply an improved version of r180816/180817. 2013-07-09 20:28:37 +00:00
MachineInstrBundle.h Add a getBundleEnd() function to go with the existing getBundleStart(). 2013-01-09 01:02:19 +00:00
MachineJumpTableInfo.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineLoopInfo.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MachineMemOperand.h Add target flags to MachineMemOperands. 2013-04-27 03:54:17 +00:00
MachineModuleInfo.h Make a few more things const. 2013-08-15 20:25:44 +00:00
MachineModuleInfoImpls.h Rename virtual table anchors from Anchor() to anchor() for consistency with the rest of the tree. 2012-09-26 06:36:36 +00:00
MachineOperand.h MachineOperand::setIsDebug should ensure the register is /not/ a definition 2013-06-16 20:34:09 +00:00
MachinePassRegistry.h Allow targets to select the default scheduler by name. 2012-04-19 01:34:10 +00:00
MachinePostDominators.h Remove unneeded #include. 2013-03-10 01:15:14 +00:00
MachineRegisterInfo.h Add a convenient PSetIterator for visiting pressure sets affected by a register. 2013-08-23 17:48:46 +00:00
MachineRelocation.h [typo] An LLVM. 2013-08-16 23:30:19 +00:00
MachineScheduler.h Allow subtarget selection of the default MachineScheduler and document the interface. 2013-09-20 05:14:41 +00:00
MachineSSAUpdater.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
MachineTraceMetrics.h Add ArrayRef constructor from None, and do the cleanups that this constructor enables 2013-05-05 00:40:33 +00:00
MachORelocation.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Passes.h Simplify formatting and sort these. No functionality changed. 2013-10-15 02:03:44 +00:00
PseudoSourceValue.h [typo] An LLVM. 2013-08-16 23:30:19 +00:00
RegAllocPBQP.h Switch spill weights from a basic loop depth estimation to BlockFrequencyInfo. 2013-06-17 19:00:36 +00:00
RegAllocRegistry.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RegisterClassInfo.h MI-Sched: Adjust regpressure limits for reserved regs. 2013-06-21 18:32:58 +00:00
RegisterPressure.h Represent RegUnit liveness with LiveRange instance 2013-10-10 21:29:02 +00:00
RegisterScavenging.h Use SmallVectorImpl::iterator/const_iterator instead of SmallVector 2013-07-03 05:01:24 +00:00
ResourcePriorityQueue.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RuntimeLibcalls.h LegalizeDAG: allow libcalls for max/min atomic operations 2013-10-25 09:30:20 +00:00
ScheduleDAG.h Explicitly request unsigned enum types when desired 2013-10-08 20:15:11 +00:00
ScheduleDAGInstrs.h Even more spelling fixes for "instruction". 2013-09-28 13:42:22 +00:00
ScheduleDFS.h SchedDFS: Complete support for nested subtrees. 2013-01-25 06:52:27 +00:00
ScheduleHazardRecognizer.h misched: Allow disabling scoreboard hazard checking for subtargets with a 2012-06-05 03:44:32 +00:00
SchedulerRegistry.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ScoreboardHazardRecognizer.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
SelectionDAG.h Keep TBAA info when rewriting SelectionDAG loads and stores 2013-10-28 11:17:59 +00:00
SelectionDAGISel.h Add OPC_CheckChildSame0-3 to the DAG isel matcher. This replaces sequences of MoveChild, CheckSame, MoveParent. Saves 846 bytes from the X86 DAG isel matcher, ~300 from ARM, ~840 from Hexagon. 2013-10-05 05:38:16 +00:00
SelectionDAGNodes.h Remove an old workaround for a compiler that EOL'd years ago. 2013-09-29 19:39:02 +00:00
SlotIndexes.h Down-scale slot index distance to save bits. 2013-07-30 19:59:19 +00:00
StackProtector.h [stackprotector] Update the StackProtector pass to perform datalayout analysis. 2013-10-29 21:16:16 +00:00
TargetLoweringObjectFileImpl.h PR16493: DebugInfo with TLS on PPC crashing due to invalid relocation 2013-07-01 21:45:25 +00:00
TargetSchedule.h IfConverter: Use TargetSchedule for instruction latencies 2013-09-30 15:28:56 +00:00
ValueTypes.h Implement AArch64 vector load/store multiple N-element structure class SIMD(lselem). 2013-10-10 17:00:52 +00:00
ValueTypes.td Implement aarch64 neon instruction set AdvSIMD (Across). 2013-10-05 08:22:10 +00:00
VirtRegMap.h Remove VirtRegMap::getRegAllocPref(). 2012-12-04 00:35:59 +00:00