[PATCH] D13197: AMDGPU: Move SIFixSGPRLiveRanges to be a regalloc pass

Andrew Trick via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 6 13:04:41 PDT 2015


> On Sep 28, 2015, at 1:17 PM, Matt Arsenault via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> arsenm added a comment.
> 
> In http://reviews.llvm.org/D13197#254947, @MatzeB wrote:
> 
>> Note that long-term we plan to remove the LiveVariables analysis and just keep LiveIntervals around; though I don't see this happening soon as  I don't see an incentive to actually do the work of fixing TwoAddressInstructions and PhiElimination to use LiveIntervals...
> 
> 
> I'm kind of confused what the relationship between LiveVariables and LiveIntervals is, but I've seen the comments about removing LiveVariables. LiveIntervals seems to require LiveVariables, but then the calculation of LiveIntervals seems to clear kill flags?
> 
> 
> http://reviews.llvm.org/D13197

LiveVariables only remains in-tree because no one wants to do the work to fix the TwoAddress pass to completely update LiveIntervals. TwoAddress needs to get its register kill information somewhere, so currently relies on LiveVariables.

Maybe a dumb question, but do you actually need the TwoAddress pass for your target? If not, disabling it will make it much easier to manage the regalloc pipeline, and speedup compile time because you won’t need to compute LiveVariables.

Andy


More information about the llvm-commits mailing list