[llvm-dev] Assertion in MachineScheduler.cpp
Rail Shafigulin via llvm-dev
llvm-dev at lists.llvm.org
Thu Apr 28 12:13:06 PDT 2016
On Thu, Apr 28, 2016 at 11:54 AM, Krzysztof Parzyszek <
kparzysz at codeaurora.org> wrote:
> On 4/28/2016 1:17 PM, Rail Shafigulin wrote:
>
>>
>> On Thu, Apr 28, 2016 at 6:13 AM, Krzysztof Parzyszek
>> <kparzysz at codeaurora.org <mailto:kparzysz at codeaurora.org>> wrote:
>>
>> There are uses of R0 all over the place, even though R0 is not
>> marked as live-in to any of the blocks that use it. For example:
>>
>> For my architecture R0 is a physical register. It always has a value of 0.
>>
>
> Ah, ok. I'm guessing it's already marked as "reserved", right?
>
>
> IIRC, at some point the register pressure tracker assumed that a use
>> of a physical register is always a kill, thus it would always
>> decrease register pressure on the class that the register belonged to.
>>
>> Am I correct assuming that kill means get rid of the register?
>>
>
> Kill is the last use of the register after its most recent definition.
> After this point the register is "dead", i.e. no longer used.
>
>
> Does it mean that I have to make changes to the core code (register
>> pressure tracker) or I can get away with changes to my target? Obviously
>> the latter is preferred.
>>
>
> If R0 is reserved, you should be fine without any changes. In such case,
> I don't really know what the problem is. I still suspect that the R0 is
> not handled right somewhere, but I have no idea where exactly.
Register R0 is indeed reserved. Would you have any suggestions on where to
look for the problem? I'd appreciate any input on this.
>
>
>
> Since you are using llvm 3.5, that may still be the case for you.
>> I'm not sure whether this is still necessary in ToT.
>>
>> Am I correct assuming that by the "case" you mean kill of the physical
>> register? I'm not familiar with ToT abbreviation? What does it mean?
>>
>
> ToT = tip of the tree, the latest source tree of LLVM/clang.
>
>
> -Krzysztof
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
> by The Linux Foundation
>
--
Rail Shafigulin
Software Engineer
Esencia Technologies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160428/a08e8e04/attachment.html>
More information about the llvm-dev
mailing list