[llvm-commits] [llvm] r140861 - /llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
Jim Grosbach
grosbach at apple.com
Fri Sep 30 15:05:00 PDT 2011
On Sep 30, 2011, at 11:49 AM, Eli Friedman wrote:
> On Fri, Sep 30, 2011 at 10:23 AM, Jim Grosbach <grosbach at apple.com> wrote:
>> Author: grosbach
>> Date: Fri Sep 30 12:23:05 2011
>> New Revision: 140861
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=140861&view=rev
>> Log:
>> ARM Fixup valus for movt/movw are for the whole value.
>>
>> Remove an assert that was expecting only the relevant 16bit portion for
>> the fixup being handled. Also kill some dead code in the T2 portion.
>>
>> rdar://9653509
>>
>> Modified:
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp?rev=140861&r1=140860&r2=140861&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp Fri Sep 30 12:23:05 2011
>> @@ -183,8 +183,6 @@
>> case ARM::fixup_arm_movw_lo16_pcrel: {
>> unsigned Hi4 = (Value & 0xF000) >> 12;
>> unsigned Lo12 = Value & 0x0FFF;
>> - assert ((((int64_t)Value) >= -0x8000) && (((int64_t)Value) <= 0x7fff) &&
>> - "Out of range pc-relative fixup value!");
>> // inst{19-16} = Hi4;
>> // inst{11-0} = Lo12;
>> Value = (Hi4 << 16) | (Lo12);
>> @@ -205,11 +203,6 @@
>> // inst{26} = i;
>> // inst{14-12} = Mid3;
>> // inst{7-0} = Lo8;
>> - // The value comes in as the whole thing, not just the portion required
>> - // for this fixup, so we need to mask off the bits not handled by this
>> - // portion (lo vs. hi).
>> - Value &= 0xffff;
>> - Value = (Hi4 << 16) | (i << 26) | (Mid3 << 12) | (Lo8);
>> uint64_t swapped = (Value & 0xFFFF0000) >> 16;
>> swapped |= (Value & 0x0000FFFF) << 16;
>> return swapped;
>
> I'm getting a bunch of unused variable warnings from this change.
Fixed r140892.
Thanks for the heads-up!
>
> /Volumes/storage/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp:198:14:
> warning: unused variable 'Hi4' [-Wunused-variable]
> unsigned Hi4 = (Value & 0xF000) >> 12;
> ^
> /Volumes/storage/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp:199:14:
> warning: unused variable 'i' [-Wunused-variable]
> unsigned i = (Value & 0x800) >> 11;
> ^
> /Volumes/storage/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp:200:14:
> warning: unused variable 'Mid3' [-Wunused-variable]
> unsigned Mid3 = (Value & 0x700) >> 8;
> ^
> /Volumes/storage/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp:201:14:
> warning: unused variable 'Lo8' [-Wunused-variable]
> unsigned Lo8 = Value & 0x0FF;
> ^
>
> -Eli
More information about the llvm-commits
mailing list