Displaying 6 results from an estimated 6 matches for "origloop".
Did you mean:
bigloop
2015 May 21
3
[LLVMdev] Alias-based Loop Versioning
...bination of optimization from *multiple* passes, neither pass would make the decision locally to version.
Also, it’s probably beneficial to perform a single loop versioning even if multiple passes would like to check different accesses. E.g. rather than:
Checks_1
/ \
/ \
OrigLoop Checks_2
\ / \
\ / \
\ NoAlias_1 NoAlias_2
\ | /
\ | /
\ | /
Join
But instead:
Checks_1+Check_2
/ \
/ \
OrigLoop NoAlias_2
\ /
\ /
\ /
Join
This is e...
2015 May 23
2
[LLVMdev] Alias-based Loop Versioning
...n.
>
>
>
>
>
> Also, it’s probably beneficial to perform a single loop versioning
> even if multiple passes would like to check different accesses. E.g.
> rather than:
>
>
>
>
>
> Checks_1
>
>
> / \
>
>
> / \
>
>
> OrigLoop Checks_2
>
>
> \ / \
>
>
> \ / \
>
>
> \ NoAlias_1 NoAlias_2
>
>
> \ | /
>
>
> \ | /
>
>
> \ | /
>
>
> Join
>
>
>
>
>
> But instead:
>
>
>
>
>
> Checks_1+Check_2
>
>
&g...
2015 May 25
0
[LLVMdev] Alias-based Loop Versioning
...n.
>
>
>
>
>
> Also, it’s probably beneficial to perform a single loop versioning
> even if multiple passes would like to check different accesses. E.g.
> rather than:
>
>
>
>
>
> Checks_1
>
>
> / \
>
>
> / \
>
>
> OrigLoop Checks_2
>
>
> \ / \
>
>
> \ / \
>
>
> \ NoAlias_1 NoAlias_2
>
>
> \ | /
>
>
> \ | /
>
>
> \ | /
>
>
> Join
>
>
>
>
>
> But instead:
>
>
>
>
>
> Checks_1+Check_2
>
>
&g...
2015 May 28
1
[LLVMdev] Alias-based Loop Versioning
...to perform a single loop versioning
>> even if multiple passes would like to check different accesses. E.g.
>> rather than:
>>
>>
>>
>>
>>
>> Checks_1
>>
>>
>> / \
>>
>>
>> / \
>>
>>
>> OrigLoop Checks_2
>>
>>
>> \ / \
>>
>>
>> \ / \
>>
>>
>> \ NoAlias_1 NoAlias_2
>>
>>
>> \ | /
>>
>>
>> \ | /
>>
>>
>> \ | /
>>
>>
>> Join
>>
>>
>>...
2018 Aug 03
2
Vectorizing remainder loop
...o down that path…… the following would be the basics steps.
1) First, look at the comments in createVectorizedLoopSkeleton(). “old scalar loop to handle remainder” is the one you want to vectorize again.
Near the end of that function, LoopScalarBody is set. This is the loop body of interest. OrigLoop becomes the scalar Loop. First, try attaching
a new metadata (with VF info) to it.
2) Create a RemainderVectorizePass, very similar to LoopVectorizePass, but let it work only on the loops that has the metadata. Add it to IPO/PassManagerBuilder
right after LoopVectorize. You could also try add...
2018 Aug 02
2
Vectorizing remainder loop
Hi Hameeza,
Aside from Ashutosh's patch.....
When the vector width is that large, we can't keep vectorizing remainder like below. It'll be a huge code size if nothing else ---- hitting ITLB miss because of this is very bad, for example.
VF=2048 // main vector loop
VF=1024 // vectorized remainder 1
VF=512 // vectorized remainder 2
...
Vectorize remainder until trip count is