This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/27218] [4.1/4.2 regression] ICE in get_indirect_ref_operands, at tree-ssa-operands.c:1515, inlining produces non-gimple



------- Comment #5 from rguenth at gcc dot gnu dot org  2006-04-20 08:44 -------
(gdb) call debug_generic_expr(stmt)
*(struct VectorD.1984 *) D.2012 = dD.1989

that's not gimple.  We trip over that in into-ssa.

(gdb) call debug_bb_n(2)
;; basic block 2, loop depth 0, count 0
;; prev block 0, next block 1
;; pred:       ENTRY (fallthru)
;; succ:       EXIT
<bb 2>:
D.2013 = operator new (16);
D.2012 = (struct Point *) D.2013;
*(struct Vector *) D.2012 = d;
return;

We gimplified that to

void add_duck() ()
{
  struct Point * D.2012;
  void * D.2013;

  D.2013 = operator new (16);
  D.2012 = (struct Point *) D.2013;
  try
    {
      *D.2012 = f () [return slot optimization];
    }
  catch
    {
      operator delete (D.2012);
    }
}

but after inlining we get

void add_duck() ()
{
  void * D.2013;
  struct Point * D.2012;

<bb 2>:
  D.2013 = operator new (16);
  D.2012 = (struct Point *) D.2013;
  *(struct Vector *) D.2012 = d;
  return;

}

So inlining produces the non-gimple trees.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu dot
                   |                            |org
  GCC build triplet|i486-linux-gnu              |
   GCC host triplet|i486-linux-gnu              |
 GCC target triplet|i486-linux-gnu              |
            Summary|[4.1/4.2 regression] ICE in |[4.1/4.2 regression] ICE in
                   |get_indirect_ref_operands,  |get_indirect_ref_operands,
                   |at tree-ssa-operands.c:1515 |at tree-ssa-operands.c:1515,
                   |                            |inlining produces non-gimple


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]