[LLVMdev] InlineSpiller Questions

Jakob Stoklund Olesen stoklund at 2pi.dk
Wed Sep 19 16:08:40 PDT 2012


On Sep 19, 2012, at 4:02 PM, dag at cray.com wrote:

> Jakob Stoklund Olesen <stoklund at 2pi.dk> writes:
> 
>> On Sep 19, 2012, at 10:49 AM, <dag at cray.com> wrote:
>> 
>>> Jakob Stoklund Olesen <stoklund at 2pi.dk> writes:
>>> 
>>> So if there are multiple values between r2 and r3 (r2.1, r2.2, etc.) I
>>> would just follow the chains implied by the SibValueInfo Deps array?
>>> Basically, I want to find all of the live ranges related to r1.
>> 
>> It really depends on what you're trying to do.
>> 
>> The whole sibling value machinery is only concerned with tracking
>> different virtual register value numbers that are known to have the
>> same value. It doesn't really apply to anything else.
> 
> Are all of those sibling values guaranteed to ultimately derive from the
> same def, in the sense that they can be traced through copies, phis,
> etc. back to a single instruction?

They are known the all come from the same value in the original live range from before live range splitting.

The defining instruction may not exists any longer. It could have been rematerialized somewhere else. It could also have been PHI.

> Is there a design document for the new InlineSpiller and SplitKit
> somewhere?

No.

/jakob




More information about the llvm-dev mailing list