diff options
author | Chris Lattner <sabre@nondot.org> | 2009-09-14 01:34:40 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-09-14 01:34:40 +0000 |
commit | f92c95f3070f2f797987d2b753780a3a5e482351 (patch) | |
tree | f3c6887d3a131450e2ffd156fe6f80da2917b256 /lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp | |
parent | f96271afed5504d75a71e9dd9ed89152645604aa (diff) | |
download | external_llvm-f92c95f3070f2f797987d2b753780a3a5e482351.zip external_llvm-f92c95f3070f2f797987d2b753780a3a5e482351.tar.gz external_llvm-f92c95f3070f2f797987d2b753780a3a5e482351.tar.bz2 |
tidy up a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81744 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp')
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp b/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp index a25fb2e..f943ccf 100644 --- a/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp +++ b/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp @@ -41,46 +41,38 @@ void X86ATTInstPrinter::printSSECC(const MCInst *MI, unsigned Op) { } } - void X86ATTInstPrinter::printPICLabel(const MCInst *MI, unsigned Op) { llvm_unreachable("This is only used for MOVPC32r," "should lower before instruction printing!"); } - /// print_pcrel_imm - This is used to print an immediate value that ends up /// being encoded as a pc-relative value. These print slightly differently, for /// example, a $ is not emitted. void X86ATTInstPrinter::print_pcrel_imm(const MCInst *MI, unsigned OpNo) { const MCOperand &Op = MI->getOperand(OpNo); - if (Op.isImm()) O << Op.getImm(); - else if (Op.isExpr()) + else { + assert(Op.isExpr() && "unknown pcrel immediate operand"); Op.getExpr()->print(O, MAI); - else - llvm_unreachable("Unknown pcrel immediate operand"); + } } - void X86ATTInstPrinter::printOperand(const MCInst *MI, unsigned OpNo, - const char *Modifier) { + const char *Modifier) { assert(Modifier == 0 && "Modifiers should not be used"); const MCOperand &Op = MI->getOperand(OpNo); if (Op.isReg()) { O << '%' << getRegisterName(Op.getReg()); - return; } else if (Op.isImm()) { O << '$' << Op.getImm(); - return; - } else if (Op.isExpr()) { + } else { + assert(Op.isExpr() && "unknown operand kind in printOperand"); O << '$'; Op.getExpr()->print(O, MAI); - return; } - - O << "<<UNKNOWN OPERAND KIND>>"; } void X86ATTInstPrinter::printLeaMemReference(const MCInst *MI, unsigned Op) { @@ -114,8 +106,8 @@ void X86ATTInstPrinter::printLeaMemReference(const MCInst *MI, unsigned Op) { } void X86ATTInstPrinter::printMemReference(const MCInst *MI, unsigned Op) { - const MCOperand &Segment = MI->getOperand(Op+4); - if (Segment.getReg()) { + // If this has a segment register, print it. + if (MI->getOperand(Op+4).getReg()) { printOperand(MI, Op+4); O << ':'; } |