| 1 | 684 | jeremybenn | /* General-purpose hooks.
 | 
      
         | 2 |  |  |    Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
 | 
      
         | 3 |  |  |    Free Software Foundation, Inc.
 | 
      
         | 4 |  |  |  
 | 
      
         | 5 |  |  |    This program is free software; you can redistribute it and/or modify it
 | 
      
         | 6 |  |  |    under the terms of the GNU General Public License as published by the
 | 
      
         | 7 |  |  |    Free Software Foundation; either version 3, or (at your option) any
 | 
      
         | 8 |  |  |    later version.
 | 
      
         | 9 |  |  |  
 | 
      
         | 10 |  |  |    This program is distributed in the hope that it will be useful,
 | 
      
         | 11 |  |  |    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
      
         | 12 |  |  |    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
      
         | 13 |  |  |    GNU General Public License for more details.
 | 
      
         | 14 |  |  |  
 | 
      
         | 15 |  |  |    You should have received a copy of the GNU General Public License
 | 
      
         | 16 |  |  |    along with this program; see the file COPYING3.  If not see
 | 
      
         | 17 |  |  |    <http://www.gnu.org/licenses/>.
 | 
      
         | 18 |  |  |  
 | 
      
         | 19 |  |  |    In other words, you are welcome to use, share and improve this program.
 | 
      
         | 20 |  |  |    You are forbidden to forbid anyone else to use, share and improve
 | 
      
         | 21 |  |  |    what you give them.   Help stamp out software-hoarding!  */
 | 
      
         | 22 |  |  |  
 | 
      
         | 23 |  |  | #ifndef GCC_HOOKS_H
 | 
      
         | 24 |  |  | #define GCC_HOOKS_H
 | 
      
         | 25 |  |  |  
 | 
      
         | 26 |  |  | #include "machmode.h"
 | 
      
         | 27 |  |  |  
 | 
      
         | 28 |  |  | extern bool hook_bool_void_false (void);
 | 
      
         | 29 |  |  | extern bool hook_bool_void_true (void);
 | 
      
         | 30 |  |  | extern bool hook_bool_bool_false (bool);
 | 
      
         | 31 |  |  | extern bool hook_bool_bool_gcc_optionsp_false (bool, struct gcc_options *);
 | 
      
         | 32 |  |  | extern bool hook_bool_const_int_const_int_true (const int, const int);
 | 
      
         | 33 |  |  | extern bool hook_bool_mode_false (enum machine_mode);
 | 
      
         | 34 |  |  | extern bool hook_bool_mode_true (enum machine_mode);
 | 
      
         | 35 |  |  | extern bool hook_bool_mode_const_rtx_false (enum machine_mode, const_rtx);
 | 
      
         | 36 |  |  | extern bool hook_bool_mode_const_rtx_true (enum machine_mode, const_rtx);
 | 
      
         | 37 |  |  | extern bool hook_bool_mode_rtx_false (enum machine_mode, rtx);
 | 
      
         | 38 |  |  | extern bool hook_bool_mode_rtx_true (enum machine_mode, rtx);
 | 
      
         | 39 |  |  | extern bool hook_bool_mode_uhwi_false (enum machine_mode,
 | 
      
         | 40 |  |  |                                        unsigned HOST_WIDE_INT);
 | 
      
         | 41 |  |  | extern bool hook_bool_tree_false (tree);
 | 
      
         | 42 |  |  | extern bool hook_bool_const_tree_false (const_tree);
 | 
      
         | 43 |  |  | extern bool hook_bool_tree_true (tree);
 | 
      
         | 44 |  |  | extern bool hook_bool_const_tree_true (const_tree);
 | 
      
         | 45 |  |  | extern bool hook_bool_const_tree_hwi_hwi_const_tree_false (const_tree,
 | 
      
         | 46 |  |  |                                                            HOST_WIDE_INT,
 | 
      
         | 47 |  |  |                                                            HOST_WIDE_INT,
 | 
      
         | 48 |  |  |                                                            const_tree);
 | 
      
         | 49 |  |  | extern bool hook_bool_const_tree_hwi_hwi_const_tree_true (const_tree,
 | 
      
         | 50 |  |  |                                                           HOST_WIDE_INT,
 | 
      
         | 51 |  |  |                                                           HOST_WIDE_INT,
 | 
      
         | 52 |  |  |                                                           const_tree);
 | 
      
         | 53 |  |  | extern bool hook_bool_rtx_false (rtx);
 | 
      
         | 54 |  |  | extern bool hook_bool_rtx_int_false (rtx, int);
 | 
      
         | 55 |  |  | extern bool hook_bool_uintp_uintp_false (unsigned int *, unsigned int *);
 | 
      
         | 56 |  |  | extern bool hook_bool_rtx_int_int_int_intp_bool_false (rtx, int, int, int,
 | 
      
         | 57 |  |  |                                                        int *, bool);
 | 
      
         | 58 |  |  | extern bool hook_bool_tree_tree_false (tree, tree);
 | 
      
         | 59 |  |  | extern bool hook_bool_tree_tree_true (tree, tree);
 | 
      
         | 60 |  |  | extern bool hook_bool_tree_bool_false (tree, bool);
 | 
      
         | 61 |  |  |  
 | 
      
         | 62 |  |  | extern void hook_void_void (void);
 | 
      
         | 63 |  |  | extern void hook_void_constcharptr (const char *);
 | 
      
         | 64 |  |  | extern void hook_void_rtx_int (rtx, int);
 | 
      
         | 65 |  |  | extern void hook_void_FILEptr_constcharptr (FILE *, const char *);
 | 
      
         | 66 |  |  | extern bool hook_bool_FILEptr_rtx_false (FILE *, rtx);
 | 
      
         | 67 |  |  | extern void hook_void_tree (tree);
 | 
      
         | 68 |  |  | extern void hook_void_tree_treeptr (tree, tree *);
 | 
      
         | 69 |  |  | extern void hook_void_int_int (int, int);
 | 
      
         | 70 |  |  | extern void hook_void_gcc_optionsp (struct gcc_options *);
 | 
      
         | 71 |  |  |  
 | 
      
         | 72 |  |  | extern int hook_int_uint_mode_1 (unsigned int, enum machine_mode);
 | 
      
         | 73 |  |  | extern int hook_int_const_tree_0 (const_tree);
 | 
      
         | 74 |  |  | extern int hook_int_const_tree_const_tree_1 (const_tree, const_tree);
 | 
      
         | 75 |  |  | extern int hook_int_rtx_0 (rtx);
 | 
      
         | 76 |  |  | extern int hook_int_rtx_bool_0 (rtx, bool);
 | 
      
         | 77 |  |  |  
 | 
      
         | 78 |  |  | extern tree hook_tree_const_tree_null (const_tree);
 | 
      
         | 79 |  |  |  
 | 
      
         | 80 |  |  | extern tree hook_tree_tree_tree_null (tree, tree);
 | 
      
         | 81 |  |  | extern tree hook_tree_tree_tree_tree_null (tree, tree, tree);
 | 
      
         | 82 |  |  | extern tree hook_tree_tree_tree_tree_3rd_identity (tree, tree, tree);
 | 
      
         | 83 |  |  | extern tree hook_tree_tree_int_treep_bool_null (tree, int, tree *, bool);
 | 
      
         | 84 |  |  |  
 | 
      
         | 85 |  |  | extern unsigned hook_uint_void_0 (void);
 | 
      
         | 86 |  |  |  
 | 
      
         | 87 |  |  | extern bool default_can_output_mi_thunk_no_vcall (const_tree, HOST_WIDE_INT,
 | 
      
         | 88 |  |  |                                                   HOST_WIDE_INT, const_tree);
 | 
      
         | 89 |  |  |  
 | 
      
         | 90 |  |  | extern rtx hook_rtx_rtx_identity (rtx);
 | 
      
         | 91 |  |  | extern rtx hook_rtx_rtx_null (rtx);
 | 
      
         | 92 |  |  | extern rtx hook_rtx_tree_int_null (tree, int);
 | 
      
         | 93 |  |  |  
 | 
      
         | 94 |  |  | extern const char *hook_constcharptr_const_tree_null (const_tree);
 | 
      
         | 95 |  |  | extern const char *hook_constcharptr_const_rtx_null (const_rtx);
 | 
      
         | 96 |  |  | extern const char *hook_constcharptr_const_tree_const_tree_null (const_tree, const_tree);
 | 
      
         | 97 |  |  | extern const char *hook_constcharptr_int_const_tree_null (int, const_tree);
 | 
      
         | 98 |  |  | extern const char *hook_constcharptr_int_const_tree_const_tree_null (int, const_tree, const_tree);
 | 
      
         | 99 |  |  | #endif
 |