diff options
author | David Bolvansky <david.bolvansky@gmail.com> | 2019-07-12 11:31:16 +0000 |
---|---|---|
committer | David Bolvansky <david.bolvansky@gmail.com> | 2019-07-12 11:31:16 +0000 |
commit | af1b3185f55bf52c0c336592c054be8e7afc66ac (patch) | |
tree | 328010c0def63a7474c2129afb507576c718b805 /lldb/packages/Python/lldbsuite/test/python_api/thread/main.cpp | |
parent | 31188d0778cb0bed4fdced414574c89e5bb2226d (diff) | |
download | bcm5719-llvm-af1b3185f55bf52c0c336592c054be8e7afc66ac.tar.gz bcm5719-llvm-af1b3185f55bf52c0c336592c054be8e7afc66ac.zip |
[InstCombine] Fold select (icmp sgt x, -1), lshr (X, Y), ashr (X, Y) to ashr (X, Y))
Summary:
(select (icmp sgt x, -1), lshr (X, Y), ashr (X, Y)) -> ashr (X, Y))
(select (icmp slt x, 1), ashr (X, Y), lshr (X, Y)) -> ashr (X, Y))
Fixes PR41173
Alive proof by @lebedev.ri (thanks)
Name: PR41173
%cmp = icmp slt i32 %x, 1
%shr = lshr i32 %x, %y
%shr1 = ashr i32 %x, %y
%retval.0 = select i1 %cmp, i32 %shr1, i32 %shr
=>
%retval.0 = ashr i32 %x, %y
Optimization: PR41173
Done: 1
Optimization is correct!
Reviewers: lebedev.ri, spatel
Reviewed By: lebedev.ri
Subscribers: nikic, craig.topper, llvm-commits, lebedev.ri
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64285
llvm-svn: 365893
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/thread/main.cpp')
0 files changed, 0 insertions, 0 deletions