Commit bf1c6940 by Jim Wilson

*** empty log message ***

From-SVN: r841
parent a87104d9
...@@ -519,7 +519,8 @@ find_basic_blocks (f, nonlocal_label_list) ...@@ -519,7 +519,8 @@ find_basic_blocks (f, nonlocal_label_list)
if (GET_CODE (insn) == JUMP_INSN if (GET_CODE (insn) == JUMP_INSN
&& GET_CODE (PATTERN (insn)) == SET && GET_CODE (PATTERN (insn)) == SET
&& SET_DEST (PATTERN (insn)) == pc_rtx && 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; rtx x;
for (x = label_value_list; x; x = XEXP (x, 1)) for (x = label_value_list; x; x = XEXP (x, 1))
......
...@@ -467,6 +467,7 @@ print_node (file, prefix, node, indent) ...@@ -467,6 +467,7 @@ print_node (file, prefix, node, indent)
case BIND_EXPR: case BIND_EXPR:
print_node (file, "vars", TREE_OPERAND (node, 0), indent + 4); print_node (file, "vars", TREE_OPERAND (node, 0), indent + 4);
print_node (file, "body", TREE_OPERAND (node, 1), indent + 4); print_node (file, "body", TREE_OPERAND (node, 1), indent + 4);
print_node (file, "block", TREE_OPERAND (node, 2), indent + 4);
return; return;
} }
......
...@@ -2435,25 +2435,21 @@ find_splittable_givs (bl, unroll_type, loop_start, loop_end, increment, ...@@ -2435,25 +2435,21 @@ find_splittable_givs (bl, unroll_type, loop_start, loop_end, increment,
if (v->new_reg) if (v->new_reg)
{ {
/* If the giv is an address destination, it could be something other /* If a giv was combined with another giv, then we can only split
than a simple register, these have to be treated differently. */ this giv if the giv it was combined with was reduced. This
if (v->giv_type == DEST_REG) is because the value of v->new_reg is meaningless in this
splittable_regs[REGNO (v->new_reg)] = value; case. */
if (v->same && ! v->same->new_reg)
/* 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 (loop_dump_stream) if (loop_dump_stream)
fprintf (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 else
{ {
/* Splitting address givs is useful since it will often allow us /* Splitting address givs is useful since it will often allow us
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment