[llvm-dev] [RFC] New pass: LoopExitValues

Philip Reames via llvm-dev llvm-dev at lists.llvm.org
Tue Sep 22 07:58:57 PDT 2015



On 09/21/2015 10:45 PM, Wei Mi via llvm-dev wrote:
> I don't have a very good idea. What I originally thought was just to
> skip the case when live range cross loops. However, after a second
> thought, for the new live range living across loop2 loop3, because it
> has no reference in those loops, it will be splitted outside those
> loops if those loops have high reg pressures, so the key is to know
> whether the outer loop is hot enough and whether it has high reg
> pressure instead of loop2/loop3. In many cases we don't have precise
> information about loop hotness and loop reg pressure and have to
> guess.
>
> As Hal said, get the patch in first and see what benefit and
> regression we get, then think the next step, so that we can move
> forward.
+1 to the last point here
>
> Thanks,
> Wei.
>
> On Mon, Sep 21, 2015 at 2:45 PM, Steve King <steve at metrokings.com> wrote:
>> On Mon, Sep 21, 2015 at 11:13 AM, Wei Mi <wmi at google.com> wrote:
>>> I have the same worry as Philip and Hal that the new LoopExitValues
>>> pass may increase some live range significantly in certain cases
>>> because it reuses value cross outerloop iterations. Like the following
>>> hypothetical case, the value reuse will create a live range living
>>> across loop2, loop3, .... But we can add some simple logic to obviate
>>> such case.
>>>
>> Thanks Wei.  Can you please give your ideas about logic to catch abuse
>> of live ranges?
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev



More information about the llvm-dev mailing list