llvm-6502/include/llvm/CodeGen
Manman Ren 86441169da Stack Alignment: throw error if we can't satisfy the minimal alignment
requirement when creating stack objects in MachineFrameInfo.

Add CreateStackObjectWithMinAlign to throw error when the minimal alignment
can't be achieved and to clamp the alignment when the preferred alignment
can't be achieved. Same is true for CreateVariableSizedObject.
Will not emit error in CreateSpillStackObject or CreateStackObject.

As long as callers of CreateStackObject do not assume the object will be
aligned at the requested alignment, we should not have miscompile since
later optimizations which look at the object's alignment will have the correct
information.

rdar://12713765


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172027 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10 01:10:10 +00:00
..
PBQP Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Analysis.h Sink a function that refers to the SelectionDAG into that library in the 2013-01-08 05:11:57 +00:00
AsmPrinter.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CalcSpillWeights.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
CallingConvLower.h CallingConvLower.h: Use bitfields like unsigned:1 instead of bool:1 . 2013-01-07 11:13:51 +00:00
CommandFlags.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +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 Fall back to the selection dag isel to select tail calls. 2012-12-11 00:18:02 +00:00
FunctionLoweringInfo.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
GCMetadata.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +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
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 Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
JITCodeEmitter.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
LatencyPriorityQueue.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LexicalScopes.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
LiveInterval.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
LiveIntervalAnalysis.h RegisterPressureTracker: unify virtual registers and physical regunits. 2012-12-05 21:37:47 +00:00
LiveIntervalUnion.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LiveRangeEdit.h Allow LiveRangeEdit to be created with a NULL parent. 2012-05-19 05:25:46 +00:00
LiveRegMatrix.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
LiveStackAnalysis.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LiveVariables.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineBasicBlock.h Use bidirectional bundle flags to simplify important functions. 2012-12-18 23:21:49 +00:00
MachineBlockFrequencyInfo.h Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo. 2011-12-20 20:03:10 +00:00
MachineBranchProbabilityInfo.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +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 Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
MachineDominators.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineFrameInfo.h Stack Alignment: throw error if we can't satisfy the minimal alignment 2013-01-10 01:10:10 +00:00
MachineFunction.h Use ArrayRecycler for MachineInstr operand lists. 2013-01-05 05:00:09 +00:00
MachineFunctionAnalysis.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MachineFunctionPass.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MachineInstr.h Don't require BUNDLE headers in MachineInstr::getBundleSize(). 2013-01-09 18:28:16 +00:00
MachineInstrBuilder.h Add a getBundleEnd() function to go with the existing getBundleStart(). 2013-01-09 01:02:19 +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 MachineMemOperand::isUnordered(). 2012-08-29 21:08:52 +00:00
MachineModuleInfo.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +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 Pack MachineOperand bitfields better. 2013-01-07 23:21:44 +00:00
MachinePassRegistry.h Allow targets to select the default scheduler by name. 2012-04-19 01:34:10 +00:00
MachinePostDominators.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineRegisterInfo.h Add MachineRegisterInfo::moveOperands(). 2013-01-05 04:38:12 +00:00
MachineRelocation.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineScheduler.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MachineSSAUpdater.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
MachORelocation.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Passes.h Switch TargetTransformInfo from an immutable analysis pass that requires 2013-01-07 01:37:14 +00:00
PseudoSourceValue.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
RegAllocPBQP.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
RegAllocRegistry.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RegisterClassInfo.h Use MCPhysReg for RegisterClassInfo allocation orders. 2012-11-29 03:34:17 +00:00
RegisterPressure.h RegPressureTracker::dump(): Remove unnecessary argument. 2012-12-05 23:05:22 +00:00
RegisterScavenging.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ResourcePriorityQueue.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RuntimeLibcalls.h Add fp128 rtlib function names to LLVM 2013-01-08 17:09:59 +00:00
ScheduleDAG.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
ScheduleDAGInstrs.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ScheduleDFS.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +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 Funnel the actual TargetTransformInfo pass from the SelectionDAGISel 2013-01-05 12:32:17 +00:00
SelectionDAGISel.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
SelectionDAGNodes.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
SlotIndexes.h Provide a common half-open interval map info implementation, and just 2012-12-27 11:29:17 +00:00
TargetLoweringObjectFileImpl.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
TargetSchedule.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ValueTypes.h Added 6 more value types: v32i1, v64i1, v32i16, v32i8, v64i8, v8f64 2012-12-24 10:03:57 +00:00
ValueTypes.td Added 6 more value types: v32i1, v64i1, v32i16, v32i8, v64i8, v8f64 2012-12-24 10:03:57 +00:00
VirtRegMap.h Remove VirtRegMap::getRegAllocPref(). 2012-12-04 00:35:59 +00:00