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 /lib/Target/ARM/Thumb1InstrInfo.cpp | |
parent | 8a3eab9b20acb7193285bc31c9a3e23c7c7d7173 (diff) | |
download | llvm-6470a116f17b70aba0c2e7ee751551a5ac9797f6.tar.gz llvm-6470a116f17b70aba0c2e7ee751551a5ac9797f6.tar.bz2 llvm-6470a116f17b70aba0c2e7ee751551a5ac9797f6.tar.xz |
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 'lib/Target/ARM/Thumb1InstrInfo.cpp')
-rw-r--r-- | lib/Target/ARM/Thumb1InstrInfo.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/Target/ARM/Thumb1InstrInfo.cpp b/lib/Target/ARM/Thumb1InstrInfo.cpp index fae84d4ee0..d17f60e5cf 100644 --- a/lib/Target/ARM/Thumb1InstrInfo.cpp +++ b/lib/Target/ARM/Thumb1InstrInfo.cpp @@ -39,8 +39,8 @@ bool Thumb1InstrInfo::copyRegToReg(MachineBasicBlock &MBB, const TargetRegisterClass *DestRC, const TargetRegisterClass *SrcRC, DebugLoc DL) const { - if (DestRC == ARM::GPRRegisterClass) { - if (SrcRC == ARM::GPRRegisterClass) { + if (DestRC == ARM::GPRRegisterClass || DestRC == ARM::tcGPRRegisterClass) { + if (SrcRC == ARM::GPRRegisterClass || SrcRC == ARM::tcGPRRegisterClass) { BuildMI(MBB, I, DL, get(ARM::tMOVgpr2gpr), DestReg).addReg(SrcReg); return true; } else if (SrcRC == ARM::tGPRRegisterClass) { @@ -48,7 +48,7 @@ bool Thumb1InstrInfo::copyRegToReg(MachineBasicBlock &MBB, return true; } } else if (DestRC == ARM::tGPRRegisterClass) { - if (SrcRC == ARM::GPRRegisterClass) { + if (SrcRC == ARM::GPRRegisterClass || SrcRC == ARM::tcGPRRegisterClass) { BuildMI(MBB, I, DL, get(ARM::tMOVgpr2tgpr), DestReg).addReg(SrcReg); return true; } else if (SrcRC == ARM::tGPRRegisterClass) { |