[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