public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug debug/61033] New: Infinite loop in variable tracking
@ 2014-05-02  4:40 michael.collison at linaro dot org
  2014-08-04 15:42 ` [Bug debug/61033] " ktkachov at gcc dot gnu.org
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: michael.collison at linaro dot org @ 2014-05-02  4:40 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 61033
           Summary: Infinite loop in variable tracking
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
          Assignee: unassigned at gcc dot gnu.org
          Reporter: michael.collison at linaro dot org

Created attachment 32722
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32722&action=edit
Preprocssed file to reproduce bug

Data flow analysis in variable tracking does not converge and causes an
infinite loop with the attached file and following compile options:

./cc1plus -quiet -fpreprocessed qmltextgenerator.ii -dumpbase
qmltextgenerator.ii -march=armv4t -mfloat-abi=soft -mtls-dialect=gnu
-auxbase-strip x.o -g -O2 -Wformat=1 -Werror=format-security -Wall -Wextra
-version -fstack-protector -fvisibility=hidden -fvisibility-inlines-hidden
-fPIC --param ssp-buffer-size=4 -o qmltextgenerator.s

GCC configured with --target=arm-linux-gnueabi


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

* [Bug debug/61033] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
@ 2014-08-04 15:42 ` ktkachov at gcc dot gnu.org
  2014-08-04 15:45 ` ktkachov at gcc dot gnu.org
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-08-04 15:42 UTC (permalink / raw)
  To: gcc-bugs

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

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |doko at gcc dot gnu.org

--- Comment #3 from ktkachov at gcc dot gnu.org ---
*** Bug 62013 has been marked as a duplicate of this bug. ***


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

* [Bug debug/61033] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
  2014-08-04 15:42 ` [Bug debug/61033] " ktkachov at gcc dot gnu.org
@ 2014-08-04 15:45 ` ktkachov at gcc dot gnu.org
  2014-08-04 18:07 ` [Bug debug/61033] [4.8/4.9 Regression] " cbaylis at gcc dot gnu.org
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-08-04 15:45 UTC (permalink / raw)
  To: gcc-bugs

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

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |compile-time-hog
             Target|arm-linux-gnueabi           |arm-linux-gnueabi,
                   |                            |arm-none-eabi
      Known to work|                            |4.10.0, 4.7.4
      Known to fail|                            |4.8.3, 4.9.1

--- Comment #4 from ktkachov at gcc dot gnu.org ---
Filling in some fields, this still fails on the 4.8 and 4.9 branches but works
on trunk.


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

