diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-03-02 00:57:54 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-03-02 00:57:54 +0000 |
commit | bf730984726f8ac6bc2677824d99101286c84a05 (patch) | |
tree | 38100a7e54d92255eab4a74c9b5d28b28a405bbc /llvm/docs/CodeGenerator.rst | |
parent | b765b633cb63ca172cda12eb1cc2e323de871106 (diff) | |
download | bcm5719-llvm-bf730984726f8ac6bc2677824d99101286c84a05.tar.gz bcm5719-llvm-bf730984726f8ac6bc2677824d99101286c84a05.zip |
[SCEV] Make getRange smarter around selects
Have ScalarEvolution::getRange re-consider cases like "{C?A:B,+,C?P:Q}"
by factoring out "C" and computing RangeOf{A,+,P} union RangeOf({B,+,Q})
instead.
The latter can be easier to compute precisely in cases like
"{C?0:N,+,C?1:-1}" N is the backedge taken count of the loop; since in
such cases the latter form simplifies to [0,N+1) union [0,N+1).
llvm-svn: 262438
Diffstat (limited to 'llvm/docs/CodeGenerator.rst')
0 files changed, 0 insertions, 0 deletions