[PATCH] D112464: [x86] limit vector increment fold to allow load folding

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 26 08:12:09 PDT 2021


spatel added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:5042
 
-static bool MayFoldLoad(SDValue Op, bool AssumeSingleUse = false) {
+bool X86::mayFoldLoad(SDValue Op, bool AssumeSingleUse) {
   return (AssumeSingleUse || Op.hasOneUse()) && ISD::isNormalLoad(Op.getNode());
----------------
craig.topper wrote:
> craig.topper wrote:
> > Not related to this patch, but this function is incorrect for SSE which requires alignment or a subtarget feature that disables the alignment check. Are all existing uses scalar or AVX only?
> We also don't fold non-temporal loads if we have an instruction for it. See useNonTemporalLoad
Let's try to deal with this first (and fold in the formatting changes to that patch):
D112545


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

https://reviews.llvm.org/D112464



More information about the llvm-commits mailing list