summaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinter.cpp25
1 files changed, 3 insertions, 22 deletions
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index c0f36860a8..ff2441694e 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -868,14 +868,12 @@ void AsmPrinter::EmitDwarfRegOp(const MachineLocation &MLoc,
bool Indirect) const {
const TargetRegisterInfo *TRI = TM.getRegisterInfo();
int Reg = TRI->getDwarfRegNum(MLoc.getReg(), false);
- bool isSubRegister = Reg < 0;
- unsigned Idx = 0;
for (MCSuperRegIterator SR(MLoc.getReg(), TRI); SR.isValid() && Reg < 0;
++SR) {
Reg = TRI->getDwarfRegNum(*SR, false);
- if (Reg >= 0)
- Idx = TRI->getSubRegIndex(*SR, MLoc.getReg());
+ // FIXME: Get the bit range this register uses of the superregister
+ // so that we can produce a DW_OP_bit_piece
}
// FIXME: Handle cases like a super register being encoded as
@@ -912,24 +910,7 @@ void AsmPrinter::EmitDwarfRegOp(const MachineLocation &MLoc,
}
}
- // Emit Mask
- if (isSubRegister) {
- unsigned Size = TRI->getSubRegIdxSize(Idx);
- unsigned Offset = TRI->getSubRegIdxOffset(Idx);
- if (Offset > 0) {
- OutStreamer.AddComment("DW_OP_bit_piece");
- EmitInt8(dwarf::DW_OP_bit_piece);
- OutStreamer.AddComment(Twine(Size));
- EmitULEB128(Size);
- OutStreamer.AddComment(Twine(Offset));
- EmitULEB128(Offset);
- } else {
- OutStreamer.AddComment("DW_OP_piece");
- EmitInt8(dwarf::DW_OP_piece);
- OutStreamer.AddComment(Twine(Size));
- EmitULEB128(Size);
- }
- }
+ // FIXME: Produce a DW_OP_bit_piece if we used a superregister
}
bool AsmPrinter::doFinalization(Module &M) {