[Bug tree-optimization/20703] [tcb] FRE does not remove a fully redundant load.

2005-04-04 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

   Target Milestone|--- |4.1.0


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


[Bug tree-optimization/20703] [tcb] FRE does not remove a fully redundant load.

2005-04-04 Thread dberlin at gcc dot gnu dot org

--- Additional Comments From dberlin at gcc dot gnu dot org  2005-04-04 
19:09 ---
Fixed

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Bug tree-optimization/20703] [tcb] FRE does not remove a fully redundant load.

2005-04-04 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-04-04 
19:02 ---
Subject: Bug 20703

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-04-04 19:02:18

Modified files:
gcc: ChangeLog tree-ssa-pre.c 
gcc/testsuite/gcc.dg/tree-ssa: ssa-pre-1.c ssa-pre-2.c 
   ssa-pre-3.c ssa-pre-4.c 
   ssa-pre-5.c ssa-pre-6.c 
Added files:
gcc/testsuite/gcc.dg/tree-ssa: ssa-pre-7.c ssa-pre-8.c 

Log message:
2005-04-02  Daniel Berlin  <[EMAIL PROTECTED]>
Diego Novillo <[EMAIL PROTECTED]>

Fix PR tree-optimization/20703
Fix PR tree-optimization/20725

* tree-ssa-pre.c (phi_translate): Handle tcc_comparison.
(create_expression_by_pieces): Ditto.
(valid_in_set): Ditto. Also handle tcc_declaration.
(find_or_generate_expression): Handle comparison class.
(insert_into_preds_of_block): Ditto.
(insert_aux): Ditto.
(create_value_expr_from): Handle comparison class, recursively
handle reference nodes.
(compute_avail): Handle comparison classes, rewrite a little cleaner.
(execute_pre): Fix spacing.
(do_fre): Renamed to execute_fre.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.8122&r2=2.8123
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-pre.c.diff?cvsroot=gcc&r1=2.72&r2=2.73
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-7.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-8.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-1.c.diff?cvsroot=gcc&r1=1.5&r2=1.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-2.c.diff?cvsroot=gcc&r1=1.4&r2=1.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-3.c.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-4.c.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-5.c.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-6.c.diff?cvsroot=gcc&r1=1.2&r2=1.3



-- 


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


[Bug tree-optimization/20703] [tcb] FRE does not remove a fully redundant load.

2005-04-01 Thread dberlin at gcc dot gnu dot org

--- Additional Comments From dberlin at gcc dot gnu dot org  2005-04-01 
22:16 ---
I have a patch for this that solves it.
Waiting for TCB merge to post

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dberlin at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2005-04-01 00:41:16 |2005-04-01 22:16:50
   date||


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


[Bug tree-optimization/20703] [tcb] FRE does not remove a fully redundant load.

2005-04-01 Thread kazu at cs dot umass dot edu

--- Additional Comments From kazu at cs dot umass dot edu  2005-04-01 16:47 
---
Before FRE.  (That is, the result of copyprop)

foo (array)
{
  int D.1134;
  int D.1133;
  int * D.1132;

:
  D.1132_3 = array_2 + 4B;
  #   VUSE ;
  D.1133_4 = *D.1132_3;
  if (D.1133_4 != 0) goto ; else goto ;

:;
  D.1132_7 = array_2 + 4B;
  #   VUSE ;
  D.1134_8 = *D.1132_7;
  goto  ();

:;
  D.1134_6 = 0;

  # D.1134_1 = PHI ;
:;
  return D.1134_1;

}

After FRE.

foo (array)
{
  int D.1134;
  int D.1133;
  int * D.1132;

:
  D.1132_3 = array_2 + 4B;
  #   VUSE ;
  D.1133_4 = *D.1132_3;
  if (D.1133_4 != 0) goto ; else goto ;

:;
  D.1132_7 = D.1132_3;
  #   VUSE ;
  D.1134_8 = *D.1132_7;
  goto  ();

:;
  D.1134_6 = 0;

  # D.1134_1 = PHI ;
:;
  return D.1134_1;

}


-- 


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


[Bug tree-optimization/20703] [tcb] FRE does not remove a fully redundant load.

2005-03-31 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-01 
00:41 ---
Confirmed.

-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-04-01 00:41:16
   date||


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