diff options
| author | Misha Brukman <brukman+llvm@gmail.com> | 2004-07-08 17:58:04 +0000 | 
|---|---|---|
| committer | Misha Brukman <brukman+llvm@gmail.com> | 2004-07-08 17:58:04 +0000 | 
| commit | b604b4df21d6c8919b8cd04f768e888e26c2771b (patch) | |
| tree | bcbdc22005b8ebcfcbc49db960b3ed26f9a4a87e /llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp | |
| parent | 0376545d26644d52dedbe35718e2cf728aedce94 (diff) | |
| download | bcm5719-llvm-b604b4df21d6c8919b8cd04f768e888e26c2771b.tar.gz bcm5719-llvm-b604b4df21d6c8919b8cd04f768e888e26c2771b.zip | |
* Fix header comment, excise references to X86
* Add suport for printing out references to constant pool indices
llvm-svn: 14699
Diffstat (limited to 'llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp | 38 | 
1 files changed, 23 insertions, 15 deletions
| diff --git a/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp index ebae7ca1d76..c2c219b5f78 100644 --- a/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp @@ -1,4 +1,4 @@ -//===-- PPC32/Printer.cpp - Convert X86 LLVM code to Intel assembly ---------===// +//===-- Printer.cpp - Convert LLVM code to PowerPC assembly ---------------===//  //   //                     The LLVM Compiler Infrastructure  // @@ -7,14 +7,12 @@  //   //===----------------------------------------------------------------------===//  // -// This file contains a printer that converts from our internal -// representation of machine-dependent LLVM code to Intel-format -// assembly language. This printer is the output mechanism used -// by `llc' and `lli -print-machineinstrs' on X86. +// This file contains a printer that converts from our internal representation +// of machine-dependent LLVM code to PowerPC assembly language. This printer is +// the output mechanism used by `llc' and `lli -print-machineinstrs'.  // -// Documentation at -// http://developer.apple.com/documentation/DeveloperTools/ -//   Reference/Assembler/ASMIntroduction/chapter_1_section_1.html +// Documentation at http://developer.apple.com/documentation/DeveloperTools/ +// Reference/Assembler/ASMIntroduction/chapter_1_section_1.html  //  //===----------------------------------------------------------------------===// @@ -413,6 +411,7 @@ void Printer::printOp(const MachineOperand &MO,      }      // FALLTHROUGH    case MachineOperand::MO_MachineRegister: +  case MachineOperand::MO_CCRegister:      O << LowercaseString(RI.get(MO.getReg()).Name);      return; @@ -420,6 +419,12 @@ void Printer::printOp(const MachineOperand &MO,    case MachineOperand::MO_UnextendedImmed:      O << (int)MO.getImmedValue();      return; +     +  case MachineOperand::MO_PCRelativeDisp: +    std::cerr << "Shouldn't use addPCDisp() when building PPC MachineInstrs"; +    abort(); +    return; +        case MachineOperand::MO_MachineBasicBlock: {      MachineBasicBlock *MBBOp = MO.getMachineBasicBlock();      O << ".LBB" << Mang->getValueName(MBBOp->getParent()->getFunction()) @@ -427,10 +432,15 @@ void Printer::printOp(const MachineOperand &MO,        << MBBOp->getBasicBlock()->getName();      return;    } -  case MachineOperand::MO_PCRelativeDisp: -    std::cerr << "Shouldn't use addPCDisp() when building PPC MachineInstrs"; -    abort(); + +  case MachineOperand::MO_ConstantPoolIndex: +    O << ".CPI" << CurrentFnName << "_" << MO.getConstantPoolIndex();      return; + +  case MachineOperand::MO_ExternalSymbol: +    O << MO.getSymbolName(); +    return; +    case MachineOperand::MO_GlobalAddress:      if (!elideOffsetKeyword) {        // Dynamically-resolved functions need a stub for the function @@ -443,11 +453,9 @@ void Printer::printOp(const MachineOperand &MO,        }      }      return; -  case MachineOperand::MO_ExternalSymbol: -    O << MO.getSymbolName(); -    return; +        default: -    O << "<unknown operand type>"; +    O << "<unknown operand type: " << MO.getType() << ">";      return;    }  } | 

