Displaying 4 results from an estimated 4 matches for "cheap_varying_condition".
2012 Oct 18
3
[LLVMdev] SimplifyCFG vs loops
...is of value to us is
also a custom analysis pass. Basically, we're using LLVM as an
optimization framework for a SIMD language, and the difficulty with the
unwanted loop transformation comes when we have code like this:
while (uniform_and_expensive_condition_with_side_effects())
{
if (cheap_varying_condition())
do_this
}
If this gets transformed to something like this (which is similar to the
example I posted in the earlier thread):
while () // outer loop
{
while () // inner loop
{
if (!uniform_and_expensive_condition_with_side_effects())
return;...
2012 Oct 18
0
[LLVMdev] SimplifyCFG vs loops
On Thu, Oct 18, 2012 at 10:12 AM, Andrew Clinton <andrew at sidefx.com> wrote:
> I actually submitted a patch to fix this very problem quite a while back,
> but I don't think it was ever added to the baseline:
>
> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110711/124136.html
>
> I have also explained why it is important to avoid the creation of new
2012 Nov 20
0
[LLVMdev] SimplifyCFG vs loops
...ge is of value to us is also a custom analysis pass. Basically, we're using LLVM as an optimization framework for a SIMD language, and the difficulty with the unwanted loop transformation comes when we have code like this:
while (uniform_and_expensive_condition_with_side_effects())
{
if (cheap_varying_condition())
do_this
}
If this gets transformed to something like this (which is similar to the example I posted in the earlier thread):
while () // outer loop
{
while () // inner loop
{
if (!uniform_and_expensive_condition_with_side_effects())
return;...
2012 Oct 18
2
[LLVMdev] SimplifyCFG vs loops
I actually submitted a patch to fix this very problem quite a while
back, but I don't think it was ever added to the baseline:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110711/124136.html
I have also explained why it is important to avoid the creation of new
loops in an optimizer that performs analysis on the looping structure.
I now need to keep this patch updated