llvm-6502/include/llvm/CodeGen
Adrian Prantl 2a39c993eb Debug info: Infrastructure to support debug locations for fragmented
variables (for example, by-value struct arguments passed in registers, or
large integer values split across several smaller registers).
On the IR level, this adds a new type of complex address operation OpPiece
to DIVariable that describes size and offset of a variable fragment.
On the DWARF emitter level, all pieces describing the same variable are
collected, sorted and emitted as DWARF expressions using the DW_OP_piece
and DW_OP_bit_piece operators.

http://reviews.llvm.org/D3373
rdar://problem/15928306

What this patch doesn't do / Future work:
- This patch only adds the backend machinery to make this work, patches
  that change SROA and SelectionDAG's type legalizer to actually create
  such debug info will follow. (http://reviews.llvm.org/D2680)
- Making the DIVariable complex expressions into an argument of dbg.value
  will reduce the memory footprint of the debug metadata.
- The sorting/uniquing of pieces should be moved into DebugLocEntry,
  to facilitate the merging of multi-piece entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214576 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-01 22:11:58 +00:00
..
PBQP
Analysis.h Refactor duplicated code. 2014-07-30 19:42:16 +00:00
AsmPrinter.h Debug info: Infrastructure to support debug locations for fragmented 2014-08-01 22:11:58 +00:00
CalcSpillWeights.h
CallingConvLower.h
CommandFlags.h
DAGCombine.h
DFAPacketizer.h
EdgeBundles.h
FastISel.h [FastISel] Move the helper function isCommutativeIntrinsic into FastISel base class. 2014-07-30 22:04:28 +00:00
FunctionLoweringInfo.h
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h
IntrinsicLowering.h
ISDOpcodes.h CodeGen: extend f16 conversions to permit types > float. 2014-07-17 10:51:23 +00:00
JITCodeEmitter.h
JumpInstrTables.h
LatencyPriorityQueue.h
LexicalScopes.h
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h
LiveInterval.h
LiveIntervalAnalysis.h
LiveIntervalUnion.h
LivePhysRegs.h
LiveRangeEdit.h
LiveRegMatrix.h
LiveStackAnalysis.h
LiveVariables.h
MachineBasicBlock.h Fix missing const 2014-07-02 06:45:26 +00:00
MachineBlockFrequencyInfo.h
MachineBranchProbabilityInfo.h
MachineCodeEmitter.h
MachineCodeInfo.h
MachineConstantPool.h CodeGen: Add a getSectionKind method to MachineConstantPoolEntry 2014-07-14 22:06:29 +00:00
MachineDominanceFrontier.h Try to fix MSVC build 2014-07-12 23:09:02 +00:00
MachineDominators.h
MachineFrameInfo.h
MachineFunction.h AA metadata refactoring (introduce AAMDNodes) 2014-07-24 12:16:19 +00:00
MachineFunctionAnalysis.h
MachineFunctionPass.h
MachineInstr.h Add TargetInstrInfo interface isAsCheapAsAMove. 2014-07-29 01:55:19 +00:00
MachineInstrBuilder.h
MachineInstrBundle.h
MachineJumpTableInfo.h
MachineLoopInfo.h
MachineMemOperand.h AA metadata refactoring (introduce AAMDNodes) 2014-07-24 12:16:19 +00:00
MachineModuleInfo.h
MachineModuleInfoImpls.h
MachineOperand.h
MachinePassRegistry.h
MachinePostDominators.h
MachineRegionInfo.h Templatify RegionInfo so it works on MachineBasicBlocks 2014-07-19 18:29:29 +00:00
MachineRegisterInfo.h
MachineRelocation.h
MachineScheduler.h Move remaining LLVM_ENABLE_DUMP conditionals out of the headers 2014-07-01 21:19:13 +00:00
MachineSSAUpdater.h
MachineTraceMetrics.h
MachineValueType.h
MachORelocation.h
Passes.h Templatify DominanceFrontier. 2014-07-12 21:59:52 +00:00
PseudoSourceValue.h
RegAllocPBQP.h Sure up ownership passing of the PBQPBuilder by passing unique_ptrs by value rather than lvalue reference. 2014-07-19 21:19:45 +00:00
RegAllocRegistry.h
RegisterClassInfo.h
RegisterPressure.h Move remaining LLVM_ENABLE_DUMP conditionals out of the headers 2014-07-01 21:19:13 +00:00
RegisterScavenging.h
ResourcePriorityQueue.h
RuntimeLibcalls.h CodeGen: generate single libcall for fptrunc -> f16 operations. 2014-07-17 11:12:12 +00:00
ScheduleDAG.h
ScheduleDAGInstrs.h
ScheduleDFS.h Move remaining LLVM_ENABLE_DUMP conditionals out of the headers 2014-07-01 21:19:13 +00:00
ScheduleHazardRecognizer.h
SchedulerRegistry.h
ScoreboardHazardRecognizer.h
SelectionDAG.h Make sure no loads resulting from load->switch DAGCombine are marked invariant 2014-07-31 21:45:05 +00:00
SelectionDAGISel.h
SelectionDAGNodes.h Make classof in MemSDNode consistent with MemIntrinsicSDNode 2014-07-31 22:31:33 +00:00
SlotIndexes.h
StackMapLivenessAnalysis.h [StackMaps] Enable patchpoint liveness analysis per default. 2014-06-26 23:39:52 +00:00
StackMaps.h
StackProtector.h
TargetLoweringObjectFileImpl.h CodeGen: Stick constant pool entries in COMDAT sections for WinCOFF 2014-07-14 22:57:27 +00:00
TargetSchedule.h
ValueTypes.h
ValueTypes.td
VirtRegMap.h