Commit 0ca541aa by Hans-Peter Nilsson Committed by Hans-Peter Nilsson

cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb...

	* cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
	handle barriers in a bb by checking that it points to a NULL bb.
	* emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
	(emit_barrier_after, emit_barrier): Ditto.

From-SVN: r89193
parent 7dcb0442
2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
* cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
handle barriers in a bb by checking that it points to a NULL bb.
* emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
(emit_barrier_after, emit_barrier): Ditto.
2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk> 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
* doc/extend.texi (Attribute Syntax): Clarify details of * doc/extend.texi (Attribute Syntax): Clarify details of
......
...@@ -2073,7 +2073,10 @@ rtl_verify_flow_info_1 (void) ...@@ -2073,7 +2073,10 @@ rtl_verify_flow_info_1 (void)
} }
for (x = BB_HEAD (bb); x != NEXT_INSN (BB_END (bb)); x = NEXT_INSN (x)) for (x = BB_HEAD (bb); x != NEXT_INSN (BB_END (bb)); x = NEXT_INSN (x))
if (BLOCK_FOR_INSN (x) != bb) /* We may have a barrier inside a basic block before dead code
elimination. They always have a NULL BLOCK_FOR_INSN. */
if (BLOCK_FOR_INSN (x) != bb
&& !(BARRIER_P (x) && BLOCK_FOR_INSN (x) == NULL))
{ {
debug_rtx (x); debug_rtx (x);
if (! BLOCK_FOR_INSN (x)) if (! BLOCK_FOR_INSN (x))
......
...@@ -4057,6 +4057,7 @@ emit_barrier_before (rtx before) ...@@ -4057,6 +4057,7 @@ emit_barrier_before (rtx before)
rtx insn = rtx_alloc (BARRIER); rtx insn = rtx_alloc (BARRIER);
INSN_UID (insn) = cur_insn_uid++; INSN_UID (insn) = cur_insn_uid++;
BLOCK_FOR_INSN (insn) = NULL;
add_insn_before (insn, before); add_insn_before (insn, before);
return insn; return insn;
...@@ -4272,6 +4273,7 @@ emit_barrier_after (rtx after) ...@@ -4272,6 +4273,7 @@ emit_barrier_after (rtx after)
rtx insn = rtx_alloc (BARRIER); rtx insn = rtx_alloc (BARRIER);
INSN_UID (insn) = cur_insn_uid++; INSN_UID (insn) = cur_insn_uid++;
BLOCK_FOR_INSN (insn) = NULL;
add_insn_after (insn, after); add_insn_after (insn, after);
return insn; return insn;
...@@ -4668,6 +4670,7 @@ emit_barrier (void) ...@@ -4668,6 +4670,7 @@ emit_barrier (void)
{ {
rtx barrier = rtx_alloc (BARRIER); rtx barrier = rtx_alloc (BARRIER);
INSN_UID (barrier) = cur_insn_uid++; INSN_UID (barrier) = cur_insn_uid++;
BLOCK_FOR_INSN (barrier) = NULL;
add_insn (barrier); add_insn (barrier);
return barrier; return barrier;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment