diff options
author | Hans-Peter Nilsson <hp@bitrange.com> | 2004-10-20 00:23:16 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2004-10-20 00:23:16 +0000 |
commit | 9524880c99719df9b760d9a3b62fca2dfaaebf46 (patch) | |
tree | e75e4f0aa1a4648195bdf85e2f1dbbaa94779077 /gcc | |
parent | a47498de5390897528edf49ff8e7988a0e973243 (diff) | |
download | gcc-9524880c99719df9b760d9a3b62fca2dfaaebf46.zip gcc-9524880c99719df9b760d9a3b62fca2dfaaebf46.tar.gz gcc-9524880c99719df9b760d9a3b62fca2dfaaebf46.tar.bz2 |
cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb, don't inspect BLOCK_FOR_INSN for barriers.
* cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
don't inspect BLOCK_FOR_INSN for barriers.
* emit-rtl.c (emit_barrier_before): Revert last change.
(emit_barrier_after, emit_barrier): Ditto.
From-SVN: r89308
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cfgrtl.c | 5 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 3 |
3 files changed, 7 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 561d864..fc8dd26 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com> + * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb, + don't inspect BLOCK_FOR_INSN for barriers. + * emit-rtl.c (emit_barrier_before): Revert last change. + (emit_barrier_after, emit_barrier): Ditto. + * doc/extend.texi (Extended Asm): Warn and provide example solution for using a call-clobbered asm register. (Local Reg Vars): Similar. Cross-reference example. diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index 5361cd9..9a96658 100644 --- a/gcc/cfgrtl.c +++ b/gcc/cfgrtl.c @@ -2075,9 +2075,8 @@ rtl_verify_flow_info_1 (void) for (x = BB_HEAD (bb); x != NEXT_INSN (BB_END (bb)); x = NEXT_INSN (x)) /* 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)) + elimination. There is no BLOCK_FOR_INSN field in a barrier. */ + if (!BARRIER_P (x) && BLOCK_FOR_INSN (x) != bb) { debug_rtx (x); if (! BLOCK_FOR_INSN (x)) diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index d81d71c..ec7bec3 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -4057,7 +4057,6 @@ emit_barrier_before (rtx before) rtx insn = rtx_alloc (BARRIER); INSN_UID (insn) = cur_insn_uid++; - BLOCK_FOR_INSN (insn) = NULL; add_insn_before (insn, before); return insn; @@ -4273,7 +4272,6 @@ emit_barrier_after (rtx after) rtx insn = rtx_alloc (BARRIER); INSN_UID (insn) = cur_insn_uid++; - BLOCK_FOR_INSN (insn) = NULL; add_insn_after (insn, after); return insn; @@ -4670,7 +4668,6 @@ emit_barrier (void) { rtx barrier = rtx_alloc (BARRIER); INSN_UID (barrier) = cur_insn_uid++; - BLOCK_FOR_INSN (barrier) = NULL; add_insn (barrier); return barrier; } |