[PATCH] D96559: Support emitting complex expressions that include entry values
Djordje Todorovic via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 12 07:56:40 PST 2021
djtodoro added inline comments.
================
Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp:300
+ if (!isIndirect() && !isParameterValue() && !HasComplexExpression &&
+ +DwarfVersion >= 4)
+ emitOp(dwarf::DW_OP_stack_value);
----------------
djtodoro wrote:
> djtodoro wrote:
> > djtodoro wrote:
> > > vsk wrote:
> > > > Stray +?
> > > `DW_OP_entry_value` could be used in the expressions representing `DW_AT_call_value` within `DW_TAG_call_site_parameter`, and I think we should be printing the `DW_OP_stack_value` in these.
> > mistake: we **should not** be
> Oh I overlooked it, it is still checking `!isParameterValue()`. This looks good to me...
I am just wondering, do we need the changes from D87357 regarding the `DwarfExpression::addExpression()`?
e.g.:
case dwarf::DW_OP_plus_uconst:
- assert(!isRegisterLocation());
+ assert(!isRegisterLocation() || isEntryValue());
emitOp(dwarf::DW_OP_plus_uconst);
emitUnsigned(Op->getArg(0));
break;
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96559/new/
https://reviews.llvm.org/D96559
More information about the llvm-commits
mailing list