public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/60891] New: [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts
@ 2014-04-18 19:01 zsojka at seznam dot cz
  2014-04-22  8:59 ` [Bug tree-optimization/60891] " rguenth at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: zsojka at seznam dot cz @ 2014-04-18 19:01 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 60891
           Summary: [4.9/4.10 Regression] ICE: SIGSEGV (Invalid
                    write/read) in pre_and_rev_post_order_compute_fn with
                    -O -fno-tree-ch -fno-tree-cselim
                    -fno-tree-dominator-opts
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz

Created attachment 32633
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32633&action=edit
reduced testcase

Compiler output (under valgrind):
$ gcc -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts testcase.c
==2497== Invalid write of size 4
==2497==    at 0x7464DF: pre_and_rev_post_order_compute_fn(function*, int*,
int*, bool) (cfganal.c:981)
==2497==    by 0x7465F7: pre_and_rev_post_order_compute(int*, int*, bool)
(cfganal.c:1014)
==2497==    by 0xC9FBE7: (anonymous namespace)::pass_reassoc::execute()
(tree-ssa-reassoc.c:4632)
==2497==    by 0xA49D49: execute_one_pass(opt_pass*) (passes.c:2229)
==2497==    by 0xA49FE5: execute_pass_list(opt_pass*) (passes.c:2282)
==2497==    by 0xA49FF7: execute_pass_list(opt_pass*) (passes.c:2283)
==2497==    by 0x786448: expand_function(cgraph_node*) (cgraphunit.c:1774)
==2497==    by 0x78842B: compile() (cgraphunit.c:1908)
==2497==    by 0x788B94: finalize_compilation_unit() (cgraphunit.c:2329)
==2497==    by 0x63C8B3: c_write_global_declarations() (c-decl.c:10401)
==2497==    by 0xB3E69C: compile_file() (toplev.c:562)
==2497==    by 0xB4066F: toplev_main(int, char**) (toplev.c:1914)
==2497==    by 0x5A46BF4: (below main) (in /lib64/libc-2.17.so)
==2497==  Address 0x610ecb8 is 0 bytes after a block of size 40 alloc'd
==2497==    at 0x4C2C820: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==2497==    by 0x143DA37: xmalloc (xmalloc.c:147)
==2497==    by 0xC9FB88: (anonymous namespace)::pass_reassoc::execute()
(tree-ssa-reassoc.c:4618)
==2497==    by 0xA49D49: execute_one_pass(opt_pass*) (passes.c:2229)
==2497==    by 0xA49FE5: execute_pass_list(opt_pass*) (passes.c:2282)
==2497==    by 0xA49FF7: execute_pass_list(opt_pass*) (passes.c:2283)
==2497==    by 0x786448: expand_function(cgraph_node*) (cgraphunit.c:1774)
==2497==    by 0x78842B: compile() (cgraphunit.c:1908)
==2497==    by 0x788B94: finalize_compilation_unit() (cgraphunit.c:2329)
==2497==    by 0x63C8B3: c_write_global_declarations() (c-decl.c:10401)
==2497==    by 0xB3E69C: compile_file() (toplev.c:562)
==2497==    by 0xB4066F: toplev_main(int, char**) (toplev.c:1914)
==2497==    by 0x5A46BF4: (below main) (in /lib64/libc-2.17.so)
==2497== 
==2497== Invalid read of size 4
==2497==    at 0xC9FCE6: (anonymous namespace)::pass_reassoc::execute()
(tree-ssa-reassoc.c:4648)
==2497==    by 0xA49D49: execute_one_pass(opt_pass*) (passes.c:2229)
==2497==    by 0xA49FE5: execute_pass_list(opt_pass*) (passes.c:2282)
==2497==    by 0xA49FF7: execute_pass_list(opt_pass*) (passes.c:2283)
==2497==    by 0x786448: expand_function(cgraph_node*) (cgraphunit.c:1774)
==2497==    by 0x78842B: compile() (cgraphunit.c:1908)
==2497==    by 0x788B94: finalize_compilation_unit() (cgraphunit.c:2329)
==2497==    by 0x63C8B3: c_write_global_declarations() (c-decl.c:10401)
==2497==    by 0xB3E69C: compile_file() (toplev.c:562)
==2497==    by 0xB4066F: toplev_main(int, char**) (toplev.c:1914)
==2497==    by 0x5A46BF4: (below main) (in /lib64/libc-2.17.so)
==2497==  Address 0x610ecb8 is 0 bytes after a block of size 40 alloc'd
==2497==    at 0x4C2C820: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==2497==    by 0x143DA37: xmalloc (xmalloc.c:147)
==2497==    by 0xC9FB88: (anonymous namespace)::pass_reassoc::execute()
(tree-ssa-reassoc.c:4618)
==2497==    by 0xA49D49: execute_one_pass(opt_pass*) (passes.c:2229)
==2497==    by 0xA49FE5: execute_pass_list(opt_pass*) (passes.c:2282)
==2497==    by 0xA49FF7: execute_pass_list(opt_pass*) (passes.c:2283)
==2497==    by 0x786448: expand_function(cgraph_node*) (cgraphunit.c:1774)
==2497==    by 0x78842B: compile() (cgraphunit.c:1908)
==2497==    by 0x788B94: finalize_compilation_unit() (cgraphunit.c:2329)
==2497==    by 0x63C8B3: c_write_global_declarations() (c-decl.c:10401)
==2497==    by 0xB3E69C: compile_file() (toplev.c:562)
==2497==    by 0xB4066F: toplev_main(int, char**) (toplev.c:1914)
==2497==    by 0x5A46BF4: (below main) (in /lib64/libc-2.17.so)
==2497==


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

* [Bug tree-optimization/60891] [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts
  2014-04-18 19:01 [Bug tree-optimization/60891] New: [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts zsojka at seznam dot cz
@ 2014-04-22  8:59 ` rguenth at gcc dot gnu.org
  2014-04-22 11:53 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-04-22  8:59 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2014-04-22
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org
   Target Milestone|---                         |4.9.1
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I'll have a look.


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

* [Bug tree-optimization/60891] [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts
  2014-04-18 19:01 [Bug tree-optimization/60891] New: [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts zsojka at seznam dot cz
  2014-04-22  8:59 ` [Bug tree-optimization/60891] " rguenth at gcc dot gnu.org
@ 2014-04-22 11:53 ` rguenth at gcc dot gnu.org
  2014-04-23  8:24 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-04-22 11:53 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
loop_optimizer_init (AVOID_CFG_MODIFICATIONS); ends up adding a basic-block. 
Oops.  I have a patch.


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

* [Bug tree-optimization/60891] [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts
  2014-04-18 19:01 [Bug tree-optimization/60891] New: [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts zsojka at seznam dot cz
  2014-04-22  8:59 ` [Bug tree-optimization/60891] " rguenth at gcc dot gnu.org
  2014-04-22 11:53 ` rguenth at gcc dot gnu.org
@ 2014-04-23  8:24 ` rguenth at gcc dot gnu.org
  2014-04-23  8:26 ` rguenth at gcc dot gnu.org
  2014-04-23  8:28 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-04-23  8:24 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Wed Apr 23 08:23:33 2014
New Revision: 209673

URL: http://gcc.gnu.org/viewcvs?rev=209673&root=gcc&view=rev
Log:
2014-04-23  Richard Biener  <rguenther@suse.de>

    PR middle-end/60891
    * loop-init.c (loop_optimizer_init): Make sure to apply
    LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.

    * gcc.dg/torture/pr60891.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/torture/pr60891.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/loop-init.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug tree-optimization/60891] [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts
  2014-04-18 19:01 [Bug tree-optimization/60891] New: [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2014-04-23  8:24 ` rguenth at gcc dot gnu.org
@ 2014-04-23  8:26 ` rguenth at gcc dot gnu.org
  2014-04-23  8:28 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-04-23  8:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Wed Apr 23 08:25:56 2014
New Revision: 209674

URL: http://gcc.gnu.org/viewcvs?rev=209674&root=gcc&view=rev
Log:
2014-04-23  Richard Biener  <rguenther@suse.de>

    PR middle-end/60891
    * loop-init.c (loop_optimizer_init): Make sure to apply
    LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.

    * gcc.dg/torture/pr60891.c: New testcase.

Added:
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr60891.c
Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/loop-init.c
    branches/gcc-4_9-branch/gcc/testsuite/ChangeLog


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

* [Bug tree-optimization/60891] [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts
  2014-04-18 19:01 [Bug tree-optimization/60891] New: [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2014-04-23  8:26 ` rguenth at gcc dot gnu.org
@ 2014-04-23  8:28 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-04-23  8:28 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
      Known to work|                            |4.10.0, 4.9.1
         Resolution|---                         |FIXED
      Known to fail|4.10.0                      |

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.


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

end of thread, other threads:[~2014-04-23  8:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-18 19:01 [Bug tree-optimization/60891] New: [4.9/4.10 Regression] ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts zsojka at seznam dot cz
2014-04-22  8:59 ` [Bug tree-optimization/60891] " rguenth at gcc dot gnu.org
2014-04-22 11:53 ` rguenth at gcc dot gnu.org
2014-04-23  8:24 ` rguenth at gcc dot gnu.org
2014-04-23  8:26 ` rguenth at gcc dot gnu.org
2014-04-23  8:28 ` rguenth 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).