GCC Middle and Back End API Reference
internal-fn.h File Reference
#include "internal-fn.def"
Include dependency graph for internal-fn.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DEF_INTERNAL_FN(CODE, FLAGS)   IFN_##CODE,

Enumerations

enum  internal_fn { IFN_LAST }

Functions

static const char * internal_fn_name ()
static int internal_fn_flags ()
void expand_internal_call (gimple)

Variables

const char *const internal_fn_name_array []
const int internal_fn_flags_array []

Macro Definition Documentation

#define DEF_INTERNAL_FN (   CODE,
  FLAGS 
)    IFN_##CODE,

Enumeration Type Documentation

Internal functions. Copyright (C) 2011-2013 Free Software Foundation, Inc.

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/.

Enumerator:
IFN_LAST 

Internal functions. Copyright (C) 2011-2013 Free Software Foundation, Inc.

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/. This file specifies a list of internal "functions". These functions differ from built-in functions in that they have no linkage and cannot be called directly by the user. They represent operations that are only synthesised by GCC itself.

Internal functions are used instead of tree codes if the operation and its operands are more naturally represented as a GIMPLE_CALL than a GIMPLE_ASSIGN.

Each entry in this file has the form:

DEF_INTERNAL_FN (NAME, FLAGS)

where NAME is the name of the function and FLAGS is a set of ECF_* flags. Each entry must have a corresponding expander of the form:

void expand_NAME (gimple stmt)

where STMT is the statement that performs the call.


Function Documentation

void expand_internal_call ( gimple  )
static int internal_fn_flags ( )
inlinestatic
static const char* internal_fn_name ( )
inlinestatic

Referenced by print_expr_hash_elt().


Variable Documentation

const int internal_fn_flags_array[]

Return the ECF_* flags for function FN.

The ECF_* flags of each internal function, indexed by function number.

const char* const internal_fn_name_array[]

Return the name of internal function FN. The name is only meaningful for dumps; it has no linkage.

Internal functions. Copyright (C) 2011-2013 Free Software Foundation, Inc.

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 names of each internal function, indexed by function number.