[PATCH] D41330: [X86] Reduce Store Forward Block issues in HW

Hal Finkel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 19 22:21:58 PST 2017


hfinkel added inline comments.


================
Comment at: lib/Target/X86/X86FixupSFB.cpp:32
+// to memory, but this requires we know all stores that alias
+// the loaded location in memory, AA is too conservative.
+
----------------
> AA is too conservative.

Did you try turning it on? :-)

If you overload useAA() in X86Subtarget, then you'll actually get non-trivial AA in the backend. Given all of the recent work on adding scheduling models, we should probably experiment with this again.

That having been said, it relies on having good MMOs. If we don't, then you'll have trouble using it for this purpose until that's fixed.


================
Comment at: lib/Target/X86/X86FixupSFB.cpp:224
+// TODO: Not sure this is the best way to get these sizes
+// but relying on MachineMemOperand does not always work.
+#define MOV128SZ 16
----------------
Can you elaborate on what you're seeing? Missing MMOs are something we should fix. If the MMO size is too small, that's a bug (i.e., can cause miscompiles from invalid instruction scheduling). MMO sizes that are too big should also be fixed.


https://reviews.llvm.org/D41330





More information about the llvm-commits mailing list