Mercurial > hg > CbC > CbC_gcc
comparison gcc/target-globals.h @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | 561a7518be6b |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* Target-dependent globals. | 1 /* Target-dependent globals. |
2 Copyright (C) 2010 Free Software Foundation, Inc. | 2 Copyright (C) 2010-2017 Free Software Foundation, Inc. |
3 | 3 |
4 This file is part of GCC. | 4 This file is part of GCC. |
5 | 5 |
6 GCC is free software; you can redistribute it and/or modify it under | 6 GCC is free software; you can redistribute it and/or modify it under |
7 the terms of the GNU General Public License as published by the Free | 7 the terms of the GNU General Public License as published by the Free |
22 | 22 |
23 #if SWITCHABLE_TARGET | 23 #if SWITCHABLE_TARGET |
24 extern struct target_flag_state *this_target_flag_state; | 24 extern struct target_flag_state *this_target_flag_state; |
25 extern struct target_regs *this_target_regs; | 25 extern struct target_regs *this_target_regs; |
26 extern struct target_rtl *this_target_rtl; | 26 extern struct target_rtl *this_target_rtl; |
27 extern struct target_recog *this_target_recog; | |
27 extern struct target_hard_regs *this_target_hard_regs; | 28 extern struct target_hard_regs *this_target_hard_regs; |
28 extern struct target_reload *this_target_reload; | 29 extern struct target_reload *this_target_reload; |
29 extern struct target_expmed *this_target_expmed; | 30 extern struct target_expmed *this_target_expmed; |
30 extern struct target_optabs *this_target_optabs; | 31 extern struct target_optabs *this_target_optabs; |
31 extern struct target_libfuncs *this_target_libfuncs; | 32 extern struct target_libfuncs *this_target_libfuncs; |
33 extern struct target_ira *this_target_ira; | 34 extern struct target_ira *this_target_ira; |
34 extern struct target_ira_int *this_target_ira_int; | 35 extern struct target_ira_int *this_target_ira_int; |
35 extern struct target_builtins *this_target_builtins; | 36 extern struct target_builtins *this_target_builtins; |
36 extern struct target_gcse *this_target_gcse; | 37 extern struct target_gcse *this_target_gcse; |
37 extern struct target_bb_reorder *this_target_bb_reorder; | 38 extern struct target_bb_reorder *this_target_bb_reorder; |
39 extern struct target_lower_subreg *this_target_lower_subreg; | |
40 #endif | |
38 | 41 |
39 struct GTY(()) target_globals { | 42 struct GTY(()) target_globals { |
43 ~target_globals (); | |
44 | |
40 struct target_flag_state *GTY((skip)) flag_state; | 45 struct target_flag_state *GTY((skip)) flag_state; |
41 struct target_regs *GTY((skip)) regs; | 46 struct target_regs *GTY((skip)) regs; |
42 struct target_rtl *rtl; | 47 struct target_rtl *rtl; |
48 struct target_recog *GTY((skip)) recog; | |
43 struct target_hard_regs *GTY((skip)) hard_regs; | 49 struct target_hard_regs *GTY((skip)) hard_regs; |
44 struct target_reload *GTY((skip)) reload; | 50 struct target_reload *GTY((skip)) reload; |
45 struct target_expmed *GTY((skip)) expmed; | 51 struct target_expmed *GTY((skip)) expmed; |
46 struct target_optabs *GTY((skip)) optabs; | 52 struct target_optabs *GTY((skip)) optabs; |
47 struct target_libfuncs *libfuncs; | 53 struct target_libfuncs *libfuncs; |
49 struct target_ira *GTY((skip)) ira; | 55 struct target_ira *GTY((skip)) ira; |
50 struct target_ira_int *GTY((skip)) ira_int; | 56 struct target_ira_int *GTY((skip)) ira_int; |
51 struct target_builtins *GTY((skip)) builtins; | 57 struct target_builtins *GTY((skip)) builtins; |
52 struct target_gcse *GTY((skip)) gcse; | 58 struct target_gcse *GTY((skip)) gcse; |
53 struct target_bb_reorder *GTY((skip)) bb_reorder; | 59 struct target_bb_reorder *GTY((skip)) bb_reorder; |
60 struct target_lower_subreg *GTY((skip)) lower_subreg; | |
54 }; | 61 }; |
55 | 62 |
63 #if SWITCHABLE_TARGET | |
56 extern struct target_globals default_target_globals; | 64 extern struct target_globals default_target_globals; |
57 | 65 |
58 extern struct target_globals *save_target_globals (void); | 66 extern struct target_globals *save_target_globals (void); |
67 extern struct target_globals *save_target_globals_default_opts (void); | |
59 | 68 |
60 static inline void | 69 static inline void |
61 restore_target_globals (struct target_globals *g) | 70 restore_target_globals (struct target_globals *g) |
62 { | 71 { |
63 this_target_flag_state = g->flag_state; | 72 this_target_flag_state = g->flag_state; |
64 this_target_regs = g->regs; | 73 this_target_regs = g->regs; |
65 this_target_rtl = g->rtl; | 74 this_target_rtl = g->rtl; |
75 this_target_recog = g->recog; | |
66 this_target_hard_regs = g->hard_regs; | 76 this_target_hard_regs = g->hard_regs; |
67 this_target_reload = g->reload; | 77 this_target_reload = g->reload; |
68 this_target_expmed = g->expmed; | 78 this_target_expmed = g->expmed; |
69 this_target_optabs = g->optabs; | 79 this_target_optabs = g->optabs; |
70 this_target_libfuncs = g->libfuncs; | 80 this_target_libfuncs = g->libfuncs; |
72 this_target_ira = g->ira; | 82 this_target_ira = g->ira; |
73 this_target_ira_int = g->ira_int; | 83 this_target_ira_int = g->ira_int; |
74 this_target_builtins = g->builtins; | 84 this_target_builtins = g->builtins; |
75 this_target_gcse = g->gcse; | 85 this_target_gcse = g->gcse; |
76 this_target_bb_reorder = g->bb_reorder; | 86 this_target_bb_reorder = g->bb_reorder; |
87 this_target_lower_subreg = g->lower_subreg; | |
77 } | 88 } |
78 #endif | 89 #endif |
79 | 90 |
80 #endif | 91 #endif |