OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [hooks.c] - Blame information for rev 749

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
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
/* This file contains generic hooks that can be used as defaults for
24
   target or language-dependent hook initializers.  */
25
 
26
#include "config.h"
27
#include "system.h"
28
#include "coretypes.h"
29
#include "tm.h"
30
#include "hooks.h"
31
 
32
/* Generic hook that does absolutely zappo.  */
33
void
34
hook_void_void (void)
35
{
36
}
37
 
38
/* Generic hook that takes no arguments and returns false.  */
39
bool
40
hook_bool_void_false (void)
41
{
42
  return false;
43
}
44
 
45
/* Generic hook that takes no arguments and returns true.  */
46
bool
47
hook_bool_void_true (void)
48
{
49
  return true;
50
}
51
 
52
/* Generic hook that takes (bool) and returns false.  */
53
bool
54
hook_bool_bool_false (bool a ATTRIBUTE_UNUSED)
55
{
56
  return false;
57
}
58
 
59
/* Generic hook that takes (bool, struct gcc_options *) and returns false.  */
60
bool
61
hook_bool_bool_gcc_optionsp_false (bool a ATTRIBUTE_UNUSED,
62
                                   struct gcc_options *opts ATTRIBUTE_UNUSED)
63
{
64
  return false;
65
}
66
 
67
/* Generic hook that takes const int, const int) and returns true.  */
68
bool hook_bool_const_int_const_int_true (const int a ATTRIBUTE_UNUSED,
69
                                         const int b ATTRIBUTE_UNUSED)
70
{
71
  return true;
72
}
73
 
74
/* Generic hook that takes (enum machine_mode) and returns false.  */
75
bool
76
hook_bool_mode_false (enum machine_mode mode ATTRIBUTE_UNUSED)
77
{
78
  return false;
79
}
80
 
81
/* Generic hook that takes (enum machine_mode) and returns true.  */
82
bool
83
hook_bool_mode_true (enum machine_mode mode ATTRIBUTE_UNUSED)
84
{
85
  return true;
86
}
87
 
88
/* Generic hook that takes (enum machine_mode, const_rtx) and returns false.  */
89
bool
90
hook_bool_mode_const_rtx_false (enum machine_mode mode ATTRIBUTE_UNUSED,
91
                                const_rtx value ATTRIBUTE_UNUSED)
92
{
93
  return false;
94
}
95
 
96
/* Generic hook that takes (enum machine_mode, const_rtx) and returns true.  */
97
bool
98
hook_bool_mode_const_rtx_true (enum machine_mode mode ATTRIBUTE_UNUSED,
99
                               const_rtx value ATTRIBUTE_UNUSED)
100
{
101
  return true;
102
}
103
 
104
/* Generic hook that takes (enum machine_mode, rtx) and returns false.  */
105
bool
106
hook_bool_mode_rtx_false (enum machine_mode mode ATTRIBUTE_UNUSED,
107
                          rtx value ATTRIBUTE_UNUSED)
108
{
109
  return false;
110
}
111
 
112
/* Generic hook that takes (enum machine_mode, rtx) and returns true.  */
113
bool
114
hook_bool_mode_rtx_true (enum machine_mode mode ATTRIBUTE_UNUSED,
115
                         rtx value ATTRIBUTE_UNUSED)
116
{
117
  return true;
118
}
119
 
120
/* Generic hook that takes (enum machine_mode, unsigned HOST_WIDE_INT)
121
   and returns false.  */
122
bool
123
hook_bool_mode_uhwi_false (enum machine_mode mode ATTRIBUTE_UNUSED,
124
                           unsigned HOST_WIDE_INT value ATTRIBUTE_UNUSED)
125
{
126
  return false;
127
}
128
 
129
/* Generic hook that takes (FILE *, const char *) and does nothing.  */
130
void
131
hook_void_FILEptr_constcharptr (FILE *a ATTRIBUTE_UNUSED, const char *b ATTRIBUTE_UNUSED)
132
{
133
}
134
 
135
/* Generic hook that takes (FILE *, rtx) and returns false.  */
136
bool
137
hook_bool_FILEptr_rtx_false (FILE *a ATTRIBUTE_UNUSED,
138
                             rtx b ATTRIBUTE_UNUSED)
139
{
140
  return false;
141
}
142
 
