hanchenye-llvm-project/llvm/lib/CodeGen/SelectionDAG
David Blaikie 0252265be0 Debug Info: Simplify Frame Index handling in DBG_VALUE Machine Instructions
Rather than using the full power of target-specific addressing modes in
DBG_VALUEs with Frame Indicies, simply use Frame Index + Offset. This
reduces the complexity of debug info handling down to two
representations of values (reg+offset and frame index+offset) rather
than three or four.

Ideally we could ensure that frame indicies had been eliminated by the
time we reached an assembly or dwarf generation, but I haven't spent the
time to figure out where the FIs are leaking through into that & whether
there's a good place to convert them. Some FI+offset=>reg+offset
conversion is done (see PrologEpilogInserter, for example) which is
necessary for some SelectionDAG assumptions about registers, I believe,
but it might be possible to make this a more thorough conversion &
ensure there are no remaining FIs no matter how instruction selection
is performed.

llvm-svn: 184066
2013-06-16 20:34:15 +00:00
..
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
DAGCombiner.cpp SelectionDAG: slightly refactor DAGCombiner::visitSELECT_CC to avoid redudant checks... 2013-06-15 04:03:33 +00:00
FastISel.cpp Debug Info: Simplify Frame Index handling in DBG_VALUE Machine Instructions 2013-06-16 20:34:15 +00:00
FunctionLoweringInfo.cpp Don't cache the TargetLoweringInfo object inside of the FunctionLowering object. 2013-06-06 00:11:39 +00:00
InstrEmitter.cpp Debug Info: Simplify Frame Index handling in DBG_VALUE Machine Instructions 2013-06-16 20:34:15 +00:00
InstrEmitter.h Use MachineInstrBuilder in InstrEmitter. 2012-12-20 18:08:09 +00:00
LLVMBuild.txt
LegalizeDAG.cpp Introduce getSelect usage and use more getSelectCC 2013-06-14 22:04:37 +00:00
LegalizeFloatTypes.cpp Introduce getSelect usage and use more getSelectCC 2013-06-14 22:04:37 +00:00
LegalizeIntegerTypes.cpp Introduce getSelect usage and use more getSelectCC 2013-06-14 22:04:37 +00:00
LegalizeTypes.cpp Remove double semicolons. 2013-05-28 16:31:26 +00:00
LegalizeTypes.h Track IR ordering of SelectionDAG nodes 2/4. 2013-05-25 02:42:55 +00:00
LegalizeTypesGeneric.cpp Track IR ordering of SelectionDAG nodes 2/4. 2013-05-25 02:42:55 +00:00
LegalizeVectorOps.cpp Introduce getSelect usage and use more getSelectCC 2013-06-14 22:04:37 +00:00
LegalizeVectorTypes.cpp Introduce getSelect usage and use more getSelectCC 2013-06-14 22:04:37 +00:00
Makefile
ResourcePriorityQueue.cpp Cache the TargetLowering info object as a pointer. 2013-06-06 00:43:09 +00:00
SDNodeDbgValue.h Sort includes for all of the .h files under the 'lib' tree. These were 2012-12-04 07:12:27 +00:00
ScheduleDAGFast.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
ScheduleDAGRRList.cpp Cache the TargetLowering info object as a pointer. 2013-06-06 00:43:09 +00:00
ScheduleDAGSDNodes.cpp Fix PR16143: Insert DEBUG_VALUE before terminator. 2013-05-26 08:58:50 +00:00
ScheduleDAGSDNodes.h Fix #includes, so we include only what we really need. 2013-02-20 00:26:25 +00:00
ScheduleDAGVLIW.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
SelectionDAG.cpp Track IR ordering of SelectionDAG nodes 3/4. 2013-05-25 03:08:10 +00:00
SelectionDAGBuilder.cpp Debug Info: Simplify Frame Index handling in DBG_VALUE Machine Instructions 2013-06-16 20:34:15 +00:00
SelectionDAGBuilder.h Track IR ordering of SelectionDAG nodes 3/4. 2013-05-25 03:08:10 +00:00
SelectionDAGDumper.cpp Track IR ordering of SelectionDAG nodes 2/4. 2013-05-25 02:42:55 +00:00
SelectionDAGISel.cpp Debug Info: Simplify Frame Index handling in DBG_VALUE Machine Instructions 2013-06-16 20:34:15 +00:00
SelectionDAGPrinter.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
TargetLowering.cpp TargetLowering: Clean up method description comments 2013-06-08 23:51:45 +00:00
TargetSelectionDAGInfo.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00