llvm-project/llvm/lib/CodeGen/SelectionDAG
Aaron Smith 6738960588 [SelectionDAG] Transfer DbgValues when integer operations are promoted
Summary:
DbgValue nodes were not transferred when integer DAG nodes were promoted. For example, if an i32 add node was promoted to an i64 add node by DAGTypeLegalizer::PromoteIntegerResult(), its DbgValue node was not transferred to the new node. The simple fix is to update SetPromotedInteger() to transfer DbgValues. 

Add AArch64/dbg-value-i8.ll to test this change and fix ARM/debug-info-d16-reg.ll which had the wrong DILocalVariable nodes with arg numbers even though they are not for function parameters.

Patch by Se Jong Oh!

Reviewers: vsk, JDevlieghere, aprantl

Reviewed By: JDevlieghere

Subscribers: javed.absar, kristof.beyls, llvm-commits

Tags: #debug-info

Differential Revision: https://reviews.llvm.org/D44546

llvm-svn: 327919
2018-03-19 22:58:50 +00:00
..
CMakeLists.txt Remove trailing whitespace to trigger re-cmaking 2017-10-02 21:54:38 +00:00
DAGCombiner.cpp [DAGCombiner] Fix type in comment. NFC 2018-03-19 22:25:26 +00:00
FastISel.cpp [FastISel] Sink local value materializations to first use 2018-03-14 21:54:21 +00:00
FunctionLoweringInfo.cpp [FastISel] Sink local value materializations to first use 2018-03-14 21:54:21 +00:00
InstrEmitter.cpp [SelectionDAG] Provide adequate register class for RegisterSDNode 2018-02-09 13:55:25 +00:00
InstrEmitter.h
LLVMBuild.txt
LegalizeDAG.cpp [X86] Added support for nocf_check attribute for indirect Branch Tracking 2018-03-17 13:29:46 +00:00
LegalizeFloatTypes.cpp [SelectionDAG][X86] Don't use ->getValueType(0) after a call to getOperand to get the type of the operand. 2017-12-23 02:54:50 +00:00
LegalizeIntegerTypes.cpp [SelectionDAG][ARM][X86] Teach PromoteIntRes_SETCC to do a better job picking the result type for the setcc. 2018-03-15 23:04:11 +00:00
LegalizeTypes.cpp [SelectionDAG] Transfer DbgValues when integer operations are promoted 2018-03-19 22:58:50 +00:00
LegalizeTypes.h [SelectionDAG] Don't promote mask operand when widening mstore and mscatter. 2017-12-05 23:08:30 +00:00
LegalizeTypesGeneric.cpp [SelectionDAG] Replace a std::vector<SDValue> with a SmallVector. 2018-01-26 07:15:22 +00:00
LegalizeVectorOps.cpp [VectorLegalizer] Fix uint64_t typo in ExpandUINT_TO_FLOAT (PR36391) 2018-02-20 13:24:24 +00:00
LegalizeVectorTypes.cpp [LegalizeTypes] In SplitVecOp_TruncateHelper, use GetSplitVector on the input instead of creating new extract_subvectors. 2018-03-13 01:17:40 +00:00
ResourcePriorityQueue.cpp Silence a bunch of implicit fallthrough warnings 2017-12-19 22:05:25 +00:00
SDNodeDbgValue.h Doxygenify comments. 2017-10-24 17:23:40 +00:00
ScheduleDAGFast.cpp Add DBG_VALUE support to the linear DAG scheduler 2018-03-02 22:59:51 +00:00
ScheduleDAGRRList.cpp [ARM] Allow the scheduler to clone a node with glue to avoid a copy CPSR ↔ GPR. 2018-01-31 09:23:43 +00:00
ScheduleDAGSDNodes.cpp Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
ScheduleDAGSDNodes.h [Target] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-11 01:45:03 +00:00
ScheduleDAGVLIW.cpp [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
SelectionDAG.cpp [SelectionDAG] Handle big endian target BITCAST in computeKnownBits() 2018-03-17 08:04:00 +00:00
SelectionDAGAddressAnalysis.cpp [DAG] Teach findBaseOffset to interpret indexes of indexed memory operations 2018-01-26 16:51:27 +00:00
SelectionDAGBuilder.cpp [SelectionDAGBuilder] Replace deprecated calls to MemoryIntrinsic::getAlignment() (NFCI) 2018-03-13 16:31:19 +00:00
SelectionDAGBuilder.h [SelectionDAG] Improve handling of dangling debug info 2018-03-12 18:02:39 +00:00
SelectionDAGDumper.cpp [CodeGen] Use MIR syntax for MachineMemOperand printing 2018-03-14 21:52:13 +00:00
SelectionDAGISel.cpp [DAG, X86] Revert r327197 "Revert r327170, r327171, r327172" 2018-03-19 20:19:46 +00:00
SelectionDAGPrinter.cpp Remove redundant includes from lib/CodeGen. 2017-12-13 21:30:47 +00:00
SelectionDAGTargetInfo.cpp [CodeGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-13 21:15:20 +00:00
StatepointLowering.cpp Use getStoreSize() in various places instead of 'BitSize >> 3'. 2017-11-28 14:44:32 +00:00
StatepointLowering.h [CodeGen] Fix some Clang-tidy modernize-use-default-member-init and Include What You Use warnings; other minor fixes (NFC). 2017-09-27 23:26:01 +00:00
TargetLowering.cpp [TargetLowering] Remove redundant term in two ifs in SimplifySetCC. NFC 2018-03-09 22:24:12 +00:00