diff options
| author | Adrian Prantl <aprantl@apple.com> | 2018-05-03 16:51:37 +0000 |
|---|---|---|
| committer | Adrian Prantl <aprantl@apple.com> | 2018-05-03 16:51:37 +0000 |
| commit | c42fa4be1f2c22577756d70cdfeed66399cc56a5 (patch) | |
| tree | 8e43e018010a2a815de7672433c169351773c2f5 /llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | |
| parent | 961fb99894ba453043937ef8dffbb23ca0aba841 (diff) | |
| download | bcm5719-llvm-c42fa4be1f2c22577756d70cdfeed66399cc56a5.tar.gz bcm5719-llvm-c42fa4be1f2c22577756d70cdfeed66399cc56a5.zip | |
DWARFExpression: Convert file addresses to load addresses early on.
This is a change that only affects Swift and is NFC for the language
plugins on llvm.org. In Swift, we can have global variables with a
location such as DW_OP_addr <addr> DW_OP_deref. The DWARF expression
evaluator doesn't know how to apply a DW_OP_deref to a file address,
but at the very end we convert the file address into a load address.
This patch moves the file->load address conversion to right after the
result of the DW_OP_addr is pushed onto the stack so that a subsequent
DW_OP_deref (and potentially other operations) can be interpreted.
rdar://problem/39767528
Differential revision: https://reviews.llvm.org/D46362
llvm-svn: 331462
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp')
0 files changed, 0 insertions, 0 deletions

