re PR lto/85574 (LTO bootstapped binaries differ)
[gcc.git] / gcc / ChangeLog
1 2019-01-03 Jan Hubicka <hubicka@ucw.cz>
2
3 PR tree-optimization/85574
4 * tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
5 structure.
6 (struct ssa_equip_hash_traits): Declare.
7 (val_ssa_equiv): Use custom hash traits using operand_equal_p.
8
9 2019-01-03 Jakub Jelinek <jakub@redhat.com>
10
11 PR debug/88644
12 * dwarf2out.c (modified_type_die): If type is equal to sizetype,
13 change it to qualified_type.
14
15 2019-01-03 Jan Hubicka <hubicka@ucw.cz>
16
17 * ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
18 (ipa_merge_profiles): ... here; do not ICE on thunks and aliases.
19
20 2019-01-02 Martin Sebor <msebor@redhat.com>
21 Jeff Law <law@redhat.com>
22
23 * gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
24 (get_range_strlen_tree): Update appropriately.
25 (get_range_strlen)
26 * gimple-fold.h (get_range_strlen): Drop unused last argument.
27
28 * gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
29 rather than set_range_info.
30 * tree-ssa-strlen.c (set_strlen_range): Extracted from
31 maybe_set_strlen_range. Handle potentially boundary crossing
32 cases more conservatively.
33 (maybe_set_strlen_range): Parts refactored into set_strlen_range.
34 Call set_strlen_range.
35 * tree-ssa-strlen.h (set_strlen_range): Add prototype.
36
37 PR middle-end/88663
38 * gimple-fold.c (get_range_strlen): Update prototype to no longer
39 need the flexp argument.
40 (get_range_strlen_tree): Drop flexp argument. Drop flexp argument
41 from calls to get_range_strlen. Update comments. Just update
42 VAL for an unterminated const char array and let the reset of the
43 code handle it normally. No longer try to set *flexp. Adjust
44 return value.
45 (get_range_strlen): Update for the new get_range_strlen API.
46 (get_maxval_strlen): Similarly.
47 (gimple_fold_builtin_strlen): Handle update meaning of return value
48 from get_range_strlen.
49 * gimple-ssa-sprintf.c (get_string_length): Update for the new
50 get_range_strlen API.
51
52 2019-01-02 Jan Hubicka <hubicka@ucw.cz>
53
54 PR lto/88130
55 * varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
56 false at WPA time when body was removed.
57
58 2019-01-02 Martin Liska <mliska@suse.cz>
59
60 PR tree-optimization/88650
61 * predict.c (set_even_probabilities): Calculate probability
62 remainer only when really used.
63
64 2019-01-02 Richard Biener <rguenther@suse.de>
65
66 PR middle-end/88651
67 * tree-data-ref.c (analyze_subscript_affine_affine): Use
68 widest_ints when mangling max_stmt_execution results.
69
70 2019-01-02 Richard Biener <rguenther@suse.de>
71
72 PR tree-optimization/88621
73 * tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
74 bitfields when canoncalizing.
75
76 2019-01-02 Richard Biener <rguenther@suse.de>
77
78 PR target/87545
79 * config/i386/x86-tune-costs.h (intel_cost): Adjust
80 cost of cheap SSE instruction.
81
82 2019-01-02 Richard Biener <rguenther@suse.de>
83
84 PR ipa/85574
85 * ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
86 * ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
87 function.
88 (sem_item_optimizer::do_congruence_step_f): Sort the congruence
89 set after UIDs before splitting them.
90
91 2019-01-01 Martin Sebor <msebor@redhat.com>
92 Jeff Law <law@redhat.com>
93
94 * gimple-fold.c (get_range_strlen_tree): Record if the computed
95 length is optimistic. If it is, then arrange to compute the
96 conservative length as well.
97
98 * gimple-fold.h (get_range_strlen): Update prototype.
99 * builtins.c (check_access): Update call to get_range_strlen to use
100 c_strlen_data pointer. Change various variable accesses to instead
101 pull data from the c_strlen_data structure.
102 (check_strncat_sizes, expand_builtin_strncat): Likewise.
103 * calls.c (maybe_warn_nonstring_arg): Likewise.
104 * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise. Reset
105 minimum length if maximum lengh is unknown.
106 * gimple-ssa-sprintf.c (get_string_length): Likewise. Drop code
107 that used c_strlen, it's no longer needed. Restructure slightly.
108 (format_string): Set unlikely range appropriately.
109 * gimple-fold.c (get_range_strlen): Update comments. Fix minor
110 formatting issues.
111 (get_range_strlen): Accept c_strlen_data pointer for external
112 call sites as well. Pass through to call to internal get_range_strlen.
113 Adjust minlen, maxlen and maxbound as needed.
114 (get_maxval_strlen): Update comments.
115 (gimple_fold_builtin_strlen): Update call to get_range_strlen
116 to use c_strlen_data pointer. Change variable accesses to instead
117 use c_strlen_data data members.
118
119 * gimple-fold.c (get_range_strlen): Update prototype.
120 (get_range_strlen_tree): Update prototype. Drop minlen/maxlen
121 local variables. Use pdata to return information to caller.
122 Update calls to get_range_strlen. Update pdata->maxbound.
123 (get_range_strlen -- static version): Similarly.
124 (get_range_strlen -- extern version): Update for internal
125 get_range_strlen API change. Convert to external data format.
126 (get_maxval_strlen): Similarly.
127
128 2019-01-01 Jan Hubicka <hubicka@ucw.cz>
129
130 * coverage.c (get_coverage_counts): Use current_function_decl.
131 * profile.c (read_thunk_profile): New function.
132 (branch_prob): Add THUNK parameter.
133 * tree-profile.c (tree_profiling): Handle thunks.
134 * value-prof.c (init_node_map): Handle thunks.
135 * value-prof.h (branch_prob): Upate prototype.
136 (read_thunk_profile): Declare.
137
138 2019-01-01 Jakub Jelinek <jakub@redhat.com>
139
140 Update copyright years.
141
142 * gcc.c (process_command): Update copyright notice dates.
143 * gcov-dump.c (print_version): Ditto.
144 * gcov.c (print_version): Ditto.
145 * gcov-tool.c (print_version): Ditto.
146 * gengtype.c (create_file): Ditto.
147 * doc/cpp.texi: Bump @copying's copyright year.
148 * doc/cppinternals.texi: Ditto.
149 * doc/gcc.texi: Ditto.
150 * doc/gccint.texi: Ditto.
151 * doc/gcov.texi: Ditto.
152 * doc/install.texi: Ditto.
153 * doc/invoke.texi: Ditto.
154 \f
155 Copyright (C) 2019 Free Software Foundation, Inc.
156
157 Copying and distribution of this file, with or without modification,
158 are permitted in any medium without royalty provided the copyright
159 notice and this notice are preserved.