public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/23455] load PRE is missing
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
@ 2006-01-02 19:31 ` bonzini at gnu dot org
  2006-01-02 21:27 ` [Bug tree-optimization/23455] tree load PRE is not working properly steven at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: bonzini at gnu dot org @ 2006-01-02 19:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from bonzini at gnu dot org  2006-01-02 19:31 -------
Reconfirmed after the first load PRE patch went in, as it does not handle
globals.


-- 

bonzini at gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2005-11-21 02:41:17         |2006-01-02 19:31:41
               date|                            |


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



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working properly
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
  2006-01-02 19:31 ` [Bug tree-optimization/23455] load PRE is missing bonzini at gnu dot org
@ 2006-01-02 21:27 ` steven at gcc dot gnu dot org
  2006-01-02 21:30 ` steven at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-01-02 21:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from steven at gcc dot gnu dot org  2006-01-02 21:27 -------
Ehm, wouldn't "unsigned char *" alias everything?  GCSE doesn't do load PRE for
me on the original test case, either.  And, as long as "outbuf[outcnt] =
bi_buf;" has a V_MAY_DEF for outcnt, you're not going to see any load PRE
happening here.

With a changed test case, GCSE _does_ perform load PRE:

unsigned long outcnt;
extern void flush_outbuf(void);

void
bi_windup(unsigned int *outbuf, unsigned int bi_buf)
{
    unsigned long t1 = outcnt;
    outbuf[t1] = bi_buf;

    unsigned long t2 = outcnt;
    if (t2 == 16384)
      flush_outbuf();

    unsigned long t3 = outcnt;
    outbuf[t3] = bi_buf;
}

This gives me the following asm on x86-64:
bi_windup:
        movq    %rbx, -16(%rsp)
        movq    %rbp, -8(%rsp)
        subq    $24, %rsp
        movq    outcnt(%rip), %rax
        movq    %rdi, %rbp
        movl    %esi, %ebx
        cmpq    $16384, %rax
        movl    %esi, (%rbp,%rax,4)
        je      .L6
.L2:
        movl    %ebx, (%rbp,%rax,4)
        movq    8(%rsp), %rbx
        movq    16(%rsp), %rbp
        addq    $24, %rsp
        ret
        .p2align 4,,7
.L6:
        call    flush_outbuf
        movq    outcnt(%rip), %rax
        jmp     .L2


Looking at the .pre tree dump, there isn't anything obvious in the way of doing
load PRE here AFAICT:

bi_windup (outbufD.1866, bi_bufD.1867)
{
  unsigned intD.3 storetmp.21D.1918;
  long unsigned intD.4 t3D.1872;
  long unsigned intD.4 t2D.1871;
  long unsigned intD.4 t1D.1870;
  unsigned intD.3 * D.1878;
  unsigned intD.3 * D.1877;
  long unsigned intD.4 D.1876;
  unsigned intD.3 * D.1875;
  unsigned intD.3 * D.1874;
  long unsigned intD.4 D.1873;

  # BLOCK 2 freq:10000
  # PRED: ENTRY [100.0%]  (fallthru,exec)
  #   VUSE <outcntD.1863_1>;
  t1D.1870_2 = outcntD.1863;
  D.1873_3 = t1D.1870_2 * 4;
  D.1874_4 = (unsigned intD.3 *) D.1873_3;
  D.1875_6 = D.1874_4 + outbufD.1866_5;
  #   TMT.4D.1900_16 = V_MAY_DEF <TMT.4D.1900_15>;
  *D.1875_6 = bi_bufD.1867_7;
  if (t1D.1870_2 == 16384) goto <L0>; else goto <L2>;
  # SUCC: 3 [26.2%]  (true,exec) 5 [73.8%]  (false,exec)

  # BLOCK 5 freq:7378
  # PRED: 2 [73.8%]  (false,exec)
<L2>:;
  goto <bb 4> (<L1>);
  # SUCC: 4 [100.0%]  (fallthru)

  # BLOCK 3 freq:2622
  # PRED: 2 [26.2%]  (true,exec)
<L0>:;
  #   outcntD.1863_18 = V_MAY_DEF <outcntD.1863_1>;
  #   TMT.4D.1900_19 = V_MAY_DEF <TMT.4D.1900_16>;
  flush_outbuf ();
  # SUCC: 4 [100.0%]  (fallthru,exec)

  # BLOCK 4 freq:10000
  # PRED: 5 [100.0%]  (fallthru) 3 [100.0%]  (fallthru,exec)
  # TMT.4D.1900_14 = PHI <TMT.4D.1900_16(5), TMT.4D.1900_19(3)>;
  # outcntD.1863_13 = PHI <outcntD.1863_1(5), outcntD.1863_18(3)>;
<L1>:;
  #   VUSE <outcntD.1863_13>;
  t3D.1872_9 = outcntD.1863;
  D.1876_10 = t3D.1872_9 * 4;
  D.1877_11 = (unsigned intD.3 *) D.1876_10;
  D.1878_12 = D.1877_11 + outbufD.1866_5;
  #   TMT.4D.1900_17 = V_MAY_DEF <TMT.4D.1900_14>;
  *D.1878_12 = bi_bufD.1867_7;
  return;
  # SUCC: EXIT [100.0%]

}


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |TREE
            Summary|load PRE is missing         |tree load PRE is not working
                   |                            |properly


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



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working properly
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
  2006-01-02 19:31 ` [Bug tree-optimization/23455] load PRE is missing bonzini at gnu dot org
  2006-01-02 21:27 ` [Bug tree-optimization/23455] tree load PRE is not working properly steven at gcc dot gnu dot org
@ 2006-01-02 21:30 ` steven at gcc dot gnu dot org
  2006-01-03  8:04 ` bonzini at gnu dot org
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-01-02 21:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from steven at gcc dot gnu dot org  2006-01-02 21:30 -------
With an even more modified test case, load PRE does happen:

unsigned long outcnt;
extern void flush_outbuf(void);

void
bi_windup(unsigned int *outbuf, unsigned int bi_buf, unsigned long *outcnt)
{
    unsigned long t1 = *outcnt;
    outbuf[t1] = bi_buf;

    unsigned long t2 = *outcnt;
    if (t2 == 16384)
      flush_outbuf();

    unsigned long t3 = *outcnt;
    outbuf[t3] = bi_buf;
}


--> .pre tree dump

bi_windup (outbufD.1866, bi_bufD.1867, outcntD.1868)
{
  unsigned intD.3 * prephitmp.26D.1925;
  unsigned intD.3 * pretmp.25D.1924;
  long unsigned intD.4 prephitmp.24D.1923;
  long unsigned intD.4 pretmp.23D.1922;
  unsigned intD.3 storetmp.22D.1921;
  long unsigned intD.4 t3D.1873;
  long unsigned intD.4 t2D.1872;
  long unsigned intD.4 t1D.1871;
  unsigned intD.3 * D.1879;
  unsigned intD.3 * D.1878;
  long unsigned intD.4 D.1877;
  unsigned intD.3 * D.1876;
  unsigned intD.3 * D.1875;
  long unsigned intD.4 D.1874;

  # BLOCK 2 freq:10000
  # PRED: ENTRY [100.0%]  (fallthru,exec)
  #   VUSE <TMT.4D.1902_15>;
  t1D.1871_2 = *outcntD.1868_1;
  D.1874_3 = t1D.1871_2 * 4;
  D.1875_4 = (unsigned intD.3 *) D.1874_3;
  D.1876_6 = D.1875_4 + outbufD.1866_5;
  #   TMT.5D.1903_17 = V_MAY_DEF <TMT.5D.1903_16>;
  *D.1876_6 = bi_bufD.1867_7;
  if (t1D.1871_2 == 16384) goto <L0>; else goto <L2>;
  # SUCC: 3 [26.2%]  (true,exec) 5 [73.8%]  (false,exec)

  # BLOCK 5 freq:7378
  # PRED: 2 [73.8%]  (false,exec)
<L2>:;
  goto <bb 4> (<L1>);
  # SUCC: 4 [100.0%]  (fallthru)

  # BLOCK 3 freq:2622
  # PRED: 2 [26.2%]  (true,exec)
<L0>:;
  #   TMT.4D.1902_19 = V_MAY_DEF <TMT.4D.1902_15>;
  #   TMT.5D.1903_20 = V_MAY_DEF <TMT.5D.1903_17>;
  flush_outbuf ();
  #   VUSE <TMT.4D.1902_19>;
  pretmp.23D.1922_23 = *outcntD.1868_1;
  pretmp.23D.1922_25 = pretmp.23D.1922_23 * 4;
  pretmp.25D.1924_27 = (unsigned intD.3 *) pretmp.23D.1922_25;
  pretmp.25D.1924_29 = outbufD.1866_5 + pretmp.25D.1924_27;
  # SUCC: 4 [100.0%]  (fallthru,exec)

  # BLOCK 4 freq:10000
  # PRED: 5 [100.0%]  (fallthru) 3 [100.0%]  (fallthru,exec)
  # prephitmp.26D.1925_30 = PHI <D.1876_6(5), pretmp.25D.1924_29(3)>;
  # prephitmp.26D.1925_28 = PHI <D.1875_4(5), pretmp.25D.1924_27(3)>;
  # prephitmp.24D.1923_26 = PHI <D.1874_3(5), pretmp.23D.1922_25(3)>;
  # prephitmp.24D.1923_24 = PHI <t1D.1871_2(5), pretmp.23D.1922_23(3)>;
  # TMT.5D.1903_14 = PHI <TMT.5D.1903_17(5), TMT.5D.1903_20(3)>;
  # TMT.4D.1902_13 = PHI <TMT.4D.1902_15(5), TMT.4D.1902_19(3)>;
<L1>:;
  t3D.1873_9 = prephitmp.24D.1923_24;
  D.1877_10 = prephitmp.24D.1923_26;
  D.1878_11 = prephitmp.26D.1925_28;
  D.1879_12 = prephitmp.26D.1925_30;
  #   TMT.5D.1903_18 = V_MAY_DEF <TMT.5D.1903_14>;
  *D.1879_12 = bi_bufD.1867_7;
  return;
  # SUCC: EXIT [100.0%]

}


-- 


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



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working properly
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2006-01-02 21:30 ` steven at gcc dot gnu dot org
@ 2006-01-03  8:04 ` bonzini at gnu dot org
  2006-01-03 18:29 ` dberlin at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: bonzini at gnu dot org @ 2006-01-03  8:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from bonzini at gnu dot org  2006-01-03 08:04 -------
