[PATCH] D42536: [AggresiveInstCombine] Added support of select and ShuffleVector to TruncInstCombine expression pattern

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 29 10:04:02 PST 2018


spatel added a comment.

Yes, I'll take the task of fixing the gap in instcombine. (Hoping it's not too much more than what I posted already.)

For the tests, we don't need the extra-use helper function? The thing that regular instcombine can't see through is when an intermediate value has multiple uses:

  define i32 @multi_uses_add(i32 %X) {
      %A = zext i32 %X to i64
      %B = add i64 %A, 5
      %M = mul i64 %B, %A
      %C = and i64 %B, %M
      %T = trunc i64 %C to i32
      ret i32 %T
    }


https://reviews.llvm.org/D42536





More information about the llvm-commits mailing list