1 /* This file contains the definitions of the cgraph_inline_failed_t
4 Copyright (C
) 2008-2013 Free Software Foundation
, Inc.
5 Contributed by Doug Kwan
<dougkwan@google.com
>
7 This file is part of GCC.
9 GCC is free software you can redistribute it and
/or modify it under
10 the terms of the GNU General Public License as published by the Free
11 Software Foundation either version
3, or (at your option
) any later
14 GCC is distributed in the hope that it will be useful
, but WITHOUT ANY
15 WARRANTY without even the implied warranty of MERCHANTABILITY or
16 FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License
19 You should have received a copy of the GNU General Public License
20 along with GCC see the file COPYING3. If not see
21 <http
://www.gnu.org
/licenses
/>.
*/
23 /* The format of this file is
24 DEFCIFCODE(code
, string
).
26 Where symbol is the enumeration name without the ``
''.
27 The argument STRING is a explain the failure. Except for OK
,
28 which is a NULL pointer.
*/
30 /* Inlining successful. This must be the first code.
*/
33 /* Inlining failed for an unspecified reason.
*/
34 DEFCIFCODE(UNSPECIFIED
, "")
36 /* Function has not be considered for inlining. This is the code for
37 functions that have not been rejected for inlining yet.
*/
38 DEFCIFCODE(FUNCTION_NOT_CONSIDERED
, N_("function not considered for inlining"))
40 /* Inlining failed owing to unavailable function body.
*/
41 DEFCIFCODE(BODY_NOT_AVAILABLE
, N_("function body not available"))
43 /* Extern inline function that has been redefined.
*/
44 DEFCIFCODE(REDEFINED_EXTERN_INLINE
,
45 N_("redefined extern inline functions are not considered for "
48 /* Function is not inlinable.
*/
49 DEFCIFCODE(FUNCTION_NOT_INLINABLE
, N_("function not inlinable"))
51 /* Function is not overwritable.
*/
52 DEFCIFCODE(OVERWRITABLE
, N_("function body can be overwritten at link time"))
54 /* Function is not an inlining candidate.
*/
55 DEFCIFCODE(FUNCTION_NOT_INLINE_CANDIDATE
, N_("function not inline candidate"))
57 /* Inlining failed because of various limit parameters.
*/
58 DEFCIFCODE(LARGE_FUNCTION_GROWTH_LIMIT
,
59 N_("--param large-function-growth limit reached"))
60 DEFCIFCODE(LARGE_STACK_FRAME_GROWTH_LIMIT
,
61 N_("--param large-stack-frame-growth limit reached"))
62 DEFCIFCODE(MAX_INLINE_INSNS_SINGLE_LIMIT
,
63 N_("--param max-inline-insns-single limit reached"))
64 DEFCIFCODE(MAX_INLINE_INSNS_AUTO_LIMIT
,
65 N_("--param max-inline-insns-auto limit reached"))
66 DEFCIFCODE(INLINE_UNIT_GROWTH_LIMIT
,
67 N_("--param inline-unit-growth limit reached"))
69 /* Recursive inlining.
*/
70 DEFCIFCODE(RECURSIVE_INLINING
, N_("recursive inlining"))
72 /* Call is unlikely.
*/
73 DEFCIFCODE(UNLIKELY_CALL
, N_("call is unlikely and code size would grow"))
75 /* Function is not declared as inline.
*/
76 DEFCIFCODE(NOT_DECLARED_INLINED
,
77 N_("function not declared inline and code size would grow"))
79 /* Inlining suppressed due to size optimization.
*/
80 DEFCIFCODE(OPTIMIZING_FOR_SIZE
,
81 N_("optimizing for size and code size would grow"))
83 /* Caller and callee disagree on the arguments.
*/
84 DEFCIFCODE(MISMATCHED_ARGUMENTS
, N_("mismatched arguments"))
86 /* Call was originally indirect.
*/
87 DEFCIFCODE(ORIGINALLY_INDIRECT_CALL
,
88 N_("originally indirect function call not considered for inlining"))
90 /* Ths edge represents an indirect edge with a yet
-undetermined callee .
*/
91 DEFCIFCODE(INDIRECT_UNKNOWN_CALL
,
92 N_("indirect function call with a yet undetermined callee"))
94 /* We can
't inline different EH personalities together. */
95 DEFCIFCODE(EH_PERSONALITY, N_("exception handling personality mismatch"))
97 /* We can't inline if the callee can throw non
-call exceptions but the
99 DEFCIFCODE(NON_CALL_EXCEPTIONS
, N_("non-call exception handling mismatch"))
101 /* We can
't inline because of mismatched target specific options. */
102 DEFCIFCODE(TARGET_OPTION_MISMATCH, N_("target specific option mismatch"))
104 /* We can't inline because of mismatched optimization levels.
*/
105 DEFCIFCODE(OPTIMIZATION_MISMATCH
, N_("optimization level attribute mismatch"))