Mercurial > hg > CbC > CbC_gcc
comparison gcc/insn-notes.def @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children | 77e2b8dfacca |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:a06113de4d67 |
---|---|
1 /* Insn note definitions. | |
2 Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. | |
3 | |
4 This file is part of GCC. | |
5 | |
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 | |
8 Software Foundation; either version 3, or (at your option) any later | |
9 version. | |
10 | |
11 GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GCC; see the file COPYING3. If not see | |
18 <http://www.gnu.org/licenses/>. */ | |
19 | |
20 /* This file defines all the codes that may appear in the | |
21 NOTE_LINE_NUMBER field of a NOTE insn for kinds of notes that are | |
22 not line numbers. Source files define DEF_INSN_NOTE appropriately | |
23 before including this file. | |
24 | |
25 We are slowly removing the concept of insn-chain notes from the | |
26 compiler. Adding new codes to this file is STRONGLY DISCOURAGED. | |
27 If you think you need one, look for other ways to express what you | |
28 mean, such as register notes or bits in the basic-block structure. */ | |
29 | |
30 /* Shorthand. */ | |
31 #define INSN_NOTE(NAME) DEF_INSN_NOTE (NOTE_INSN_##NAME) | |
32 | |
33 /* This note is used to get rid of an insn when it isn't safe to patch | |
34 the insn out of the chain. */ | |
35 INSN_NOTE (DELETED) | |
36 | |
37 /* Generated in place of user-declared labels when they are deleted. */ | |
38 INSN_NOTE (DELETED_LABEL) | |
39 | |
40 /* These are used to mark the beginning and end of a lexical block. | |
41 See NOTE_BLOCK and reorder_blocks. */ | |
42 INSN_NOTE (BLOCK_BEG) | |
43 INSN_NOTE (BLOCK_END) | |
44 | |
45 /* This note indicates the start of the real body of the function, | |
46 i.e. the point just after all of the parms have been moved into | |
47 their homes, etc. */ | |
48 INSN_NOTE (FUNCTION_BEG) | |
49 | |
50 /* This marks the point immediately after the last prologue insn. */ | |
51 INSN_NOTE (PROLOGUE_END) | |
52 | |
53 /* This marks the point immediately prior to the first epilogue insn. */ | |
54 INSN_NOTE (EPILOGUE_BEG) | |
55 | |
56 /* These note where exception handling regions begin and end. | |
57 Uses NOTE_EH_HANDLER to identify the region in question. */ | |
58 INSN_NOTE (EH_REGION_BEG) | |
59 INSN_NOTE (EH_REGION_END) | |
60 | |
61 /* The location of a variable. */ | |
62 INSN_NOTE (VAR_LOCATION) | |
63 | |
64 /* Record the struct for the following basic block. Uses | |
65 NOTE_BASIC_BLOCK. FIXME: Redundant with the basic block pointer | |
66 now included in every insn. */ | |
67 INSN_NOTE (BASIC_BLOCK) | |
68 | |
69 /* Mark the inflection point in the instruction stream where we switch | |
70 between hot and cold text sections. */ | |
71 INSN_NOTE (SWITCH_TEXT_SECTIONS) | |
72 | |
73 #undef INSN_NOTE |