HomePhabricator

[InstCombine] Fold sub (or A, B) (and A, B) to (xor A, B)

Authored by xbolva00 on Wed, Sep 4, 5:00 AM.

Description

[InstCombine] Fold sub (or A, B) (and A, B) to (xor A, B)

Summary:

Name: sub or and to xor
%or = or i32 %y, %x
%and = and i32 %x, %y
%sub = sub i32 %or, %and
  =>
%sub = xor i32 %x, %y

Optimization: sub or and to xor
Done: 1
Optimization is correct!

https://rise4fun.com/Alive/eJu

Reviewers: spatel, lebedev.ri

Reviewed By: lebedev.ri

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67153

llvm-svn: 370883

Details