diff options
author | Huihui Zhang <huihuiz@quicinc.com> | 2019-06-25 00:09:10 +0000 |
---|---|---|
committer | Huihui Zhang <huihuiz@quicinc.com> | 2019-06-25 00:09:10 +0000 |
commit | 4626613ffe067e808994215460a1582aca4e102a (patch) | |
tree | eee267d100ded0738832dd2939eeda7703b31568 /clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp | |
parent | 545f001d1b9a7b58a68d75e70bfc36c841de8999 (diff) | |
download | bcm5719-llvm-4626613ffe067e808994215460a1582aca4e102a.tar.gz bcm5719-llvm-4626613ffe067e808994215460a1582aca4e102a.zip |
[InstCombine] Fold icmp eq/ne (and %x, C), 0 iff (-C) is power of two -> %x u</u>= (-C) earlier.
Summary:
To generate simplified IR, make sure fold
(X & ~C) ==/!= 0 --> X u</u>= C+1
is scheduled before fold
((X << Y) & C) == 0 -> (X & (C >> Y)) == 0.
https://rise4fun.com/Alive/7ZN
Reviewers: lebedev.ri, efriedma, spatel, craig.topper
Reviewed By: lebedev.ri
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63505
llvm-svn: 364255
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp')
0 files changed, 0 insertions, 0 deletions