diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-07-08 21:03:57 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-07-08 21:03:57 +0000 |
commit | e7cbe4118b7ddf05032ff8772a98c51e1637bb5c (patch) | |
tree | 7a43bd988d438858c1635937312ee85b24a30697 /lib/Target/ARM/ARMLoadStoreOptimizer.cpp | |
parent | c3d505c3c2a8c0e1f1db572f47451cfe2a1a58a3 (diff) |
Change how so_imm and t2_so_imm are handled. At instruction selection time, the immediates are no longer encoded in the imm8 + rot format, that are left as it is. The encoding is now done in ams printing and code emission time instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75048 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMLoadStoreOptimizer.cpp')
-rw-r--r-- | lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/Target/ARM/ARMLoadStoreOptimizer.cpp b/lib/Target/ARM/ARMLoadStoreOptimizer.cpp index 67c4258046..c449c50f46 100644 --- a/lib/Target/ARM/ARMLoadStoreOptimizer.cpp +++ b/lib/Target/ARM/ARMLoadStoreOptimizer.cpp @@ -171,12 +171,11 @@ ARMLoadStoreOpt::MergeOps(MachineBasicBlock &MBB, BaseOpc = ARM::SUBri; Offset = - Offset; } - int ImmedOffset = ARM_AM::getSOImmVal(Offset); - if (ImmedOffset == -1) + if (ARM_AM::getSOImmVal(Offset) == -1) return false; // Probably not worth it then. BuildMI(MBB, MBBI, dl, TII->get(BaseOpc), NewBase) - .addReg(Base, getKillRegState(BaseKill)).addImm(ImmedOffset) + .addReg(Base, getKillRegState(BaseKill)).addImm(Offset) .addImm(Pred).addReg(PredReg).addReg(0); Base = NewBase; BaseKill = true; // New base is always killed right its use. |