[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