diff options
author | Petar Jovanovic <petar.jovanovic@mips.com> | 2019-05-20 10:35:57 +0000 |
---|---|---|
committer | Petar Jovanovic <petar.jovanovic@mips.com> | 2019-05-20 10:35:57 +0000 |
commit | e85bbf564de9adfe09d6b24b9861b28e2b78e9ad (patch) | |
tree | cc314d08294ee5d04bb3f4609743a1ea43823433 /llvm/lib/CodeGen/LiveDebugVariables.cpp | |
parent | 96c5929926f62dcfa887f15d43094ed42df8b914 (diff) | |
download | llvm-e85bbf564de9adfe09d6b24b9861b28e2b78e9ad.zip llvm-e85bbf564de9adfe09d6b24b9861b28e2b78e9ad.tar.gz llvm-e85bbf564de9adfe09d6b24b9861b28e2b78e9ad.tar.bz2 |
[DebugInfoMetadata] Refactor DIExpression::prepend constants (NFC)
Refactor DIExpression::With* into a flag enum in order to be less
error-prone to use (as discussed on D60866).
Patch by Djordje Todorovic.
Differential Revision: https://reviews.llvm.org/D61943
llvm-svn: 361137
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugVariables.cpp')
-rw-r--r-- | llvm/lib/CodeGen/LiveDebugVariables.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/LiveDebugVariables.cpp b/llvm/lib/CodeGen/LiveDebugVariables.cpp index 648d3ee..c3503bd 100644 --- a/llvm/lib/CodeGen/LiveDebugVariables.cpp +++ b/llvm/lib/CodeGen/LiveDebugVariables.cpp @@ -1316,11 +1316,13 @@ void UserValue::insertDebugValue(MachineBasicBlock *MBB, SlotIndex StartIdx, // that the original virtual register was a pointer. Also, add the stack slot // offset for the spilled register to the expression. const DIExpression *Expr = Expression; + uint8_t DIExprFlags = DIExpression::ApplyOffset; bool IsIndirect = Loc.wasIndirect(); if (Spilled) { - auto Deref = IsIndirect ? DIExpression::WithDeref : DIExpression::NoDeref; + if (IsIndirect) + DIExprFlags |= DIExpression::DerefAfter; Expr = - DIExpression::prepend(Expr, DIExpression::NoDeref, SpillOffset, Deref); + DIExpression::prepend(Expr, DIExprFlags, SpillOffset); IsIndirect = true; } |