diff options
author | Adrian Prantl <aprantl@apple.com> | 2013-04-30 22:16:46 +0000 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2013-04-30 22:16:46 +0000 |
commit | a2b56692c8b824b8cc4a0927bb555f3718e9bee8 (patch) | |
tree | 50f264386d8d32b5716bd8202ce2ae4de1d14729 /lib/CodeGen/SelectionDAG/InstrEmitter.cpp | |
parent | f13fc1b23ad40407d0ee4fd0ee807a40261d639e (diff) | |
download | llvm-a2b56692c8b824b8cc4a0927bb555f3718e9bee8.tar.gz llvm-a2b56692c8b824b8cc4a0927bb555f3718e9bee8.tar.bz2 llvm-a2b56692c8b824b8cc4a0927bb555f3718e9bee8.tar.xz |
Change the informal convention of DBG_VALUE so that we can express a
register-indirect address with an offset of 0.
It used to be that a DBG_VALUE is a register-indirect value if the offset
(operand 1) is nonzero. The new convention is that a DBG_VALUE is
register-indirect if the first operand is a register and the second
operand is an immediate. For plain registers use the combination reg, reg.
rdar://problem/13658587
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180816 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/InstrEmitter.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/InstrEmitter.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/InstrEmitter.cpp b/lib/CodeGen/SelectionDAG/InstrEmitter.cpp index 3b1abd7c83..060492efed 100644 --- a/lib/CodeGen/SelectionDAG/InstrEmitter.cpp +++ b/lib/CodeGen/SelectionDAG/InstrEmitter.cpp @@ -678,7 +678,13 @@ InstrEmitter::EmitDbgValue(SDDbgValue *SD, MIB.addReg(0U); } - MIB.addImm(Offset).addMetadata(MDPtr); + if (Offset != 0) // Indirect addressing. + MIB.addImm(Offset); + else + MIB.addReg(0U, RegState::Debug); + + MIB.addMetadata(MDPtr); + return &*MIB; } |