re PR middle-end/66984 (ICE: fold_binary changes type of operand, causing failure in verify_gimple_assign_binary)
2015-07-24 Gary Funck <gary@intrepid.com> PR middle-end/66984 * fold-const.c (fold_binary_loc): Call fold_convert on arguments to fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization. From-SVN: r226168
This commit is contained in:
parent
a5a57bf378
commit
64447a2d50
2 changed files with 9 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2015-07-24 Gary Funck <gary@intrepid.com>
|
||||
|
||||
PR middle-end/66984
|
||||
* fold-const.c (fold_binary_loc): Call fold_convert on arguments to
|
||||
fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.
|
||||
|
||||
2015-07-24 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
* tree-parloops.c (gen_parallel_loop): Add debug print for alternative
|
||||
|
|
|
@ -10746,7 +10746,9 @@ fold_binary_loc (location_t loc,
|
|||
after the last round to changes to the DIV code in expmed.c. */
|
||||
if ((code == CEIL_DIV_EXPR || code == FLOOR_DIV_EXPR)
|
||||
&& multiple_of_p (type, arg0, arg1))
|
||||
return fold_build2_loc (loc, EXACT_DIV_EXPR, type, arg0, arg1);
|
||||
return fold_build2_loc (loc, EXACT_DIV_EXPR, type,
|
||||
fold_convert (type, arg0),
|
||||
fold_convert (type, arg1));
|
||||
|
||||
strict_overflow_p = false;
|
||||
if (TREE_CODE (arg1) == INTEGER_CST
|
||||
|
|
Loading…
Add table
Reference in a new issue