source:
patches/gcc-4.0.0-fix_tree_optimisation_PR21173.patch@
873009c
Last change on this file since 873009c was 617118d, checked in by , 19 years ago | |
---|---|
|
|
File size: 1.7 KB |
-
gcc/gcc/tree-ssa-pre.c
Submitted By: Ryan Oliver <ryan.oliver@pha.com.au> Source: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21173 Initial Package Version: 4.0.0 Upstrean Status: In Gcc4 Mainline Description: 2005-04-25 Daniel Berlin <dberlin@dberlin.org> Fix PR tree-optimization/21173 * tree-ssa-pre.c (create_expression_by_pieces): Call unshare_expr on things we pass to force_gimple_operand. Don't try to special case min_invariants. RCS file: /cvs/gcc/gcc/gcc/tree-ssa-pre.c,v retrieving revision 2.65.4.2 retrieving revision 2.65.4.3 diff -u -r2.65.4.2 -r2.65.4.3
1330 1330 1331 1331 folded = fold (build (TREE_CODE (expr), TREE_TYPE (expr), 1332 1332 genop1, genop2)); 1333 newexpr = force_gimple_operand (folded, &forced_stmts, false, NULL); 1333 newexpr = force_gimple_operand (unshare_expr (folded), 1334 &forced_stmts, false, NULL); 1334 1335 if (forced_stmts) 1335 1336 { 1336 1337 tsi = tsi_start (forced_stmts); … … 1372 1373 add_referenced_tmp_var (temp); 1373 1374 folded = fold (build (TREE_CODE (expr), TREE_TYPE (expr), 1374 1375 genop1)); 1375 /* If the generated operand is already GIMPLE min_invariant 1376 just use it instead of calling force_gimple_operand on it, 1377 since that may make it not invariant by copying it into an 1378 assignment. */ 1379 if (!is_gimple_min_invariant (genop1)) 1380 newexpr = force_gimple_operand (folded, &forced_stmts, false, NULL); 1381 else 1382 newexpr = genop1; 1376 newexpr = force_gimple_operand (unshare_expr (folded), 1377 &forced_stmts, false, NULL); 1383 1378 if (forced_stmts) 1384 1379 { 1385 1380 tsi = tsi_start (forced_stmts);
Note:
See TracBrowser
for help on using the repository browser.