> Ehm, wouldn't "unsigned char *" alias everything?  GCSE doesn't do load PRE for
> me on the original test case, either.

Yes, I was checking if load PRE removes the redundant load of t3 if
flush_outbuf is not called.  See comment #4.


-- 


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



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working properly
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2006-01-03  8:04 ` bonzini at gnu dot org
@ 2006-01-03 18:29 ` dberlin at gcc dot gnu dot org
  2006-01-04 22:35 ` steven at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: dberlin at gcc dot gnu dot org @ 2006-01-03 18:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from dberlin at gcc dot gnu dot org  2006-01-03 18:29 -------
Load PRE on globals is going to take a while, because we do some stupid things
in hashing (like hashing tcc_declaration's by pointer, instead of DECL_UID).


-- 


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



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working properly
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2006-01-03 18:29 ` dberlin at gcc dot gnu dot org
@ 2006-01-04 22:35 ` steven at gcc dot gnu dot org
  2006-01-07  0:25 ` steven at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-01-04 22:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from steven at gcc dot gnu dot org  2006-01-04 22:35 -------
Re. comment #9, I don't understand how the way we hash would make load PRE
harder.  Could you elaborate a bit on what is missing or done "wrong" for load
PRE of globals??


-- 


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



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working properly
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2006-01-04 22:35 ` steven at gcc dot gnu dot org
@ 2006-01-07  0:25 ` steven at gcc dot gnu dot org
  2008-04-07  1:41 ` [Bug tree-optimization/23455] tree load PRE is not working for global variables pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-01-07  0:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from steven at gcc dot gnu dot org  2006-01-07 00:25 -------
The thread starting at http://gcc.gnu.org/ml/gcc-patches/2006-01/msg00373.html
addresses my question in comment #10.


-- 


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



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working for global variables
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2006-01-07  0:25 ` steven at gcc dot gnu dot org
@ 2008-04-07  1:41 ` pinskia at gcc dot gnu dot org
  2008-04-07  1:45 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-04-07  1:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from pinskia at gcc dot gnu dot org  2008-04-07 01:40 -------
*** Bug 35286 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |xinliangli at gmail dot com


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working for global variables
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2008-04-07  1:41 ` [Bug tree-optimization/23455] tree load PRE is not working for global variables pinskia at gcc dot gnu dot org
@ 2008-04-07  1:45 ` pinskia at gcc dot gnu dot org
  2008-04-07  1:47 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-04-07  1:45 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from pinskia at gcc dot gnu dot org  2008-04-07 01:44 -------
*** Bug 25553 has been marked as a duplicate of this bug. ***


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working for global variables
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2008-04-07  1:45 ` pinskia at gcc dot gnu dot org
@ 2008-04-07  1:47 ` pinskia at gcc dot gnu dot org
  2008-07-06  8:53 ` steven at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-04-07  1:47 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from pinskia at gcc dot gnu dot org  2008-04-07 01:46 -------
