diff options
author | Bingfeng Mei <bmei@broadcom.com> | 2010-07-19 09:18:14 +0000 |
---|---|---|
committer | Bingfeng Mei <meibf@gcc.gnu.org> | 2010-07-19 09:18:14 +0000 |
commit | 0be955e73751c1ffc6468d6a9679201103a21718 (patch) | |
tree | 97adf2164166d6402d0e329bf597c0ea2e666e05 /gcc | |
parent | 9005471b8382cc019ccd189b51ef7422027735f7 (diff) | |
download | gcc-0be955e73751c1ffc6468d6a9679201103a21718.zip gcc-0be955e73751c1ffc6468d6a9679201103a21718.tar.gz gcc-0be955e73751c1ffc6468d6a9679201103a21718.tar.bz2 |
ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes of a loop.
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.
From-SVN: r162300
Diffstat (limited to 'gcc')
-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 3384d60..9175244 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. @@ -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 47a81ed..4f0850b 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; |