summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2010-04-23 22:17:17 +0000
committerSean Callanan <scallanan@apple.com>2010-04-23 22:17:17 +0000
commita0f914b6c1fa9708d9b2d2712930430de4f1afac (patch)
treebf75da1c6e98d21a2d3054f034a6687486db0d84
parent56dda57679adebc51cbcd642f924e0ad44709f95 (diff)
Fixes to edis that mark x86 call targets as
memory operands rather than immediate operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102217 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--tools/edis/EDOperand.cpp3
-rw-r--r--utils/TableGen/EDEmitter.cpp4
2 files changed, 5 insertions, 2 deletions
diff --git a/tools/edis/EDOperand.cpp b/tools/edis/EDOperand.cpp
index ca8bac1c5b..d63c1c6bfb 100644
--- a/tools/edis/EDOperand.cpp
+++ b/tools/edis/EDOperand.cpp
@@ -233,6 +233,8 @@ int EDOperand::isMemory() {
default:
return 0;
case kOperandTypeX86Memory:
+ case kOperandTypeX86PCRelative:
+ case kOperandTypeX86EffectiveAddress:
case kOperandTypeARMSoReg:
case kOperandTypeARMSoImm:
case kOperandTypeARMAddrMode2:
@@ -243,6 +245,7 @@ int EDOperand::isMemory() {
case kOperandTypeARMAddrMode5:
case kOperandTypeARMAddrMode6:
case kOperandTypeARMAddrModePC:
+ case kOperandTypeARMBranchTarget:
case kOperandTypeThumbAddrModeS1:
case kOperandTypeThumbAddrModeS2:
case kOperandTypeThumbAddrModeS4:
diff --git a/utils/TableGen/EDEmitter.cpp b/utils/TableGen/EDEmitter.cpp
index 4c9db8ccdd..d3bf60e1c8 100644
--- a/utils/TableGen/EDEmitter.cpp
+++ b/utils/TableGen/EDEmitter.cpp
@@ -316,12 +316,10 @@ static int X86TypeFromOpName(LiteralConstantEmitter *type,
IMM("i16imm");
IMM("i16i8imm");
IMM("i32imm");
- IMM("i32imm_pcrel");
IMM("i32i8imm");
IMM("i64imm");
IMM("i64i8imm");
IMM("i64i32imm");
- IMM("i64i32imm_pcrel");
IMM("SSECC");
// all R, I, R, I, R
@@ -350,6 +348,8 @@ static int X86TypeFromOpName(LiteralConstantEmitter *type,
LEA("lea64mem");
// all I
+ PCR("i32imm_pcrel");
+ PCR("i64i32imm_pcrel");
PCR("brtarget8");
PCR("offset8");
PCR("offset16");