cif-code.def 4.01 KB
Newer Older
Doug Kwan committed
1 2 3
/* This file contains the definitions of the cgraph_inline_failed_t
   enums used in GCC.

4
   Copyright (C) 2008, 2010, 2011 Free Software Foundation, Inc.
Doug Kwan committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
   Contributed by Doug Kwan <dougkwan@google.com>

This file is part of GCC.

GCC is free software you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation either version 3, or (at your option) any later
version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with GCC see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.  */

/* The format of this file is
   DEFCIFCODE(code, string).

   Where symbol is the enumeration name without the ``''.
   The argument STRING is a explain the failure.  Except for OK,
   which is a NULL pointer.  */

/* Inlining successful.  This must be the first code.  */
DEFCIFCODE(OK , NULL)

/* Inlining failed for an unspecified reason.  */
DEFCIFCODE(UNSPECIFIED , "")

/* Function has not be considered for inlining.  This is the code for
   functions that have not been rejected for inlining yet.  */
38
DEFCIFCODE(FUNCTION_NOT_CONSIDERED, N_("function not considered for inlining"))
Doug Kwan committed
39 40 41 42

/* Inlining failed owing to unavailable function body.  */
DEFCIFCODE(BODY_NOT_AVAILABLE, N_("function body not available"))

43
/* Extern inline function that has been redefined.  */
Doug Kwan committed
44
DEFCIFCODE(REDEFINED_EXTERN_INLINE,
45 46
	   N_("redefined extern inline functions are not considered for "
	      "inlining"))
Doug Kwan committed
47 48 49 50

/* Function is not inlinable.  */
DEFCIFCODE(FUNCTION_NOT_INLINABLE, N_("function not inlinable"))

51 52 53
/* Function is not overwritable.  */
DEFCIFCODE(OVERWRITABLE, N_("function body can be overwritten at link time"))

Doug Kwan committed
54 55 56 57 58 59 60 61 62 63 64 65 66
/* Function is not an inlining candidate.  */
DEFCIFCODE(FUNCTION_NOT_INLINE_CANDIDATE, N_("function not inline candidate"))

/* Inlining failed because of various limit parameters.  */
DEFCIFCODE(LARGE_FUNCTION_GROWTH_LIMIT,
	   N_("--param large-function-growth limit reached"))
DEFCIFCODE(LARGE_STACK_FRAME_GROWTH_LIMIT,
	   N_("--param large-stack-frame-growth limit reached"))
DEFCIFCODE(MAX_INLINE_INSNS_SINGLE_LIMIT,
	   N_("--param max-inline-insns-single limit reached"))
DEFCIFCODE(MAX_INLINE_INSNS_AUTO_LIMIT,
	   N_("--param max-inline-insns-auto limit reached"))
DEFCIFCODE(INLINE_UNIT_GROWTH_LIMIT,
H.J. Lu committed
67
	   N_("--param inline-unit-growth limit reached"))
Doug Kwan committed
68 69 70 71 72 73 74

/* Recursive inlining.  */
DEFCIFCODE(RECURSIVE_INLINING, N_("recursive inlining"))

/* Call is unlikely.  */
DEFCIFCODE(UNLIKELY_CALL, N_("call is unlikely and code size would grow"))

75
/* Function is not declared as inline.  */
Doug Kwan committed
76 77 78 79 80 81 82
DEFCIFCODE(NOT_DECLARED_INLINED,
	   N_("function not declared inline and code size would grow"))

/* Inlining suppressed due to size optimization.  */
DEFCIFCODE(OPTIMIZING_FOR_SIZE,
	   N_("optimizing for size and code size would grow"))

83
/* Caller and callee disagree on the arguments.  */
Doug Kwan committed
84 85 86 87 88
DEFCIFCODE(MISMATCHED_ARGUMENTS, N_("mismatched arguments"))

/* Call was originally indirect.  */
DEFCIFCODE(ORIGINALLY_INDIRECT_CALL,
	   N_("originally indirect function call not considered for inlining"))
89 90 91 92

/* Ths edge represents an indirect edge with a yet-undetermined callee .  */
DEFCIFCODE(INDIRECT_UNKNOWN_CALL,
	   N_("indirect function call with a yet undetermined callee"))
93

94
/* We can't inline different EH personalities together.  */
95
DEFCIFCODE(EH_PERSONALITY, N_("exception handling personality mismatch"))
96

97
/* We can't inline if the callee can throw non-call exceptions but the
98
   caller cannot.  */
99
DEFCIFCODE(NON_CALL_EXCEPTIONS, N_("non-call exception handling mismatch"))
100

101 102
/* We can't inline because of mismatched target specific options.  */
DEFCIFCODE(TARGET_OPTION_MISMATCH, N_("target specific option mismatch"))
103

104 105
/* We can't inline because of mismatched optimization levels.  */
DEFCIFCODE(OPTIMIZATION_MISMATCH, N_("optimization level attribute mismatch"))