Use getMemoryOpCost from the generic implementation of getUserCost and have getInstructionThroughput return the result of that for loads and stores. This also means that the X86 implementation of getUserCost can be removed with the functionality folded into its getMemoryOpCost.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
LGTM with a few style comments - they were already present, but probably worth handling in the refactoring.
llvm/include/llvm/Analysis/TargetTransformInfoImpl.h | ||
---|---|---|
855 | auto *SI = cast<StoreInst>(U); | |
862 | auto *LI = cast<LoadInst>(U); | |
llvm/lib/Target/X86/X86TargetTransformInfo.cpp | ||
2966 | if (isa_and_nonnull<StoreInst>(I)) { | |
2970 | auto *GEP |
Comment Actions
Hello,
It seems that commit is breaking some of our PPC buildbots (e.g. http://lab.llvm.org:8011/builders/clang-ppc64le-rhel/builds/4118)
Could you please fix it asap or revert ?
Thanks.
Comment Actions
We are also seeing a crash on the wasm waterfall the bisects to this change:
https://ci.chromium.org/p/wasm/builders/ci/linux/25463
Looks like MVT::getVT getting called with StructTyID (which is can't handle).
auto *SI = cast<StoreInst>(U);