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