[llvm-commits] [llvm] r75048 - in /llvm/trunk/lib/Target/ARM: ARMAddressingModes.h ARMBaseInstrInfo.cpp ARMBaseRegisterInfo.cpp ARMCodeEmitter.cpp ARMISelDAGToDAG.cpp ARMInstrInfo.td ARMInstrThumb2.td ARMLoadStoreOptimizer.cpp AsmPrinter/ARMAsmPrinter.cpp
Evan Cheng
evan.cheng at apple.com
Thu Jul 9 11:26:58 PDT 2009
On Jul 8, 2009, at 3:54 PM, Chris Lattner wrote:
>
> On Jul 8, 2009, at 2:04 PM, Evan Cheng wrote:
>
>> Author: evancheng
>> Date: Wed Jul 8 16:03:57 2009
>> New Revision: 75048
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=75048&view=rev
>> Log:
>> 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.
>
> Is this really needed? Aren't the instructions that these end up in
> encoded very differently as well? If so, why not just have them
> described "properly" when you pick a specific instruction? How do you
> plan to have the JIT support these?
Before this change, the immediate is transformed into the actual HW
encoding at isel time. The asm printer then change it back to the
actual immediate. The JIT doesn't need to do anything. After this
change, the immediate is only transformed at JIT time. There really is
no difference in functionality.
Some intermediate passes, such as the load / store multiple opt pass,
needed to unscramble the immediate prior to the change. That makes
little sense. Also, this makes it possible to actual understand the
code when we look at the machine instruction dumps.
Evan
>
> -Chris
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list