[PATCH] D12766: [Polly] Runtime check elimination
Johannes Doerfert via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 10 09:04:36 PDT 2015
jdoerfert created this revision.
jdoerfert added reviewers: grosser, Meinersbur.
jdoerfert added a subscriber: Polly.
Hoist runtime checks in the loop nest if they will cause an exception
like event. Such events are recognized as blocks with an unreachable
terminator possibly (but only) preceded by a function calls which
will never return. No other instructions are allowed in these
exception blocks and they have to be executed conditionally. As there
won't be a statement build for these blocks and the control that flows
into them is never flowing into another block we basically model the
SCoP as if they would never be executed. Also in the generated AST and
consequently IR they will simply disappear. To be sound we add the
assumption that no such block can ever be executed to our assumed
+ ubsan out of bound handling will be treated as exception block.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 11025 bytes
Desc: not available
More information about the llvm-commits