diff options
| author | Hans Wennborg <hans@hanshq.net> | 2019-04-12 12:54:52 +0000 |
|---|---|---|
| committer | Hans Wennborg <hans@hanshq.net> | 2019-04-12 12:54:52 +0000 |
| commit | 4e6b8579221c67b83901bcc621d330e7e99a9294 (patch) | |
| tree | c6bb9bfe17d1be6f330361618da2c63a6eee050f /llvm/lib/CodeGen/MIRParser | |
| parent | 88089fed9c79857ce6bb17669c694912f6523955 (diff) | |
| download | bcm5719-llvm-4e6b8579221c67b83901bcc621d330e7e99a9294.tar.gz bcm5719-llvm-4e6b8579221c67b83901bcc621d330e7e99a9294.zip | |
Revert r358268 "[DebugInfo] DW_OP_deref_size in PrologEpilogInserter."
It causes clang to crash while building Chromium. See https://crbug.com/952230
for reproducer.
> The PrologEpilogInserter need to insert a DW_OP_deref_size before
> prepending a memory location expression to an already implicit
> expression to avoid having the existing expression act on the memory
> address instead of the value behind it.
>
> The reason for using DW_OP_deref_size and not plain DW_OP_deref is that
> big-endian targets need to read the right size as simply truncating a
> larger read would yield the wrong result (LSB bytes are not at the lower
> address).
>
> Differential Revision: https://reviews.llvm.org/D59687
llvm-svn: 358281
Diffstat (limited to 'llvm/lib/CodeGen/MIRParser')
| -rw-r--r-- | llvm/lib/CodeGen/MIRParser/MIParser.cpp | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp index d414b6a0b4b..971944be2f9 100644 --- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp +++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp @@ -1854,11 +1854,6 @@ bool MIParser::parseDIExpression(MDNode *&Expr) { Elements.push_back(Op); continue; } - if (unsigned Enc = dwarf::getAttributeEncoding(Token.stringValue())) { - lex(); - Elements.push_back(Enc); - continue; - } return error(Twine("invalid DWARF op '") + Token.stringValue() + "'"); } |

