Hi,
as demonstrated in the PR, adding using verly large values for
uninlined-function-insns and friends leads to overflow. It is easiest
to handle this by artificial upper bound on the parameter.
I can imagine that for some architectures, like GCN, function calls can
be considered expensvie but not more than 1M of instructions :)
Bootstrapped/regtested x86_64-linux and comitted.
PR ipa/88755
* params.def (uninlined-function-insns, uninlined-function-time,
uninlined-thunk-insns, uninlined-thunk-time): Add artificial upper
bound so we don't get overflows.
Index: params.def
===================================================================
--- params.def (revision 268722)
+++ params.def (working copy)
@@ -96,23 +96,23 @@ DEFPARAM (PARAM_UNINLINED_FUNCTION_INSNS
"uninlined-function-insns",
"Instruction accounted for function prologue, epilogue and other"
" overhead.",
- 2, 0, 0)
+ 2, 0, 1000000)
DEFPARAM (PARAM_UNINLINED_FUNCTION_TIME,
"uninlined-function-time",
"Time accounted for function prologue, epilogue and other"
" overhead.",
- 0, 0, 0)
+ 0, 0, 1000000)
DEFPARAM (PARAM_UNINLINED_FUNCTION_THUNK_INSNS,
"uninlined-thunk-insns",
"Instruction accounted for function thunk overhead.",
- 2, 0, 0)
+ 2, 0, 1000000)
DEFPARAM (PARAM_UNINLINED_FUNCTION_THUNK_TIME,
"uninlined-thunk-time",
"Time accounted for function thunk overhead.",
- 2, 0, 0)
+ 2, 0, 1000000)
DEFPARAM (PARAM_MAX_INLINE_INSNS_RECURSIVE,
"max-inline-insns-recursive",