143
/* Used for the TARGET_ASM_CAN_OUTPUT_MI_THUNK hook.  */
144
bool
145
hook_bool_const_tree_hwi_hwi_const_tree_false (const_tree a ATTRIBUTE_UNUSED,
146
                                               HOST_WIDE_INT b ATTRIBUTE_UNUSED,
147
                                               HOST_WIDE_INT c ATTRIBUTE_UNUSED,
148
                                               const_tree d ATTRIBUTE_UNUSED)
149
{
150
  return false;
151
}
152
 
153
bool
154
hook_bool_const_tree_hwi_hwi_const_tree_true (const_tree a ATTRIBUTE_UNUSED,
155
                                              HOST_WIDE_INT b ATTRIBUTE_UNUSED,
156
                                              HOST_WIDE_INT c ATTRIBUTE_UNUSED,
157
                                              const_tree d ATTRIBUTE_UNUSED)
158
{
159
  return true;
160
}
161
 
162
bool
163
default_can_output_mi_thunk_no_vcall (const_tree a ATTRIBUTE_UNUSED,
164
                                      HOST_WIDE_INT b ATTRIBUTE_UNUSED,
165
                                      HOST_WIDE_INT c,
166
                                      const_tree d ATTRIBUTE_UNUSED)
167
{
168
  return c == 0;
169
}
170
 
171
int
172
hook_int_uint_mode_1 (unsigned int a ATTRIBUTE_UNUSED,
173
                      enum machine_mode b ATTRIBUTE_UNUSED)
174
{
175
  return 1;
176
}
177
 
178
int
179
hook_int_const_tree_0 (const_tree a ATTRIBUTE_UNUSED)
180
{
181
  return 0;
182
}
183
 
184
/* ??? Used for comp_type_attributes, which ought to return bool.  */
185
int
186
hook_int_const_tree_const_tree_1 (const_tree a ATTRIBUTE_UNUSED, const_tree b ATTRIBUTE_UNUSED)
187
{
188
  return 1;
189
}
190
 
191
int
192
hook_int_rtx_0 (rtx a ATTRIBUTE_UNUSED)
193
{
194
  return 0;
195
}
196
 
197
int
198
hook_int_rtx_bool_0 (rtx a ATTRIBUTE_UNUSED, bool b ATTRIBUTE_UNUSED)
199
{
200
  return 0;
201
}
202
 
203
unsigned int
204
hook_uint_void_0 (void)
205
{
206
  return 0;
207
}
208
 
209
void
210
hook_void_tree (tree a ATTRIBUTE_UNUSED)
211
{
212
}
213
 
214
void
215
hook_void_constcharptr (const char *a ATTRIBUTE_UNUSED)
216
{
217
}
218
 
219
void
220
hook_void_tree_treeptr (tree a ATTRIBUTE_UNUSED, tree *b ATTRIBUTE_UNUSED)
221
{
222
}
223
 
224
void
225
hook_void_int_int (int a ATTRIBUTE_UNUSED, int b ATTRIBUTE_UNUSED)
226
{
227
}
228
 
229
bool
230
hook_bool_tree_false (tree a ATTRIBUTE_UNUSED)
231
{
232
  return false;
233
}
234
 
235
bool
236
hook_bool_const_tree_false (const_tree a ATTRIBUTE_UNUSED)
237
{
238
  return false;
239
}
240
 
241
bool
242
hook_bool_tree_true (tree a ATTRIBUTE_UNUSED)
243
{
244
  return true;
245
}
246
 
247
bool
248
hook_bool_const_tree_true (const_tree a ATTRIBUTE_UNUSED)
249
{
250
  return true;
251
}
252
 
253
bool
254
hook_bool_tree_tree_false (tree a ATTRIBUTE_UNUSED, tree b ATTRIBUTE_UNUSED)
255
{
256
  return false;
257
}
258
 
259
bool
260
hook_bool_tree_tree_true (tree a ATTRIBUTE_UNUSED, tree b ATTRIBUTE_UNUSED)
261
{
262
  return true;
263
}
264
 
265
bool
266
hook_bool_tree_bool_false (tree a ATTRIBUTE_UNUSED, bool b ATTRIBUTE_UNUSED)
267
{
268
  return false;
269
}
270
 
271
bool
272
hook_bool_rtx_false (rtx a ATTRIBUTE_UNUSED)
273
{
274
  return false;
275
}
276
 
277
bool
278
hook_bool_uintp_uintp_false (unsigned int *a ATTRIBUTE_UNUSED,
279
                             unsigned int *b ATTRIBUTE_UNUSED)
280
{
281
  return false;
282
}
283
 
