diff options
author | Owen Anderson <resistor@mac.com> | 2011-07-15 22:49:31 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2011-07-15 22:49:31 +0000 |
commit | d57a049e5cb99df889e1247ef409dbce8c63da86 (patch) | |
tree | 6e9118229ff1709d4ceca0c1526ae9617c51bbb3 /llvm/utils/TableGen/ARMDecoderEmitter.cpp | |
parent | e49e74261a6611db9956d395bc0bfb7cab98615b (diff) | |
download | bcm5719-llvm-d57a049e5cb99df889e1247ef409dbce8c63da86.tar.gz bcm5719-llvm-d57a049e5cb99df889e1247ef409dbce8c63da86.zip |
Get rid of the separate opcodes for the Darwin versions of tBL, tBLXi, and tBLXr, using pseudo-instructions to lower to the single final opcode. Update the ARM disassembler for this change.
llvm-svn: 135319
Diffstat (limited to 'llvm/utils/TableGen/ARMDecoderEmitter.cpp')
-rw-r--r-- | llvm/utils/TableGen/ARMDecoderEmitter.cpp | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/llvm/utils/TableGen/ARMDecoderEmitter.cpp b/llvm/utils/TableGen/ARMDecoderEmitter.cpp index 8a5dc8ba154..2902af44740 100644 --- a/llvm/utils/TableGen/ARMDecoderEmitter.cpp +++ b/llvm/utils/TableGen/ARMDecoderEmitter.cpp @@ -1619,10 +1619,6 @@ ARMDEBackend::populateInstruction(const CodeGenInstruction &CGI, if (Name == "tSTMIA") return false; - // On Darwin R9 is call-clobbered. Ignore the non-Darwin counterparts. - if (Name == "tBL" || Name == "tBLXi" || Name == "tBLXr") - return false; - // A8.6.25 BX. Use the generic tBX_Rm, ignore tBX_RET and tBX_RET_vararg. if (Name == "tBX_RET" || Name == "tBX_RET_vararg") return false; @@ -1654,14 +1650,12 @@ ARMDEBackend::populateInstruction(const CodeGenInstruction &CGI, // Resolve conflicts: // - // tBfar conflicts with tBLr9 // t2LDMIA_RET conflict with t2LDM (ditto) // tMOVCCi conflicts with tMOVi8 // tMOVCCr conflicts with tMOVgpr2gpr // tLDRcp conflicts with tLDRspi // t2MOVCCi16 conflicts with tMOVi16 - if (Name == "tBfar" || - Name == "t2LDMIA_RET" || + if (Name == "t2LDMIA_RET" || Name == "tMOVCCi" || Name == "tMOVCCr" || Name == "tLDRcp" || Name == "t2MOVCCi16") |