[PATCH] D109419: [GlobalISel] Implement merging of stores of truncates.
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 8 10:23:19 PDT 2021
arsenm added inline comments.
================
Comment at: llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h:76-80
+ bool NeedBSwap;
+ bool NeedRotate;
+ Register WideSrcVal;
+ GStore *LowestIdxStore;
+ SmallVector<GStore *> FoundStores;
----------------
Reverse the order of the fields?
================
Comment at: llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:3857
+
+ // We only handle merging simple stores of 1-4 bytes.
+ if (!MemTy.isScalar())
----------------
This goes up to 8 bytes (also I don't see why bother limiting it)
================
Comment at: llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:3923-3924
+ NumInstsChecked++;
+ if (II->isCall() || II->mayLoad() || II->hasUnmodeledSideEffects())
+ break;
+ GStore *NewStore = dyn_cast_or_null<GStore>(&*II);
----------------
isLoadFoldBarrier? Also need to watch out for volatile/atomic
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D109419/new/
https://reviews.llvm.org/D109419
More information about the llvm-commits
mailing list