[PATCH] D94065: [NFC] Make remaining cost functions in LoopVectorize.cpp use InstructionCost

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 8 08:53:52 PST 2021


sdesmalen added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:4877-4878
+  InstructionCost IntrinsicCost;
+  if (ID)
+    IntrinsicCost = Cost->getVectorIntrinsicCost(CI, VF);
+  bool UseVectorIntrinsic = ID && IntrinsicCost <= CallCost;
----------------
nit:
  InstructionCost IntrinsicCost = ID ? Cost->getVectorIntrinsicCost(CI, VF) : 0;


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:4882-4883
          "Instruction should be scalarized elsewhere.");
+  assert(((UseVectorIntrinsic && IntrinsicCost.isValid()) ||
+          (!UseVectorIntrinsic && CallCost.isValid())) &&
+         "Cannot have invalid costs while widening");
----------------
If you initialise IntrinsicCost with 0, then you can do with a simpler condition: `IntrinsicCost.isValid() && CallCost.isValid()`


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:8171-8173
+    InstructionCost IntrinsicCost = InstructionCost::getInvalid();
+    if (ID)
+      IntrinsicCost = CM.getVectorIntrinsicCost(CI, VF);
----------------
nit:
  InstructionCost IntrinsicCost = ID ? CM.getVectorIntrinsicCost(CI, VF) : 0;


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:8175
+    bool UseVectorIntrinsic = ID && IntrinsicCost <= CallCost;
+    assert(((UseVectorIntrinsic && IntrinsicCost.isValid()) ||
+            (!UseVectorIntrinsic && CallCost.isValid())) &&
----------------
If you initialise IntrinsicCost with 0, then you can do with a simpler condition: `IntrinsicCost.isValid() && CallCost.isValid()`


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

https://reviews.llvm.org/D94065



More information about the llvm-commits mailing list