]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/cif-code.def
expander: Optimize store_expr from STRING_CST [PR95052]
[thirdparty/gcc.git] / gcc / cif-code.def
CommitLineData
b7551676
DK
1/* This file contains the definitions of the cgraph_inline_failed_t
2 enums used in GCC.
3
8d9254fc 4 Copyright (C) 2008-2020 Free Software Foundation, Inc.
b7551676
DK
5 Contributed by Doug Kwan <dougkwan@google.com>
6
7This file is part of GCC.
8
9GCC is free software you can redistribute it and/or modify it under
10the terms of the GNU General Public License as published by the Free
11Software Foundation either version 3, or (at your option) any later
12version.
13
14GCC is distributed in the hope that it will be useful, but WITHOUT ANY
15WARRANTY without even the implied warranty of MERCHANTABILITY or
16FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
17for more details.
18
19You should have received a copy of the GNU General Public License
20along with GCC see the file COPYING3. If not see
21<http://www.gnu.org/licenses/>. */
22
23/* The format of this file is
24 DEFCIFCODE(code, string).
25
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. */
29
30/* Inlining successful. This must be the first code. */
1cf11770 31DEFCIFCODE(OK, CIF_FINAL_NORMAL, NULL)
b7551676
DK
32
33/* Inlining failed for an unspecified reason. */
1cf11770 34DEFCIFCODE(UNSPECIFIED, CIF_FINAL_ERROR, "")
b7551676
DK
35
36/* Function has not be considered for inlining. This is the code for
37 functions that have not been rejected for inlining yet. */
1cf11770
L
38DEFCIFCODE(FUNCTION_NOT_CONSIDERED, CIF_FINAL_NORMAL,
39 N_("function not considered for inlining"))
b7551676 40
b631d45a 41/* Caller is compiled with optimizations disabled. */
7ce7e4d4 42DEFCIFCODE(FUNCTION_NOT_OPTIMIZED, CIF_FINAL_ERROR,
1cf11770 43 N_("caller is not optimized"))
b631d45a 44
b7551676 45/* Inlining failed owing to unavailable function body. */
1cf11770
L
46DEFCIFCODE(BODY_NOT_AVAILABLE, CIF_FINAL_ERROR,
47 N_("function body not available"))
b7551676 48
fd811f03 49/* Extern inline function that has been redefined. */
7ce7e4d4 50DEFCIFCODE(REDEFINED_EXTERN_INLINE, CIF_FINAL_ERROR,
fd811f03
EB
51 N_("redefined extern inline functions are not considered for "
52 "inlining"))
b7551676
DK
53
54/* Function is not inlinable. */
1cf11770
L
55DEFCIFCODE(FUNCTION_NOT_INLINABLE, CIF_FINAL_ERROR,
56 N_("function not inlinable"))
b7551676 57
6957a6f6 58/* Function is overwritable. */
1cf11770
L
59DEFCIFCODE(OVERWRITABLE, CIF_FINAL_ERROR,
60 N_("function body can be overwritten at link time"))
fd811f03 61
b7551676 62/* Function is not an inlining candidate. */
1cf11770
L
63DEFCIFCODE(FUNCTION_NOT_INLINE_CANDIDATE, CIF_FINAL_NORMAL,
64 N_("function not inline candidate"))
b7551676
DK
65
66/* Inlining failed because of various limit parameters. */
1cf11770 67DEFCIFCODE(LARGE_FUNCTION_GROWTH_LIMIT, CIF_FINAL_NORMAL,
b7551676 68 N_("--param large-function-growth limit reached"))
1cf11770 69DEFCIFCODE(LARGE_STACK_FRAME_GROWTH_LIMIT, CIF_FINAL_NORMAL,
b7551676 70 N_("--param large-stack-frame-growth limit reached"))
1cf11770 71DEFCIFCODE(MAX_INLINE_INSNS_SINGLE_LIMIT, CIF_FINAL_NORMAL,
b7551676 72 N_("--param max-inline-insns-single limit reached"))
1cf11770 73DEFCIFCODE(MAX_INLINE_INSNS_AUTO_LIMIT, CIF_FINAL_NORMAL,
b7551676 74 N_("--param max-inline-insns-auto limit reached"))
1cf11770 75DEFCIFCODE(INLINE_UNIT_GROWTH_LIMIT, CIF_FINAL_NORMAL,
b8698a0f 76 N_("--param inline-unit-growth limit reached"))
b7551676
DK
77
78/* Recursive inlining. */
1cf11770
L
79DEFCIFCODE(RECURSIVE_INLINING, CIF_FINAL_NORMAL,
80 N_("recursive inlining"))
b7551676
DK
81
82/* Call is unlikely. */
1cf11770
L
83DEFCIFCODE(UNLIKELY_CALL, CIF_FINAL_NORMAL,
84 N_("call is unlikely and code size would grow"))
b7551676 85
5ab2422a
EB
86/* Call is considered never executed. */
87DEFCIFCODE(NEVER_CALL, CIF_FINAL_NORMAL,
88 N_("call is considered never executed and code size would grow"))
89
fd811f03 90/* Function is not declared as inline. */
1cf11770 91DEFCIFCODE(NOT_DECLARED_INLINED, CIF_FINAL_NORMAL,
b7551676
DK
92 N_("function not declared inline and code size would grow"))
93
fd811f03 94/* Caller and callee disagree on the arguments. */
1a0bf5e1
JH
95DEFCIFCODE(LTO_MISMATCHED_DECLARATIONS, CIF_FINAL_ERROR,
96 N_("mismatched declarations during linktime optimization"))
97
ca04a532
ML
98/* Caller is variadic thunk. */
99DEFCIFCODE(VARIADIC_THUNK, CIF_FINAL_ERROR,
100 N_("variadic thunk call"))
101
b7551676 102/* Call was originally indirect. */
1cf11770 103DEFCIFCODE(ORIGINALLY_INDIRECT_CALL, CIF_FINAL_NORMAL,
b7551676 104 N_("originally indirect function call not considered for inlining"))
e33c6cd6
MJ
105
106/* Ths edge represents an indirect edge with a yet-undetermined callee . */
1cf11770 107DEFCIFCODE(INDIRECT_UNKNOWN_CALL, CIF_FINAL_NORMAL,
e33c6cd6 108 N_("indirect function call with a yet undetermined callee"))
f27e50db 109
4c0f7679 110/* We can't inline different EH personalities together. */
1cf11770
L
111DEFCIFCODE(EH_PERSONALITY, CIF_FINAL_ERROR,
112 N_("exception handling personality mismatch"))
4c0f7679 113
fd811f03 114/* We can't inline if the callee can throw non-call exceptions but the
4c0f7679 115 caller cannot. */
1cf11770
L
116DEFCIFCODE(NON_CALL_EXCEPTIONS, CIF_FINAL_ERROR,
117 N_("non-call exception handling mismatch"))
4c0f7679 118
fd811f03 119/* We can't inline because of mismatched target specific options. */
1cf11770
L
120DEFCIFCODE(TARGET_OPTION_MISMATCH, CIF_FINAL_ERROR,
121 N_("target specific option mismatch"))
4c0f7679 122
fd811f03 123/* We can't inline because of mismatched optimization levels. */
1cf11770
L
124DEFCIFCODE(OPTIMIZATION_MISMATCH, CIF_FINAL_ERROR,
125 N_("optimization level attribute mismatch"))
1f26ac87
JM
126
127/* We can't inline because the callee refers to comdat-local symbols. */
7ce7e4d4 128DEFCIFCODE(USES_COMDAT_LOCAL, CIF_FINAL_ERROR,
1cf11770 129 N_("callee refers to comdat-local symbols"))
25a07c7e
YG
130
131/* We can't inline because of mismatched caller/callee attributes. */
7ce7e4d4 132DEFCIFCODE(ATTRIBUTE_MISMATCH, CIF_FINAL_ERROR,
25a07c7e 133 N_("function attribute mismatch"))
9de6f6c3 134
6fd6a2ff
QZ
135/* We can't inline because the user requests only static functions
136 but the function has external linkage for live patching purpose. */
137DEFCIFCODE(EXTERN_LIVE_ONLY_STATIC, CIF_FINAL_ERROR,
138 N_("function has external linkage when the user requests only"
139 " inlining static for live patching"))
140
9de6f6c3 141/* We proved that the call is unreachable. */
7ce7e4d4 142DEFCIFCODE(UNREACHABLE, CIF_FINAL_ERROR,
9de6f6c3 143 N_("unreachable"))