*** Bug 35287 has been marked as a duplicate of this bug. ***


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working for global variables
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
                   ` (9 preceding siblings ...)
  2008-04-07  1:47 ` pinskia at gcc dot gnu dot org
@ 2008-07-06  8:53 ` steven at gcc dot gnu dot org
  2008-07-08 16:12 ` dberlin at gcc dot gnu dot org
  2008-07-08 20:28 ` rguenth at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: steven at gcc dot gnu dot org @ 2008-07-06  8:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from steven at gcc dot gnu dot org  2008-07-06 08:53 -------
Patch here:
http://gcc.gnu.org/ml/gcc-patches/2008-07/msg00430.html

We should re-evaluate the need for gcse.c load-PRE after Daniel's patch goes
in.  The last time I looked at what loads gcse.c load-PRE would move, it only
touched loads from globals, so it may be a redundant pass when tree-ssa-pre
moves them.


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working for global variables
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
                   ` (10 preceding siblings ...)
  2008-07-06  8:53 ` steven at gcc dot gnu dot org
@ 2008-07-08 16:12 ` dberlin at gcc dot gnu dot org
  2008-07-08 20:28 ` rguenth at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: dberlin at gcc dot gnu dot org @ 2008-07-08 16:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from dberlin at gcc dot gnu dot org  2008-07-08 16:11 -------
Subject: Bug 23455

Author: dberlin
Date: Tue Jul  8 16:11:06 2008
New Revision: 137631

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=137631
Log:
2008-07-05  Daniel Berlin  <dberlin@dberlin.org>

        Fix PR tree-optimization/23455
        Fix PR tree-optimization/35286
        Fix PR tree-optimization/35287
        * Makefile.in (OBJS-common): Remove tree-vn.o.
        tree-vn.o: Remove.
        * dbgcnt.def: Add treepre_insert debug counter.
        * gcc/tree-flow.h (add_to_value): Updated for other changes.
        (debug_value_expressions): Ditto.
        (print_value_expressions): Ditto.
        * tree-pretty-print.c (dump_generic_node): Updated for
        VALUE_HANDLE removal.
        * tree-ssa-dom.c (record_equality): Ditto.
        (cprop_operand): Ditto.
        (lookup_avail_expr): Ditto.
        * tree-ssa-threadedge.c
        (record_temporary_equivalences_from_stmts_at_dest): Ditto.
        (simplify_control_stmt_condition): Ditto.
        * tree.c (tree_code_size): Ditto.
        (tree_node_structure): Ditto.
        (iterative_hash_expr): Ditto.
        * tree.def: Ditto.
        * tree.h (VALUE_HANDLE_ID): Ditto.
        (VALUE_HANDLE_EXPR_SET): Ditto.
        (struct tree_value_handle): Ditto.
        (union tree_node): Ditto.
        * treestruct.def: Ditto.
        * tree-vn.c: Removed.
        * tree-ssa-pre.c: Rewritten entirely.
        * tree-ssa-sccvn.c (constant_to_value_id): New hashtable.
        (constant_value_ids): Ditto.
        (vn_nary_op_t): Moved to header.
        (vn_phi_t): Ditto.
        (vn_reference_op_t): Ditto
        (vn_reference_t): Ditto.
        (next_value_id): New variable.
        (VN_INFO): Add an assert.
        (vn_constant_eq): New function.
        (vn_constant_hash): Ditto.
        (get_or_alloc_constant_value_id): Ditto.
        (value_id_constant_p): Ditto.
        (vn_reference_compute_hash): De-staticify.
        (copy_reference_ops_from_ref): Don't use get_callee_fndecl.
        Disable some code with a FIXME.
        Remove VALUE_HANDLE use.
        (valueize_refs): Update opcode if it changes from ssa name to
        constant.
        (vn_reference_lookup_1): Add new argument.
        (vn_reference_lookup):  Ditto.
        (vn_reference_lookup_pieces): New function.
        (vn_reference_insert): Add return type. Modify to deal with value
        ids.
        (vn_reference_insert_pieces):  New function.
        (vn_nary_op_compute_hash): De-staticify.
        (vn_nary_op_eq): Ditto.
        (vn_nary_op_lookup_pieces): New function.
        (vn_nary_op_lookup): Add new argument.  
        (vn_nary_op_insert_pieces): New function.
        (vn_nary_op_insert): Add return type. Modify to deal with value
        ids.
        (vn_phi_insert): Ditto.
        (visit_unary_op): Update for callee changes.
        (visit_binary_op): Ditto.
        (visit_reference_op_load): Ditto.
        (visit_reference_op_store): Ditto.
        (init_scc_vn): Init next_value_id, constant_to_value_id and
        constant_value_ids. 
        (free_scc_vn): Free them.
        (set_hashtable_value_ids): New function.
        (run_scc_vn): Use it.
        (get_max_value_id): New function.
        (get_next_value_id): Ditto.
        (expressions_equal_p): Moved from tree-vn.c
        (sort_vuses): Ditto.
        (sort_vuses_heap): Ditto.
        * tree-ssa-sccvn.h: Structures moved from tree-ssa-sccvn.c (noted
        above).
        * tree.c (iterative_hash_hashval_t): Made non-static
        * tree.h (iterative_hash_hashval_t): Declare it.


Added:
    trunk/gcc/testsuite/gcc.c-torture/compile/20080704-1.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/pr23455.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/pr35286.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/pr35287.c
Removed:
    trunk/gcc/tree-vn.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/Makefile.in
    trunk/gcc/dbgcnt.def
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loadpre24.c
    trunk/gcc/tree-flow.h
    trunk/gcc/tree-pretty-print.c
    trunk/gcc/tree-ssa-dom.c
    trunk/gcc/tree-ssa-pre.c
    trunk/gcc/tree-ssa-sccvn.c
    trunk/gcc/tree-ssa-sccvn.h
    trunk/gcc/tree-ssa-threadedge.c
    trunk/gcc/tree.c
    trunk/gcc/tree.def
    trunk/gcc/tree.h
    trunk/gcc/treestruct.def


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working for global variables
       [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
                   ` (11 preceding siblings ...)
  2008-07-08 16:12 ` dberlin at gcc dot gnu dot org
@ 2008-07-08 20:28 ` rguenth at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-07-08 20:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from rguenth at gcc dot gnu dot org  2008-07-08 20:27 -------
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.4.0


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/23455] tree load PRE is not working for global variables
       [not found] <bug-23455-4@http.gcc.gnu.org/bugzilla/>