284
bool
285
hook_bool_rtx_int_int_int_intp_bool_false (rtx a ATTRIBUTE_UNUSED,
286
                                           int b ATTRIBUTE_UNUSED,
287
                                           int c ATTRIBUTE_UNUSED,
288
                                           int d ATTRIBUTE_UNUSED,
289
                                           int *e ATTRIBUTE_UNUSED,
290
                                           bool speed_p ATTRIBUTE_UNUSED)
291
{
292
  return false;
293
}
294
 
295
/* Generic hook that takes an rtx and returns it.  */
296
rtx
297
hook_rtx_rtx_identity (rtx x)
298
{
299
  return x;
300
}
301
 
302
/* Generic hook that takes an rtx and returns NULL_RTX.  */
303
rtx
304
hook_rtx_rtx_null (rtx x ATTRIBUTE_UNUSED)
305
{
306
  return NULL;
307
}
308
 
309
/* Generic hook that takes a tree and an int and returns NULL_RTX.  */
310
rtx
311
hook_rtx_tree_int_null (tree a ATTRIBUTE_UNUSED, int b ATTRIBUTE_UNUSED)
312
{
313
  return NULL;
314
}
315
 
316
/* Generic hook that takes three trees and returns the last one as is.  */
317
tree
318
hook_tree_tree_tree_tree_3rd_identity (tree a ATTRIBUTE_UNUSED,
319
                                       tree b ATTRIBUTE_UNUSED, tree c)
320
{
321
  return c;
322
}
323
 
324
/* Generic hook that takes a tree and returns a NULL string.  */
325
const char *
326
hook_constcharptr_const_tree_null (const_tree t ATTRIBUTE_UNUSED)
327
{
328
  return NULL;
329
}
330
 
331
tree
332
hook_tree_tree_int_treep_bool_null (tree t0 ATTRIBUTE_UNUSED,
333
                                    int i ATTRIBUTE_UNUSED,
334
                                    tree *p ATTRIBUTE_UNUSED,
335
                                    bool ignore ATTRIBUTE_UNUSED)
336
{
337
  return NULL;
338
}
339
 
340
tree
341
hook_tree_tree_tree_null (tree t0 ATTRIBUTE_UNUSED, tree t1 ATTRIBUTE_UNUSED)
342
{
343
  return NULL;
344
}
345
 
346
tree
347
hook_tree_tree_tree_tree_null (tree t0 ATTRIBUTE_UNUSED,
348
                               tree t1 ATTRIBUTE_UNUSED,
349
                               tree t2 ATTRIBUTE_UNUSED)
350
{
351
  return NULL;
352
}
353
 
354
/* Generic hook that takes a rtx and returns a NULL string.  */
355
const char *
356
hook_constcharptr_const_rtx_null (const_rtx r ATTRIBUTE_UNUSED)
357
{
358
  return NULL;
359
}
360
 
361
const char *
362
hook_constcharptr_const_tree_const_tree_null (const_tree t0 ATTRIBUTE_UNUSED,
363
                                              const_tree t1 ATTRIBUTE_UNUSED)
364
{
365
  return NULL;
366
}
367
 
368
const char *
369
hook_constcharptr_int_const_tree_null (int i ATTRIBUTE_UNUSED,
370
                                       const_tree t0 ATTRIBUTE_UNUSED)
371
{
372
  return NULL;
373
}
374
 
375
const char *
376
hook_constcharptr_int_const_tree_const_tree_null (int i ATTRIBUTE_UNUSED,
377
                                                  const_tree t0 ATTRIBUTE_UNUSED,
378
                                                  const_tree t1 ATTRIBUTE_UNUSED)
379
{
380
  return NULL;
381
}
382
 
383
/* Generic hook that takes a const_tree and returns NULL_TREE.  */
384
tree
385
hook_tree_const_tree_null (const_tree t ATTRIBUTE_UNUSED)
386
{
387
  return NULL;
388
}
389
 
390
/* Generic hook that takes a rtx and an int and returns a bool.  */
391
 
392
bool
393
hook_bool_rtx_int_false (rtx insn ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
394
{
395
  return false;
396
}
397
 
398
/* Generic hook that takes a rtx and an int and returns void.  */
399
 
400
void
401
hook_void_rtx_int (rtx insn ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
402
{
403
}
404
 
405
/* Generic hook that takes a struct gcc_options * and returns void.  */
406
 
407
void
408
hook_void_gcc_optionsp (struct gcc_options *opts ATTRIBUTE_UNUSED)
409
{
410
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.