[PATCH] D70108: [TTI] Added TTI pass queries for max load/store-per-memory-intrinsic.

Hussain Kadhem via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 11 22:19:39 PST 2019


hussainjk added inline comments.


================
Comment at: llvm/include/llvm/Analysis/TargetTransformInfo.h:887
+  /// return the limit for functions that have OptSize attribute.
+  unsigned getMaxStoresPerMemset(bool OptSize) const;
+
----------------
arsenm wrote:
> Needs an address space
The underlying function in TargetLoweringBase -- which this wraps -- doesn't take addressing arguments.


================
Comment at: llvm/include/llvm/Analysis/TargetTransformInfo.h:895
+  /// return the limit for functions that have OptSize attribute.
+  unsigned getMaxStoresPerMemcpy(bool OptSize) const;
+
----------------
arsenm wrote:
> Needs source and dest address spaces. The alignment is also a consideration
Likewise.


================
Comment at: llvm/include/llvm/Analysis/TargetTransformInfo.h:899-901
+  /// This function returns the maximum number of store operations permitted
+  /// to glue together during lowering of llvm.memcpy. The value is set by
+  //  the target at the performance threshold for such a replacement.
----------------
arsenm wrote:
> I don't understand what I means by glue here. Like SelectionDAG glue? I don't think this is a useful concept to expose to the IR
AFAIK this refers to groups of stores getting chained together within the memcpy expansion, with there being no guarantees otherwise about consecutive scheduling.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D70108





More information about the llvm-commits mailing list