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

Chad Rosier mcrosier at codeaurora.org
Thu Aug 14 13:05:48 PDT 2014


The problem child is r215588.

> 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
>>
>
>


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation




More information about the llvm-commits mailing list