HomePhabricator

PostfixExpression: Introduce InitialValueNode

Authored by labath on Apr 30 2019, 6:33 AM.

Description

PostfixExpression: Introduce InitialValueNode

Summary:
This node represents can be used to refer to the initial value, which is
sometimes pushed onto the DWARF stack as the "input" to the DWARF
expression. The typical use case (and the reason why I'm introducing it)
is that the "Canonical Frame Address" is passed this way to the DWARF
expressions computing the values of registers during frame unwind.

The nodes are converted into dwarf by keeping track of DWARF stack depth
an any given point, and then copying the initial value from the bottom
of the stack via the DW_OP_pick opcode. This could be made more
efficient for simple expressions, but here I chose to start with the
most general implementation possible.

Reviewers: amccarth, clayborg, aleksandr.urakov

Subscribers: aprantl, jasonmolenda, lldb-commits, markmentovai

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

llvm-svn: 359560

Details

Committed
labathApr 30 2019, 6:33 AM
Differential Revision
D61183: PostfixExpression: Introduce CFANode
Parents
rG123e04b8a826: [TableGen] Fix null pointer dereferencing in token parser.
Branches
Unknown
Tags
Unknown