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/71845] [7 Regression] ICE: use-after-free in (anonymous namespace)::pass_pre::execute


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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-07-11
                 CC|                            |marxin at gcc dot gnu.org
   Target Milestone|---                         |7.0
     Ever confirmed|0                           |1

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed, started with r238078:

commit e1bba98001be7ab89d5734ae0fdfe3996b4281a7
Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Jul 7 07:43:35 2016 +0000

    2016-07-07  Richard Biener  <rguenther@suse.de>

        * tree-ssa-pre.c: Include alias.h.
        (compute_avail): If we have multiple VN_REFERENCEs with the
        same hashtable entry adjust that to make it a valid replacement
        for all of them with respect to alignment and aliasing
        when doing insertion.
        * tree-ssa-sccvn.h (vn_reference_operands_for_lookup): Declare.
        * tree-ssa-sccvn.c (vn_reference_operands_for_lookup): New function.

valgrind backtrace points to:

==5358== Invalid read of size 8
==5358==    at 0x109E890: compute_avail() (tree-ssa-pre.c:3811)
==5358==    by 0x10A1E25: (anonymous namespace)::pass_pre::execute(function*)
(tree-ssa-pre.c:4846)
==5358==    by 0xD86076: execute_one_pass(opt_pass*) (passes.c:2344)
==5358==    by 0xD863AC: execute_pass_list_1(opt_pass*) (passes.c:2428)
==5358==    by 0xD863DD: execute_pass_list_1(opt_pass*) (passes.c:2429)
==5358==    by 0xD86435: execute_pass_list(function*, opt_pass*)
(passes.c:2439)
==5358==    by 0x99321D: cgraph_node::expand() (cgraphunit.c:1983)
==5358==    by 0x993853: expand_all_functions() (cgraphunit.c:2119)
==5358==    by 0x99436C: symbol_table::compile() (cgraphunit.c:2475)
==5358==    by 0x99459D: symbol_table::finalize_compilation_unit()
(cgraphunit.c:2565)
==5358==    by 0xE9DB48: compile_file() (toplev.c:490)
==5358==    by 0xEA0079: do_compile() (toplev.c:1998)

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