diff options
author | meibf <meibf@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-07-19 09:18:14 +0000 |
---|---|---|
committer | meibf <meibf@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-07-19 09:18:14 +0000 |
commit | 9c868118292231eb2a3160923b6676a894f03889 (patch) | |
tree | 97adf2164166d6402d0e329bf597c0ea2e666e05 | |
parent | 3cf7ab3b10aa2a4c13d323438bf695c2c92e6319 (diff) | |
download | gcc-9c868118292231eb2a3160923b6676a894f03889.tar.gz |
2010-07-19 Bingfeng Mei <bmei@broadcom.com>
* ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
of a loop.
* loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162300 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ddg.c | 2 | ||||
-rw-r--r-- | gcc/loop-doloop.c | 4 |
3 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3384d60b428..9175244bd2c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-07-19 Bingfeng Mei <bmei@broadcom.com> + * ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes + of a loop. + * loop-doloop.c (doloop_condition_get): Skip possible debug_insn. + 2010-07-19 Iain Sandoe <iains@gcc.gnu.org> * config/i386/darwin.h: Define darwin_emit_branch_islands. diff --git a/gcc/ddg.c b/gcc/ddg.c index 295c4e8da81..0a20ed61291 100644 --- a/gcc/ddg.c +++ b/gcc/ddg.c @@ -488,7 +488,7 @@ create_ddg (basic_block bb, int closing_branch_deps) } /* There is nothing to do for this BB. */ - if (num_nodes <= 1) + if ((num_nodes - g->num_debug) <= 1) { free (g); return NULL; diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c index 47a81edaec9..4f0850b7702 100644 --- a/gcc/loop-doloop.c +++ b/gcc/loop-doloop.c @@ -104,11 +104,11 @@ doloop_condition_get (rtx doloop_pat) if (GET_CODE (pattern) != PARALLEL) { rtx cond; + rtx prev_insn = prev_nondebug_insn (doloop_pat); /* We expect the decrement to immediately precede the branch. */ - if ((PREV_INSN (doloop_pat) == NULL_RTX) - || !INSN_P (PREV_INSN (doloop_pat))) + if (prev_insn == NULL_RTX || !INSN_P (prev_insn)) return 0; cmp = pattern; |