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