https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115236

Sam James <sjames at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|wrong code at -O1 and above |[15 regression] Wrong code
                   |with -fno-tree-fre on       |at -O1 and above with
                   |x86_64-linux-gnu            |-fno-tree-fre on
                   |                            |x86_64-linux-gnu
                 CC|                            |sjames at gcc dot gnu.org
           Keywords|                            |wrong-code

--- Comment #1 from Sam James <sjames at gcc dot gnu.org> ---
--- a/foo.c.051t.sccopy1
+++ b/foo.c.051t.sccopy1
@@ -1,6 +1,8 @@

;; Function main (main, funcdef_no=0, decl_uid=2770, cgraph_uid=1,
symbol_order=2)

{+Removing basic block 4+}
{+Merging blocks 2 and 3+}
int main ()
{
  int * volatile * d;
@@ -16,20 +18,9 @@ int main ()
  MEM[(int * volatile *)&c] ={v} b.0_1;
  # DEBUG BEGIN_STMT
  c.1_2 = c;
[-  if (c.1_2 != &a)-]
[-    goto <bb 3>; [INV]-]
[-  else-]
[-    goto <bb 4>; [INV]-]

[-  <bb 3> :-]
  # DEBUG BEGIN_STMT
  __builtin_abort ();

[-  <bb 4> :-]
[-  # DEBUG BEGIN_STMT-]
[-  c ={v} {CLOBBER(eos)};-]
[-  return 0;-]

}

Reply via email to