forked from OSchip/llvm-project
Debug Info: Move DIEDwarfExpression into DwarfExpression.h because it
needs to be accessed from both DwarfCompileUnit.cpp and DwarfUnit.cpp. NFC. llvm-svn: 225898
This commit is contained in:
parent
077affdbb9
commit
658676c3ea
|
@ -22,6 +22,8 @@ namespace llvm {
|
|||
class AsmPrinter;
|
||||
class ByteStreamer;
|
||||
class TargetRegisterInfo;
|
||||
class DwarfUnit;
|
||||
class DIELoc;
|
||||
|
||||
/// Base class containing the logic for constructing DWARF expressions
|
||||
/// independently of whether they are emitted into a DIE or into a .debug_loc
|
||||
|
@ -108,6 +110,21 @@ public:
|
|||
void EmitUnsigned(unsigned Value) override;
|
||||
bool isFrameRegister(unsigned MachineReg) override;
|
||||
};
|
||||
|
||||
/// DwarfExpression implementation for singular DW_AT_location.
|
||||
class DIEDwarfExpression : public DwarfExpression {
|
||||
DwarfUnit &DU;
|
||||
DIELoc ¨
|
||||
|
||||
public:
|
||||
DIEDwarfExpression(const AsmPrinter &AP, DwarfUnit &DU, DIELoc &DIE)
|
||||
: DwarfExpression(AP), DU(DU), DIE(DIE) {}
|
||||
|
||||
void EmitOp(uint8_t Op, const char *Comment = nullptr) override;
|
||||
void EmitSigned(int Value) override;
|
||||
void EmitUnsigned(unsigned Value) override;
|
||||
bool isFrameRegister(unsigned MachineReg) override;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -44,20 +44,6 @@ GenerateDwarfTypeUnits("generate-type-units", cl::Hidden,
|
|||
cl::desc("Generate DWARF4 type units."),
|
||||
cl::init(false));
|
||||
|
||||
/// DwarfExpression implementation for DwarfUnit.
|
||||
class DIEDwarfExpression : public DwarfExpression {
|
||||
DwarfUnit &DU;
|
||||
DIELoc ¨
|
||||
public:
|
||||
DIEDwarfExpression(const AsmPrinter &AP, DwarfUnit &DU, DIELoc &DIE)
|
||||
: DwarfExpression(AP), DU(DU), DIE(DIE) {}
|
||||
|
||||
void EmitOp(uint8_t Op, const char* Comment = nullptr) override;
|
||||
void EmitSigned(int Value) override;
|
||||
void EmitUnsigned(unsigned Value) override;
|
||||
bool isFrameRegister(unsigned MachineReg) override;
|
||||
};
|
||||
|
||||
void DIEDwarfExpression::EmitOp(uint8_t Op, const char* Comment) {
|
||||
DU.addUInt(DIE, dwarf::DW_FORM_data1, Op);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue