[Bug tree-optimization/44972] [4.6 Regression] ICE: in load_assign_lhs_subreplacements, at tree-sra.c:2475

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sun Jul 18 21:22:00 GMT 2010



------- Comment #7 from rguenth at gcc dot gnu dot org  2010-07-18 21:22 -------
More like

  if (TREE_CODE (*expr) == MEM_REF
      && TREE_OPERAND (*expr, 0) != ADDR_EXPR)
    *expr = fold_build2 (MEM_REF, exp_type, 
                         TREE_OPERAND (*expr, 0),
                         int_const_binop (PLUS_EXPR, 
                                          build_int_cst (/* FIMXE
*/build_pointer_type (exp_type),
                                        offset), TREE_OPERAND (*expr, 1), 0));
  else
    *expr = fold_build2 (MEM_REF, exp_type, build_fold_addr_expr (*expr),
                         build_int_cst (/* FIMXE */build_pointer_type
(exp_type),
                                        offset));

with some cleanup, of course.  I'll take another look tomorrow.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|jamborm at gcc dot gnu dot  |rguenth at gcc dot gnu dot
                   |org                         |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44972



More information about the Gcc-bugs mailing list