From: Jim Wilson Date: Mon, 27 Apr 1992 16:55:54 +0000 (-0700) Subject: *** empty log message *** X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bf1c694003abf85a066233c698e037b9e9c78953;p=platform%2Fupstream%2Fgcc.git *** empty log message *** From-SVN: r841 --- diff --git a/gcc/flow.c b/gcc/flow.c index 1ee55c1..b5a07fa 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -519,7 +519,8 @@ find_basic_blocks (f, nonlocal_label_list) if (GET_CODE (insn) == JUMP_INSN && GET_CODE (PATTERN (insn)) == SET && SET_DEST (PATTERN (insn)) == pc_rtx - && GET_CODE (SET_SRC (PATTERN (insn))) == REG) + && (GET_CODE (SET_SRC (PATTERN (insn))) == REG + || GET_CODE (SET_SRC (PATTERN (insn))) == MEM)) { rtx x; for (x = label_value_list; x; x = XEXP (x, 1)) diff --git a/gcc/print-tree.c b/gcc/print-tree.c index 9001373..74a6026 100644 --- a/gcc/print-tree.c +++ b/gcc/print-tree.c @@ -467,6 +467,7 @@ print_node (file, prefix, node, indent) case BIND_EXPR: print_node (file, "vars", TREE_OPERAND (node, 0), indent + 4); print_node (file, "body", TREE_OPERAND (node, 1), indent + 4); + print_node (file, "block", TREE_OPERAND (node, 2), indent + 4); return; } diff --git a/gcc/unroll.c b/gcc/unroll.c index 92886fe..f4719e3 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -2435,25 +2435,21 @@ find_splittable_givs (bl, unroll_type, loop_start, loop_end, increment, if (v->new_reg) { - /* If the giv is an address destination, it could be something other - than a simple register, these have to be treated differently. */ - if (v->giv_type == DEST_REG) - splittable_regs[REGNO (v->new_reg)] = value; - - /* If an addr giv was combined with another addr giv, then we - can only split this giv if the addr giv it was combined with - was reduced. This is because the value of v->new_reg is - meaningless in this case. (There is no problem if it was - combined with a dest_reg giv which wasn't reduced, v->new_reg - is still meaningful in this case.) */ - - else if (v->same && v->same->giv_type == DEST_ADDR - && ! v->same->new_reg) + /* If a giv was combined with another giv, then we can only split + this giv if the giv it was combined with was reduced. This + is because the value of v->new_reg is meaningless in this + case. */ + if (v->same && ! v->same->new_reg) { if (loop_dump_stream) fprintf (loop_dump_stream, - "DEST_ADDR giv not split, because combined with unreduced DEST_ADDR giv.\n"); + "giv combined with unreduced giv not split.\n"); + continue; } + /* If the giv is an address destination, it could be something other + than a simple register, these have to be treated differently. */ + else if (v->giv_type == DEST_REG) + splittable_regs[REGNO (v->new_reg)] = value; else { /* Splitting address givs is useful since it will often allow us