llvm-project/llvm/lib/CodeGen/SelectionDAG
Wolfgang Pieb 56aa4b0629 DebugInfo: Avoid propagating incorrect debug locations in SelectionDAG via CSE.
Summary:
When SelectionDAG performs CSE it is possible that the context's source
location is different from that of the selected node. This can lead to
incorrect line number records. We update the debug location to the
one that occurs earlier in the instruction sequence.

This fixes PR21006.

Reviewers: echristo, sdmitrouk

Subscribers: jevinskie, asl, llvm-commits

Differential Revision: http://reviews.llvm.org/D12094

llvm-svn: 268323
2016-05-02 22:50:51 +00:00
..
CMakeLists.txt Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
DAGCombiner.cpp DAGCombiner: Reduce truncated shl width 2016-04-29 19:53:16 +00:00
FastISel.cpp Swift Calling Convention: swifterror target-independent change. 2016-04-05 18:13:16 +00:00
FunctionLoweringInfo.cpp Swift Calling Convention: swifterror target-independent change. 2016-04-05 18:13:16 +00:00
InstrEmitter.cpp Sink DI metadata usage out of MachineInstr.h and MachineInstrBuilder.h 2016-04-14 18:29:59 +00:00
InstrEmitter.h Minor code cleanup. NFC. 2016-03-26 06:04:55 +00:00
LLVMBuild.txt
LegalizeDAG.cpp [CodeGen] When promoting CTTZ operations to larger type, don't insert a select to detect if the input is zero to return the original size instead of the extended size. Instead just set the first bit in the zero extended part. 2016-04-23 05:20:47 +00:00
LegalizeFloatTypes.cpp Do not try to use i8 and i16 versions of FP_TO_U/SINT soft float library calls 2015-12-15 12:55:50 +00:00
LegalizeIntegerTypes.cpp Remove unsafe AssertZext after promoting result of FP_TO_FP16 2016-03-24 14:06:03 +00:00
LegalizeTypes.cpp Unify XDEBUG and EXPENSIVE_CHECKS (into the latter), and add an option to the cmake build to enable them. 2016-04-29 15:22:48 +00:00
LegalizeTypes.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
LegalizeTypesGeneric.cpp [X86] Part 1 to fix x86-64 fp128 calling convention. 2015-12-03 22:02:40 +00:00
LegalizeVectorOps.cpp [SelectionDAG] Teach LegalizeVectorOps to directly Expand CTTZ_ZERO_UNDEF/CTLZ_ZERO_UNDEF to CTTZ/CTLZ directly if those ops are Legal/Custom instead of deferring it to LegalizeOps. 2016-04-21 04:43:57 +00:00
LegalizeVectorTypes.cpp [X86][SSE] Reapplied: Simplify vector LOAD + EXTEND on pre-SSE41 hardware 2016-03-22 16:22:08 +00:00
ResourcePriorityQueue.cpp Fix some comment typos. 2015-08-08 18:27:36 +00:00
SDNodeDbgValue.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ScheduleDAGFast.cpp Replace uint16_t with the MCPhysReg typedef in many places. A lot of physical register arrays already use this typedef. 2015-12-05 07:13:35 +00:00
ScheduleDAGRRList.cpp rangify; NFCI 2016-02-03 22:44:14 +00:00
ScheduleDAGSDNodes.cpp Avoid overly large SmallPtrSet/SmallSet 2016-01-30 01:24:31 +00:00
ScheduleDAGSDNodes.h [SelectionDAG] Remove dead code. NFC. 2015-10-15 17:54:06 +00:00
ScheduleDAGVLIW.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
SelectionDAG.cpp DebugInfo: Avoid propagating incorrect debug locations in SelectionDAG via CSE. 2016-05-02 22:50:51 +00:00
SelectionDAGBuilder.cpp getelementptr instruction, support index vector of EVT. 2016-05-01 13:29:12 +00:00
SelectionDAGBuilder.h [SSP, 2/2] Create llvm.stackguard() intrinsic and lower it to LOAD_STACK_GUARD 2016-04-19 19:40:37 +00:00
SelectionDAGDumper.cpp AMDGPU: Implement canonicalize 2016-04-14 01:42:16 +00:00
SelectionDAGISel.cpp [CodeGen] Add OPC_MoveChild0-OPC_MoveChild7 opcodes to isel matching tables to optimize table size. Shaves about 12K off the X86 matcher table. 2016-05-02 01:53:30 +00:00
SelectionDAGPrinter.cpp Make the SelectionDAG graph printer use SDNode::PersistentId labels. 2015-10-27 23:09:03 +00:00
SelectionDAGTargetInfo.cpp Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
StatepointLowering.cpp Introduce an GCRelocateInst class [NFC] 2016-04-12 18:05:10 +00:00
StatepointLowering.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
TargetLowering.cpp LegalizeDAG: Move unaligned load/store expansion to TLI 2016-04-21 18:19:11 +00:00