diff options
author | Bob Haarman <llvm@inglorion.net> | 2017-08-29 04:08:31 +0000 |
---|---|---|
committer | Bob Haarman <llvm@inglorion.net> | 2017-08-29 04:08:31 +0000 |
commit | 0bf0d666823a5e6cfbe2e54c33b1792eb202ae81 (patch) | |
tree | 1094683de09cc6aa05b0ab2a13eba1902d7d678e /llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp | |
parent | 858d0983830cfbfdd269a4b72e7fb45f12909beb (diff) | |
download | llvm-0bf0d666823a5e6cfbe2e54c33b1792eb202ae81.zip llvm-0bf0d666823a5e6cfbe2e54c33b1792eb202ae81.tar.gz llvm-0bf0d666823a5e6cfbe2e54c33b1792eb202ae81.tar.bz2 |
Revert "[codeview] support more DW_OPs for more complete debug info"
This reverts commit e160912f53f047bc97e572add179e08e33f4df48.
llvm-svn: 311977
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp b/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp index 4f647de..0971c59 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp @@ -23,57 +23,6 @@ using namespace llvm; -bool DbgVariableLocation::extractFromMachineInstruction( - DbgVariableLocation &Location, const MachineInstr &Instruction) { - if (!Instruction.isDebugValue()) - return false; - if (!Instruction.getOperand(0).isReg()) - return false; - Location.Register = Instruction.getOperand(0).getReg(); - Location.InMemory = Instruction.getOperand(1).isImm(); - Location.Deref = false; - Location.FragmentInfo.reset(); - // We only handle expressions generated by DIExpression::appendOffset, - // which doesn't require a full stack machine. - int64_t Offset = 0; - const DIExpression *DIExpr = Instruction.getDebugExpression(); - auto Op = DIExpr->expr_op_begin(); - while (Op != DIExpr->expr_op_end()) { - switch (Op->getOp()) { - case dwarf::DW_OP_constu: { - int Value = Op->getArg(0); - ++Op; - if (Op != DIExpr->expr_op_end()) { - switch (Op->getOp()) { - case dwarf::DW_OP_minus: - Offset -= Value; - break; - case dwarf::DW_OP_plus: - Offset += Value; - default: - continue; - } - } - } break; - case dwarf::DW_OP_plus_uconst: - Offset += Op->getArg(0); - break; - case dwarf::DW_OP_LLVM_fragment: - Location.FragmentInfo = {Op->getArg(1), Op->getArg(0)}; - break; - case dwarf::DW_OP_deref: - Location.Deref = true; - break; - default: - return false; - } - ++Op; - } - - Location.Offset = Offset; - return true; -} - DebugHandlerBase::DebugHandlerBase(AsmPrinter *A) : Asm(A), MMI(Asm->MMI) {} // Each LexicalScope has first instruction and last instruction to mark |