[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