[PATCH] R600/SI: Use isProfitableToDupForIfCvt

Christian König deathsimple at vodafone.de
Tue Mar 18 11:27:36 PDT 2014


Am 18.03.2014 19:09, schrieb Tom Stellard:
> On Tue, Mar 18, 2014 at 10:21:56AM -0700, Matt Arsenault wrote:
>> On 03/18/2014 10:12 AM, Tom Stellard wrote:
>>> Are these used outside of the IfConversion pass?  Because we don't use
>>> IfConversion on SI.
>> No. I assume that's because of the control flow intrinsics? I was
>> planning on trying something that would eventually remove them.
>>
> The main reason we don't run it on SI is that no one has implemented all
> the required callbacks for predicating instructions or even the
> Insert, Remove, and Analyze Branch functions.
>
> I'm not sure whether or not the control flow intrinsics make it hard
> or impossible to implement these, but I am interested to hear your idea
> for removing them.

On the other hand what's the benefit for it?

One reason I've added the control flow intrinsics is that IfConversion 
actually didn't seem to fit so well into how our hardware works (neither 
R600 nor SI). So I'm not sure if using it for R600 is actually so 
beneficial. A custom pass that replaces control pseudo control flow with 
real instructions like SI uses actually seems more appropriate for the 
problem.

Christian.

> -Tom
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list