1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
|
2019-01-05 Jan Hubicka <hubicka@ucw.cz>
* opts.c (enable_fdo_optimizations): Enable
version-loops-for-strides, loop-interchange, unrol-and-jam
and tree-loop-distribution.
* invoke.texi: Document newly enabled options.
2019-01-05 Jan Hubicka <hubicka@ucw.cz>
* doc/invoke.texi (max-inline-insns-small): New parameters.
* ipa-inline.c (want_early_inline_function_p): simplify.
(want_inline_small_function_p): Fix pasto from previous patch;
use max-inline-insns-small bound.
* params.def (max-inline-insns-small): New param.
* ipa-fnsummary.c (analyze_function_body): Initialize time/size
variables correctly.
2019-01-05 Jan Hubicka <hubicka@ucw.cz>
* doc/invoke.texi: Document max-inline-insns-size,
uninlined-function-insns, uninlined-function-time,
uninlined-thunk-insns and uninlined-thunk-time.
* params.def: Add max-inline-insns-size,
uninlined-function-insns, uninlined-function-time,
uninlined-thunk-insns and uninlined-thunk-time.
* ipa-fnsummary.c (compute_fn_summary, analyze_function_body): Use
new parameters.
* ipa-inline.c (can_inline_edge_by_limits_p,
want_inline_small_function_p): Use new parameters.
2019-01-05 Jan Hubicka <hubicka@ucw.cz>
* ipa-fnsummary.c (analyze_function_body): Fix accounting of time.
2019-01-05 Jakub Jelinek <jakub@redhat.com>
PR middle-end/82564
PR target/88620
* expr.c (expand_assignment): For calls returning VLA structures
if to_rtx is not a MEM, force it into a stack temporary.
PR debug/88635
* dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains
SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument.
Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in
subexpressions of both operands.
(mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the
subrtxes are CONSTANT_P.
* config/i386/i386.c (ix86_const_not_ok_for_debug_p): Revert
2018-11-09 changes.
2019-01-04 Jan Hubicka <hubicka@ucw.cz>
* params.def (hot-bb-count-ws-permille): Set to 990.
2019-01-04 Martin Sebor <msebor@redhat.com>
PR c/88546
* attribs.c (decls_mismatched_attributes): Avoid warning for attribute
leaf.
2019-01-04 Martin Sebor <msebor@redhat.com>
PR c/88363
* doc/extend.texi (attribute alloc_align, alloc_size): Update.
2019-01-04 Jakub Jelinek <jakub@redhat.com>
* gdbinit.in: Turn off pagination for the skip commands, restore
it to previous state afterwards.
2019-01-04 Sam Tebbs <sam.tebbs@arm.com>
PR gcc/87763
* gcc.target/aarch64/combine_bfxil.c: Change scan-assembler-times bfxil
count to 18.
2019-01-04 Jakub Jelinek <jakub@redhat.com>
PR target/88594
* config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
of GET_MODE (opN) as modes of the libcall arguments.
2019-01-04 Jan Beulich <jbeulich@suse.com>
* config/i386/sse.md
(<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>,
<avx512>_cmp<mode>3<mask_scalar_merge_name>,
<avx512>_ucmp<mode>3<mask_scalar_merge_name>,
<avx512>_ucmp<mode>3<mask_scalar_merge_name>,
avx512f_vmcmp<mode>3<round_saeonly_name>,
avx512f_vmcmp<mode>3_mask<round_saeonly_name>,
avx512f_maskcmp<mode>3,
<avx512>_cvt<ssemodesuffix>2mask<mode>,
<avx512>_cvt<ssemodesuffix>2mask<mode>,
*<avx512>_cvtmask2<ssemodesuffix><mode>,
*<avx512>_cvtmask2<ssemodesuffix><mode>,
<avx512>_eq<mode>3<mask_scalar_merge_name>_1,
<avx512>_eq<mode>3<mask_scalar_merge_name>_1,
<avx512>_gt<mode>3<mask_scalar_merge_name>,
<avx512>_gt<mode>3<mask_scalar_merge_name>,
<avx512>_testm<mode>3<mask_scalar_merge_name>,
<avx512>_testnm<mode>3<mask_scalar_merge_name>,
*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask,
avx512cd_maskb_vec_dup<mode>,
avx512cd_maskw_vec_dup<mode>,
avx512dq_fpclass<mode><mask_scalar_merge_name>,
avx512dq_vmfpclass<mode>,
avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Use =k
instead of =Yk.
2019-01-03 Martin Sebor <msebor@redhat.com>
PR tree-optimization/88659
* calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set.
2019-01-03 Aaron Sawdey <acsawdey@linux.ibm.com>
* config/rs6000/rs6000-string.c (expand_block_move): Don't use
unaligned vsx and avoid lxvd2x/stxvd2x.
(gen_lvx_v4si_move): New function.
2019-01-03 Tom de Vries <tdevries@suse.de>
* config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define.
(init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New
function.
* config/nvptx/nvptx.h (struct machine_function): Add axis_dims.
2019-01-03 Tom de Vries <tdevries@suse.de>
* config/nvptx/nvptx.c (struct offload_attrs): New.
(populate_offload_attrs): New function. Factor mask extraction out of
nvptx_reorg. Add extraction of dimensions.
(nvptx_reorg): Use populate_offload_attrs.
2019-01-03 Tom de Vries <tdevries@suse.de>
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out
cases for oacc_min_dims_p and routine_p. Add asserts for
oacc_default_dims_p and offload_region_p.
2019-01-03 Tom de Vries <tdevries@suse.de>
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function,
factored out of ...
(nvptx_goacc_validate_dims): ... here.
2019-01-03 Jan Hubicka <hubicka@ucw.cz>
PR tree-optimization/85574
* tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
structure.
(struct ssa_equip_hash_traits): Declare.
(val_ssa_equiv): Use custom hash traits using operand_equal_p.
2019-01-03 Jakub Jelinek <jakub@redhat.com>
PR debug/88644
* dwarf2out.c (modified_type_die): If type is equal to sizetype,
change it to qualified_type.
2019-01-03 Jan Hubicka <hubicka@ucw.cz>
* ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
(ipa_merge_profiles): ... here; do not ICE on thunks and aliases.
2019-01-02 Martin Sebor <msebor@redhat.com>
Jeff Law <law@redhat.com>
* gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
(get_range_strlen_tree): Update appropriately.
(get_range_strlen)
* gimple-fold.h (get_range_strlen): Drop unused last argument.
* gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
rather than set_range_info.
* tree-ssa-strlen.c (set_strlen_range): Extracted from
maybe_set_strlen_range. Handle potentially boundary crossing
cases more conservatively.
(maybe_set_strlen_range): Parts refactored into set_strlen_range.
Call set_strlen_range.
* tree-ssa-strlen.h (set_strlen_range): Add prototype.
PR middle-end/88663
* gimple-fold.c (get_range_strlen): Update prototype to no longer
need the flexp argument.
(get_range_strlen_tree): Drop flexp argument. Drop flexp argument
from calls to get_range_strlen. Update comments. Just update
VAL for an unterminated const char array and let the reset of the
code handle it normally. No longer try to set *flexp. Adjust
return value.
(get_range_strlen): Update for the new get_range_strlen API.
(get_maxval_strlen): Similarly.
(gimple_fold_builtin_strlen): Handle update meaning of return value
from get_range_strlen.
* gimple-ssa-sprintf.c (get_string_length): Update for the new
get_range_strlen API.
2019-01-02 Jan Hubicka <hubicka@ucw.cz>
PR lto/88130
* varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
false at WPA time when body was removed.
2019-01-02 Martin Liska <mliska@suse.cz>
PR tree-optimization/88650
* predict.c (set_even_probabilities): Calculate probability
remainer only when really used.
2019-01-02 Richard Biener <rguenther@suse.de>
PR middle-end/88651
* tree-data-ref.c (analyze_subscript_affine_affine): Use
widest_ints when mangling max_stmt_execution results.
2019-01-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/88621
* tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
bitfields when canoncalizing.
2019-01-02 Richard Biener <rguenther@suse.de>
PR target/87545
* config/i386/x86-tune-costs.h (intel_cost): Adjust
cost of cheap SSE instruction.
2019-01-02 Richard Biener <rguenther@suse.de>
PR ipa/85574
* ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
* ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
function.
(sem_item_optimizer::do_congruence_step_f): Sort the congruence
set after UIDs before splitting them.
2019-01-01 Martin Sebor <msebor@redhat.com>
Jeff Law <law@redhat.com>
* gimple-fold.c (get_range_strlen_tree): Record if the computed
length is optimistic. If it is, then arrange to compute the
conservative length as well.
* gimple-fold.h (get_range_strlen): Update prototype.
* builtins.c (check_access): Update call to get_range_strlen to use
c_strlen_data pointer. Change various variable accesses to instead
pull data from the c_strlen_data structure.
(check_strncat_sizes, expand_builtin_strncat): Likewise.
* calls.c (maybe_warn_nonstring_arg): Likewise.
* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise. Reset
minimum length if maximum lengh is unknown.
* gimple-ssa-sprintf.c (get_string_length): Likewise. Drop code
that used c_strlen, it's no longer needed. Restructure slightly.
(format_string): Set unlikely range appropriately.
* gimple-fold.c (get_range_strlen): Update comments. Fix minor
formatting issues.
(get_range_strlen): Accept c_strlen_data pointer for external
call sites as well. Pass through to call to internal get_range_strlen.
Adjust minlen, maxlen and maxbound as needed.
(get_maxval_strlen): Update comments.
(gimple_fold_builtin_strlen): Update call to get_range_strlen
to use c_strlen_data pointer. Change variable accesses to instead
use c_strlen_data data members.
* gimple-fold.c (get_range_strlen): Update prototype.
(get_range_strlen_tree): Update prototype. Drop minlen/maxlen
local variables. Use pdata to return information to caller.
Update calls to get_range_strlen. Update pdata->maxbound.
(get_range_strlen -- static version): Similarly.
(get_range_strlen -- extern version): Update for internal
get_range_strlen API change. Convert to external data format.
(get_maxval_strlen): Similarly.
2019-01-01 Jan Hubicka <hubicka@ucw.cz>
* coverage.c (get_coverage_counts): Use current_function_decl.
* profile.c (read_thunk_profile): New function.
(branch_prob): Add THUNK parameter.
* tree-profile.c (tree_profiling): Handle thunks.
* value-prof.c (init_node_map): Handle thunks.
* value-prof.h (branch_prob): Upate prototype.
(read_thunk_profile): Declare.
2019-01-01 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
* gcc.c (process_command): Update copyright notice dates.
* gcov-dump.c (print_version): Ditto.
* gcov.c (print_version): Ditto.
* gcov-tool.c (print_version): Ditto.
* gengtype.c (create_file): Ditto.
* doc/cpp.texi: Bump @copying's copyright year.
* doc/cppinternals.texi: Ditto.
* doc/gcc.texi: Ditto.
* doc/gccint.texi: Ditto.
* doc/gcov.texi: Ditto.
* doc/install.texi: Ditto.
* doc/invoke.texi: Ditto.
Copyright (C) 2019 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
|