* [Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
  2014-08-04 15:42 ` [Bug debug/61033] " ktkachov at gcc dot gnu.org
  2014-08-04 15:45 ` ktkachov at gcc dot gnu.org
@ 2014-08-04 18:07 ` cbaylis at gcc dot gnu.org
  2014-08-04 18:43 ` cbaylis at gcc dot gnu.org
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: cbaylis at gcc dot gnu.org @ 2014-08-04 18:07 UTC (permalink / raw)
  To: gcc-bugs

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

cbaylis at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |cbaylis at gcc dot gnu.org

--- Comment #5 from cbaylis at gcc dot gnu.org ---
Created attachment 33244
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33244&action=edit
Reduced test case


$ arm-unknown-linux-gnueabihf-gcc -S -O2 -g reduced1.cpp


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

* [Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
                   ` (2 preceding siblings ...)
  2014-08-04 18:07 ` [Bug debug/61033] [4.8/4.9 Regression] " cbaylis at gcc dot gnu.org
@ 2014-08-04 18:43 ` cbaylis at gcc dot gnu.org
  2014-08-04 18:55 ` michael.collison at linaro dot org
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: cbaylis at gcc dot gnu.org @ 2014-08-04 18:43 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from cbaylis at gcc dot gnu.org ---

git bisect points to r211625 as the revision which fixes/hides this bug on
trunk.

2014-06-13  Richard Biener  <rguenther@suse.de>

        * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
        Rewrite to propagate the VN result into all uses where
        possible and to remove stmts becoming dead because of that.
        (eliminate): Generalize stmt removal handling, remove in
        reverse dominator order to support proper debug stmt
        generation.  Update stmts before removing stmts.
        * tree-ssa-propagate.c (propagate_tree_value): Remove
        bogus assert.


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

* [Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
                   ` (3 preceding siblings ...)
  2014-08-04 18:43 ` cbaylis at gcc dot gnu.org
@ 2014-08-04 18:55 ` michael.collison at linaro dot org
  2014-08-19 16:25 ` dcb314 at hotmail dot com
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: michael.collison at linaro dot org @ 2014-08-04 18:55 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Michael Collison <michael.collison at linaro dot org> ---
Charlie,

I still feel that the var tracking pass should be able to protect itself 
from an infinite loop.

On 8/4/2014 11:43 AM, cbaylis at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61033
>
> --- Comment #6 from cbaylis at gcc dot gnu.org ---
>
> git bisect points to r211625 as the revision which fixes/hides this bug on
> trunk.
>
> 2014-06-13  Richard Biener  <rguenther@suse.de>
>
>          * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
>          Rewrite to propagate the VN result into all uses where
>          possible and to remove stmts becoming dead because of that.
>          (eliminate): Generalize stmt removal handling, remove in
>          reverse dominator order to support proper debug stmt
>          generation.  Update stmts before removing stmts.
>          * tree-ssa-propagate.c (propagate_tree_value): Remove
>          bogus assert.
>


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

* [Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
                   ` (4 preceding siblings ...)
  2014-08-04 18:55 ` michael.collison at linaro dot org
@ 2014-08-19 16:25 ` dcb314 at hotmail dot com
  2014-08-19 16:33 ` dcb314 at hotmail dot com
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: dcb314 at hotmail dot com @ 2014-08-19 16:25 UTC (permalink / raw)
  To: gcc-bugs

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

David Binderman <dcb314 at hotmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dcb314 at hotmail dot com

--- Comment #8 from David Binderman <dcb314 at hotmail dot com> ---
Created attachment 33361
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33361&action=edit
C++ source code


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

* [Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
                   ` (5 preceding siblings ...)
  2014-08-19 16:25 ` dcb314 at hotmail dot com
@ 2014-08-19 16:33 ` dcb314 at hotmail dot com
  2014-11-19 13:28 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: dcb314 at hotmail dot com @ 2014-08-19 16:33 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from David Binderman <dcb314 at hotmail dot com> ---
(In reply to David Binderman from comment #8)
> Created attachment 33361 [details]
> C++ source code

Please ignore this attachment. It is for a different bug.


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

* [Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
                   ` (6 preceding siblings ...)
  2014-08-19 16:33 ` dcb314 at hotmail dot com
@ 2014-11-19 13:28 ` rguenth at gcc dot gnu.org
  2014-12-10 12:58 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-11-19 13:28 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.8.4


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

* [Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
                   ` (7 preceding siblings ...)
  2014-11-19 13:28 ` rguenth at gcc dot gnu.org
@ 2014-12-10 12:58 ` rguenth at gcc dot gnu.org
  2014-12-19 13:33 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-12-10 12:58 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2


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

* [Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
                   ` (8 preceding siblings ...)
  2014-12-10 12:58 ` rguenth at gcc dot gnu.org
@ 2014-12-19 13:33 ` jakub at gcc dot gnu.org
  2015-05-21  2:10 ` michael.collison at linaro dot org
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-12-19 13:33 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.8.4                       |4.8.5

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 4.8.4 has been released.


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

* [Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
                   ` (9 preceding siblings ...)
  2014-12-19 13:33 ` jakub at gcc dot gnu.org
@ 2015-05-21  2:10 ` michael.collison at linaro dot org
  2015-06-23  8:28 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: michael.collison at linaro dot org @ 2015-05-21  2:10 UTC (permalink / raw)
  To: gcc-bugs

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

Michael Collison <michael.collison at linaro dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|michael.collison at linaro dot org |mkuvyrkov at gcc dot gnu.org

--- Comment #12 from Michael Collison <michael.collison at linaro dot org> ---
GCC is looping infinitely in attempting to solve a data flow problem in
vt_find_locations. My working theory is that compute_bb_dataflow is incorrectly
asserting some value has changed. I have reduced my case to a candidate set of
basic blocks and a (candiate) RTL location this is continually removed/added.
The rtl location is:

dataflow difference found: removal of:
 name: D#255
   offset 0
     (mem/f/c:SI (value/u:SI 106:3955 @0x22cb2f8/0x23424a0) [3 result.d+0 S4
A32])


I understand that the argument to 'VALUE" is a cselib_val_struct but I don't
know how to map this back to a insn that is causing the problem. Any thoughts
on how I might debug thus further?


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

* [Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
                   ` (10 preceding siblings ...)
  2015-05-21  2:10 ` michael.collison at linaro dot org
@ 2015-06-23  8:28 ` rguenth at gcc dot gnu.org
  2015-06-26 20:03 ` [Bug debug/61033] [4.9 " jakub at gcc dot gnu.org
  2015-06-26 20:32 ` jakub at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-23  8:28 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.8.5                       |4.9.3

--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> ---
The gcc-4_8-branch is being closed, re-targeting regressions to 4.9.3.


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

* [Bug debug/61033] [4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
                   ` (11 preceding siblings ...)
  2015-06-23  8:28 ` rguenth at gcc dot gnu.org
@ 2015-06-26 20:03 ` jakub at gcc dot gnu.org
  2015-06-26 20:32 ` jakub at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-06-26 20:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 4.9.3 has been released.


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

* [Bug debug/61033] [4.9 Regression] Infinite loop in variable tracking
  2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
                   ` (12 preceding siblings ...)
  2015-06-26 20:03 ` [Bug debug/61033] [4.9 " jakub at gcc dot gnu.org
@ 2015-06-26 20:32 ` jakub at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-06-26 20:32 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.9.3                       |4.9.4


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

end of thread, other threads:[~2015-06-26 20:32 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-02  4:40 [Bug debug/61033] New: Infinite loop in variable tracking michael.collison at linaro dot org
2014-08-04 15:42 ` [Bug debug/61033] " ktkachov at gcc dot gnu.org
2014-08-04 15:45 ` ktkachov at gcc dot gnu.org
2014-08-04 18:07 ` [Bug debug/61033] [4.8/4.9 Regression] " cbaylis at gcc dot gnu.org
2014-08-04 18:43 ` cbaylis at gcc dot gnu.org
2014-08-04 18:55 ` michael.collison at linaro dot org
2014-08-19 16:25 ` dcb314 at hotmail dot com
2014-08-19 16:33 ` dcb314 at hotmail dot com
2014-11-19 13:28 ` rguenth at gcc dot gnu.org
2014-12-10 12:58 ` rguenth at gcc dot gnu.org
2014-12-19 13:33 ` jakub at gcc dot gnu.org
2015-05-21  2:10 ` michael.collison at linaro dot org
2015-06-23  8:28 ` rguenth at gcc dot gnu.org
2015-06-26 20:03 ` [Bug debug/61033] [4.9 " jakub at gcc dot gnu.org
2015-06-26 20:32 ` jakub 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).