1 2020-01-09 Martin Jambor <mjambor@suse.cz>
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
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
24 (cgraph_node::remove_symbol_and_inline_clones): Adjust call to
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
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
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.
53 2020-01-09 Martin Liska <mliska@suse.cz>
55 * params.opt: Set Optimization for
56 param_max_speculative_devirt_maydefs.
58 2020-01-09 Martin Sebor <msebor@redhat.com>
62 * builtins.c (compute_objsize): Avoid handling MEM_REFs of vector type.
64 2020-01-09 Martin Liska <mliska@suse.cz>
66 * auto-profile.c (auto_profile): Use opt_for_fn
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.
89 2020-01-09 Richard Biener <rguenther@suse.de>
92 * gimplify.c (gimplify_expr): Deal with NOP definitions.
94 2020-01-09 Richard Biener <rguenther@suse.de>
96 PR tree-optimization/93040
97 * gimple-ssa-store-merging.c (find_bswap_or_nop): Raise search limit.
99 2020-01-09 Georg-Johann Lay <avr@gjlay.de>
101 * common/config/avr/avr-common.c (avr_option_optimization_table)
102 [OPT_LEVELS_1_PLUS]: Set -fsplit-wide-types-early.
104 2020-01-09 Martin Liska <mliska@suse.cz>
106 * cgraphclones.c (symbol_table::materialize_all_clones):
107 Use cgraph_node::dump_name.
109 2020-01-09 Jakub Jelinek <jakub@redhat.com>
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.
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
127 2020-01-08 David Malcolm <dmalcolm@redhat.com>
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.
135 2020-01-08 David Malcolm <dmalcolm@redhat.com>
137 * sbitmap.h (auto_sbitmap): Add operator const_sbitmap.
139 2020-01-08 Jim Wilson <jimw@sifive.com>
141 * config/riscv/riscv.c (riscv_legitimize_tls_address): Ifdef out
142 use of TLS_MODEL_LOCAL_EXEC when not pic.
144 2020-01-08 David Malcolm <dmalcolm@redhat.com>
146 * hash-map-tests.c (selftest::test_map_of_strings_to_int): Fix
149 2020-01-08 Jakub Jelinek <jakub@redhat.com>
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.
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].
162 2020-01-08 Martin Liska <mliska@suse.cz>
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.
207 2020-01-08 Richard Biener <rguenther@suse.de>
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.
216 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
219 * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document.
221 2019-01-08 Richard Biener <rguenther@suse.de>
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.
233 2020-01-08 Martin Liska <mliska@suse.cz>
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.
239 2020-01-08 Martin Liska <mliska@suse.cz>
241 * cgraph.c (cgraph_node::dump): Use systematically
244 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
246 Add -nodevicespecs option for avr.
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.
254 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
256 Implement 64-bit double functions for avr.
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.
270 2020-01-08 Richard Earnshaw <rearnsha@arm.com>
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.
277 2020-01-08 Feng Xue <fxue@os.amperecomputing.com>
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.
285 2020-01-08 Luo Xiong Hu <luoxhu@linux.ibm.com>
287 * ipa-inline.c (caller_growth_limits): Restore the AND.
289 2020-01-07 Andrew Stubbs <ams@codesourcery.com>
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
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.
315 2020-01-07 Andrew Stubbs <ams@codesourcery.com>
317 * config/gcn/constraints.md (DA): Update description and match.
319 (Db): New constraint.
320 * config/gcn/gcn-protos.h (gcn_inline_constant64_p): Add second
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.
341 2020-01-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
343 * doc/sourcebuild.texi (arm_little_endian, arm_nothumb): Documented
344 existing target checks.
346 2020-01-07 Richard Biener <rguenther@suse.de>
348 * doc/install.texi: Bump minimal supported MPC version.
350 2020-01-07 Richard Sandiford <richard.sandiford@arm.com>
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.
360 2020-01-07 Richard Sandiford <richard.sandiford@arm.com>
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.
384 2020-01-07 Jakub Jelinek <jakub@redhat.com>
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.
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.
394 2020-01-07 Martin Liska <mliska@suse.cz>
396 * params.opt: Add Optimization for various parameters.
398 2020-01-07 Martin Liska <mliska@suse.cz>
401 * doc/extend.texi: Explain cloning for target_clone
404 2020-01-07 Martin Liska <mliska@suse.cz>
406 PR tree-optimization/92860
407 * common.opt: Make in Optimization option
408 as it is affected by -O0, which is an Optimization
410 * tree-inline.c (tree_inlinable_function_p):
411 Use opt_for_fn for warn_inline.
412 (expand_call_inline): Likewise.
414 2020-01-07 Martin Liska <mliska@suse.cz>
416 PR tree-optimization/92860
417 * common.opt: Make flag_ree as optimization
420 2020-01-07 Martin Liska <mliska@suse.cz>
422 PR optimization/92860
423 * params.opt: Mark param_min_crossjump_insns with Optimization
426 2020-01-07 Luo Xiong Hu <luoxhu@linux.ibm.com>
428 * ipa-inline-analysis.c (estimate_growth): Fix typo.
429 * ipa-inline.c (caller_growth_limits): Use OR instead of AND.
431 2020-01-06 Michael Meissner <meissner@linux.ibm.com>
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.
438 * config/rs6000/constraints.md (Q constraint): Update
440 * doc/md.texi (RS/6000 constraints): Update 'Q' cosntraint
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
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
452 * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Add support
453 for the offset being 34-bits when -mcpu=future is used.
455 2020-01-06 John David Anglin <danglin@gcc.gnu.org>
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.
462 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
464 * tree-vect-slp.c (vect_build_slp_tree_1): Require all shifts
465 in an IFN_DIV_POW2 node to be equal.
467 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
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.
475 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
477 * config/gcn/gcn-valu.md (subv64di3): Use separate alternatives for
479 (subv64di3_exec): Likewise.
481 2020-01-06 Bryan Stenson <bryan@siliconvortex.com>
483 * config/mips/mips.c (vr4130_align_insns): Fix typo.
484 * doc/md.texi (movstr): Likewise.
486 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
488 * config/gcn/gcn-valu.md (vec_extract<mode><scalar_mode>): Add early
491 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
493 * config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md):
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.
499 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
501 * config/aarch64/aarch64-sve.md (@aarch64_sel_dup<mode>): Use Upl
502 rather than Upa for CPY /M.
504 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
506 * config/gcn/gcn.c (gcn_inline_constant_p): Allow 64 as an inline
509 2020-01-06 Martin Liska <mliska@suse.cz>
511 PR tree-optimization/92860
512 * params.opt: Mark param_max_combine_insns with Optimization
515 2020-01-05 Jakub Jelinek <jakub@redhat.com>
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
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.
535 2020-01-03 Konstantin Kharlamov <Hi-Angel@yandex.ru>
537 * gdbinit.in (pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, pdd, pbs, pbm):
538 Use "call" instead of "set".
540 2020-01-03 Martin Jambor <mjambor@suse.cz>
543 * ipa-cp.c (print_all_lattices): Skip functions without info.
545 2020-01-03 Jakub Jelinek <jakub@redhat.com>
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
554 * config/i386/i386.opt (x_prefer_vector_width_type): Remove TargetSave
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.
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.
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
577 2020-01-02 Dennis Zhang <dennis.zhang@arm.com>
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.
596 2020-01-02 Jakub Jelinek <jakub@redhat.com>
599 * predict.c (compute_function_frequency): Don't call
600 warn_function_cold on functions that already have cold attribute.
602 2020-01-01 John David Anglin <danglin@gcc.gnu.org>
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.
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
614 * config/pa/predicates.md (cmpib_comparison_operator): Remove.
616 2020-01-01 Jakub Jelinek <jakub@redhat.com>
618 Update copyright years.
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.
633 2020-01-01 Jan Hubicka <hubicka@ucw.cz>
635 * ipa.c (walk_polymorphic_call_targets): Fix updating of overall
638 2020-01-01 Jakub Jelinek <jakub@redhat.com>
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.
647 Copyright (C) 2020 Free Software Foundation, Inc.
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.