diff options
author | Dale Johannesen <dalej@apple.com> | 2010-06-15 22:08:33 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@apple.com> | 2010-06-15 22:08:33 +0000 |
commit | 6470a116f17b70aba0c2e7ee751551a5ac9797f6 (patch) | |
tree | eee212d8e4b620fda7d40823a1198c025f0b3dd8 /utils | |
parent | 8a3eab9b20acb7193285bc31c9a3e23c7c7d7173 (diff) | |
download | external_llvm-6470a116f17b70aba0c2e7ee751551a5ac9797f6.zip external_llvm-6470a116f17b70aba0c2e7ee751551a5ac9797f6.tar.gz external_llvm-6470a116f17b70aba0c2e7ee751551a5ac9797f6.tar.bz2 |
Next round of tail call changes. Register used in a tail
call must not be callee-saved; following x86, add a new
regclass to represent this. Also fixes a couple of bugs.
Still disabled by default; Thumb doesn't work yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106053 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r-- | utils/TableGen/ARMDecoderEmitter.cpp | 3 | ||||
-rw-r--r-- | utils/TableGen/EDEmitter.cpp | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/utils/TableGen/ARMDecoderEmitter.cpp b/utils/TableGen/ARMDecoderEmitter.cpp index 5f154b6..0b104ff 100644 --- a/utils/TableGen/ARMDecoderEmitter.cpp +++ b/utils/TableGen/ARMDecoderEmitter.cpp @@ -1579,7 +1579,8 @@ bool ARMDecoderEmitter::ARMDEBackend::populateInstruction( if (Name == "TCRETURNdi" || Name == "TCRETURNdiND" || Name == "TCRETURNri" || Name == "TCRETURNriND" || Name == "TAILJMPd" || Name == "TAILJMPdND" || - Name == "TAILJMPr" || Name == "TAILJMPrND") + Name == "TAILJMPr" || Name == "TAILJMPrND" || + Name == "MOVr_TC") return false; // VLDMQ/VSTMQ can be hanlded with the more generic VLDMD/VSTMD. diff --git a/utils/TableGen/EDEmitter.cpp b/utils/TableGen/EDEmitter.cpp index 66547cb..7f6436c 100644 --- a/utils/TableGen/EDEmitter.cpp +++ b/utils/TableGen/EDEmitter.cpp @@ -570,6 +570,7 @@ static void X86ExtractSemantics( static int ARMFlagFromOpName(LiteralConstantEmitter *type, const std::string &name) { REG("GPR"); + REG("tcGPR"); REG("cc_out"); REG("s_cc_out"); REG("tGPR"); |