[PATCH] D39976: [AArch64] Consider the cost model when folding loads and stores

Evandro Menezes via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 14 11:56:40 PST 2017


evandro marked 10 inline comments as done.
evandro added a comment.

There's some code refactoring here that I'll put in a separate patch soon.

Also, since the the extra check is only performed for candidate instructions, the impact on compile time is negligible.

The performance difference can be significant, especially in FP benchmarks with tight loops over gobbles of data.

Thank you for your feedback.



================
Comment at: llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp:667-669
+  if (!NewSD->isValid() || NewSD->isVariant() ||
+      !OldASD->isValid() || OldASD->isVariant() ||
+      !OldBSD->isValid() || OldBSD->isVariant())
----------------
junbuml wrote:
> Can we guarantee these pointers are always none null? 
Yes because `getSchedClassDesc()` returns the address of a static array element.


Repository:
  rL LLVM

https://reviews.llvm.org/D39976





More information about the llvm-commits mailing list