Mercurial > hg > CbC > CbC_gcc
comparison gcc/insn-notes.def @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | 77e2b8dfacca |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* Insn note definitions. | 1 /* Insn note definitions. |
2 Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. | 2 Copyright (C) 2004-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 |
34 the insn out of the chain. */ | 34 the insn out of the chain. */ |
35 INSN_NOTE (DELETED) | 35 INSN_NOTE (DELETED) |
36 | 36 |
37 /* Generated in place of user-declared labels when they are deleted. */ | 37 /* Generated in place of user-declared labels when they are deleted. */ |
38 INSN_NOTE (DELETED_LABEL) | 38 INSN_NOTE (DELETED_LABEL) |
39 /* Similarly, but for labels that have been present in debug stmts | |
40 earlier and thus will only appear with -g. These must use different | |
41 label namespace. */ | |
42 INSN_NOTE (DELETED_DEBUG_LABEL) | |
39 | 43 |
40 /* These are used to mark the beginning and end of a lexical block. | 44 /* These are used to mark the beginning and end of a lexical block. |
41 See NOTE_BLOCK and reorder_blocks. */ | 45 See NOTE_BLOCK and reorder_blocks. */ |
42 INSN_NOTE (BLOCK_BEG) | 46 INSN_NOTE (BLOCK_BEG) |
43 INSN_NOTE (BLOCK_END) | 47 INSN_NOTE (BLOCK_END) |
59 INSN_NOTE (EH_REGION_END) | 63 INSN_NOTE (EH_REGION_END) |
60 | 64 |
61 /* The location of a variable. */ | 65 /* The location of a variable. */ |
62 INSN_NOTE (VAR_LOCATION) | 66 INSN_NOTE (VAR_LOCATION) |
63 | 67 |
68 /* The values passed to callee. */ | |
69 INSN_NOTE (CALL_ARG_LOCATION) | |
70 | |
64 /* Record the struct for the following basic block. Uses | 71 /* Record the struct for the following basic block. Uses |
65 NOTE_BASIC_BLOCK. FIXME: Redundant with the basic block pointer | 72 NOTE_BASIC_BLOCK. FIXME: Redundant with the basic block pointer |
66 now included in every insn. */ | 73 now included in every insn. NOTE: If there's no CFG anymore, in other words, |
74 if BLOCK_FOR_INSN () == NULL, NOTE_BASIC_BLOCK cannot be considered reliable | |
75 anymore. */ | |
67 INSN_NOTE (BASIC_BLOCK) | 76 INSN_NOTE (BASIC_BLOCK) |
68 | 77 |
69 /* Mark the inflection point in the instruction stream where we switch | 78 /* Mark the inflection point in the instruction stream where we switch |
70 between hot and cold text sections. */ | 79 between hot and cold text sections. */ |
71 INSN_NOTE (SWITCH_TEXT_SECTIONS) | 80 INSN_NOTE (SWITCH_TEXT_SECTIONS) |
72 | 81 |
73 /* Mark the restore point after an epilogue changed CFI data. Used only | 82 /* When emitting dwarf2 frame information, contains a directive that |
74 when an epilogue appears in the middle of a function. */ | 83 should be emitted. */ |
75 INSN_NOTE (CFA_RESTORE_STATE) | 84 INSN_NOTE (CFI) |
85 | |
86 /* When emitting dwarf2 frame information, contains the number of a debug | |
87 label that should be emitted. */ | |
88 INSN_NOTE (CFI_LABEL) | |
89 | |
90 /* This note indicates that the function context must be updated if | |
91 the Setjmp/Longjmp exception mechanism is used. */ | |
92 INSN_NOTE (UPDATE_SJLJ_CONTEXT) | |
76 | 93 |
77 #undef INSN_NOTE | 94 #undef INSN_NOTE |