[PATCH][FastISel] Let the target decide first if it wants to materialize a constant.

Juergen Ributzka juergen at apple.com
Thu Aug 14 13:06:31 PDT 2014


I reverted all changes in r215673 except for a few changes that only affect ARM and X86.
There were actually only 3 change sets that could have affected AArch64, so it should be easy to track it down now.

Does reverting fix the problem?

Thanks

Cheers,
Juergen

On Aug 14, 2014, at 12:53 PM, Juergen Ributzka <juergen at apple.com> wrote:

> Ok, let me revert all changes and see if that fixes it.
> 
> -Juergen
> 
> On Aug 14, 2014, at 12:47 PM, Chad Rosier <mcrosier at codeaurora.org> wrote:
> 
>> I don't think r215597 is the culprit.  All tests previously failing are
>> continuing to fail.
>> 
>>> I know. I have the same issue here with the list too … takes forever
>>> today.
>>> 
>>> -Juergen
>>> 
>>> On Aug 14, 2014, at 10:53 AM, Chad Rosier <mcrosier at codeaurora.org> wrote:
>>> 
>>>> I see the revert (what's up with the slow list today?).  I'll have an
>>>> answer in a bit.  I need to step out for an hour, so we should know by
>>>> 1p
>>>> PT.
>>>> 
>>>> Chad
>>>> 
>>>> 
>>>>> Dang, that might have been the other commit I made after this to extend
>>>>> the addressing modes for AArch64.
>>>>> Let me revert that commit first. How long will it take to see the
>>>>> results
>>>>> of the revert?
>>>>> 
>>>>> Cheers,
>>>>> Juergen
>>>>> 
>>>>> On Aug 14, 2014, at 9:53 AM, Chad Rosier <mcrosier at codeaurora.org>
>>>>> wrote:
>>>>> 
>>>>>> Juergen,
>>>>>> Also, I'm seeing a large number of spec2K and spec2K6 failures after
>>>>>> this
>>>>>> flurry of commits.  I'm not exactly sure which one to blame, but we
>>>>>> should
>>>>>> consider reverting to fix the nightlies as well as allow for proper
>>>>>> review.
>>>>>> 
>>>>>> Chad
>>>>>> 
>>>>>>> So, this was in my list of things to look at but it seems like you
>>>>>>> went ahead and committed it without actually waiting for feedback?
>>>>>>> 
>>>>>>> -eric
>>>>>>> 
>>>>>>> On Tue, Aug 12, 2014 at 9:23 AM, Juergen Ributzka <juergen at apple.com>
>>>>>>> wrote:
>>>>>>>> ping :D
>>>>>>>> 
>>>>>>>> On Aug 7, 2014, at 2:51 PM, Juergen Ributzka <juergen at apple.com>
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> Hi @ll,
>>>>>>>>> 
>>>>>>>>> I want to change the order in which FastISel tries to materialize a
>>>>>>>>> constant.
>>>>>>>>> 
>>>>>>>>> Originally it would try to use a simple target-independent
>>>>>>>>> approach,
>>>>>>>>> which can lead to the generation of inefficient code.
>>>>>>>>> 
>>>>>>>>> On X86 this would result in the use of movabsq to materialize any
>>>>>>>>> 64bit
>>>>>>>>> integer constant - even for simple and small values such as 0 and
>>>>>>>>> 1.
>>>>>>>>> Also
>>>>>>>>> some very funny floating-point materialization could be observed
>>>>>>>>> too.
>>>>>>>>> 
>>>>>>>>> On AArch64 it would materialize the constant 0 in a register even
>>>>>>>>> the
>>>>>>>>> architecture has an actual "zero" register.
>>>>>>>>> 
>>>>>>>>> On ARM it would generate unnecessary mov instructions or not use
>>>>>>>>> mvn,
>>>>>>>>> etc
>>>>>>>>> 
>>>>>>>>> I want to simply change the order and always asks the target first
>>>>>>>>> if
>>>>>>>>> it likes to materialize the constant. The patches a pretty simple
>>>>>>>>> and
>>>>>>>>> straight forward, but since it changes the way how FastISel works
>>>>>>>>> with
>>>>>>>>> respect to constants I wanted everyone affected by it to have at
>>>>>>>>> least
>>>>>>>>> a quick look first.
>>>>>>>>> 
>>>>>>>>> Thanks
>>>>>>>>> 
>>>>>>>>> Cheers,
>>>>>>>>> Juergen
>>>>>>>>> 
>>>>>>>>> <0001-FastISel-AArch64-Cleanup-constant-materialization-co.patch><0002-FastISel-ARM-Fix-a-bug-in-the-integer-materializatio.patch><0003-FastISel-ARM-Use-MOVT-MOVW-if-the-subtarget-requests.patch><0004-FastISel-X86-Refactor-constant-materialization.-NFCI.patch><0005-FastISel-Let-the-target-decide-first-if-it-wants-to-.patch><0006-FastISel-AArch64-Make-use-of-the-zero-register-when-.patch><0007-FastISel-X86-Emit-more-efficient-instructions-for-in.patch><0008-FastISel-X86-Use-XOR-to-materialize-the-0-value.patch>
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>>>>>> hosted by The Linux Foundation
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> --
>>>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>>>> hosted by The Linux Foundation
>>>> 
>>> 
>>> 
>> 
>> 
>> -- 
>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>> hosted by The Linux Foundation
>> 
> 





More information about the llvm-commits mailing list