@ 2014-12-15 19:17 ` spop at gcc dot gnu.org
  0 siblings, 0 replies; 14+ messages in thread
From: spop at gcc dot gnu.org @ 2014-12-15 19:17 UTC (permalink / raw)
  To: gcc-bugs

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

Sebastian Pop <spop at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |steinmtz at us dot ibm.com

--- Comment #18 from Sebastian Pop <spop at gcc dot gnu.org> ---
*** Bug 16797 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-12-15 19:17 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-23455-7849@http.gcc.gnu.org/bugzilla/>
2006-01-02 19:31 ` [Bug tree-optimization/23455] load PRE is missing bonzini at gnu dot org
2006-01-02 21:27 ` [Bug tree-optimization/23455] tree load PRE is not working properly steven at gcc dot gnu dot org
2006-01-02 21:30 ` steven at gcc dot gnu dot org
2006-01-03  8:04 ` bonzini at gnu dot org
2006-01-03 18:29 ` dberlin at gcc dot gnu dot org
2006-01-04 22:35 ` steven at gcc dot gnu dot org
2006-01-07  0:25 ` steven at gcc dot gnu dot org
2008-04-07  1:41 ` [Bug tree-optimization/23455] tree load PRE is not working for global variables pinskia at gcc dot gnu dot org
2008-04-07  1:45 ` pinskia at gcc dot gnu dot org
2008-04-07  1:47 ` pinskia at gcc dot gnu dot org
2008-07-06  8:53 ` steven at gcc dot gnu dot org
2008-07-08 16:12 ` dberlin at gcc dot gnu dot org
2008-07-08 20:28 ` rguenth at gcc dot gnu dot org
     [not found] <bug-23455-4@http.gcc.gnu.org/bugzilla/>
2014-12-15 19:17 ` spop at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).