Make cgraph_edge::resolve-speculation static
[gcc.git] / gcc / ChangeLog
1 2020-01-09 Martin Jambor <mjambor@suse.cz>
2
3 * cgraph.h (cgraph_edge): Make remove, set_call_stmt, make_direct,
4 resolve_speculation and redirect_call_stmt_to_callee static. Change
5 return type of set_call_stmt to cgraph_edge *.
6 * auto-profile.c (afdo_indirect_call): Adjust call to
7 redirect_call_stmt_to_callee.
8 * cgraph.c (cgraph_edge::set_call_stmt): Make return cgraph-edge *,
9 make the this pointer explicit, adjust self-recursive calls and the
10 call top make_direct. Return the resulting edge.
11 (cgraph_edge::remove): Make this pointer explicit.
12 (cgraph_edge::resolve_speculation): Likewise, adjust call to remove.
13 (cgraph_edge::make_direct): Likewise, adjust call to
14 resolve_speculation.
15 (cgraph_edge::redirect_call_stmt_to_callee): Likewise, also adjust
16 call to set_call_stmt.
17 (cgraph_update_edges_for_call_stmt_node): Update call to
18 set_call_stmt and remove.
19 * cgraphclones.c (cgraph_node::set_call_stmt_including_clones):
20 Renamed edge to master_edge. Adjusted calls to set_call_stmt.
21 (cgraph_node::create_edge_including_clones): Moved "first" definition
22 of edge to the block where it was used. Adjusted calls to
23 set_call_stmt.
24 (cgraph_node::remove_symbol_and_inline_clones): Adjust call to
25 cgraph_edge::remove.
26 * cgraphunit.c (walk_polymorphic_call_targets): Adjusted calls to
27 make_direct and redirect_call_stmt_to_callee.
28 * ipa-fnsummary.c (redirect_to_unreachable): Adjust calls to
29 resolve_speculation and make_direct.
30 * ipa-inline-transform.c (inline_transform): Adjust call to
31 redirect_call_stmt_to_callee.
32 (check_speculations_1):: Adjust call to resolve_speculation.
33 * ipa-inline.c (resolve_noninline_speculation): Adjust call to
34 resolve-speculation.
35 (inline_small_functions): Adjust call to resolve_speculation.
36 (ipa_inline): Likewise.
37 * ipa-prop.c (ipa_make_edge_direct_to_target): Adjust call to
38 make_direct.
39 * ipa-visibility.c (function_and_variable_visibility): Make iteration
40 safe with regards to edge removal, adjust calls to
41 redirect_call_stmt_to_callee.
42 * ipa.c (walk_polymorphic_call_targets): Adjust calls to make_direct
43 and redirect_call_stmt_to_callee.
44 * multiple_target.c (create_dispatcher_calls): Adjust call to
45 redirect_call_stmt_to_callee
46 (redirect_to_specific_clone): Likewise.
47 * tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph):
48 Adjust calls to cgraph_edge::remove.
49 * tree-inline.c (copy_bb): Adjust call to set_call_stmt.
50 (redirect_all_calls): Adjust call to redirect_call_stmt_to_callee.
51 (expand_call_inline): Adjust call to cgraph_edge::remove.
52
53 2020-01-09 Martin Liska <mliska@suse.cz>
54
55 * params.opt: Set Optimization for
56 param_max_speculative_devirt_maydefs.
57
58 2020-01-09 Martin Sebor <msebor@redhat.com>
59
60 PR middle-end/93200
61 PR fortran/92956
62 * builtins.c (compute_objsize): Avoid handling MEM_REFs of vector type.
63
64 2020-01-09 Martin Liska <mliska@suse.cz>
65
66 * auto-profile.c (auto_profile): Use opt_for_fn
67 for a parameter.
68 * ipa-cp.c (ipcp_lattice::add_value): Likewise.
69 (propagate_vals_across_arith_jfunc): Likewise.
70 (hint_time_bonus): Likewise.
71 (incorporate_penalties): Likewise.
72 (good_cloning_opportunity_p): Likewise.
73 (perform_estimation_of_a_value): Likewise.
74 (estimate_local_effects): Likewise.
75 (ipcp_propagate_stage): Likewise.
76 * ipa-fnsummary.c (decompose_param_expr): Likewise.
77 (set_switch_stmt_execution_predicate): Likewise.
78 (analyze_function_body): Likewise.
79 * ipa-inline-analysis.c (offline_size): Likewise.
80 * ipa-inline.c (early_inliner): Likewise.
81 * ipa-prop.c (ipa_analyze_node): Likewise.
82 (ipcp_transform_function): Likewise.
83 * ipa-sra.c (process_scan_results): Likewise.
84 (ipa_sra_summarize_function): Likewise.
85 * params.opt: Rename ipcp-unit-growth to
86 ipa-cp-unit-growth. Add Optimization for various
87 IPA-related parameters.
88
89 2020-01-09 Richard Biener <rguenther@suse.de>
90
91 PR middle-end/93054
92 * gimplify.c (gimplify_expr): Deal with NOP definitions.
93
94 2020-01-09 Richard Biener <rguenther@suse.de>
95
96 PR tree-optimization/93040
97 * gimple-ssa-store-merging.c (find_bswap_or_nop): Raise search limit.
98
99 2020-01-09 Georg-Johann Lay <avr@gjlay.de>
100
101 * common/config/avr/avr-common.c (avr_option_optimization_table)
102 [OPT_LEVELS_1_PLUS]: Set -fsplit-wide-types-early.
103
104 2020-01-09 Martin Liska <mliska@suse.cz>
105
106 * cgraphclones.c (symbol_table::materialize_all_clones):
107 Use cgraph_node::dump_name.
108
109 2020-01-09 Jakub Jelinek <jakub@redhat.com>
110
111 PR inline-asm/93202
112 * config/riscv/riscv.c (riscv_print_operand_reloc): Use
113 output_operand_lossage instead of gcc_unreachable.
114 * doc/md.texi (riscv f constraint): Fix typo.
115
116 PR target/93141
117 * config/i386/i386.md (subv<mode>4): Use SWIDWI iterator instead of
118 SWI. Use <general_hilo_operand> instead of <general_operand>. Use
119 CONST_SCALAR_INT_P instead of CONST_INT_P.
120 (*subv<mode>4_1): Rename to ...
121 (subv<mode>4_1): ... this.
122 (*subv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
123 define_insn_and_split patterns.
124 (*subv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
125 patterns.
126
127 2020-01-08 David Malcolm <dmalcolm@redhat.com>
128
129 * vec.c (class selftest::count_dtor): New class.
130 (selftest::test_auto_delete_vec): New test.
131 (selftest::vec_c_tests): Call it.
132 * vec.h (class auto_delete_vec): New class template.
133 (auto_delete_vec<T>::~auto_delete_vec): New dtor.
134
135 2020-01-08 David Malcolm <dmalcolm@redhat.com>
136
137 * sbitmap.h (auto_sbitmap): Add operator const_sbitmap.
138
139 2020-01-08 Jim Wilson <jimw@sifive.com>
140
141 * config/riscv/riscv.c (riscv_legitimize_tls_address): Ifdef out
142 use of TLS_MODEL_LOCAL_EXEC when not pic.
143
144 2020-01-08 David Malcolm <dmalcolm@redhat.com>
145
146 * hash-map-tests.c (selftest::test_map_of_strings_to_int): Fix
147 memory leak.
148
149 2020-01-08 Jakub Jelinek <jakub@redhat.com>
150
151 PR target/93187
152 * config/i386/i386.md (*stack_protect_set_2_<mode> peephole2,
153 *stack_protect_set_3 peephole2): Also check that the second
154 insns source is general_operand.
155
156 PR target/93174
157 * config/i386/i386.md (addcarry<mode>_0): Use nonimmediate_operand
158 predicate for output operand instead of register_operand.
159 (addcarry<mode>, addcarry<mode>_1): Likewise. Add alternative with
160 memory destination and non-memory operands[2].
161
162 2020-01-08 Martin Liska <mliska@suse.cz>
163
164 * cgraph.c (cgraph_node::dump): Use ::dump_name or
165 ::dump_asm_name instead of (::name or ::asm_name).
166 * cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
167 * cgraphunit.c (walk_polymorphic_call_targets): Likewise.
168 (analyze_functions): Likewise.
169 (expand_all_functions): Likewise.
170 * ipa-cp.c (ipcp_cloning_candidate_p): Likewise.
171 (propagate_bits_across_jump_function): Likewise.
172 (dump_profile_updates): Likewise.
173 (ipcp_store_bits_results): Likewise.
174 (ipcp_store_vr_results): Likewise.
175 * ipa-devirt.c (dump_targets): Likewise.
176 * ipa-fnsummary.c (analyze_function_body): Likewise.
177 * ipa-hsa.c (check_warn_node_versionable): Likewise.
178 (process_hsa_functions): Likewise.
179 * ipa-icf.c (sem_item_optimizer::merge_classes): Likewise.
180 (set_alias_uids): Likewise.
181 * ipa-inline-transform.c (save_inline_function_body): Likewise.
182 * ipa-inline.c (recursive_inlining): Likewise.
183 (inline_to_all_callers_1): Likewise.
184 (ipa_inline): Likewise.
185 * ipa-profile.c (ipa_propagate_frequency_1): Likewise.
186 (ipa_propagate_frequency): Likewise.
187 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
188 (remove_described_reference): Likewise.
189 * ipa-pure-const.c (worse_state): Likewise.
190 (check_retval_uses): Likewise.
191 (analyze_function): Likewise.
192 (propagate_pure_const): Likewise.
193 (propagate_nothrow): Likewise.
194 (dump_malloc_lattice): Likewise.
195 (propagate_malloc): Likewise.
196 (pass_local_pure_const::execute): Likewise.
197 * ipa-visibility.c (optimize_weakref): Likewise.
198 (function_and_variable_visibility): Likewise.
199 * ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
200 (ipa_discover_variable_flags): Likewise.
201 * lto-streamer-out.c (output_function): Likewise.
202 (output_constructor): Likewise.
203 * tree-inline.c (copy_bb): Likewise.
204 * tree-ssa-structalias.c (ipa_pta_execute): Likewise.
205 * varpool.c (symbol_table::remove_unreferenced_decls): Likewise.
206
207 2020-01-08 Richard Biener <rguenther@suse.de>
208
209 PR middle-end/93199
210 * tree-eh.c (sink_clobbers): Update virtual operands for
211 the first and last stmt only. Add a dry-run capability.
212 (pass_lower_eh_dispatch::execute): Perform clobber sinking
213 after CFG manipulations and in RPO order to catch all
214 secondary opportunities reliably.
215
216 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
217
218 PR target/93182
219 * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document.
220
221 2019-01-08 Richard Biener <rguenther@suse.de>
222
223 PR middle-end/93199
224 * gimple-fold.c (rewrite_to_defined_overflow): Mark stmt modified.
225 * tree-ssa-loop-im.c (move_computations_worker): Properly adjust
226 virtual operand, also updating SSA use.
227 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
228 Update stmt after resetting virtual operand.
229 (tree_loop_interchange::move_code_to_inner_loop): Likewise.
230 * gimple-iterator.c (gsi_remove): When not removing the stmt
231 permanently do not delink immediate uses or mark the stmt modified.
232
233 2020-01-08 Martin Liska <mliska@suse.cz>
234
235 * ipa-fnsummary.c (dump_ipa_call_summary): Use symtab_node::dump_name.
236 (ipa_call_context::estimate_size_and_time): Likewise.
237 (inline_analyze_function): Likewise.
238
239 2020-01-08 Martin Liska <mliska@suse.cz>
240
241 * cgraph.c (cgraph_node::dump): Use systematically
242 dump_asm_name.
243
244 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
245
246 Add -nodevicespecs option for avr.
247
248 PR target/93182
249 * config/avr/avr.opt (-nodevicespecs): New driver option.
250 * config/avr/driver-avr.c (avr_devicespecs_file): Only issue
251 "-specs=device-specs/..." if that option is not set.
252 * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document.
253
254 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
255
256 Implement 64-bit double functions for avr.
257
258 PR target/92055
259 * config.gcc (tm_defines) [target=avr]: Support --with-libf7,
260 --with-double-comparison.
261 * doc/install.texi: Document them.
262 * config/avr/avr-c.c (avr_cpu_cpp_builtins)
263 <WITH_LIBF7_LIBGCC, WITH_LIBF7_MATH, WITH_LIBF7_MATH_SYMBOLS>
264 <WITH_DOUBLE_COMPARISON>: New built-in defines.
265 * doc/invoke.texi (AVR Built-in Macros): Document them.
266 * config/avr/avr-protos.h (avr_float_lib_compare_returns_bool): New.
267 * config/avr/avr.c (avr_float_lib_compare_returns_bool): New function.
268 * config/avr/avr.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): New macro.
269
270 2020-01-08 Richard Earnshaw <rearnsha@arm.com>
271
272 PR target/93188
273 * config/arm/t-multilib (MULTILIB_MATCHES): Add rules to match
274 armv7-a{+mp,+sec,+mp+sec} to appropriate armv7 multilib variants
275 when only building rm-profile multilibs.
276
277 2020-01-08 Feng Xue <fxue@os.amperecomputing.com>
278
279 PR ipa/93084
280 * ipa-cp.c (self_recursively_generated_p): Find matched aggregate
281 lattice for a value to check.
282 (propagate_vals_across_arith_jfunc): Add an assertion to ensure
283 finite propagation in self-recursive scc.
284
285 2020-01-08 Luo Xiong Hu <luoxhu@linux.ibm.com>
286
287 * ipa-inline.c (caller_growth_limits): Restore the AND.
288
289 2020-01-07 Andrew Stubbs <ams@codesourcery.com>
290
291 * config/gcn/gcn-valu.md (VEC_1REG_INT_ALT): Delete iterator.
292 (VEC_ALLREG_ALT): New iterator.
293 (VEC_ALLREG_INT_MODE): New iterator.
294 (VCMP_MODE): New iterator.
295 (VCMP_MODE_INT): New iterator.
296 (vec_cmpu<mode>di): Use VCMP_MODE_INT.
297 (vec_cmp<u>v64qidi): New define_expand.
298 (vec_cmp<mode>di_exec): Use VCMP_MODE.
299 (vec_cmpu<mode>di_exec): New define_expand.
300 (vec_cmp<u>v64qidi_exec): New define_expand.
301 (vec_cmp<mode>di_dup): Use VCMP_MODE.
302 (vec_cmp<mode>di_dup_exec): Use VCMP_MODE.
303 (vcond<VEC_ALL1REG_MODE:mode><VEC_1REG_ALT:mode>): Rename ...
304 (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>): ... to this.
305 (vcond<VEC_ALL1REG_MODE:mode><VEC_1REG_ALT:mode>_exec): Rename ...
306 (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>_exec): ... to this.
307 (vcondu<VEC_ALL1REG_MODE:mode><VEC_1REG_INT_ALT:mode>): Rename ...
308 (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>): ... to this.
309 (vcondu<VEC_ALL1REG_MODE:mode><VEC_1REG_INT_ALT:mode>_exec): Rename ...
310 (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>_exec): ... to
311 this.
312 * config/gcn/gcn.c (print_operand): Fix 8 and 16 bit suffixes.
313 * config/gcn/gcn.md (expander): Add sign_extend and zero_extend.
314
315 2020-01-07 Andrew Stubbs <ams@codesourcery.com>
316
317 * config/gcn/constraints.md (DA): Update description and match.
318 (DB): Likewise.
319 (Db): New constraint.
320 * config/gcn/gcn-protos.h (gcn_inline_constant64_p): Add second
321 parameter.
322 * config/gcn/gcn.c (gcn_inline_constant64_p): Add 'mixed' parameter.
323 Implement 'Db' mixed immediate type.
324 * config/gcn/gcn-valu.md (addcv64si3<exec_vcc>): Rework constraints.
325 (addcv64si3_dup<exec_vcc>): Delete.
326 (subcv64si3<exec_vcc>): Rework constraints.
327 (addv64di3): Rework constraints.
328 (addv64di3_exec): Rework constraints.
329 (subv64di3): Rework constraints.
330 (addv64di3_dup): Delete.
331 (addv64di3_dup_exec): Delete.
332 (addv64di3_zext): Rework constraints.
333 (addv64di3_zext_exec): Rework constraints.
334 (addv64di3_zext_dup): Rework constraints.
335 (addv64di3_zext_dup_exec): Rework constraints.
336 (addv64di3_zext_dup2): Rework constraints.
337 (addv64di3_zext_dup2_exec): Rework constraints.
338 (addv64di3_sext_dup2): Rework constraints.
339 (addv64di3_sext_dup2_exec): Rework constraints.
340
341 2020-01-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
342
343 * doc/sourcebuild.texi (arm_little_endian, arm_nothumb): Documented
344 existing target checks.
345
346 2020-01-07 Richard Biener <rguenther@suse.de>
347
348 * doc/install.texi: Bump minimal supported MPC version.
349
350 2020-01-07 Richard Sandiford <richard.sandiford@arm.com>
351
352 * langhooks-def.h (lhd_simulate_enum_decl): Declare.
353 (LANG_HOOKS_SIMULATE_ENUM_DECL): Use it.
354 * langhooks.c: Include stor-layout.h.
355 (lhd_simulate_enum_decl): New function.
356 * config/aarch64/aarch64-sve-builtins.cc (init_builtins): Call
357 handle_arm_sve_h for the LTO frontend.
358 (register_vector_type): Cope with null returns from pushdecl.
359
360 2020-01-07 Richard Sandiford <richard.sandiford@arm.com>
361
362 * config/aarch64/aarch64-protos.h (aarch64_sve::svbool_type_p)
363 (aarch64_sve::nvectors_if_data_type): Replace with...
364 (aarch64_sve::builtin_type_p): ...this.
365 * config/aarch64/aarch64-sve-builtins.cc: Include attribs.h.
366 (find_vector_type): Delete.
367 (add_sve_type_attribute): New function.
368 (lookup_sve_type_attribute): Likewise.
369 (register_builtin_types): Add an "SVE type" attribute to each type.
370 (register_tuple_type): Likewise.
371 (svbool_type_p, nvectors_if_data_type): Delete.
372 (mangle_builtin_type): Use lookup_sve_type_attribute.
373 (builtin_type_p): Likewise. Add an overload that returns the
374 number of constituent vector and predicate registers.
375 * config/aarch64/aarch64.c (aarch64_sve_argument_p): Delete.
376 (aarch64_returns_value_in_sve_regs_p): Use aarch64_sve::builtin_type_p
377 instead of aarch64_sve_argument_p.
378 (aarch64_takes_arguments_in_sve_regs_p): Likewise.
379 (aarch64_pass_by_reference): Likewise.
380 (aarch64_function_value_1): Likewise.
381 (aarch64_return_in_memory): Likewise.
382 (aarch64_layout_arg): Likewise.
383
384 2020-01-07 Jakub Jelinek <jakub@redhat.com>
385
386 PR tree-optimization/93156
387 * tree-ssa-ccp.c (bit_value_binop): For x * x note that the second
388 least significant bit is always clear.
389
390 PR tree-optimization/93118
391 * match.pd ((x >> c) << c -> x & (-1<<c)): Add nop_convert?. Add new
392 simplifier with two intermediate conversions.
393
394 2020-01-07 Martin Liska <mliska@suse.cz>
395
396 * params.opt: Add Optimization for various parameters.
397
398 2020-01-07 Martin Liska <mliska@suse.cz>
399
400 PR ipa/83411
401 * doc/extend.texi: Explain cloning for target_clone
402 attribute.
403
404 2020-01-07 Martin Liska <mliska@suse.cz>
405
406 PR tree-optimization/92860
407 * common.opt: Make in Optimization option
408 as it is affected by -O0, which is an Optimization
409 option.
410 * tree-inline.c (tree_inlinable_function_p):
411 Use opt_for_fn for warn_inline.
412 (expand_call_inline): Likewise.
413
414 2020-01-07 Martin Liska <mliska@suse.cz>
415
416 PR tree-optimization/92860
417 * common.opt: Make flag_ree as optimization
418 attribute.
419
420 2020-01-07 Martin Liska <mliska@suse.cz>
421
422 PR optimization/92860
423 * params.opt: Mark param_min_crossjump_insns with Optimization
424 keyword.
425
426 2020-01-07 Luo Xiong Hu <luoxhu@linux.ibm.com>
427
428 * ipa-inline-analysis.c (estimate_growth): Fix typo.
429 * ipa-inline.c (caller_growth_limits): Use OR instead of AND.
430
431 2020-01-06 Michael Meissner <meissner@linux.ibm.com>
432
433 * config/rs6000/rs6000.c (hard_reg_and_mode_to_addr_mask): New
434 helper function to return the valid addressing formats for a given
435 hard register and mode.
436 (rs6000_adjust_vec_address): Call hard_reg_and_mode_to_addr_mask.
437
438 * config/rs6000/constraints.md (Q constraint): Update
439 documentation.
440 * doc/md.texi (RS/6000 constraints): Update 'Q' cosntraint
441 documentation.
442
443 * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
444 Use 'Q' for doing vector extract from memory.
445 (vsx_extract_v4sf_var): Use 'Q' for doing vector extract from
446 memory.
447 (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for
448 doing vector extract from memory.
449 (vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector
450 extract from memory.
451
452 * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Add support
453 for the offset being 34-bits when -mcpu=future is used.
454
455 2020-01-06 John David Anglin <danglin@gcc.gnu.org>
456
457 * config/pa/pa.md: Revert change to use ordered_comparison_operator
458 instead of cmpib_comparison_operator in cmpib patterns.
459 * config/pa/predicates.md (cmpib_comparison_operator): Revert removal
460 of cmpib_comparison_operator. Revise comment.
461
462 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
463
464 * tree-vect-slp.c (vect_build_slp_tree_1): Require all shifts
465 in an IFN_DIV_POW2 node to be equal.
466
467 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
468
469 * tree-vect-stmts.c (vect_check_load_store_mask): Rename to...
470 (vect_check_scalar_mask): ...this.
471 (vectorizable_store, vectorizable_load): Update call accordingly.
472 (vectorizable_call): Use vect_check_scalar_mask to check the mask
473 argument in calls to conditional internal functions.
474
475 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
476
477 * config/gcn/gcn-valu.md (subv64di3): Use separate alternatives for
478 '0' matching inputs.
479 (subv64di3_exec): Likewise.
480
481 2020-01-06 Bryan Stenson <bryan@siliconvortex.com>
482
483 * config/mips/mips.c (vr4130_align_insns): Fix typo.
484 * doc/md.texi (movstr): Likewise.
485
486 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
487
488 * config/gcn/gcn-valu.md (vec_extract<mode><scalar_mode>): Add early
489 clobber.
490
491 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
492
493 * config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md):
494 Depend on...
495 (s-aarch64-tune-md): ...this new stamp file. Pipe the new contents
496 to a temporary file and use move-if-change to update the real
497 file where necessary.
498
499 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
500
501 * config/aarch64/aarch64-sve.md (@aarch64_sel_dup<mode>): Use Upl
502 rather than Upa for CPY /M.
503
504 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
505
506 * config/gcn/gcn.c (gcn_inline_constant_p): Allow 64 as an inline
507 immediate.
508
509 2020-01-06 Martin Liska <mliska@suse.cz>
510
511 PR tree-optimization/92860
512 * params.opt: Mark param_max_combine_insns with Optimization
513 keyword.
514
515 2020-01-05 Jakub Jelinek <jakub@redhat.com>
516
517 PR target/93141
518 * config/i386/i386.md (SWIDWI): New mode iterator.
519 (DWI, dwi): Add TImode variants.
520 (addv<mode>4): Use SWIDWI iterator instead of SWI. Use
521 <general_hilo_operand> instead of <general_operand>. Use
522 CONST_SCALAR_INT_P instead of CONST_INT_P.
523 (*addv<mode>4_1): Rename to ...
524 (addv<mode>4_1): ... this.
525 (QWI): New mode attribute.
526 (*addv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
527 define_insn_and_split patterns.
528 (*addv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
529 patterns.
530 (uaddv<mode>4): Use SWIDWI iterator instead of SWI. Use
531 <general_hilo_operand> instead of <general_operand>.
532 (*addcarry<mode>_1): New define_insn.
533 (*add<dwi>3_doubleword_cc_overflow_1): New define_insn_and_split.
534
535 2020-01-03 Konstantin Kharlamov <Hi-Angel@yandex.ru>
536
537 * gdbinit.in (pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, pdd, pbs, pbm):
538 Use "call" instead of "set".
539
540 2020-01-03 Martin Jambor <mjambor@suse.cz>
541
542 PR ipa/92917
543 * ipa-cp.c (print_all_lattices): Skip functions without info.
544
545 2020-01-03 Jakub Jelinek <jakub@redhat.com>
546
547 PR target/93089
548 * config/i386/i386-options.c (ix86_simd_clone_adjust): If
549 TARGET_PREFER_AVX128, use prefer-vector-width=256 for 'c' and 'd'
550 simd clones. If TARGET_PREFER_AVX256, use prefer-vector-width=512
551 for 'e' simd clones.
552
553 PR target/93089
554 * config/i386/i386.opt (x_prefer_vector_width_type): Remove TargetSave
555 entry.
556 (mprefer-vector-width=): Add Save.
557 * config/i386/i386-options.c (ix86_target_string): Add PVW argument, print
558 -mprefer-vector-width= if non-zero. Fix up -mfpmath= comment.
559 (ix86_debug_options, ix86_function_specific_print): Adjust
560 ix86_target_string callers.
561 (ix86_valid_target_attribute_inner_p): Handle prefer-vector-width=.
562 (ix86_valid_target_attribute_tree): Likewise.
563 * config/i386/i386-options.h (ix86_target_string): Add PVW argument.
564 * config/i386/i386-expand.c (ix86_expand_builtin): Adjust
565 ix86_target_string caller.
566
567 PR target/93110
568 * config/i386/i386.md (abs<mode>2): Use expand_simple_binop instead of
569 emitting ASHIFTRT, XOR and MINUS by hand. Use gen_int_mode with QImode
570 instead of gen_int_shift_amount + convert_modes.
571
572 PR rtl-optimization/93088
573 * loop-iv.c (find_single_def_src): Punt after looking through
574 128 reg copies for regs with single definitions. Move definitions
575 to first uses.
576
577 2020-01-02 Dennis Zhang <dennis.zhang@arm.com>
578
579 * config/arm/arm-c.c (arm_cpu_builtins): Define
580 __ARM_FEATURE_MATMUL_INT8, __ARM_FEATURE_BF16_VECTOR_ARITHMETIC,
581 __ARM_FEATURE_BF16_SCALAR_ARITHMETIC, and
582 __ARM_BF16_FORMAT_ALTERNATIVE when enabled.
583 * config/arm/arm-cpus.in (armv8_6, i8mm, bf16): New features.
584 * config/arm/arm-tables.opt: Regenerated.
585 * config/arm/arm.c (arm_option_reconfigure_globals): Initialize
586 arm_arch_i8mm and arm_arch_bf16 when enabled.
587 * config/arm/arm.h (TARGET_I8MM): New macro.
588 (TARGET_BF16_FP, TARGET_BF16_SIMD): Likewise.
589 * config/arm/t-aprofile: Add matching rules for -march=armv8.6-a.
590 * config/arm/t-arm-elf (all_v8_archs): Add armv8.6-a.
591 * config/arm/t-multilib: Add matching rules for -march=armv8.6-a.
592 (v8_6_a_simd_variants): New.
593 (v8_*_a_simd_variants): Add i8mm and bf16.
594 * doc/invoke.texi (armv8.6-a, i8mm, bf16): Document new options.
595
596 2020-01-02 Jakub Jelinek <jakub@redhat.com>
597
598 PR ipa/93087
599 * predict.c (compute_function_frequency): Don't call
600 warn_function_cold on functions that already have cold attribute.
601
602 2020-01-01 John David Anglin <danglin@gcc.gnu.org>
603
604 PR target/67834
605 * config/pa/pa.c (pa_elf_select_rtx_section): New. Put references to
606 COMDAT group function labels in .data.rel.ro.local section.
607 * config/pa/pa32-linux.h (TARGET_ASM_SELECT_RTX_SECTION): Define.
608
609 PR target/93111
610 * config/pa/pa.md (scc): Use ordered_comparison_operator instead of
611 comparison_operator in B and S integer comparisons. Likewise, use
612 ordered_comparison_operator instead of cmpib_comparison_operator in
613 cmpib patterns.
614 * config/pa/predicates.md (cmpib_comparison_operator): Remove.
615
616 2020-01-01 Jakub Jelinek <jakub@redhat.com>
617
618 Update copyright years.
619
620 * gcc.c (process_command): Update copyright notice dates.
621 * gcov-dump.c (print_version): Ditto.
622 * gcov.c (print_version): Ditto.
623 * gcov-tool.c (print_version): Ditto.
624 * gengtype.c (create_file): Ditto.
625 * doc/cpp.texi: Bump @copying's copyright year.
626 * doc/cppinternals.texi: Ditto.
627 * doc/gcc.texi: Ditto.
628 * doc/gccint.texi: Ditto.
629 * doc/gcov.texi: Ditto.
630 * doc/install.texi: Ditto.
631 * doc/invoke.texi: Ditto.
632
633 2020-01-01 Jan Hubicka <hubicka@ucw.cz>
634
635 * ipa.c (walk_polymorphic_call_targets): Fix updating of overall
636 summary.
637
638 2020-01-01 Jakub Jelinek <jakub@redhat.com>
639
640 PR tree-optimization/93098
641 * match.pd (popcount): For shift amounts, use integer_onep
642 or wi::to_widest () == cst instead of tree_to_uhwi () == cst
643 tests. Make sure that precision is power of two larger than or equal
644 to 16. Ensure shift is never negative. Use HOST_WIDE_INT_UC macro
645 instead of ULL suffixed constants. Formatting fixes.
646 \f
647 Copyright (C) 2020 Free Software Foundation, Inc.
648
649 Copying and distribution of this file, with or without modification,
650 are permitted in any medium without royalty provided the copyright
651 notice and this notice are preserved.