[all-commits] [llvm/llvm-project] 25597f: [IR][GVN] allow intrinsics in Instruction's isComm...

RotateRight via All-commits all-commits at lists.llvm.org
Sun Aug 30 13:49:56 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 25597f7783e7038b8a2ee88bb49ac605b211b564
      https://github.com/llvm/llvm-project/commit/25597f7783e7038b8a2ee88bb49ac605b211b564
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2020-08-30 (Sun, 30 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

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 an assert 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