aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-04-04 23:31:58 +0000
committerChris Lattner <sabre@nondot.org>2010-04-04 23:31:58 +0000
commit786d17a0cf49e6bf95c53eff6148cf843d0f1c1d (patch)
tree52e1d4c1c9b6591ef3837d0b08440dd864869130 /lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
parent6189ed10c1a6a39ad516aca2bda2c05fff35a55b (diff)
simplify code and reduce indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100369 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfPrinter.cpp')
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfPrinter.cpp63
1 files changed, 30 insertions, 33 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp b/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
index 57fd469fe4..870dab78d0 100644
--- a/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
@@ -70,43 +70,40 @@ void DwarfPrinter::EmitFrameMoves(MCSymbol *BaseLabel,
// If advancing cfa.
if (Dst.isReg() && Dst.getReg() == MachineLocation::VirtualFP) {
- if (!Src.isReg()) {
- if (Src.getReg() == MachineLocation::VirtualFP) {
- Asm->EmitCFAByte(dwarf::DW_CFA_def_cfa_offset);
- } else {
- Asm->EmitCFAByte(dwarf::DW_CFA_def_cfa);
- Asm->EmitULEB128(RI->getDwarfRegNum(Src.getReg(), isEH), "Register");
- }
+ assert(!Src.isReg() && "Machine move not supported yet.");
- int Offset = -Src.getOffset();
- Asm->EmitULEB128(Offset, "Offset");
+ if (Src.getReg() == MachineLocation::VirtualFP) {
+ Asm->EmitCFAByte(dwarf::DW_CFA_def_cfa_offset);
} else {
- llvm_unreachable("Machine move not supported yet.");
+ Asm->EmitCFAByte(dwarf::DW_CFA_def_cfa);
+ Asm->EmitULEB128(RI->getDwarfRegNum(Src.getReg(), isEH), "Register");
}
- } else if (Src.isReg() &&
- Src.getReg() == MachineLocation::VirtualFP) {
- if (Dst.isReg()) {
- Asm->EmitCFAByte(dwarf::DW_CFA_def_cfa_register);
- Asm->EmitULEB128(RI->getDwarfRegNum(Dst.getReg(), isEH), "Register");
- } else {
- llvm_unreachable("Machine move not supported yet.");
- }
- } else {
- unsigned Reg = RI->getDwarfRegNum(Src.getReg(), isEH);
- int Offset = Dst.getOffset() / stackGrowth;
- if (Offset < 0) {
- Asm->EmitCFAByte(dwarf::DW_CFA_offset_extended_sf);
- Asm->EmitULEB128(Reg, "Reg");
- Asm->EmitSLEB128(Offset, "Offset");
- } else if (Reg < 64) {
- Asm->EmitCFAByte(dwarf::DW_CFA_offset + Reg);
- Asm->EmitULEB128(Offset, "Offset");
- } else {
- Asm->EmitCFAByte(dwarf::DW_CFA_offset_extended);
- Asm->EmitULEB128(Reg, "Reg");
- Asm->EmitULEB128(Offset, "Offset");
- }
+ Asm->EmitULEB128(-Src.getOffset(), "Offset");
+ continue;
+ }
+
+ if (Src.isReg() && Src.getReg() == MachineLocation::VirtualFP) {
+ assert(Dst.isReg() && "Machine move not supported yet.");
+ Asm->EmitCFAByte(dwarf::DW_CFA_def_cfa_register);
+ Asm->EmitULEB128(RI->getDwarfRegNum(Dst.getReg(), isEH), "Register");
+ continue;
+ }
+
+ unsigned Reg = RI->getDwarfRegNum(Src.getReg(), isEH);
+ int Offset = Dst.getOffset() / stackGrowth;
+
+ if (Offset < 0) {
+ Asm->EmitCFAByte(dwarf::DW_CFA_offset_extended_sf);
+ Asm->EmitULEB128(Reg, "Reg");
+ Asm->EmitSLEB128(Offset, "Offset");
+ } else if (Reg < 64) {
+ Asm->EmitCFAByte(dwarf::DW_CFA_offset + Reg);
+ Asm->EmitULEB128(Offset, "Offset");
+ } else {
+ Asm->EmitCFAByte(dwarf::DW_CFA_offset_extended);
+ Asm->EmitULEB128(Reg, "Reg");
+ Asm->EmitULEB128(Offset, "Offset");
}
}
}