[all-commits] [llvm/llvm-project] 03f22b: [SLP] Remove LHS and RHS from OperationData.

topperc via All-commits all-commits at lists.llvm.org
Thu Sep 24 10:58:01 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 03f22b08e2a387a415dcbb3cf021e41e629c3d34
      https://github.com/llvm/llvm-project/commit/03f22b08e2a387a415dcbb3cf021e41e629c3d34
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-09-24 (Thu, 24 Sep 2020)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP] Remove LHS and RHS from OperationData.

These were only really used for 2 things. One was to check if the operand matches the phi if it exists. The other was for the createOp method to build the reduction.

For the first case we still have the operation we just need to know how to index its operands. So I've modified getLHS/getRHS to just use the opcode/kind to know how to find the right operands on an instruction that is now passed in.

For the other case we had to create an OperationData object to set the LHS/RHS values and copy the opcode/kind from another object. We would then just call createOp on that temporary object. Instead I've made LHS/RHS arguments to createOp and removed all these temporary objects.

Differential Revision: https://reviews.llvm.org/D88193




More information about the All-commits mailing list