public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
@ 2015-03-25 12:08 ` trippels at gcc dot gnu.org
  2015-03-27  8:25 ` trippels at gcc dot gnu.org
                   ` (33 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-25 12:08 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |lto
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-03-25
                 CC|                            |trippels at gcc dot gnu.org
            Summary|crash in htab_hash_string   |[5 Regression] crash in
                   |with -flto                  |htab_hash_string with -flto
     Ever confirmed|0                           |1

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Confirmed. Reducing...


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
  2015-03-25 12:08 ` [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto trippels at gcc dot gnu.org
@ 2015-03-27  8:25 ` trippels at gcc dot gnu.org
  2015-03-30 12:05 ` [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g jakub at gcc dot gnu.org
                   ` (32 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-27  8:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Created attachment 35158
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35158&action=edit
reduced testcase

markus@x4 tmp % g++ -std=gnu++1y -flto -g -O2 -r -nostdlib tcp_client.ii
lto1: internal compiler error: Segmentation fault
0xa2766f crash_signal
        ../../gcc/gcc/toplev.c:383
0x10ed7b0 htab_hash_string
        ../../gcc/libiberty/hashtab.c:839
0x6e66df external_ref_hasher::hash(external_ref const*)
        ../../gcc/gcc/dwarf2out.c:7763
0x6e66df hash_table<external_ref_hasher, xcallocator,
false>::find_slot(external_ref const*, insert_option)
        ../../gcc/gcc/hash-table.h:652
0x6e66df lookup_external_ref
        ../../gcc/gcc/dwarf2out.c:7791
0x6e6770 optimize_external_refs_1
        ../../gcc/gcc/dwarf2out.c:7829
0x6e6797 optimize_external_refs_1
        ../../gcc/gcc/dwarf2out.c:7833
0x6e6c06 optimize_external_refs
        ../../gcc/gcc/dwarf2out.c:7882
0x6e6e3d output_comp_unit
        ../../gcc/gcc/dwarf2out.c:9122
0x70ac89 dwarf2out_finish
        ../../gcc/gcc/dwarf2out.c:24800
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
  2015-03-25 12:08 ` [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto trippels at gcc dot gnu.org
  2015-03-27  8:25 ` trippels at gcc dot gnu.org
@ 2015-03-30 12:05 ` jakub at gcc dot gnu.org
  2015-03-30 12:28 ` rguenth at gcc dot gnu.org
                   ` (31 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-03-30 12:05 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
>From quick look, the problem is that we attempt to generate DIE for a
RECORD_TYPE __lambda5 in partition 2.  That RECORD_TYPE has TYPE_CONTEXT the
main FUNCTION_DECL, which is apparently emitted in partition 1 and so
lookup_decl_die for it returns NULL (there is not even a stub DW_TAG_subprogram
emitted in the other partition).
Wonder why do we partition a single CU input at all, and why we decide to put a
lambda function into a different partition from the one containing it.


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2015-03-30 12:05 ` [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g jakub at gcc dot gnu.org
@ 2015-03-30 12:28 ` rguenth at gcc dot gnu.org
  2015-03-30 12:30 ` rguenth at gcc dot gnu.org
                   ` (30 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-30 12:28 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
So this should be more reproducible with -flto-partition=max and also with
nested functions?

I wonder if we need to call debug_hooks->function_decl for function
decls in lto_read_decls similar to how we do for type_decls?  At least
with early debug we'd re-create a DIE for it at LTRANS time.


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2015-03-30 12:28 ` rguenth at gcc dot gnu.org
@ 2015-03-30 12:30 ` rguenth at gcc dot gnu.org
  2015-03-30 17:28 ` jakub at gcc dot gnu.org
                   ` (29 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-30 12:30 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Doesn't help.


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2015-03-30 12:30 ` rguenth at gcc dot gnu.org
@ 2015-03-30 17:28 ` jakub at gcc dot gnu.org
  2015-03-31  9:51 ` rguenth at gcc dot gnu.org
                   ` (28 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-03-30 17:28 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #6)
> Btw, I always wondered why dwarf2out.c doesn't create such stubs itself when
> it requires a parent (via force_decl_die).

Most probably because dwarf2out.c has never been written with the current state
of LTO in mind, it assumes the FE or the middle-end gives it sane and complete
trees of everything needed.
With early debug info, if done right for LTO, supposedly the problems goes away
again, so either we add some hack for this and accept there are hundreds of
other ways how to get it crashed with -flto -g (perhaps regression on some
particular testcase, but generally all gcc versions with -flto -g contained
lots of various ICEs), or just add this to other cases which show -flto -g is
unsupportable until early debug info is added to GCC 6.


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2015-03-30 17:28 ` jakub at gcc dot gnu.org
@ 2015-03-31  9:51 ` rguenth at gcc dot gnu.org
  2015-03-31 13:06 ` rguenth at gcc dot gnu.org
                   ` (27 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-31  9:51 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
Well, it worked reasonably well (not ICEing) since GCC 4.8 (or 4.9) at least.


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2015-03-31  9:51 ` rguenth at gcc dot gnu.org
@ 2015-03-31 13:06 ` rguenth at gcc dot gnu.org
  2015-03-31 13:12 ` rguenth at gcc dot gnu.org
                   ` (26 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-31 13:06 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
*** Bug 65243 has been marked as a duplicate of this bug. ***


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2015-03-31 13:06 ` rguenth at gcc dot gnu.org
@ 2015-03-31 13:12 ` rguenth at gcc dot gnu.org
  2015-03-31 13:13 ` rguenth at gcc dot gnu.org
                   ` (25 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-31 13:12 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
Reproduces also with -flto-partition=max and GCC 4.9 succeeds with that. 
Suggesting this may be a real regression and not just a latent issue popping
up(?)

Honza, can you please have a look?


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2015-03-31 13:12 ` rguenth at gcc dot gnu.org
@ 2015-03-31 13:13 ` rguenth at gcc dot gnu.org
  2015-03-31 13:16 ` trippels at gcc dot gnu.org
                   ` (24 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-31 13:13 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
And can somebody bisect this with -flto-partition=max (and or reduce further)?


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (9 preceding siblings ...)
  2015-03-31 13:13 ` rguenth at gcc dot gnu.org
@ 2015-03-31 13:16 ` trippels at gcc dot gnu.org
  2015-03-31 15:53 ` trippels at gcc dot gnu.org
                   ` (23 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-31 13:16 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #35158|0                           |1
        is obsolete|                            |

--- Comment #12 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Created attachment 35191
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35191&action=edit
reduced testcase

Further reduced with -flto-partition=max, but still 4.3k.


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (10 preceding siblings ...)
  2015-03-31 13:16 ` trippels at gcc dot gnu.org
@ 2015-03-31 15:53 ` trippels at gcc dot gnu.org
  2015-03-31 16:04 ` trippels at gcc dot gnu.org
                   ` (22 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-31 15:53 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #35191|0                           |1
        is obsolete|                            |

--- Comment #13 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Created attachment 35193
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35193&action=edit
reduced testcase

Started with r220011.


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (11 preceding siblings ...)
  2015-03-31 15:53 ` trippels at gcc dot gnu.org
@ 2015-03-31 16:04 ` trippels at gcc dot gnu.org
  2015-03-31 19:52 ` hubicka at gcc dot gnu.org
                   ` (21 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-31 16:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #13)
> Started with r220011.

But that doesn't make too much sense and indeed when I 
use an earlier version of the reduced testcase it still 
crashes with -flto-partition=max on r220010...


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (12 preceding siblings ...)
  2015-03-31 16:04 ` trippels at gcc dot gnu.org
@ 2015-03-31 19:52 ` hubicka at gcc dot gnu.org
  2015-04-01 12:19 ` jakub at gcc dot gnu.org
                   ` (20 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-03-31 19:52 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #16 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Yep, it seems the problem is triggered on and off with random changed in the
inliner's decisions...


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (13 preceding siblings ...)
  2015-03-31 19:52 ` hubicka at gcc dot gnu.org
@ 2015-04-01 12:19 ` jakub at gcc dot gnu.org
  2015-04-07 10:07 ` rguenth at gcc dot gnu.org
                   ` (19 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-04-01 12:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Lambda functions aren't really nested functions in the tree-nested.c sense, but
still are so closely related to the functions they are nested in that IMHO it
would be desirable not to split them off into separate partitions, not just
temporarily for GCC 5 for debug info reasons.
To find out lambdas, I think walking the list of argument types of a function,
for each argument type strip of POINTER_TYPE_P and if it is a RECORD_TYPE after
stripping those, check if TYPE_CONTEXT of that is some FUNCTION_DECL and in
that case try to put the function into the same partition as that other
FUNCTION_DECL.


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

* [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (14 preceding siblings ...)
  2015-04-01 12:19 ` jakub at gcc dot gnu.org
@ 2015-04-07 10:07 ` rguenth at gcc dot gnu.org
  2015-04-07 10:08 ` [Bug debug/65549] [4.9/5 " rguenth at gcc dot gnu.org
                   ` (18 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-04-07 10:07 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #18 from Richard Biener <rguenth at gcc dot gnu.org> ---
Gone latent with inliner heuristic changes,  -fno-inline -flto-partition=max is
now required to reproduce the ICE (with -O -g, of course).


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

* [Bug debug/65549] [4.9/5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (15 preceding siblings ...)
  2015-04-07 10:07 ` rguenth at gcc dot gnu.org
@ 2015-04-07 10:08 ` rguenth at gcc dot gnu.org
  2015-04-07 10:21 ` trippels at gcc dot gnu.org
                   ` (17 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-04-07 10:08 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P2
   Target Milestone|5.0                         |4.9.4
            Summary|[5 Regression] crash in     |[4.9/5 Regression] crash in
                   |htab_hash_string with -flto |htab_hash_string with -flto
                   |-g                          |-g

--- Comment #19 from Richard Biener <rguenth at gcc dot gnu.org> ---
Which also ICEs with 4.9!


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

* [Bug debug/65549] [4.9/5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (16 preceding siblings ...)
  2015-04-07 10:08 ` [Bug debug/65549] [4.9/5 " rguenth at gcc dot gnu.org
@ 2015-04-07 10:21 ` trippels at gcc dot gnu.org
  2015-04-16  9:11 ` [Bug debug/65549] [4.9/5/6 " ferdinandw+gcc at gmail dot com
                   ` (16 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-04-07 10:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #20 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Also crashes with 4.8.

markus@x4 tmp % < tcp_client.ii
template <typename> struct __and_;
template <typename> class function;
template <typename _Functor> class _Base_manager {
protected:
  static _Functor *_M_get_pointer(int) {}
};

template <typename, typename> class A;
template <typename _Res, typename _Functor, typename... _ArgTypes>
class A<_Res(_ArgTypes...), _Functor> : _Base_manager<_Functor> {
public:
  static _Res _M_invoke(const int &) {
    (*_Base_manager<_Functor>::_M_get_pointer(0))();
  }
};

template <typename, typename> using __check_func_return_type = int;
template <typename _Res, typename... _ArgTypes>
class function<_Res(_ArgTypes...)> {
  template <typename> using _Invoke = decltype(0);
  template <typename _Functor>
  using _Callable = __and_<__check_func_return_type<_Invoke<_Functor>, _Res>>;
  template <typename, typename> using _Requires = int;

public:
  template <typename _Functor, typename = _Requires<_Callable<_Functor>, void>>
  function(_Functor);
  using _Invoker_type = _Res (*)(const int &);
  _Invoker_type _M_invoker;
};

template <typename _Res, typename... _ArgTypes>
template <typename _Functor, typename>
function<_Res(_ArgTypes...)>::function(_Functor) {
  _M_invoker = A<_Res(), _Functor>::_M_invoke;
}

class B {
public:
  void configuration();
  void run(int, int, function<void()>);
};
main() {
  B app;
  app.run(0, 0, [&] { app.configuration(); });
}

markus@x4 tmp % /usr/x86_64-pc-linux-gnu/gcc-bin/4.8.4/g++ -std=gnu++1y -flto
-g -O2 -r -nostdlib -fno-inline -flto-partition=max tcp_client.ii
lto1: internal compiler error: in build_abbrev_table, at dwarf2out.c:7478


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (17 preceding siblings ...)
  2015-04-07 10:21 ` trippels at gcc dot gnu.org
@ 2015-04-16  9:11 ` ferdinandw+gcc at gmail dot com
  2015-04-16 10:14 ` ferdinandw+gcc at gmail dot com
                   ` (15 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: ferdinandw+gcc at gmail dot com @ 2015-04-16  9:11 UTC (permalink / raw)
  To: gcc-bugs

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

Ferdinand <ferdinandw+gcc at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ferdinandw+gcc at gmail dot com

--- Comment #21 from Ferdinand <ferdinandw+gcc at gmail dot com> ---
I'm running into this when building firefox beta tree with lto. The release
tree is working alright, but on beta it crashes with this bug's stacktrace. Is
it only with -g? I'm using -g0 for the most part.


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (18 preceding siblings ...)
  2015-04-16  9:11 ` [Bug debug/65549] [4.9/5/6 " ferdinandw+gcc at gmail dot com
@ 2015-04-16 10:14 ` ferdinandw+gcc at gmail dot com
  2015-04-17  7:58 ` rguenth at gcc dot gnu.org
                   ` (14 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: ferdinandw+gcc at gmail dot com @ 2015-04-16 10:14 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #22 from Ferdinand <ferdinandw+gcc at gmail dot com> ---
Now that I understand the bug, of course I notice (too late) that my way of
setting -g0 wasn't taking effect in the beta tree, the way it was before. So
that explains that, but still this crash is happening with just -flto=4 (and
default -flto-partition=balanced) for me. That means, at the moment, it's not
latent for building firefox.


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (19 preceding siblings ...)
  2015-04-16 10:14 ` ferdinandw+gcc at gmail dot com
@ 2015-04-17  7:58 ` rguenth at gcc dot gnu.org
  2015-04-17  8:32 ` rguenth at gcc dot gnu.org
                   ` (13 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-04-17  7:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #23 from Richard Biener <rguenth at gcc dot gnu.org> ---
When doing LTO early-debug work I stumbled over one reason we can crash here
which I fixed with

Index: dwarf2out.c
===================================================================
*** dwarf2out.c (revision 222165)
--- dwarf2out.c (working copy)
*************** resolve_addr (dw_die_ref die)
*** 23950,23957 ****
                && DECL_EXTERNAL (tdecl)
                && DECL_ABSTRACT_ORIGIN (tdecl) == NULL_TREE)
              {
!               force_decl_die (tdecl);
!               tdie = lookup_decl_die (tdecl);
              }
            if (tdie)
              {
--- 23950,23964 ----
                && DECL_EXTERNAL (tdecl)
                && DECL_ABSTRACT_ORIGIN (tdecl) == NULL_TREE)
              {
!               /* Creating a full DIE for tdecl is overly expensive and
!                  at this point (with early debug active) even wrong
!                  as it can end up generating new type DIEs we didn't
!                  output.  */
!               tdie = new_die (DW_TAG_subprogram, comp_unit_die (),
NULL_TREE);
!               add_AT_flag (tdie, DW_AT_external, 1);
!               add_AT_flag (tdie, DW_AT_declaration, 1);
!               add_linkage_attr (tdie, tdecl);
!               equate_decl_number_to_die (tdecl, tdie);
              }
            if (tdie)
              {

change the comment to "at this point (with LTO) even wrong" and it still
applies.  The point is, if we didn't create a DIE for the external decl
it isn't a good idea to create a full DIE for it for the reference.  Just
create a DIE with enough info for the debugger (I suppose that's the
linkage name?  I really didn't check whether that's ok for the purpose
of DW_TAG_GNU_call_site - Jakub?  (not sure if we have guality checks
that cover this very case)

ISTR that for the case I ran into the call was to some builtin function.

The above patch fixes this bug.


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (20 preceding siblings ...)
  2015-04-17  7:58 ` rguenth at gcc dot gnu.org
@ 2015-04-17  8:32 ` rguenth at gcc dot gnu.org
  2015-04-17  8:34 ` rguenth at gcc dot gnu.org
                   ` (12 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-04-17  8:32 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #24 from Richard Biener <rguenth at gcc dot gnu.org> ---
Which means that -gstrict-dwarf should be a workaround for this and the dups.


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (21 preceding siblings ...)
  2015-04-17  8:32 ` rguenth at gcc dot gnu.org
@ 2015-04-17  8:34 ` rguenth at gcc dot gnu.org
  2015-04-17  8:38 ` avi@cloudius-systems.com
                   ` (11 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-04-17  8:34 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (22 preceding siblings ...)
  2015-04-17  8:34 ` rguenth at gcc dot gnu.org
@ 2015-04-17  8:38 ` avi@cloudius-systems.com
  2015-04-17  8:39 ` rguenth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: avi@cloudius-systems.com @ 2015-04-17  8:38 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #25 from Avi Kivity <avi@cloudius-systems.com> ---
It's not a latent bug for me:

lto1: internal compiler error: Segmentation fault
0xa2f1af crash_signal
    ../../gcc/toplev.c:383
0x1129f20 htab_hash_string
    ../../libiberty/hashtab.c:839
0x6d264f external_ref_hasher::hash(external_ref const*)
    ../../gcc/dwarf2out.c:7763
0x6d264f hash_table<external_ref_hasher, xcallocator,
false>::find_slot(external_ref const*, insert_option)
    ../../gcc/hash-table.h:652
0x6d264f lookup_external_ref
    ../../gcc/dwarf2out.c:7791
0x6d26ed optimize_external_refs_1
    ../../gcc/dwarf2out.c:7829
0x6d2718 optimize_external_refs_1
    ../../gcc/dwarf2out.c:7833
0x6d2b56 optimize_external_refs
    ../../gcc/dwarf2out.c:7882
0x6d2d8d output_comp_unit
    ../../gcc/dwarf2out.c:9122
0x6f8c69 dwarf2out_finish
    ../../gcc/dwarf2out.c:24801
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
lto-wrapper: fatal error: /home/avi/gcc5/bin/g++5 returned 1 exit status
compilation terminated.


g++5 (GCC) 6.0.0 20150417 (experimental)


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (23 preceding siblings ...)
  2015-04-17  8:38 ` avi@cloudius-systems.com
@ 2015-04-17  8:39 ` rguenth at gcc dot gnu.org
  2015-04-17  8:55 ` avi@cloudius-systems.com
                   ` (9 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-04-17  8:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #26 from Richard Biener <rguenth at gcc dot gnu.org> ---
Created attachment 35343
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35343&action=edit
patch

Patch I am testing.


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (24 preceding siblings ...)
  2015-04-17  8:39 ` rguenth at gcc dot gnu.org
@ 2015-04-17  8:55 ` avi@cloudius-systems.com
  2015-04-17 10:15 ` rguenth at gcc dot gnu.org
                   ` (8 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: avi@cloudius-systems.com @ 2015-04-17  8:55 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #27 from Avi Kivity <avi@cloudius-systems.com> ---
Patch fixes the problem for me (though the linker still fails)


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (25 preceding siblings ...)
  2015-04-17  8:55 ` avi@cloudius-systems.com
@ 2015-04-17 10:15 ` rguenth at gcc dot gnu.org
  2015-04-20  7:36 ` rguenther at suse dot de
                   ` (7 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-04-17 10:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #28 from Richard Biener <rguenth at gcc dot gnu.org> ---
So the context I put the stub DIE in is technically wrong.  Thus some more
analysis results.  The reason why we end up populating the limbo_die_list
from the force_decl_die path is because we refuse to put the context
(the __lambda2 type) into its context (the main function which we forced
a DIE for) because of

      /* A declaration DIE doesn't count; nested types need to go in the
         specification.  */
      if (context_die && is_declaration_die (context_die))
        context_die = NULL;


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (26 preceding siblings ...)
  2015-04-17 10:15 ` rguenth at gcc dot gnu.org
@ 2015-04-20  7:36 ` rguenther at suse dot de
  2015-04-27  9:15 ` ebotcazou at gcc dot gnu.org
                   ` (6 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenther at suse dot de @ 2015-04-20  7:36 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #30 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 17 Apr 2015, jason at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65549
> 
> Jason Merrill <jason at gcc dot gnu.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |jason at gcc dot gnu.org
> 
> --- Comment #29 from Jason Merrill <jason at gcc dot gnu.org> ---
> (In reply to Jakub Jelinek from comment #17)
> > Lambda functions aren't really nested functions in the tree-nested.c sense,
> > but still are so closely related to the functions they are nested in that
> > IMHO it would be desirable not to split them off into separate partitions,
> > not just temporarily for GCC 5 for debug info reasons.
> 
> Agreed.  decl_function_context of the lambda function should give you the
> containing function.

As far as I understood imposing constraints like this to the partitioner
is hard because either you implement the same constraints into the inliner
as well or you eventually blow up partition sizes.

I'm also not 100% sure the issue we hit in dwarf2out is specific
to lambdas or nested functions - it might very well trigger with
regular C++ classes as well, just harder to reproduce.

So at least for branches I think my patch is the way to go - eventually
guarded with in_lto_p (if you really insist on that...)


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (27 preceding siblings ...)
  2015-04-20  7:36 ` rguenther at suse dot de
@ 2015-04-27  9:15 ` ebotcazou at gcc dot gnu.org
  2015-06-02 12:33 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2015-04-27  9:15 UTC (permalink / raw)
  To: gcc-bugs

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

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

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

--- Comment #31 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
That's the prominent issue with LTO in Ada because there are a lot of nested
functions in Ada.  We use a local patch that fixes up the limbo list again:

@@ -24063,6 +24080,11 @@ dwarf2out_finish (const char *filename)
   }
 #endif
   resolve_addr (comp_unit_die ());
+  /* resolve_addr calls force_decl_die, which can put new DIEs on the limbo
+     list in LTO mode when nested functions are put in a different partition
+     than that of their parent function.  */
+  if (in_lto_p)
+    fixup_limbo_list ();
   move_marked_base_types ();

   for (node = deferred_asm_name; node; node = node->next)


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

* [Bug debug/65549] [4.9/5 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (29 preceding siblings ...)
  2015-06-02 12:33 ` rguenth at gcc dot gnu.org
@ 2015-06-02 12:33 ` rguenth at gcc dot gnu.org
  2015-06-03  7:39 ` [Bug debug/65549] [4.9 " rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-02 12:33 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |6.0
            Summary|[4.9/5/6 Regression] crash  |[4.9/5 Regression] crash in
                   |in htab_hash_string with    |htab_hash_string with -flto
                   |-flto -g                    |-g

--- Comment #33 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed on trunk sofar.


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

* [Bug debug/65549] [4.9/5/6 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (28 preceding siblings ...)
  2015-04-27  9:15 ` ebotcazou at gcc dot gnu.org
@ 2015-06-02 12:33 ` rguenth at gcc dot gnu.org
  2015-06-02 12:33 ` [Bug debug/65549] [4.9/5 " rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-02 12:33 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #32 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue Jun  2 12:33:02 2015
New Revision: 224029

URL: https://gcc.gnu.org/viewcvs?rev=224029&root=gcc&view=rev
Log:
2015-06-02  Richard Biener  <rguenther@suse.de>

        PR debug/65549
        * dwarf2out.c (lookup_context_die): New function.
        (resolve_addr): Avoid forcing a full DIE for the
        target of a DW_TAG_GNU_call_site during late compilation.
        Instead create a stub DIE without a type if we have a
        context DIE present.

        * g++.dg/lto/pr65549_0.C: New testcase.

Added:
    trunk/gcc/testsuite/g++.dg/lto/pr65549_0.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/dwarf2out.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug debug/65549] [4.9 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (30 preceding siblings ...)
  2015-06-02 12:33 ` [Bug debug/65549] [4.9/5 " rguenth at gcc dot gnu.org
@ 2015-06-03  7:39 ` rguenth at gcc dot gnu.org
  2015-06-03 11:04 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-03  7:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #34 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Wed Jun  3 07:39:06 2015
New Revision: 224059

URL: https://gcc.gnu.org/viewcvs?rev=224059&root=gcc&view=rev
Log:
2015-06-03  Richard Biener  <rguenther@suse.de>

        Backport from mainline
        2015-06-02  Richard Biener  <rguenther@suse.de>

        PR debug/65549
        * dwarf2out.c (lookup_context_die): New function.
        (resolve_addr): Avoid forcing a full DIE for the
        target of a DW_TAG_GNU_call_site during late compilation.
        Instead create a stub DIE without a type if we have a
        context DIE present.

        * g++.dg/lto/pr65549_0.C: New testcase.

        2015-06-01  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/66280
        * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
        def-use walking.

        * g++.dg/torture/pr66280.C: New testcase.
        * g++.dg/torture/pr66280-2.C: Likewise.

        2015-05-27  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/66272
        Revert parts of
        2014-08-15  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/62031
        * tree-data-ref.c (dr_analyze_indices): Do not set
        DR_UNCONSTRAINED_BASE.
        (dr_may_alias_p): All indirect accesses have to go the
        formerly DR_UNCONSTRAINED_BASE path.
        * tree-data-ref.h (struct indices): Remove
        unconstrained_base member.
        (DR_UNCONSTRAINED_BASE): Remove.

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

        2015-05-21  Richard Biener  <rguenther@suse.de>

        PR c++/66211
        * match.pd: Guard pattern optimzing (int)(float)int
        conversions to apply only on GIMPLE.

        * g++.dg/conversion/pr66211.C: New testcase.
        * gcc.dg/tree-ssa/forwprop-18.c: Adjust.

        2015-05-13  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/66123
        * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
        a taken edge.

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

Added:
    branches/gcc-5-branch/gcc/testsuite/g++.dg/conversion/pr66211.C
    branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr65549_0.C
    branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr66280-2.C
    branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr66280.C
    branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr66123.c
    branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr66272.c
Modified:
    branches/gcc-5-branch/gcc/ChangeLog
    branches/gcc-5-branch/gcc/dwarf2out.c
    branches/gcc-5-branch/gcc/match.pd
    branches/gcc-5-branch/gcc/testsuite/ChangeLog
    branches/gcc-5-branch/gcc/testsuite/gcc.dg/tree-ssa/forwprop-18.c
    branches/gcc-5-branch/gcc/tree-data-ref.c
    branches/gcc-5-branch/gcc/tree-data-ref.h
    branches/gcc-5-branch/gcc/tree-ssa-dom.c
    branches/gcc-5-branch/gcc/tree-vect-slp.c


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

* [Bug debug/65549] [4.9 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (31 preceding siblings ...)
  2015-06-03  7:39 ` [Bug debug/65549] [4.9 " rguenth at gcc dot gnu.org
@ 2015-06-03 11:04 ` rguenth at gcc dot gnu.org
  2015-06-11 13:40 ` rguenth at gcc dot gnu.org
  2015-06-11 13:40 ` rguenth at gcc dot gnu.org
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-03 11:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #35 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Wed Jun  3 11:03:26 2015
New Revision: 224072

URL: https://gcc.gnu.org/viewcvs?rev=224072&root=gcc&view=rev
Log:
2015-06-03  Richard Biener  <rguenther@suse.de>

        Backport from mainline
        2015-05-26  Michael Matz  <matz@suse.de>

        PR middle-end/66251
        * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
        STMT_VINFO_VEC_STMT, also with SLP.

        * gcc.dg/vect/pr66251.c: New test.

        2015-05-22  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/66251
        * tree-vect-stmts.c (vectorizable_conversion): Properly
        set STMT_VINFO_VEC_STMT even for the SLP case.

        * gfortran.fortran-torture/compile/pr66251.f90: New testcase.

        2015-05-27  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/66272
        Revert parts of
        2014-08-15  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/62031
        * tree-data-ref.c (dr_analyze_indices): Do not set
        DR_UNCONSTRAINED_BASE.
        (dr_may_alias_p): All indirect accesses have to go the
        formerly DR_UNCONSTRAINED_BASE path.
        * tree-data-ref.h (struct indices): Remove
        unconstrained_base member.
        (DR_UNCONSTRAINED_BASE): Remove.

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

        2015-05-13  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/66123
        * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
        a taken edge.

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

        2015-06-02  Richard Biener  <rguenther@suse.de>

        PR debug/65549
        * dwarf2out.c (lookup_context_die): New function.
        (resolve_addr): Avoid forcing a full DIE for the
        target of a DW_TAG_GNU_call_site during late compilation.
        Instead create a stub DIE without a type if we have a
        context DIE present.

        * g++.dg/lto/pr65549_0.C: New testcase.

        2015-03-23  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/65518
        * tree-vect-stmts.c (vectorizable_load): Reject single-element
        interleaving cases we generate absymal code for.

        * gcc.dg/vect/pr65518.c: New testcase.

Added:
    branches/gcc-4_9-branch/gcc/testsuite/g++.dg/lto/pr65549_0.C
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr66123.c
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr66272.c
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr65518.c
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr66251.c
   
branches/gcc-4_9-branch/gcc/testsuite/gfortran.fortran-torture/compile/pr66251.f90
Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/dwarf2out.c
    branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_9-branch/gcc/tree-data-ref.c
    branches/gcc-4_9-branch/gcc/tree-data-ref.h
    branches/gcc-4_9-branch/gcc/tree-ssa-dom.c
    branches/gcc-4_9-branch/gcc/tree-vect-stmts.c


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

* [Bug debug/65549] [4.9 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (33 preceding siblings ...)
  2015-06-11 13:40 ` rguenth at gcc dot gnu.org
@ 2015-06-11 13:40 ` rguenth at gcc dot gnu.org
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-11 13:40 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|4.9.4                       |4.8.5

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


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

* [Bug debug/65549] [4.9 Regression] crash in htab_hash_string with -flto -g
       [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
                   ` (32 preceding siblings ...)
  2015-06-03 11:04 ` rguenth at gcc dot gnu.org
@ 2015-06-11 13:40 ` rguenth at gcc dot gnu.org
  2015-06-11 13:40 ` rguenth at gcc dot gnu.org
  34 siblings, 0 replies; 35+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-11 13:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #37 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Thu Jun 11 13:39:56 2015
New Revision: 224375

URL: https://gcc.gnu.org/viewcvs?rev=224375&root=gcc&view=rev
Log:
2015-06-11  Richard Biener  <rguenther@suse.de>

        Backport from mainline, guarded with in_lto_p
        2015-06-02  Richard Biener  <rguenther@suse.de>

        PR debug/65549
        * dwarf2out.c (lookup_context_die): New function.
        (resolve_addr): Avoid forcing a full DIE for the
        target of a DW_TAG_GNU_call_site during late compilation.
        Instead create a stub DIE without a type if we have a
        context DIE present.

        Backport from mainline
        2014-04-04  Jan Hubicka  <hubicka@ucw.cz>

        PR ipa/59626
        * lto-cgraph.c (input_overwrite_node): Check that partitioning
        flags are set only during streaming.
        * ipa.c (process_references, symtab_remove_unreachable_nodes):
        Drop bodies of always inline after early inlining.
        (symtab_remove_unreachable_nodes): Remove always_inline attribute.

        * gcc.dg/lto/pr59626_0.c: New testcase.
        * gcc.dg/lto/pr59626_1.c: New testcase.

Added:
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/lto/pr59626_0.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/lto/pr59626_1.c
Modified:
    branches/gcc-4_8-branch/gcc/ChangeLog
    branches/gcc-4_8-branch/gcc/dwarf2out.c
    branches/gcc-4_8-branch/gcc/ipa.c
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


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

end of thread, other threads:[~2015-06-11 13:40 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-65549-4@http.gcc.gnu.org/bugzilla/>
2015-03-25 12:08 ` [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto trippels at gcc dot gnu.org
2015-03-27  8:25 ` trippels at gcc dot gnu.org
2015-03-30 12:05 ` [Bug debug/65549] [5 Regression] crash in htab_hash_string with -flto -g jakub at gcc dot gnu.org
2015-03-30 12:28 ` rguenth at gcc dot gnu.org
2015-03-30 12:30 ` rguenth at gcc dot gnu.org
2015-03-30 17:28 ` jakub at gcc dot gnu.org
2015-03-31  9:51 ` rguenth at gcc dot gnu.org
2015-03-31 13:06 ` rguenth at gcc dot gnu.org
2015-03-31 13:12 ` rguenth at gcc dot gnu.org
2015-03-31 13:13 ` rguenth at gcc dot gnu.org
2015-03-31 13:16 ` trippels at gcc dot gnu.org
2015-03-31 15:53 ` trippels at gcc dot gnu.org
2015-03-31 16:04 ` trippels at gcc dot gnu.org
2015-03-31 19:52 ` hubicka at gcc dot gnu.org
2015-04-01 12:19 ` jakub at gcc dot gnu.org
2015-04-07 10:07 ` rguenth at gcc dot gnu.org
2015-04-07 10:08 ` [Bug debug/65549] [4.9/5 " rguenth at gcc dot gnu.org
2015-04-07 10:21 ` trippels at gcc dot gnu.org
2015-04-16  9:11 ` [Bug debug/65549] [4.9/5/6 " ferdinandw+gcc at gmail dot com
2015-04-16 10:14 ` ferdinandw+gcc at gmail dot com
2015-04-17  7:58 ` rguenth at gcc dot gnu.org
2015-04-17  8:32 ` rguenth at gcc dot gnu.org
2015-04-17  8:34 ` rguenth at gcc dot gnu.org
2015-04-17  8:38 ` avi@cloudius-systems.com
2015-04-17  8:39 ` rguenth at gcc dot gnu.org
2015-04-17  8:55 ` avi@cloudius-systems.com
2015-04-17 10:15 ` rguenth at gcc dot gnu.org
2015-04-20  7:36 ` rguenther at suse dot de
2015-04-27  9:15 ` ebotcazou at gcc dot gnu.org
2015-06-02 12:33 ` rguenth at gcc dot gnu.org
2015-06-02 12:33 ` [Bug debug/65549] [4.9/5 " rguenth at gcc dot gnu.org
2015-06-03  7:39 ` [Bug debug/65549] [4.9 " rguenth at gcc dot gnu.org
2015-06-03 11:04 ` rguenth at gcc dot gnu.org
2015-06-11 13:40 ` rguenth at gcc dot gnu.org
2015-06-11 13:40 ` 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).