[PATCH] D60723: [EarlyCSE] detect equivalence of selects with inverse conditions and commuted operands (PR41101)

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 15 10:11:36 PDT 2019


spatel added a comment.

https://rise4fun.com/Alive/NJl

  Name: Inverted predicate
  %cond = icmp sgt i8 %x, 42
  %invcond = icmp sle i8 %x, 42
  %m1 = select i1 %cond, i32 %t, i32 %f
  %m2 = select i1 %invcond, i32 %f, i32 %t
  %r = xor i32 %m1, %m2
  =>
  %r = i32 0
  
  Name: 'not' predicate
  %invcond = xor i1 %cond, -1
  %m1 = select i1 %cond, i32 %t, i32 %f
  %m2 = select i1 %invcond, i32 %f, i32 %t
  %r = xor i32 %m1, %m2
  =>
  %r = i32 0


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60723/new/

https://reviews.llvm.org/D60723





More information about the llvm-commits mailing list