[llvm-commits] [llvm] r73887 - /llvm/trunk/lib/Target/ARM/ARMISelDAGToDAG.cpp

Bob Wilson bob.wilson at apple.com
Mon Jun 22 14:50:41 PDT 2009


On Jun 22, 2009, at 2:39 PM, Anton Korobeynikov wrote:

> Hi, Bob
>
>> Fix llvm-gcc build for armv6t2 and later architectures.  The  
>> hasV6T2Ops
>> predicate does not check if Thumb mode is enabled, and when in ARM  
>> mode
>> there are still some checks for constant-pool use that need to run.
> What's the reason for this?
>
> 1. movt is available both in thumb and arm modes, there is no need to
> check for thumb here.
> 2. ARM's compiler writing guide explicitly suggests not using constant
> pool and materialize constants using pair of movw / movt.

Yes, I wondered about that, too.  It surprised me that a constant pool  
entry would be needed in ARM mode, but not in Thumb mode.  I'm in the  
middle of merging some changes and discovered that the llvm-gcc build  
failed compiling libgcc for ARM v7.  (The error message was "cannot  
select -1023" or something like that.) I had not seen this before so I  
replaced this check with the corresponding code that I had been using  
before.  It is definitely something that should be investigated.  Feel  
free to take a look; otherwise, I'll check it out later.

--Bob



More information about the llvm-commits mailing list