[all-commits] [llvm/llvm-project] e25449: [IR][GVN] allow intrinsics in Instruction's isComm...
RotateRight via All-commits
all-commits at lists.llvm.org
Mon Aug 31 13:01:49 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: e25449ff57ca4d318d9d8602863806a7a29f23bc
https://github.com/llvm/llvm-project/commit/e25449ff57ca4d318d9d8602863806a7a29f23bc
Author: Sanjay Patel <spatel at rotateright.com>
Date: 2020-08-31 (Mon, 31 Aug 2020)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/test/Transforms/GVN/commute.ll
Log Message:
-----------
[IR][GVN] allow intrinsics in Instruction's isCommutative query (2nd try)
The 1st try was reverted because I missed an assert that
needed softening.
As discussed in D86798 / rG09652721 , we were potentially
returning a different result for whether an Instruction
is commutable depending on if we call the base class or
derived class method.
This requires relaxing asserts in GVN, but that pass
seems to be working otherwise.
NewGVN requires more work because it uses different
code paths for numbering binops and calls.
More information about the All-commits
mailing list