1 /* This file contains the definitions of the cgraph_inline_failed_t
4 Copyright (C
) 2008, 2010 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
,
39 N_("function not considered for inlining"))
41 /* Inlining failed owing to unavailable function body.
*/
42 DEFCIFCODE(BODY_NOT_AVAILABLE
, N_("function body not available"))
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 an inlining candidate.
*/
52 DEFCIFCODE(FUNCTION_NOT_INLINE_CANDIDATE
, N_("function not inline candidate"))
54 /* Inlining failed because of various limit parameters.
*/
55 DEFCIFCODE(LARGE_FUNCTION_GROWTH_LIMIT
,
56 N_("--param large-function-growth limit reached"))
57 DEFCIFCODE(LARGE_STACK_FRAME_GROWTH_LIMIT
,
58 N_("--param large-stack-frame-growth limit reached"))
59 DEFCIFCODE(MAX_INLINE_INSNS_SINGLE_LIMIT
,
60 N_("--param max-inline-insns-single limit reached"))
61 DEFCIFCODE(MAX_INLINE_INSNS_AUTO_LIMIT
,
62 N_("--param max-inline-insns-auto limit reached"))
63 DEFCIFCODE(INLINE_UNIT_GROWTH_LIMIT
,
64 N_("--param inline-unit-growth limit reached"))
66 /* Recursive inlining.
*/
67 DEFCIFCODE(RECURSIVE_INLINING
, N_("recursive inlining"))
69 /* Call is unlikely.
*/
70 DEFCIFCODE(UNLIKELY_CALL
, N_("call is unlikely and code size would grow"))
72 /* Function is not declared as an inline.
*/
73 DEFCIFCODE(NOT_DECLARED_INLINED
,
74 N_("function not declared inline and code size would grow"))
76 /* Inlining suppressed due to size optimization.
*/
77 DEFCIFCODE(OPTIMIZING_FOR_SIZE
,
78 N_("optimizing for size and code size would grow"))
80 /* Inlining failed because of mismatched options or arguments.
*/
81 DEFCIFCODE(TARGET_OPTION_MISMATCH
, N_("target specific option mismatch"))
82 DEFCIFCODE(TARGET_OPTIMIZATION_MISMATCH
,
83 N_("optimization level attribute mismatch"))
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,
96 N_("excepion handling personality mismatch"))
98 /* Don't inline if the callee can throw non
-call exceptions but the
100 DEFCIFCODE(NON_CALL_EXCEPTIONS
,
101 N_("excepion handling personality mismatch"))
103 /* Don
't inline if the callee can throw non-call exceptions but the
105 DEFCIFCODE(OPTIMIZATION_MISMATCH,
106 N_("optimization mode mismatch"))
108 DEFCIFCODE(OVERWRITABLE, N_("function body can be overwriten at linktime"))