[PATCH] D57491: [DAGCombine] Avoid CombineZExtLogicopShiftLoad if there is free ZEXT

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 31 08:28:49 PST 2019


spatel added a comment.

This is a large pattern match, and I wonder if we could split it up to make it less likely to conflict with other transforms, but I suppose fixing the hang immediately is more important.



================
Comment at: test/CodeGen/X86/pr39098.ll:3
+
+define dso_local void @test_cancel2() {
+; CHECK:       # %entry
----------------
Please make this test independent of undef. We end up making tests like that useless when we improve undef propagation. This should be safer:

```
define void @test_cancel2(i40* %p1, i40* %p2) {
  %t0 = load i40, i40* %p1, align 8
  %shl414 = shl i40 %t0, 19
  %unsclear415 = and i40 %shl414, 549755813887
  %shr416 = lshr i40 %unsclear415, 20
  %unsclear417 = and i40 %shr416, 549755813887
  store i40 %unsclear417, i40* %p2, align 8
  ret void
}

```


Repository:
  rL LLVM

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

https://reviews.llvm.org/D57491





More information about the llvm-commits mailing list