| /* Expand builtin functions. |
| Copyright (C) 1988-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/>. */ |
| |
| #ifndef GCC_BUILTINS_H |
| #define GCC_BUILTINS_H |
| |
| /* Target-dependent globals. */ |
| struct target_builtins { |
| /* For each register that may be used for calling a function, this |
| gives a mode used to copy the register's value. VOIDmode indicates |
| the register is not used for calling a function. If the machine |
| has register windows, this gives only the outbound registers. |
| INCOMING_REGNO gives the corresponding inbound register. */ |
| enum machine_mode x_apply_args_mode[FIRST_PSEUDO_REGISTER]; |
| |
| /* For each register that may be used for returning values, this gives |
| a mode used to copy the register's value. VOIDmode indicates the |
| register is not used for returning values. If the machine has |
| register windows, this gives only the outbound registers. |
| INCOMING_REGNO gives the corresponding inbound register. */ |
| enum machine_mode x_apply_result_mode[FIRST_PSEUDO_REGISTER]; |
| }; |
| |
| extern GTY(()) struct target_builtins default_target_builtins; |
| #if SWITCHABLE_TARGET |
| extern struct target_builtins *this_target_builtins; |
| #else |
| #define this_target_builtins (&default_target_builtins) |
| #endif |
| |
| #endif |