llvm-6502/include/llvm/CodeGen
Rafael Espindola 7d7d99622f Replace PROLOG_LABEL with a new CFI_INSTRUCTION.
The old system was fairly convoluted:
* A temporary label was created.
* A single PROLOG_LABEL was created with it.
* A few MCCFIInstructions were created with the same label.

The semantics were that the cfi instructions were mapped to the PROLOG_LABEL
via the temporary label. The output position was that of the PROLOG_LABEL.
The temporary label itself was used only for doing the mapping.

The new CFI_INSTRUCTION has a 1:1 mapping to MCCFIInstructions and points to
one by holding an index into the CFI instructions of this function.

I did consider removing MMI.getFrameInstructions completelly and having
CFI_INSTRUCTION own a MCCFIInstruction, but MCCFIInstructions have non
trivial constructors and destructors and are somewhat big, so the this setup
is probably better.

The net result is that we don't create temporary labels that are never used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203204 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-07 06:08:31 +00:00
..
PBQP Remove unused typedef 2014-03-04 09:57:00 +00:00
Analysis.h [Modules] Move CallSite into the IR library where it belogs. It is 2014-03-04 11:01:28 +00:00
AsmPrinter.h Replace PROLOG_LABEL with a new CFI_INSTRUCTION. 2014-03-07 06:08:31 +00:00
CalcSpillWeights.h CalcSpillWeights: allow overidding the spill weight normalizing function 2013-11-11 19:56:14 +00:00
CallingConvLower.h ARM: Correctly align arguments after a byval struct is passed on the stack 2014-03-05 15:25:27 +00:00
CommandFlags.h Refactor TargetOptions initialization into a single place. 2014-02-19 17:09:35 +00:00
DAGCombine.h
DFAPacketizer.h
EdgeBundles.h
FastISel.h Rename a DebugLoc variable to DbgLoc and a DataLayout to DL. 2014-02-18 22:05:46 +00:00
FunctionLoweringInfo.h Check for dynamic allocas and inline asm that clobbers sp before building 2014-03-05 02:43:26 +00:00
GCMetadata.h [Layering] Move DebugLoc.h into the IR library. The implementation 2014-03-05 10:30:38 +00:00
GCMetadataPrinter.h
GCs.h
GCStrategy.h
IntrinsicLowering.h Rename some member variables from TD to DL. 2014-02-18 15:33:12 +00:00
ISDOpcodes.h R600: Fix extloads from i8 / i16 to i64. 2014-03-06 17:34:12 +00:00
JITCodeEmitter.h
LatencyPriorityQueue.h
LexicalScopes.h [Layering] Move DebugLoc.h into the IR library. The implementation 2014-03-05 10:30:38 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h
LiveInterval.h [C++11] Use std::tie to simplify compare operators. 2014-03-03 19:58:30 +00:00
LiveIntervalAnalysis.h [block-freq] Refactor LiveInterals::getSpillWeight to use the new MachineBlockFrequencyInfo methods. 2013-12-14 00:53:32 +00:00
LiveIntervalUnion.h
LivePhysRegs.h Convert register liveness tracking to work on a sub-register level instead of just register units. 2013-12-14 06:52:56 +00:00
LiveRangeEdit.h
LiveRegMatrix.h
LiveStackAnalysis.h
LiveVariables.h
MachineBasicBlock.h [C++11] Replace llvm::next and llvm::prior with std::next and std::prev. 2014-03-02 12:27:27 +00:00
MachineBlockFrequencyInfo.h [block-freq] Rename getEntryFrequency() -> getEntryFreq() to match getBlockFreq() in all *BlockFrequencyInfo*. 2013-12-14 02:37:38 +00:00
MachineBranchProbabilityInfo.h
MachineCodeEmitter.h [Layering] Move DebugLoc.h into the IR library. The implementation 2014-03-05 10:30:38 +00:00
MachineCodeInfo.h
MachineConstantPool.h
MachineDominators.h [cleanup] Re-sort all the includes with utils/sort_includes.py. 2014-03-04 10:07:28 +00:00
MachineFrameInfo.h Check for dynamic allocas and inline asm that clobbers sp before building 2014-03-05 02:43:26 +00:00
MachineFunction.h [Layering] Move DebugLoc.h into the IR library. The implementation 2014-03-05 10:30:38 +00:00
MachineFunctionAnalysis.h
MachineFunctionPass.h
MachineInstr.h Replace PROLOG_LABEL with a new CFI_INSTRUCTION. 2014-03-07 06:08:31 +00:00
MachineInstrBuilder.h Replace PROLOG_LABEL with a new CFI_INSTRUCTION. 2014-03-07 06:08:31 +00:00
MachineInstrBundle.h
MachineJumpTableInfo.h
MachineLoopInfo.h Don't #include heavy Dominators.h file in LoopInfo.h. This change reduces 2013-12-07 21:20:17 +00:00
MachineMemOperand.h Print the address space of a MachineMemOperand 2013-12-14 00:24:02 +00:00
MachineModuleInfo.h Replace PROLOG_LABEL with a new CFI_INSTRUCTION. 2014-03-07 06:08:31 +00:00
MachineModuleInfoImpls.h
MachineOperand.h Replace PROLOG_LABEL with a new CFI_INSTRUCTION. 2014-03-07 06:08:31 +00:00
MachinePassRegistry.h
MachinePostDominators.h Remove unneeded include 2014-02-12 01:00:24 +00:00
MachineRegisterInfo.h [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
MachineRelocation.h
MachineScheduler.h Switch all uses of LLVM_OVERRIDE to just use 'override' directly. 2014-03-02 09:09:27 +00:00
MachineSSAUpdater.h
MachineTraceMetrics.h
MachORelocation.h
Passes.h [CodeGenPrepare] Move CodeGenPrepare into lib/CodeGen. 2014-02-22 00:07:45 +00:00
PseudoSourceValue.h
RegAllocPBQP.h Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
RegAllocRegistry.h
RegisterClassInfo.h
RegisterPressure.h
RegisterScavenging.h
ResourcePriorityQueue.h
RuntimeLibcalls.h Fix filename in header comment 2013-11-16 15:40:54 +00:00
ScheduleDAG.h [C++11] Expand and eliminate the LLVM_ENUM_INT_TYPE() macro 2014-03-02 03:20:38 +00:00
ScheduleDAGInstrs.h Fix known typos 2014-01-24 17:20:08 +00:00
ScheduleDFS.h
ScheduleHazardRecognizer.h Add two additional hazard recognizer functions 2013-12-11 22:33:43 +00:00
SchedulerRegistry.h
ScoreboardHazardRecognizer.h
SelectionDAG.h [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:30:33 +00:00
SelectionDAGISel.h Add CheckChildInteger to ISelMatcher operations. Removes nearly 2000 bytes from X86 matcher table. 2014-02-05 05:44:28 +00:00
SelectionDAGNodes.h [Layering] Move DebugLoc.h into the IR library. The implementation 2014-03-05 10:30:38 +00:00
SlotIndexes.h [C++11] Replace llvm::next and llvm::prior with std::next and std::prev. 2014-03-02 12:27:27 +00:00
StackMapLivenessAnalysis.h [Stackmap] Liveness Analysis Pass 2013-12-14 06:53:06 +00:00
StackMaps.h [Stackmaps] Cleanup code. No functional change intended. 2014-02-10 23:30:26 +00:00
StackProtector.h [Modules] Move ValueMap to the IR library. While this class does not 2014-03-04 11:26:31 +00:00
TargetLoweringObjectFileImpl.h Remove shouldEmitUsedDirectiveFor. 2014-03-06 22:47:08 +00:00
TargetSchedule.h Fix known typos 2014-01-24 17:20:08 +00:00
ValueTypes.h Replace tablegen uses of EVT with MVT. Add isOverloaded() to MVT to facilitate. Remove TGValueTypes.cpp since its unused now (and may have been before). 2014-01-24 20:50:47 +00:00
ValueTypes.td
VirtRegMap.h