[PATCH] D18561: [NVPTX] Set NVPTXTTI::getInliningThresholdMultiplier to 5.
Justin Lebar via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 29 10:25:00 PDT 2016
jlebar updated this revision to Diff 51945.
jlebar added a comment.
The inlining threshold multiplier is now a fraction.
http://reviews.llvm.org/D18561
Files:
lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
lib/Target/NVPTX/NVPTXTargetTransformInfo.h
Index: lib/Target/NVPTX/NVPTXTargetTransformInfo.h
===================================================================
--- lib/Target/NVPTX/NVPTXTargetTransformInfo.h
+++ lib/Target/NVPTX/NVPTXTargetTransformInfo.h
@@ -52,6 +52,8 @@
bool isSourceOfDivergence(const Value *V);
+ std::pair<int, int> getInliningThresholdMultiplier(const Function *Caller);
+
int getArithmeticInstrCost(
unsigned Opcode, Type *Ty,
TTI::OperandValueKind Opd1Info = TTI::OK_AnyValue,
Index: lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
===================================================================
--- lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
+++ lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
@@ -46,6 +46,13 @@
}
}
+std::pair<int, int>
+NVPTXTTIImpl::getInliningThresholdMultiplier(const Function * /* Caller */) {
+ // Increase the inlining cost threshold by a factor of 5, reflecting that
+ // calls are particularly expensive in NVPTX.
+ return {5, 1};
+}
+
bool NVPTXTTIImpl::isSourceOfDivergence(const Value *V) {
// Without inter-procedural analysis, we conservatively assume that arguments
// to __device__ functions are divergent.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18561.51945.patch
Type: text/x-patch
Size: 1171 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160329/332508fd/attachment.bin>
More information about the llvm-commits
mailing list