Commit 3d741091 by Richard Biener Committed by Richard Biener

expr.c (build_java_binop): Pass a type to build_int_cst.

2013-04-09  Richard Biener  <rguenther@suse.de>

	java/
	* expr.c (build_java_binop): Pass a type to build_int_cst.

	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Avoid
	work that is not necessary.

From-SVN: r197626
parent 39307ba7
2013-04-09 Richard Biener <rguenther@suse.de>
* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Avoid
work that is not necessary.
2013-04-09 Jakub Jelinek <jakub@redhat.com> 2013-04-09 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/56854 PR tree-optimization/56854
......
2013-04-09 Richard Biener <rguenther@suse.de>
* expr.c (build_java_binop): Pass a type to build_int_cst.
2013-03-22 Kai Tietz <ktietz@redhat.com> 2013-03-22 Kai Tietz <ktietz@redhat.com>
* lang.c (put_decl_node): Don't iterate over end_params_node. * lang.c (put_decl_node): Don't iterate over end_params_node.
......
...@@ -1531,7 +1531,7 @@ build_java_binop (enum tree_code op, tree type, tree arg1, tree arg2) ...@@ -1531,7 +1531,7 @@ build_java_binop (enum tree_code op, tree type, tree arg1, tree arg2)
} }
case LSHIFT_EXPR: case LSHIFT_EXPR:
case RSHIFT_EXPR: case RSHIFT_EXPR:
mask = build_int_cst (NULL_TREE, mask = build_int_cst (int_type_node,
TYPE_PRECISION (TREE_TYPE (arg1)) - 1); TYPE_PRECISION (TREE_TYPE (arg1)) - 1);
arg2 = fold_build2 (BIT_AND_EXPR, int_type_node, arg2, mask); arg2 = fold_build2 (BIT_AND_EXPR, int_type_node, arg2, mask);
break; break;
......
...@@ -489,7 +489,6 @@ find_uses_to_rename (bitmap changed_bbs, bitmap *use_blocks, bitmap need_phis) ...@@ -489,7 +489,6 @@ find_uses_to_rename (bitmap changed_bbs, bitmap *use_blocks, bitmap need_phis)
void void
rewrite_into_loop_closed_ssa (bitmap changed_bbs, unsigned update_flag) rewrite_into_loop_closed_ssa (bitmap changed_bbs, unsigned update_flag)
{ {
bitmap *loop_exits;
bitmap *use_blocks; bitmap *use_blocks;
bitmap names_to_rename; bitmap names_to_rename;
...@@ -505,11 +504,6 @@ rewrite_into_loop_closed_ssa (bitmap changed_bbs, unsigned update_flag) ...@@ -505,11 +504,6 @@ rewrite_into_loop_closed_ssa (bitmap changed_bbs, unsigned update_flag)
names_to_rename = BITMAP_ALLOC (&loop_renamer_obstack); names_to_rename = BITMAP_ALLOC (&loop_renamer_obstack);
/* An array of bitmaps where LOOP_EXITS[I] is the set of basic blocks
that are the destination of an edge exiting loop number I. */
loop_exits = XNEWVEC (bitmap, number_of_loops ());
get_loops_exits (loop_exits);
/* Uses of names to rename. We don't have to initialize this array, /* Uses of names to rename. We don't have to initialize this array,
because we know that we will only have entries for the SSA names because we know that we will only have entries for the SSA names
in NAMES_TO_RENAME. */ in NAMES_TO_RENAME. */
...@@ -518,17 +512,26 @@ rewrite_into_loop_closed_ssa (bitmap changed_bbs, unsigned update_flag) ...@@ -518,17 +512,26 @@ rewrite_into_loop_closed_ssa (bitmap changed_bbs, unsigned update_flag)
/* Find the uses outside loops. */ /* Find the uses outside loops. */
find_uses_to_rename (changed_bbs, use_blocks, names_to_rename); find_uses_to_rename (changed_bbs, use_blocks, names_to_rename);
if (!bitmap_empty_p (names_to_rename))
{
/* An array of bitmaps where LOOP_EXITS[I] is the set of basic blocks
that are the destination of an edge exiting loop number I. */
bitmap *loop_exits = XNEWVEC (bitmap, number_of_loops ());
get_loops_exits (loop_exits);
/* Add the PHI nodes on exits of the loops for the names we need to /* Add the PHI nodes on exits of the loops for the names we need to
rewrite. */ rewrite. */
add_exit_phis (names_to_rename, use_blocks, loop_exits); add_exit_phis (names_to_rename, use_blocks, loop_exits);
bitmap_obstack_release (&loop_renamer_obstack);
free (use_blocks);
free (loop_exits); free (loop_exits);
/* Fix up all the names found to be used outside their original /* Fix up all the names found to be used outside their original
loops. */ loops. */
update_ssa (TODO_update_ssa); update_ssa (TODO_update_ssa);
}
bitmap_obstack_release (&loop_renamer_obstack);
free (use_blocks);
} }
/* Check invariants of the loop closed ssa form for the USE in BB. */ /* Check invariants of the loop closed ssa form for the USE in BB. */
......
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