diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-08-31 08:08:38 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-08-31 08:08:38 +0000 |
commit | 73da11ebdad9a22afacb3f7755e3cd9ec2182920 (patch) | |
tree | a34b8a0c0c72fc294dcc2bc5bd2fc88dcf68d842 /llvm/lib/Target/X86/X86CodeEmitter.cpp | |
parent | 7c82d5693088873f75bea3e20e46149990bd52cd (diff) | |
download | bcm5719-llvm-73da11ebdad9a22afacb3f7755e3cd9ec2182920.tar.gz bcm5719-llvm-73da11ebdad9a22afacb3f7755e3cd9ec2182920.zip |
llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.
Also, use MCInst::print instead of custom code in MCAsmPrinter.
llvm-svn: 80575
Diffstat (limited to 'llvm/lib/Target/X86/X86CodeEmitter.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86CodeEmitter.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/lib/Target/X86/X86CodeEmitter.cpp b/llvm/lib/Target/X86/X86CodeEmitter.cpp index 0c472a725bc..7e2fd975c1c 100644 --- a/llvm/lib/Target/X86/X86CodeEmitter.cpp +++ b/llvm/lib/Target/X86/X86CodeEmitter.cpp @@ -30,6 +30,7 @@ #include "llvm/Function.h" #include "llvm/ADT/Statistic.h" #include "llvm/MC/MCCodeEmitter.h" +#include "llvm/MC/MCExpr.h" #include "llvm/MC/MCInst.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/Debug.h" @@ -968,12 +969,12 @@ public: Instr->addOperand(MachineOperand::CreateImm(Op.getImm())); return true; } - if (!Op.isMCValue()) + if (!Op.isExpr()) return false; - const MCValue &Val = Op.getMCValue(); - if (Val.isAbsolute()) { - Instr->addOperand(MachineOperand::CreateImm(Val.getConstant())); + const MCExpr *Expr = Op.getExpr(); + if (const MCConstantExpr *CE = dyn_cast<MCConstantExpr>(Expr)) { + Instr->addOperand(MachineOperand::CreateImm(CE->getValue())); return true; } @@ -1036,9 +1037,8 @@ public: if (CurOp < NumOps) { // Hack to make branches work. if (!(Desc.TSFlags & X86II::ImmMask) && - MI.getOperand(0).isMCValue() && - MI.getOperand(0).getMCValue().getSymA() && - !MI.getOperand(0).getMCValue().getSymB()) + MI.getOperand(0).isExpr() && + isa<MCSymbolRefExpr>(MI.getOperand(0).getExpr())) Instr->addOperand(MachineOperand::CreateMBB(DummyMBB)); else OK &= AddImmToInstr(MI, Instr, CurOp); |