[PATCH] D42759: [CGP] Split large data structres to sink more GEPs

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 12 11:40:10 PST 2018


efriedma added inline comments.


================
Comment at: lib/Target/AArch64/AArch64ISelLowering.cpp:8012
+bool AArch64TargetLowering::shouldConsiderGEPOffsetSplit(Type *BaseType) const {
+  if (auto *Ty = dyn_cast<PointerType>(BaseType))
+    // Consider splitting large offset of struct or array.
----------------
The base of a GEP is always a pointer.


================
Comment at: lib/Target/AArch64/AArch64ISelLowering.cpp:8014
+    // Consider splitting large offset of struct or array.
+    if (Ty->getElementType()->isAggregateType())
+      return true;
----------------
I'm still not sure what the purpose of this check is; why does it matter how many dimensions an array has?


Repository:
  rL LLVM

https://reviews.llvm.org/D42759





More information about the llvm-commits mailing list