diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-06-21 16:50:43 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-06-21 16:50:43 +0000 |
commit | e6cc531b1af86f2a9119e28933974e48865574a0 (patch) | |
tree | a9df24545e1d1e7f564341d8041119f6dac7c0c9 /llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h | |
parent | 8c93d5eddc7524d17767b5546155d5be95c3696d (diff) | |
download | bcm5719-llvm-e6cc531b1af86f2a9119e28933974e48865574a0.tar.gz bcm5719-llvm-e6cc531b1af86f2a9119e28933974e48865574a0.zip |
AsmPrinter: Rewrite initialization of DbgVariable, NFC
There are three types of `DbgVariable`:
- alloca variables, created based on the MMI table,
- register variables, created based on DBG_VALUE instructions, and
- optimized-out variables.
This commit reconfigures `DbgVariable` to make it easier to tell which
kind we have, and make initialization a little clearer.
For MMI/alloca variables, `FrameIndex.size()` must always equal
`Expr.size()`, and there shouldn't be an `MInsn`. For register
variables (with a `MInsn`), `FrameIndex` must be empty, and `Expr`
should have 0 or 1 element depending on whether it has a complex
expression (registers with multiple locations use `DebugLocListIndex`).
Optimized-out variables shouldn't have any of these fields.
Moreover, this separates DBG_VALUE initialization until after the
variable is created, simplifying logic in a future commit that changes
`collectVariableInfo()` to stop creating empty .debug_loc entries/lists.
llvm-svn: 240243
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h')
0 files changed, 0 insertions, 0 deletions