diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-11-27 18:18:24 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-11-27 18:18:24 +0000 |
commit | ed20f478bce27b59b30f253adb5f5133824faa6e (patch) | |
tree | dbb6b4e7d60c9b38eaafe53a31e9c7fb7e5a070d /llvm/lib/Target/X86/X86AsmPrinter.cpp | |
parent | a5e09c84cad1810d332a03a2befd0c5c860ebb72 (diff) | |
download | bcm5719-llvm-ed20f478bce27b59b30f253adb5f5133824faa6e.tar.gz bcm5719-llvm-ed20f478bce27b59b30f253adb5f5133824faa6e.zip |
Use a switch.
llvm-svn: 195857
Diffstat (limited to 'llvm/lib/Target/X86/X86AsmPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86AsmPrinter.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp index 924c4e9166a..cb3833c2970 100644 --- a/llvm/lib/Target/X86/X86AsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp @@ -281,14 +281,20 @@ static void printLeaMemReference(X86AsmPrinter &P, const MachineInstr *MI, // HasParenPart - True if we will print out the () part of the mem ref. bool HasParenPart = IndexReg.getReg() || HasBaseReg; - if (DispSpec.isImm()) { + switch (DispSpec.getType()) { + default: + llvm_unreachable("unknown operand type!"); + case MachineOperand::MO_Immediate: { int DispVal = DispSpec.getImm(); if (DispVal || !HasParenPart) O << DispVal; - } else { - assert(DispSpec.isGlobal() || DispSpec.isCPI() || - DispSpec.isJTI() || DispSpec.isSymbol()); - printSymbolOperand(P, MI->getOperand(Op+3), O); + break; + } + case MachineOperand::MO_GlobalAddress: + case MachineOperand::MO_ConstantPoolIndex: + case MachineOperand::MO_JumpTableIndex: + case MachineOperand::MO_ExternalSymbol: + printSymbolOperand(P, MI->getOperand(Op + 3), O); } if (Modifier && strcmp(Modifier, "H") == 0) |