Displaying 2 results from an estimated 2 matches for "predecessaor".
Did you mean:
predecessor
2014 Oct 06
2
[LLVMdev] llvm.loop metadata placement and critical edge splitting
...irements of loop metadata such that *critical edge splitting does not invalidate loop metadata*.
I think fixing this may be an easy change to LoopInfo get/setLoopID. The rule would be simple, if the loop back branch is unconditional, and it has a single predecessor, the metadata is expected on the predecessaor's conditional branch:
loop.body:
...
br i1 %c, label %loop.tail, label %exit, !llvm.loop
loop.tail:
...
br label %loop.body
exit:
ret
If the loop tail does not have a single predecessor (complex control flow occurs after the loop test), then the metadata can still be placed on the...
2014 Oct 07
1
[LLVMdev] llvm.loop metadata placement and critical edge splitting
...ting does not invalidate loop
>> metadata*.
>>
>> I think fixing this may be an easy change to LoopInfo get/setLoopID.
>> The rule would be simple, if the loop back branch is unconditional,
>> and it has a single predecessor, the metadata is expected on the
>> predecessaor's conditional branch:
>>
>> loop.body:
>> ...
>> br i1 %c, label %loop.tail, label %exit, !llvm.loop
>>
>> loop.tail:
>> ...
>> br label %loop.body
>>
>> exit:
>> ret
>>
>> If the loop tail does not hav...