Message ID | 3426629.1pGjjBJZRU@e103209-lin |
---|---|
State | New |
Headers | show |
On Wed, Sep 5, 2012 at 1:25 PM, Matthew Gretton-Dann wrote: > + /* If the two blocks are in different partitions we do not want to mark > + this as a fallthru edge. */ > + if (BB_PARTITION (b) != BB_PARTITION (c)) > + return; > + I think you should look for a REG_CROSSING_JUMP note on BB_END instead of comparing BB_PARTITION. Ciao! Steven
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index c62b5bc..341ea9e 100644 --- a/gcc/cfgrtl.c +++ b/gcc/cfgrtl.c @@ -1572,6 +1572,11 @@ rtl_tidy_fallthru_edge (edge e) if (INSN_P (q)) return; + /* If the two blocks are in different partitions we do not want to mark + this as a fallthru edge. */ + if (BB_PARTITION (b) != BB_PARTITION (c)) + return; + /* Remove what will soon cease being the jump insn from the source block. If block B consisted only of this single jump, turn it into a deleted note. */