From: Trevor Saunders <[email protected]>
gcc/ChangeLog:
* rtl.h (NOTE_INSN_BASIC_BLOCK_P, DEBUG_BIND_INSN_P,
NOTE_DURING_CALL_P, set_note_during_call_p): Use functions on an
rtx_insn *.
* var-tracking.cc (emit_note_insn_var_location): Use
set_note_during_call_p to store the flag.
Signed-off-by: Trevor Saunders <[email protected]>
---
gcc/rtl.h | 35 +++++++++++++++++++++++++----------
gcc/var-tracking.cc | 2 +-
2 files changed, 26 insertions(+), 11 deletions(-)
diff --git a/gcc/rtl.h b/gcc/rtl.h
index b94f1e9f906..d4ba485feb9 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1729,10 +1729,6 @@ extern const char * const reg_note_name[];
Other kinds of NOTEs are identified by negative numbers here. */
#define NOTE_KIND(INSN) XCINT (INSN, 4, NOTE)
-/* Nonzero if INSN is a note marking the beginning of a basic block. */
-#define NOTE_INSN_BASIC_BLOCK_P(INSN) \
- (NOTE_P (INSN) && NOTE_KIND (INSN) == NOTE_INSN_BASIC_BLOCK)
-
/* Nonzero if INSN is a debug nonbind marker note,
for which NOTE_MARKER_LOCATION can be used. */
#define NOTE_MARKER_P(INSN) \
@@ -1761,10 +1757,12 @@ extern const char * const reg_note_name[];
/* Evaluate to TRUE if INSN is a debug insn that denotes a variable
location/value tracking annotation. */
-#define DEBUG_BIND_INSN_P(INSN) \
- (DEBUG_INSN_P (INSN) \
- && (GET_CODE (PATTERN (INSN)) \
- == VAR_LOCATION))
+inline bool
+DEBUG_BIND_INSN_P (const rtx_insn *insn)
+{
+ return DEBUG_INSN_P (insn) && GET_CODE (PATTERN (insn)) == VAR_LOCATION;
+}
+
/* Evaluate to TRUE if INSN is a debug insn that denotes a program
source location marker. */
#define DEBUG_MARKER_INSN_P(INSN) \
@@ -1815,8 +1813,17 @@ extern const char * const reg_note_name[];
/* 1 if RTX is emitted after a call, but it should take effect before
the call returns. */
-#define NOTE_DURING_CALL_P(RTX) \
- (RTL_FLAG_CHECK1 ("NOTE_VAR_LOCATION_DURING_CALL_P", (RTX), NOTE)->call)
+inline bool
+NOTE_DURING_CALL_P (const rtx_insn *note)
+{
+ return RTL_FLAG_CHECK1 ("NOTE_VAR_LOCATION_DURING_CALL_P", note, NOTE)->call;
+}
+
+inline void
+set_note_during_call_p (rtx_insn *note, bool set)
+{
+ RTL_FLAG_CHECK1 ("NOTE_VAR_LOCATION_DURING_CALL_P", note, NOTE)->call = set;
+}
/* DEBUG_EXPR_DECL corresponding to a DEBUG_EXPR RTX. */
#define DEBUG_EXPR_TREE_DECL(RTX) XCTREE (RTX, 0, DEBUG_EXPR)
@@ -1845,6 +1852,14 @@ enum insn_note
NOTE_INSN_MAX
};
+/* Nonzero if INSN is a note marking the beginning of a basic block. */
+
+inline bool
+NOTE_INSN_BASIC_BLOCK_P (const rtx_insn *insn)
+{
+ return NOTE_P (insn) && NOTE_KIND (insn) == NOTE_INSN_BASIC_BLOCK;
+}
+
/* Names for NOTE insn's other than line numbers. */
extern const char * const note_insn_name[NOTE_INSN_MAX];
diff --git a/gcc/var-tracking.cc b/gcc/var-tracking.cc
index 9781dd33de2..71f1edbae93 100644
--- a/gcc/var-tracking.cc
+++ b/gcc/var-tracking.cc
@@ -8898,7 +8898,7 @@ emit_note_insn_var_location (variable **varp,
emit_note_data *data)
{
note = emit_note_after (NOTE_INSN_VAR_LOCATION, insn);
if (where == EMIT_NOTE_AFTER_CALL_INSN)
- NOTE_DURING_CALL_P (note) = true;
+ set_note_during_call_p (note, true);
}
else
{
--
2.53.0