Displaying 3 results from an estimated 3 matches for "unrollingpreferences".
2015 Feb 04
2
[LLVMdev] Is this a bug with loop unrolling and TargetTransformInfo ?
Hi,
I ran into this issue recently and wanted to know if it was a bug or expected behavior.
In the R600 backend's TargetTransformInfo implementation, we were setting
UnrollingPreferences::Count = UINT_MAX. This was a mistake as we should have been
setting UnrollingPreferences::MaxCount instead. However, as a result of setting
Count to UINT_MAX, this loop would be unrolled 15 times:
if (b + 4 > a) {
for (int i = 0; i < 4; i++, b++) {
if (b + 1 <= a)
*(dst + c...
2015 Oct 12
2
question about llvm partial unrolling/runtime unrolling
...}
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 with a computable trip count and the trip count needs
// to be an int value (allowing a pointer type is a TODO item)...
2015 Oct 16
2
question about llvm partial unrolling/runtime unrolling
...; <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 with a computable trip count and the trip count
> needs
> // to be an int value (allowi...