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