cse.c (cse_end_of_basic_block): Don't return the end of a basic block reached by a branch if...

* cse.c (cse_end_of_basic_block): Don't return the end of a basic
	block reached by a branch if we're not going to actually process
	this block

From-SVN: r30109
This commit is contained in:
Mark Mitchell 1999-10-21 03:37:33 +00:00 committed by Mark Mitchell
parent 56d410bbc0
commit 16b702cd43
2 changed files with 15 additions and 0 deletions

View File

@ -1,3 +1,9 @@
Wed Oct 20 20:41:46 1999 Mark Mitchell <mark@codesourcery.com>
* cse.c (cse_end_of_basic_block): Don't return the end of a basic
block reached by a branch if we're not going to actually process
this block.
Wed Oct 20 15:18:42 1999 Jim Wilson <wilson@cygnus.com>
* integrate.c (integrate_decl_tree): Set DECL_CONTEXT to 0 if this is

View File

@ -8442,6 +8442,15 @@ cse_end_of_basic_block (insn, data, follow_jumps, after_loop, skip_blocks)
path_size--;
}
/* If the first instruction is marked with QImode, that means we've
already processed this block. Our caller will look at DATA->LAST
to figure out where to go next. We want to return the next block
in the instruction stream, not some branched-to block somewhere
else. We accomplish this by pretending our called forbid us to
follow jumps, or skip blocks. */
if (GET_MODE (insn) == QImode)
follow_jumps = skip_blocks = 0;
/* Scan to end of this basic block. */
while (p && GET_CODE (p) != CODE_LABEL)
{