Displaying 4 results from an estimated 4 matches for "allowpartial".
2012 Aug 06
3
[LLVMdev] How to call some transformation passes (LoopRotate and LoopUnroll) from my own pass
...D);
AU.addPreservedID(LCSSAID);
}
However, I couldn't figure out how to call the LoopRotate and
LoopUnroll passes since I cannot use addRequiredID or addRequired for
these two transformations.
In Scalar.h, I found:
> Pass *createLoopUnrollPass(int Threshold = -1, int Count = -1, int AllowPartial = -1);
> Pass *createLoopRotatePass();
Is to call these methods the way to go? How?, can somebody show me an
excerpt?
P.S. I tried hard on Google but I couldn't find anything related.
Thanks!
Jorge
2015 Oct 12
2
question about llvm partial unrolling/runtime unrolling
...if anyone can help me on this.
What I want to do is to turn
loop (n)
{
<loop body>
}
into
loop (n/4)
{
<loop body>
<loop body>
<loop body>
<loop body>
}
loop (n%4)
{
<loop body>
}
I set allowPartial and Runtime to both 1 (
llvm::createLoopUnrollPass(Threshold, count, 1, 1) )
Also overload the UnrollingPreferences structure to gives values to all
the Partial* members, but the loop still doesn't unroll.
The unrolling process hits this code in LoopUnrollRuntime.cpp
// Only unroll loops wi...
2015 Oct 16
2
question about llvm partial unrolling/runtime unrolling
...<loop body>
> }
>
> into
>
> loop (n/4)
> {
> <loop body>
> <loop body>
> <loop body>
> <loop body>
> }
> loop (n%4)
> {
> <loop body>
> }
>
> I set allowPartial and Runtime to both 1 (
> llvm::createLoopUnrollPass(Threshold, count, 1, 1) )
> Also overload the UnrollingPreferences structure to gives values to all
> the Partial* members, but the loop still doesn't unroll.
>
> The unrolling process hits this code in LoopUnrollRuntime.cpp
&g...
2012 Aug 06
0
[LLVMdev] How to call some transformation passes (LoopRotate and LoopUnroll) from my own pass
...>
> However, I couldn't figure out how to call the LoopRotate and
> LoopUnroll passes since I cannot use addRequiredID or addRequired for
> these two transformations.
>
> In Scalar.h, I found:
>
>> Pass *createLoopUnrollPass(int Threshold = -1, int Count = -1, int AllowPartial = -1);
>> Pass *createLoopRotatePass();
>
>
> Is to call these methods the way to go? How?, can somebody show me an
> excerpt?
The create*Pass methods give you a Pass instance that you can add to a pass manager. If you're replacing "opt", you should look at the op...