summaryrefslogtreecommitdiff
path: root/gcc/cfgbuild.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-24 15:53:22 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-24 15:53:22 +0000
commit5e69cae432c7787c9fc61e8b4ac3a04ddbc2b9b9 (patch)
tree42dda3f08919effac46e44408e208494d0509e12 /gcc/cfgbuild.c
parent3f2c2dd8bcd38bd0773b6136df705b314cb244de (diff)
downloadgcc-5e69cae432c7787c9fc61e8b4ac3a04ddbc2b9b9.tar.gz
* cfgbuild.c (make_edges): Do not use next_nonnote_insn when
looking for fallthru edge. * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul): Fix. (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload, athlon-fvector): New. (athlon_*): Revisit to match new optimization guide. * i386.c (ix86_adjust_cost): Fix memory operand costs on Athlon/k8 * i386.md (cvt??2?? patterns): Fix modes. (fistp patterns): Set modes. Accidentaly commited with my earlier reload patch: PR c/10308 * reload.c (find_reloads_address_1): Reload plus at the place of index register. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66037 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgbuild.c')
-rw-r--r--gcc/cfgbuild.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c
index 889ae9da23d..69fcc15294b 100644
--- a/gcc/cfgbuild.c
+++ b/gcc/cfgbuild.c
@@ -439,15 +439,17 @@ make_edges (label_value_list, min, max, update_p)
}
/* Find out if we can drop through to the next block. */
- insn = next_nonnote_insn (insn);
+ insn = NEXT_INSN (insn);
+ while (insn
+ && GET_CODE (insn) == NOTE
+ && NOTE_LINE_NUMBER (insn) != NOTE_INSN_BASIC_BLOCK)
+ insn = NEXT_INSN (insn);
+
if (!insn || (bb->next_bb == EXIT_BLOCK_PTR && force_fallthru))
cached_make_edge (edge_cache, bb, EXIT_BLOCK_PTR, EDGE_FALLTHRU);
else if (bb->next_bb != EXIT_BLOCK_PTR)
{
- rtx tmp = bb->next_bb->head;
- if (GET_CODE (tmp) == NOTE)
- tmp = next_nonnote_insn (tmp);
- if (force_fallthru || insn == tmp)
+ if (force_fallthru || insn == bb->next_bb->head)
cached_make_edge (edge_cache, bb, bb->next_bb, EDGE_FALLTHRU);
}
}