summaryrefslogtreecommitdiffstats
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
commit820c392d87040307799a8cce4a539de0225a0b35 (patch)
treebf75da1c6e98d21a2d3054f034a6687486db0d84
parent46e1d9811bff430039f6612a38d0acac4e03ace9 (diff)
downloadexternal_llvm-820c392d87040307799a8cce4a539de0225a0b35.zip
external_llvm-820c392d87040307799a8cce4a539de0225a0b35.tar.gz
external_llvm-820c392d87040307799a8cce4a539de0225a0b35.tar.bz2
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 ca8bac1..d63c1c6 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 4c9db8c..d3bf60e 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");