1 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2 Sebastian Pop <s.pop@samsung.com>
4 * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
5 (cleanup_loop_iter_dom): Remove.
6 (build_loop_iteration_domains): Remove.
7 (build_scop_context): Remove.
8 (build_scop_iteration_domain): Remove.
9 (add_loop_constraints): New.
10 (build_iteration_domains): New.
11 (build_poly_scop): Call build_iteration_domains.
13 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
14 Sebastian Pop <s.pop@samsung.com>
16 * graphite-scop-detection.c
17 (scop_detection::harmful_loop_in_region): Free dom and loops.
18 (scop_detection::loop_body_is_valid_scop): Free bbs.
20 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
21 Sebastian Pop <s.pop@samsung.com>
23 * graphite-scop-detection.c (record_loop_in_sese): New.
24 (gather_bbs::before_dom_children): Call record_loop_in_sese.
25 (build_scops): Remove call to build_sese_loop_nests.
26 * sese.c (sese_record_loop): Remove.
27 (build_sese_loop_nests): Remove.
28 (new_sese_info): Remove region->loops.
29 (free_sese_info): Same.
30 * sese.h (sese_contains_loop): Same.
31 (build_sese_loop_nests): Remove.
32 (sese_contains_loop): Remove.
34 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
35 Sebastian Pop <s.pop@samsung.com>
37 * graphite-scop-detection.c (loop_is_valid_scop): Renamed loop_is_valid_in_scop.
38 (scop_detection::harmful_stmt_in_region): Renamed harmful_loop_in_region.
39 Call loop_is_valid_in_scop.
41 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
42 Sebastian Pop <s.pop@samsung.com>
44 * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
47 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
48 Sebastian Pop <s.pop@samsung.com>
50 * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
51 * graphite.h (struct poly_bb): Remove field is_reduction.
52 (PBB_IS_REDUCTION): Remove.
54 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
55 Sebastian Pop <s.pop@samsung.com>
57 * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
58 (add_pdr_constraints): Same.
59 (scop_get_reads): Same.
60 (scop_get_must_writes): Same.
61 (scop_get_may_writes): Same.
62 (scop_get_original_schedule): Same.
63 (extend_schedule): Same.
64 (apply_schedule_on_deps): Same.
67 (scop_get_dependences): Same.
68 * graphite-isl-ast-to-gimple.c
69 (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
70 * graphite-optimize-isl.c (get_schedule_for_band): Same.
71 (get_schedule_for_band_list): Same.
72 (get_schedule_map): Same.
73 (apply_schedule_map_to_scop): Same.
74 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
75 (build_loop_iteration_domains): Same.
76 (add_condition_to_pbb): Same.
77 (add_param_constraints): Same.
78 (pdr_add_memory_accesses): Same.
79 (pdr_add_data_dimensions): Same.
81 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
83 * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
86 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
88 * common.opt (feliminate-dwarf2-dups): Replace references to
89 "DWARF 2" with just "DWARF".
90 * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
91 * doc/extend.texi: Likewise.
92 * doc/cpp.texi: Likewise.
93 * doc/invoke.texi: Likewise.
94 (Option Summary): Add -gdwarf to list of Debugging Options.
95 (Debugging Options): Document -gdwarf.
96 * doc/contrib.texi: Spell "DWARF" like that.
98 2016-01-21 Jakub Jelinek <jakub@redhat.com>
100 * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
101 warning. Fix up formatting.
104 * gimplify.c (gimplify_asm_expr): Warn if it is too late to
105 attempt to mark memory input operand addressable and
106 call prepare_gimple_addressable in that case. Don't adjust
107 input_location for diagnostics, use error_at instead.
109 2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
111 * config/rs6000/ppc-auxv.h: New file.
112 * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
114 (cpu_supports): Likewise.
115 * config/rs6000/rs6000.c: include "ppc-auxv.h".
116 (cpu_is_info): New variable.
117 (cpu_supports_info): Likewise.
118 (tcb_verification_symbol): Likewise.
119 (cpu_builtin_p): Likewise.
120 (cpu_expand_builtin): New function.
121 (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
122 (rs6000_init_builtins): Likewise.
123 (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
124 * config/rs6000/rs6000.h (TLS_REGNUM): New define.
125 * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
126 * configure: Regenerate.
127 * config.in: Likewise.
128 * doc/extend.texi (PowerPC Built-in Functions): Document
129 __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
131 2016-01-20 David Edelsohn <dje.gcc@gmail.com>
134 * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
136 * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
139 2016-01-20 Richard Henderson <rth@redhat.com>
145 * tree.c (tm_define_builtin): New.
146 (find_tm_vector_type): New.
147 (build_tm_vector_builtins): New.
148 (build_common_builtin_nodes): Call it.
150 2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
152 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
153 (arm_fp_ok): Likewise.
155 (arm_crypto): Likewise.
157 2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
158 Richard Biener <rguenther@suse.de>
160 PR tree-optimization/69328
161 * tree-vect-stmts.c (vect_is_simple_cond): Check compared
162 vectors have same number of elements.
163 (vectorizable_condition): Fix masked version recognition.
165 2016-01-20 Richard Biener <rguenther@suse.de>
167 PR tree-optimization/69345
168 * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
169 (VN_INFO_PTR_INFO): Likewise.
170 * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
171 info when it is equal between non-dominating SSA names.
172 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
173 Make sure to look at original SSA infos.
175 2016-01-20 Jeff Law <law@redhat.com>
178 * config/m68k/predicates.md (pow2_m1_operand): New predicate
180 (reg_or_pow2_m1_operand): Call pow2_m1_operand.
181 (pc_or_label_operand): New predicate.
182 * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
183 tests for small integers that are 2^n - 1.
185 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
187 * doc/invoke.texi (Options Summary): Add '.' after @xref.
189 2016-01-19 Jeff Law <law@redhat.com>
192 * tree-ssa-threadbackwards.c
193 (fsm_find_control_statement_thread_paths): Do not try to lookup
194 FSM paths for SSA_NAMEs appearing in abnormal PHIs.
196 2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
198 * doc/lto.texi: Remove text that says only Gold has linker plugin
201 2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
203 * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
204 (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
206 (modified_type_die): Add REVERSE parameter and pass it recursively,
207 as well as to base_type_die. Adjust presence check accordingly.
208 (base_type_for_mode): Adjust call to modified_type_die.
209 (add_type_attribute): Add REVERSE parameter and pass it to
211 (generic_parameter_die): Adjust call to add_type_attribute.
212 (add_scalar_info): Likewise.
213 (add_subscript_info): Likewise.
214 (gen_array_type_die): Likewise.
215 (gen_descr_array_type_die): Likewise.
216 (gen_entry_point_die): Likewise.
217 (gen_enumeration_type_die): Likewise.
218 (gen_formal_parameter_die): Likewise.
219 (gen_subprogram_die): Likewise.
220 (gen_variable_die ): Likewise.
221 (gen_const_die): Likewise.
222 (gen_field_die): Likewise.
223 (gen_pointer_type_die): Likewise.
224 (gen_reference_type_die): Likewise.
225 (gen_ptr_to_mbr_type_die): Likewise.
226 (gen_inheritance_die): Likewise.
227 (gen_subroutine_type_die): Likewise.
228 (gen_typedef_die): Likewise.
229 (force_type_die): Adjust call to modified_type_die.
231 2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
233 * doc/standards.texi: Copy-editing for grammar, markup, and sentence
234 flow throughout the file. Fix broken link to Objective-C 2.0
236 * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
239 2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
241 * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
243 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
246 * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
247 (maybe_record_node): Record cxa_pure_virtual as the only possible
248 target if there are not ohter candidates.
249 (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
251 2016-01-19 Richard Biener <rguenther@suse.de>
253 * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
254 (get_memory_order): Likewise.
256 2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
258 * tree-vect-stmts.c (vectorizable_store): Check
261 2016-01-19 David Malcolm <dmalcolm@redhat.com>
264 * gcc.c (driver::decode_argv): Add call to
265 init_opts_obstack before init_options_struct.
266 * opts.c (init_opts_obstack): Remove idempotency.
267 (init_options_struct): Replace call to init_opts_obstack
268 with a gcc_assert to verify that it has already been called.
269 * toplev.c (toplev::main): Add call to init_opts_obstack before
270 calls to init_options_struct.
271 (toplev::finalize): Move cleanup of opts_obstack next to
272 cleanup of save_decoded_options, clearing the latter, and
273 save_decoded_options_count.
275 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
278 * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
279 attribute to unconditional. Remove %? from output template.
281 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
282 Jiong Wang <jiong.wang@arm.com>
284 * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
285 generated from different expand order.
287 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
289 * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
290 Add support for CCMP costing.
292 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
294 * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
295 * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
296 (fccmpe<mode>): Likewise.
297 (fcmp): Rename to fcmp and globalize pattern.
299 * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
300 (aarch64_gen_ccmp_next): Add FP support.
302 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
304 * target.def (gen_ccmp_first): Update documentation.
305 (gen_ccmp_next): Likewise.
306 * doc/tm.texi (gen_ccmp_first): Update documentation.
307 (gen_ccmp_next): Likewise.
308 * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
309 expand_ccmp_expr_1. Improve comments.
310 * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
311 (ccmp_ior<mode>): Remove pattern.
312 (cmp<mode>): Remove expand.
313 (cmp): Globalize pattern.
314 (cstorecc4): Use cc_register.
315 (mov<mode>cc): Remove ccmp_cc_register check.
316 * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
317 Simplify after removal of CC_DNE/* modes.
318 (aarch64_ccmp_mode_to_code): Remove.
319 (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
320 In 'k' case use integer as condition.
321 (aarch64_nzcv_codes): Remove inverted cases.
322 (aarch64_code_to_ccmode): Remove.
323 (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
324 comparison with CC register to be used in folowing CCMP/branch/CSEL.
325 (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
326 pattern. Return the comparison with CC register. Invert conditions
328 * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
329 * config/aarch64/predicates.md (ccmp_cc_register): Remove.
331 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
333 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
334 instrumented_version.
336 2016-01-19 Richard Biener <rguenther@suse.de>
338 PR tree-optimization/69336
339 * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
340 handled components with get_ref_base_and_extent.
341 (equal_mem_array_ref_p): Adjust.
343 2016-01-19 Jakub Jelinek <jakub@redhat.com>
346 * shrink-wrap.c: Include valtrack.h.
347 (move_insn_for_shrink_wrap): Add DEBUG argument. If
348 MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
349 in between insn and where it will be moved to. Call
350 dead_debug_insert_temp.
351 (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
352 first and dead_debug_local_finish at the end.
353 For uses and defs bitmap, handle all regs in between REGNO and
354 END_REGNO, not just the first one.
356 2016-01-19 Richard Biener <rguenther@suse.de>
358 PR tree-optimization/69352
359 * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
360 (equal_mem_array_ref_p): Constrain size and max size properly.
361 Compare the reverse flag.
363 2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
365 * ira.c (ira): Update regstat data if we deleted insns.
367 2016-01-19 Jakub Jelinek <jakub@redhat.com>
369 PR rtl-optimization/68955
370 PR rtl-optimization/64557
371 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
372 here. Fix up formatting.
373 * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
375 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
378 * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
379 assume that the node has body.
380 * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
383 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
385 * lto-streamer-out.c (lto_output): Do not stream instrumentation
388 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
390 * symtab.c (symtab_node::asm_name): Do not call printable name directly.
391 (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
393 2016-01-19 Martin Jambor <mjambor@suse.cz>
394 Martin Liska <mliska@suse.cz>
395 Michael Matz <matz@suse.de>
397 * Makefile.in (OBJS): Add new source files.
398 (GTFILES): Add hsa.c.
399 * common.opt (disable_hsa): New variable.
400 (-Whsa): New warning.
401 * config.in (ENABLE_HSA): New.
402 * configure.ac: Treat hsa differently from other accelerators.
403 (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
405 (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
406 * doc/install.texi (Configuration): Document --with-hsa-runtime,
407 --with-hsa-runtime-include, --with-hsa-runtime-lib and
409 * doc/invoke.texi (-Whsa): Document.
410 (hsa-gen-debug-stores): Likewise.
411 * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
412 to invoke offload compiler for hsa acclerator.
413 * opts.c (common_handle_option): Determine whether HSA offloading
415 * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
416 * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
417 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
418 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
419 * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
420 * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
421 GF_OMP_FOR_KIND_GRID_LOOP.
422 (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
423 (pp_gimple_stmt_1): Likewise.
424 * gimple-walk.c (walk_gimple_stmt): Likewise.
425 * gimple.c (gimple_build_omp_grid_body): New function.
426 (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
427 * gimple.def (GIMPLE_OMP_GRID_BODY): New.
428 * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
429 GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
430 GF_OMP_TEAMS_GRID_PHONY.
431 (gimple_statement_omp_single_layout): Updated comments.
432 (gimple_build_omp_grid_body): New function.
433 (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
434 (gimple_omp_for_grid_phony): New function.
435 (gimple_omp_for_set_grid_phony): Likewise.
436 (gimple_omp_parallel_grid_phony): Likewise.
437 (gimple_omp_parallel_set_grid_phony): Likewise.
438 (gimple_omp_teams_grid_phony): Likewise.
439 (gimple_omp_teams_set_grid_phony): Likewise.
440 (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
441 * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
442 (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
443 (BUILT_IN_GOMP_TARGET): Updated type.
444 * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
445 (adjust_for_condition): New function.
446 (get_omp_for_step_from_incr): Likewise.
447 (extract_omp_for_data): Moved parts to adjust_for_condition and
448 get_omp_for_step_from_incr.
449 (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
450 (fixup_child_record_type): Bail out if receiver_decl is NULL.
451 (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
452 (scan_omp_parallel): Do not create child functions for phony
454 (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
455 (scan_omp_1_op): Checking assert we are not remapping to
456 ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
457 (parallel_needs_hsa_kernel_p): New function.
458 (expand_parallel_call): Register apprpriate parallel child
459 functions as HSA kernels.
460 (grid_launch_attributes_trees): New type.
461 (grid_attr_trees): New variable.
462 (grid_create_kernel_launch_attr_types): New function.
463 (grid_insert_store_range_dim): Likewise.
464 (grid_get_kernel_launch_attributes): Likewise.
465 (get_target_argument_identifier_1): Likewise.
466 (get_target_argument_identifier): Likewise.
467 (get_target_argument_value): Likewise.
468 (push_target_argument_according_to_value): Likewise.
469 (get_target_arguments): Likewise.
470 (expand_omp_target): Call get_target_arguments instead of looking
471 up for teams and thread limit.
472 (grid_expand_omp_for_loop): New function.
473 (grid_arg_decl_map): New type.
474 (grid_remap_kernel_arg_accesses): New function.
475 (grid_expand_target_kernel_body): New function.
476 (expand_omp): Call it.
477 (lower_omp_for): Do not emit phony constructs.
478 (lower_omp_taskreg): Do not emit phony constructs but create for them
479 a temporary variable receiver_decl.
480 (lower_omp_taskreg): Do not emit phony constructs.
481 (lower_omp_teams): Likewise.
482 (lower_omp_grid_body): New function.
483 (lower_omp_1): Call it.
484 (grid_reg_assignment_to_local_var_p): New function.
485 (grid_seq_only_contains_local_assignments): Likewise.
486 (grid_find_single_omp_among_assignments_1): Likewise.
487 (grid_find_single_omp_among_assignments): Likewise.
488 (grid_find_ungridifiable_statement): Likewise.
489 (grid_target_follows_gridifiable_pattern): Likewise.
490 (grid_remap_prebody_decls): Likewise.
491 (grid_copy_leading_local_assignments): Likewise.
492 (grid_process_kernel_body_copy): Likewise.
493 (grid_attempt_target_gridification): Likewise.
494 (grid_gridify_all_targets_stmt): Likewise.
495 (grid_gridify_all_targets): Likewise.
496 (execute_lower_omp): Call grid_gridify_all_targets.
497 (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
498 * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
499 (tree_omp_clause): Added union field dimension.
500 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
501 * tree.c (omp_clause_num_ops): Added number of arguments of
502 OMP_CLAUSE__GRIDDIM_.
503 (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
504 (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
505 * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
506 (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
507 (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
508 (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
509 * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
510 * tree-pass.h (make_pass_gen_hsail): Declare.
511 (make_pass_ipa_hsa): Likewise.
512 * ipa-hsa.c: New file.
513 * lto-section-in.c (lto_section_name): Add hsa section name.
514 * lto-streamer.h (lto_section_type): Add hsa section.
515 * timevar.def (TV_IPA_HSA): New.
516 * hsa-brig-format.h: New file.
517 * hsa-brig.c: New file.
518 * hsa-dump.c: Likewise.
519 * hsa-gen.c: Likewise.
522 * toplev.c (compile_file): Call hsa_output_brig.
523 * hsa-regalloc.c: New file.
525 2016-01-18 Jeff Law <law@redhat.com>
527 PR tree-optimization/69320
528 * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
529 ranged object, do nothing if the RHS constant is not [0..1].
530 (optimize_stmt): Comparing a boolean ranged object against a
531 constant outside [0..1] results in a compile-time constant.
533 * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
536 2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
538 * doc/invoke.texi (Invoking GCC): Add new section to menu.
539 (Option Summary): Update to reflect new section and moved options.
540 (C++ Dialect Options): Move -fstats to new section.
541 (Debugging Options): Move all dump, statistics, and other GCC
542 developer options to new section. Rewrite section introduction
543 and re-order remaining options to put the more basic ones first.
544 (Optimization Options): Move -fira-verbose and -flto-report* to
546 (Developer Options): New section incorporating moved options.
547 * doc/cppopts.texi (-dM): Update cross-reference.
549 2016-01-18 Richard Henderson <rth@redhat.com>
552 * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
553 operands to pseudo only if CSE is expected. Split long immediate
554 operands only after reload, and for the stack pointer.
555 (*add<GPI>3_pluslong): Remove.
556 (*addsi3_aarch64, *adddi3_aarch64): Merge into...
557 (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
558 (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
559 (*add<GPI>3 peepholes): New.
560 (*add<GPI>3 splitters): New.
561 * config/aarch64/constraints.md (Upl): New.
562 * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
564 2016-01-18 Richard Biener <rguenther@suse.de>
566 PR tree-optimization/69297
567 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
569 (vect_bb_vectorization_profitable_p): Clear visited flag again.
571 2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
574 * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
575 of mixind vector and scalar types.
576 (fold_relational_const): Add handling of vector
577 comparison with boolean result.
578 * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
579 comparison of vector operands with boolean result for EQ/NE only.
580 (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
581 (verify_gimple_cond): Likewise.
582 * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
585 2016-01-18 Joseph Myers <joseph@codesourcery.com>
587 * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
590 2016-01-18 Richard Biener <rguenther@suse.de>
593 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
595 2016-01-18 Tom de Vries <tom@codesourcery.com>
597 * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
599 2016-01-18 Tom de Vries <tom@codesourcery.com>
601 * omp-low.c (set_oacc_fn_attrib): Make extern.
602 * omp-low.h (set_oacc_fn_attrib): Declare.
603 * tree-parloops.c (struct reduction_info): Add reduc_addr field.
604 (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
605 (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
606 Add and handle function parameter oacc_kernels_p.
607 (find_reduc_addr, get_omp_data_i_param): New function.
608 (ref_conflicts_with_region, oacc_entry_exit_ok_1)
609 (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
610 (parallelize_loops): Add and handle function parameter oacc_kernels_p.
611 Calculate dominance info. Skip loops that are not in a kernels region
612 in oacc_kernels_p mode. Skip inner loops of parallelized loops.
613 (pass_parallelize_loops::execute): Call parallelize_loops with
614 oacc_kernels_p argument.
615 (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
617 (pass_parallelize_loops::bool oacc_kernels_p): New member var.
618 * passes.def: Add argument to pass_parallelize_loops instantation.
620 2016-01-18 Tom de Vries <tom@codesourcery.com>
622 * tree-parloops.c (pass_parallelize_loops::execute): Allow
623 pass_parallelize_loops to be run outside the loop pipeline.
625 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
627 * tree-scalar-evolution.c (follow_copies_to_constant): New.
628 (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
630 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
633 * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
634 using get_ref_base_and_extent.
635 (equal_mem_array_ref_p): New.
636 (hashable_expr_equal_p): Add call to previous.
638 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
641 * tree-sra.c (disqualified_constants, constant_decl_p): New.
642 (sra_initialize): Allocate disqualified_constants.
643 (sra_deinitialize): Free disqualified_constants.
644 (disqualify_candidate): Update disqualified_constants when appropriate.
645 (create_access): Scan for constant-pool entries as we go along.
646 (scalarizable_type_p): Add check against type_contains_placeholder_p.
647 (maybe_add_sra_candidate): Allow constant-pool entries.
648 (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
649 (initialize_constant_pool_replacements): New.
650 (sra_modify_assign): Avoid mangling assignments created by previous,
651 and don't generate writes into constant pool.
652 (sra_modify_function_body): Call initialize_constant_pool_replacements.
654 2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
656 * config/i386/i386.c (scalar_to_vector_candidate_p): Support
658 (scalar_chain::convert_op): Likewise.
659 * config/i386/i386.md (*andndi3_doubleword): New.
661 2016-01-18 Richard Biener <rguenther@suse.de>
663 PR tree-optimization/69170
664 * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
665 building a vector from scalar results of a pattern stmt.
667 2016-01-18 Jakub Jelinek <jakub@redhat.com>
669 * haifa-sched.c (autopref_multipass_init): Work around
670 -Wmaybe-uninitialized warning.
672 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
674 * config/arm/arm.c (thumb1_reorg): Check that the comparison is
675 against the constant 0.
677 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
679 PR tree-optimization/68799
680 * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
681 look up phi candidates in the statement-candidate map.
682 (phi_add_costs): Likewise.
683 (record_phi_increments): Likewise.
684 (phi_incr_cost): Likewise.
685 (ncd_with_phi): Likewise.
686 (all_phi_incrs_profitable): Likewise.
688 2016-01-17 Jakub Jelinek <jakub@redhat.com>
690 * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
691 -Wmaybe-uninitialized warning.
693 2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
695 * doc/invoke.texi (Invoking GCC): Add new section to menu.
696 (Option Summary): Update to reflect new section and moved options.
697 (C++ Dialect Options): Move -fvtable-verify and related options.
698 (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
699 and profiling-related options.
700 (Optimization Options): Move profile generation options and
701 -fstack-protector and related options.
702 (Instrumentation Options): New section incorporating moved options.
703 (Code Generation Options): Move -finstrument-functions and
704 related options, -fstack-check, -fstack-limit*, and -fbounds-check.
706 2016-01-16 Tom de Vries <tom@codesourcery.com>
708 * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
710 2016-01-16 Tom de Vries <tom@codesourcery.com>
712 * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
714 2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
716 * hash-table.h (hash_table::empty): Turn into an inline wrapper
717 that checks whether the table is already empty. Rename the
718 original implementation to...
719 (hash_table::empty_slot): ...this new private function.
721 2016-01-15 David Malcolm <dmalcolm@redhat.com>
724 * diagnostic-show-locus.c (layout::print_source_line): Move x
725 offset of line until after call to
726 get_line_width_without_trailing_whitespace.
728 2016-01-15 Jeff Law <law@redhat.com>
730 PR tree-optimization/69270
731 * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
732 tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
733 * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
734 * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
735 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
736 ssa_name_has_boolean_range and constant_boolean_node.
738 2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
740 PR rtl-optimization/69030
741 * lra-spills.c (remove_pseudos): Check nrefs and make the function
743 (spill_pseudos): Delete debug insn for dead pseudo.
744 (lra_spill): Initiate spill_hard_reg and slots memory separately.
746 2016-01-15 Jiong Wang <jiong.wang@arm.com>
748 * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
750 (TYPES_UNOPUS): Likewise.
751 * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
752 builtin type, from UNOP to UNOPUS.
753 (lbtruncuv4sf): Likewise.
754 (lbtruncuv2df): Likewise.
755 (lrounduv2sf): Likewise.
756 (lrounduv4sf): Likewise.
757 (lrounduv2df): Likewise.
758 (lroundusf): Likewise.
759 (lroundusf): Likewise.
760 (lceiluv2sf): Likewise.
761 (lceiluv4sf): Likewise.
762 (lceiluv2df): Likewise.
763 (lceilusf): Likewise.
764 (lceiludf): Likewise.
765 (lflooruv2sf): Likewise.
766 (lflooruv4sf): Likewise.
767 (lflooruv2df): Likewise.
768 (lfloorusf): Likewise.
769 (lfloorudf): Likewise.
770 (lfrintnuv2sf): Likewise.
771 (lfrintnuv4sf): Likewise.
772 (lfrintnuv2df): Likewise.
773 (lfrintnusf): Likewise.
774 (lfrintnudf): Likewise.
775 * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
777 (vcvtq_u32_f32): Likewise.
778 (vcvtq_u64_f64): Likewise.
779 (vcvta_u32_f32): Likewise.
780 (vcvtaq_u32_f32): Likewise.
781 (vcvtaq_u64_f64): Likewise.
782 (vcvtm_u32_f32): Likewise.
783 (vcvtmq_u32_f32): Likewise.
784 (vcvtmq_u64_f64): Likewise.
785 (vcvtn_u32_f32): Likwise.
786 (vcvtnq_u32_f32): Likewise.
787 (vcvtnq_u64_f64): Likewise.
788 (vcvtp_u32_f32): Likewise.
789 (vcvtpq_u32_f32): Likewise.
790 (vcvtpq_u64_f64): Likewise.
791 (vcvtmd_u64_f64): Likewise.
792 (vcvtms_u32_f32): Likewise.
793 (vcvtad_u64_f64): Likewise.
794 (vcvtas_u32_f32): Likewise.
795 (vcvtnd_u64_f64): Likewise.
796 (vcvtns_u32_f32): Likewise.
797 (vcvtpd_u64_f64): Likewise.
798 (vcvtps_u32_f32): Likewise.
800 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
802 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
803 CSEL of zero_extended registers.
805 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
807 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
808 Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
810 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
812 * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
813 false when argument string is not found in the attributes table
816 2016-01-15 David Edelsohn <dje.gcc@gmail.com>
819 * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
820 (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
821 * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
824 2016-01-15 Richard Biener <rguenther@suse.de>
826 PR tree-optimization/66856
827 * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
828 * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
829 (vect_create_new_slp_node): Increment stmt reference count.
830 (vect_get_and_check_slp_defs): Make sure stmts are nor already in
831 an SLP tree before swapping operands.
832 (vect_build_slp_tree): Likewise.
833 (destroy_bb_vec_info): Free stmt info after SLP instances.
834 * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
835 * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
836 (STMT_VINFO_NUM_SLP_USES): New macro.
838 2016-01-15 Richard Biener <rguenther@suse.de>
841 * dwarf2out.c (add_linkage_name_raw): New function split out from ...
842 (add_linkage_name): ... here.
843 (gen_typedef_die): Use add_linkage_name_raw instead of
844 add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
847 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
849 * gimplify.c (oacc_default_clause): Decode reference and pointer
850 types for both kernels and parallel regions.
852 2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
855 * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
857 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
859 * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
860 (convert_scalars_to_vector): Likewise.
862 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
864 * doc/extend.texi (Type Traits): Fix grammar.
866 2016-01-15 Martin Jambor <mjambor@suse.cz>
868 * tree-inline.c (remap_decl): Use existing dclarations if
869 remapping a type and prevent_decl_creation_for_types.
870 (replace_locals_stmt): Do an initial remapping of non-VLA typed
871 decls first. Do real remapping with
872 prevent_decl_creation_for_types set.
873 * tree-inline.h (copy_body_data): New field
874 prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
877 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
879 * config/s390/s390.opt (mmvcle): More verbose help text.
881 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
883 * config/s390/s390.opt: Add period to -mzvector option text.
885 2016-01-15 Richard Biener <rguenther@suse.de>
887 PR tree-optimization/68961
888 * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
889 of invariants in stores again.
891 2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
893 * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
895 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
897 * config/i386/i386.c (ix86_expand_branch): Don't split
898 DI mode xor instruction to SI mode.
900 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
903 * ipa-icf.c (sem_function::merge): Virtual functions may become
904 reachable even if they address is not taken and there are no
907 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
909 * lto-streamer-out.c (subtract_estimated_size): New function.
910 (get_symbol_initial_value): Use it.
912 2016-01-15 Christian Bruel <christian.bruel@st.com>
915 * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
916 (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
917 (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
918 use add_builtin_function_ext_scope instead of add_builtin_function.
919 (neon_set_p, neon_crypto_set_p): Remove.
920 (arm_init_builtins): Always call arm_init_neon_builtins and
921 arm_init_crypto_builtins.
922 (arm_expand_builtin): Check that builtins are allowed for the arch.
923 * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
924 * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
925 arm_init_neon_builtins call.
927 2016-01-15 Richard Biener <rguenther@suse.de>
929 PR tree-optimization/69117
930 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
931 * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
932 of the leader conservatively.
933 (free_scc_vn): Restore original SSA name infos.
935 2016-01-14 Jeff Law <law@redhat.com>
937 PR tree-optimization/69270
938 * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
939 single bit of precision, verify it's also unsigned.
940 (record_edge_info): Use constant_boolean_node rather than fold_convert
941 to convert boolean_true/boolean_false to the right type.
943 2016-01-14 Richard Henderson <rth@redhat.com>
946 * loop-doloop.c (record_reg_sets): New.
947 (doloop_optimize): Reject the transform if the sequence
948 clobbers registers live at the end of the loop block.
949 (doloop_optimize_loops): Enable df_live if needed.
951 2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
953 * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
954 * gcc/config/rs6000/rs6000.c: Likewise.
955 * gcc/config/rs6000/rs6000.h: Likewise.
956 * gcc/config/rs6000/rs6000.md: Likewise.
957 * gcc/doc/extend.texi: Likewsie.
959 2016-01-14 Jeff Law <law@redhat.com>
961 * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
964 2016-01-14 Richard Henderson <rth@redhat.com>
968 * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
969 * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
970 instead of builtin_decl_declared_p to test for declaration.
972 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
974 * doc/loop.texi (Loop Analysis and Representation): Document
977 2016-01-14 Tom de Vries <tom@codesourcery.com>
979 PR tree-optimization/68773
980 * omp-low.c (expand_omp_target): Don't set force_output.
981 * varpool.c (varpool_node::get_create): Same.
982 * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
983 offload_funcs with force_output.
985 2016-01-14 Jakub Jelinek <jakub@redhat.com>
988 * lra-eliminations.c (move_plus_up): Don't change anything if either
989 the outer or inner subreg mode is not MODE_INT.
990 * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
991 integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
993 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
995 * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
996 reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
997 reduc_uplus_@var{m}): Remove.
998 * expr.c (expand_expr_real_2): Remove expansion path for
999 reduc_[us](min|max|plus) optabs.
1000 * optabs-tree.c (scalar_reduc_to_vector): Remove.
1001 * optabs-tree.h (scalar_reduc_to_vector): Remove.
1002 * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
1003 reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
1004 * tree-vect-loop.c (vectorizable_reduction): Remove test for
1005 reduc_[us](min|max|plus) optabs.
1007 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
1009 * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
1010 (reduc_plus_scal_v2sf): New.
1011 (reduc_smax_v2sf): Rename to...
1012 (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
1013 (reduc_smin_v2sf): Rename to...
1014 (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
1016 2016-01-14 Jan Hubicka <hubicka@ucw.cz>
1018 * alias.c (compare_base_symbol_refs): New function.
1019 (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
1022 2016-01-14 Jakub Jelinek <jakub@redhat.com>
1025 PR tree-optimization/69155
1026 * tree-complex.c: Include cfganal.h.
1027 (phis_to_revisit): New variable.
1028 (extract_component): Add phiarg_p argument. Assert that returned
1029 SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
1030 (update_phi_components): Partly rewrite to use loop over real/imag
1031 components instead of code duplication. If extract_component returns
1032 SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
1033 create_tmp_reg into the PHI node instead, and mention the phi triplet
1035 (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
1036 in phis_to_revisit at the end.
1038 2016-01-14 Richard Biener <rguenther@suse.de>
1040 PR tree-optimization/68060
1041 * tree-vect-loop.c (vect_is_simple_reduction): Check the
1042 outer loop reduction is only used in the inner loop before
1043 detecting a double reduction.
1045 2016-01-14 Jakub Jelinek <jakub@redhat.com>
1048 * combine.c (expand_field_assignment): Punt if compute_mode is
1049 unsupported scalar mode.
1051 2016-01-14 Richard Biener <rguenther@suse.de>
1053 PR tree-optimization/66856
1054 * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
1055 SLP node only if it built successfully.
1056 (vect_analyze_slp_instance): Adjust.
1058 2016-01-14 Jeff Law <law@redhat.com>
1060 PR tree-optimization/69270
1061 * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
1062 (record_edge_info): Use it. Convert boolean_{true,false}_node
1065 2016-01-13 Jan Hubicka <hubicka@ucw.cz>
1068 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
1069 use block_ultimate_origin
1070 (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
1072 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
1074 * doc/invoke.texi (Submodel Options): Rename section to
1075 "Machine-Dependent Options" to better reflect its content.
1076 Rewrite introductory text to remove archaic CPU names.
1079 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
1081 * doc/invoke.texi (Code Gen Options): Move section up in file,
1082 before target-specific options. Update menu and option summary
1083 to reflect the new section ordering.
1085 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
1087 * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
1088 (C++ Dialect Options): Add cross-reference to -std option.
1089 * doc/standards.texi (C++ Language): Document C++14 support.
1091 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
1093 * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
1094 for pack/unpack functions for __ibm128.
1095 (PACK_IF): Likewise.
1096 (UNPACK_IF): Likewise.
1098 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
1099 support for __ibm128 pack/unpack functions.
1100 (rs6000_invalid_builtin): Likewise.
1101 (rs6000_init_builtins): Likewise.
1102 (rs6000_opt_masks): Likewise.
1104 * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
1105 (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
1107 (RS6000_BTM_COMMON): Likewise.
1109 * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
1110 (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
1111 disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
1112 128-bit floating point. Add support for the double values to be
1113 in Altivec registers for TF/IF packing and unpacking, but restrict
1114 TD packing sub-fields to be FPR registers. Don't allow overlapped
1115 register support for packing. Allow pack inputs to be memory
1116 locations. Don't build generator functions for unpack<mode>_dm
1117 and unpack<mode>_nodm.
1118 (unpack<mode>_dm): Likewise.
1119 (unpack<mode>_nodm): Likewise.
1120 (pack<mode>): Likewise.
1122 * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
1123 built-in functions to pack/unpack explicit __ibm128 values.
1124 (__builtin_unpack_ibm128): Likewise.
1126 * doc/extend.texi (PowerPC Built-in Functions): Document
1127 __builtin_pack_ibm128 and __builtin_unpack_ibm128.
1129 2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
1132 * c-common.c (check_function_nonnull): Remove unnecessary declaration.
1133 Add new arg loc and pass it down as context.
1134 (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
1135 to the location to use for the warning.
1136 (check_function_arguments): New arg loc. All callers changed. Pass
1137 it to check_function_nonnull.
1138 * c-common.h (check_function_arguments): Adjust declaration.
1140 2016-01-13 Jakub Jelinek <jakub@redhat.com>
1142 PR tree-optimization/69156
1143 * gimple.c (validate_type): Removed.
1144 (gimple_builtin_call_types_compatible_p): Use
1145 useless_type_conversion_p instead of validate_type.
1146 * value-prof.c (gimple_stringop_fixed_value): Fold
1147 icall_size to correct type.
1149 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
1151 * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
1154 2016-01-13 Richard Henderson <rth@redhat.com>
1157 * target.def (builtin_tm_load, builtin_tm_store): Remove.
1158 * config/i386/i386.c (ix86_builtin_tm_load): Remove.
1159 (ix86_builtin_tm_store): Remove.
1160 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
1161 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
1162 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
1163 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
1164 * doc/tm.texi: Rebuild.
1166 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
1167 (BUILT_IN_TM_MEMCPY_RTWN): New.
1168 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
1169 fallback from vector to integer helpers.
1170 (build_tm_load): Handle vector types directly, instead of
1172 (build_tm_store): Likewise.
1173 (expand_assign_tm): Prepare for register types not handled by
1174 the above. Copy them to memory and use memcpy.
1175 * tree.c (tm_define_builtin): New.
1176 (find_tm_vector_type): New.
1177 (build_tm_vector_builtins): New.
1178 (build_common_builtin_nodes): Call it.
1180 2016-01-13 Uros Bizjak <ubizjak@gmail.com>
1182 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
1183 TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
1185 2016-01-13 Tom de Vries <tom@codesourcery.com>
1187 PR tree-optimization/69169
1188 * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
1189 handled_struct_type param.
1190 (create_variable_info_for, intra_create_variable_infos): Call
1191 create_variable_info_for_1 with extra arg.
1193 2016-01-13 Yvan Roux <yvan.roux@linaro.org>
1195 * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
1196 and "armv8.1-a+crc" entries.
1198 2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
1201 * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
1202 Change first operand predicate from register_or_constm1_operand
1203 to register_operand.
1204 (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
1205 (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
1206 (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
1207 (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
1208 (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
1209 (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
1210 (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
1211 * config/i386/i386.c (ix86_expand_builtin): Remove first operand
1212 comparison with constm1_rtx from vec_prefetch_gen part.
1214 2016-01-13 Richard Biener <rguenther@suse.de>
1216 PR tree-optimization/69013
1217 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
1218 Exchange assert for a test.
1220 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1223 * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
1225 2016-01-13 Richard Biener <rguenther@suse.de>
1227 PR tree-optimization/69242
1228 * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
1229 assert with a check.
1231 2016-01-13 Richard Biener <rguenther@suse.de>
1233 PR tree-optimization/69186
1234 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
1235 Properly guard vect_update_misalignment_for_peel call.
1237 2016-01-12 Jeff Law <law@redhat.com>
1239 PR tree-optimization/pr67755
1240 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
1241 "need_profile_correction".
1242 (thread_block_1): Initialize new field to false by default. If we
1243 have multiple thread paths through a common joiner to different
1244 final targets, then set new field to true.
1245 (compute_path_counts): Only do count adjustment when it's really
1248 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
1250 * doc/invoke.texi (Spec Files): Move section down in file, past
1251 all command-line option descriptions.
1253 2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1256 * doc/gty.texi: Remove documentation of mark_hook.
1257 * gengtype.c (struct write_types_data): Remove code to support
1258 mark_hook attribute.
1259 (walk_type): Likewise.
1260 (write_func_for_structure): Likewise.
1262 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
1264 * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
1265 Directory Options, and -specs= to Overall Options.
1266 (Overall Options): Adjust similarly. Reorder to group related
1267 options together. Make -specs= cross-reference the spec file details.
1268 (Directory Options): Adjust similarly.
1270 2016-01-12 Jeff Law <law@redhat.com>
1272 * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
1274 2016-01-12 Olivier Hainque <hainque@adacore.com>
1276 * gcc.c (spec_undefvar_allowed): New global.
1277 (process_command): Set to true when running for --version or --help,
1279 (getenv_spec_function): When the variable is not defined, use the
1280 variable name as the variable value if we're allowed not to issue
1283 2016-01-12 Bin Cheng <bin.cheng@arm.com>
1285 PR tree-optimization/68911
1286 * tree-vrp.c (adjust_range_with_scev): Check overflow in range
1287 information computed for expression "init + nit * step".
1289 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
1291 * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
1292 about name of GCC executable. Remove deleted node from menu.
1293 (Directory Options) <-B>: Remove cross-reference to deleted node.
1294 (Target Options): Delete section.
1296 2016-01-12 Christian Bruel <christian.bruel@st.com>
1299 * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
1300 for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
1302 2016-01-12 Jakub Jelinek <jakub@redhat.com>
1305 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
1306 aligned_mem is properly set for AVX512-VL floating point masked
1310 * ifcvt.c (cond_exec_process_if_block): When removing the last
1311 insn from then_bb, remove also any possible barriers that follow it.
1313 2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
1317 * config/i386/iamcu.h (SIZE_TYPE): New macro.
1318 (PTRDIFF_TYPE): Likewise.
1319 (WCHAR_TYPE): Likewise.
1320 (WCHAR_TYPE_SIZE): Likewise.
1321 (STDINT_LONG32): Likewise.
1323 2016-01-12 Richard Biener <rguenther@suse.de>
1325 PR tree-optimization/69053
1326 * tree-vect-loop.c (get_initial_def_for_reduction): Properly
1327 convert initial value for cond reductions.
1329 2016-01-12 Richard Biener <rguenther@suse.de>
1331 PR tree-optimization/69007
1332 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
1333 widen_sum after dot_prod and sad.
1335 2016-01-12 Richard Biener <rguenther@suse.de>
1337 PR tree-optimization/69168
1338 * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
1339 pattern stmt SLP type.
1340 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
1341 end up unused so cope with that case.
1343 2016-01-12 Richard Biener <rguenther@suse.de>
1345 PR tree-optimization/69157
1346 * tree-vect-stmts.c (vectorizable_mask_load_store): Check
1347 stmts def type only during analyze phase.
1348 (vectorizable_call): Likewise.
1349 (vectorizable_simd_clone_call): Likewise.
1350 (vectorizable_conversion): Likewise.
1351 (vectorizable_assignment): Likewise.
1352 (vectorizable_shift): Likewise.
1353 (vectorizable_operation): Likewise.
1354 (vectorizable_store): Likewise.
1355 (vectorizable_load): Likewise.
1357 2016-01-12 Richard Biener <rguenther@suse.de>
1359 PR tree-optimization/69174
1360 * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
1362 (vectorizable_load): Properly compute the number of loads needed
1363 for permuted strided SLP loads and do not spuriously assign
1364 to SLP_TREE_VEC_STMTS.
1366 2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
1368 * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
1369 (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
1370 (MD_EXEC_PREFIX): Remove.
1371 (MD_STARTFILE_PREFIX) Removee.
1372 (FILE_NAME_ABSOLUTE_P): Remove.
1373 (CPP_SPEC): Do not read macros from sys/version.h.
1374 (LINK_COMMAND_SPEC): Remove.
1375 (LOCAL_INCLUDE_DIR): Remove.
1376 (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
1377 (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
1378 (POST_LINK_SPEC): Define to invoke stubify after linker
1379 (LIBSTDCXX): Remove define
1380 (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
1381 (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
1382 (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
1383 (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
1384 (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
1385 (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
1386 (i386_djgpp_asm_named_section): Add propotype of new procedure
1388 * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
1389 (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
1390 (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h).
1391 (STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1.
1392 (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
1393 (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors.
1394 (MAX_OFILE_ALIGNMENT): Define to 128.
1395 (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
1397 * config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section.
1399 * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
1401 * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
1402 Add rule for building djgpp.o.
1404 2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1406 * config/rs6000/rs6000.c (v2df_reduction_p): New function.
1407 (rtx_is_swappable_p): Reductions are swappable.
1408 (insn_is_swappable_p): V2DF reductions are swappable.
1410 2016-01-11 John David Anglin <danglin@gcc.gnu.org>
1412 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
1413 reloads for other unsupported memory operands.
1415 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
1416 Jim Wilson <jim.wilson@linaro.org>
1419 * config/arm/arm-builtins.c (arm_expand_neon_args): Call
1420 copy_to_mode_reg instead of force_reg.
1422 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
1425 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
1426 TARGET_80387 is true.
1428 2016-01-11 Jakub Jelinek <jakub@redhat.com>
1431 * lra-eliminations.c (move_plus_up): Only move plus up
1432 if subreg of the constant can be simplified into constant
1433 and use the simplified subreg of the constant instead of
1434 the original constant.
1436 * fold-const.c (fold_convertible_p): Don't return true
1437 for conversion of VECTOR_TYPE to same sized integral type.
1438 (fold_convert_loc): Fix up formatting. Fold conversion of
1439 VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
1440 instead of NOP_EXPR.
1442 PR tree-optimization/69214
1443 * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
1444 innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
1447 PR tree-optimization/69207
1448 * tree-vect-slp.c (vect_get_constant_vectors): For
1449 VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
1450 fold_convertible_p to vector_type's element type, and always
1451 use VCE for non-VECTOR_BOOLEAN_TYPE_P.
1453 2016-01-11 Richard Biener <rguenther@suse.de>
1455 PR tree-optimization/69173
1456 * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
1457 fixup the cycle if all stmts are in a pattern.
1459 2016-01-11 Uros Bizjak <ubizjak@gmail.com>
1462 * alias.c (base_alias_check): Move check for addresses with
1463 alignment ANDs before the call for compare_base_decls.
1464 (memrefs_conflict_p): Return -1 for different decls
1465 that went through alignment adjustments.
1467 2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1469 PR rtl-optimization/68796
1470 * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
1471 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
1472 and QImode comparisons against zero with CC_NZmode.
1473 * config/aarch64/iterators.md (short_mask): New mode_attr.
1475 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
1477 * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
1478 (<avx512>_store<mode>_mask): Likewise.
1480 2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
1481 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1483 PR rtl-optimization/68841
1484 * ifcvt.c (struct noce_if_info): Add orig_x field.
1485 (bbs_ok_for_cmove_arith): Add to_rename parameter.
1486 Don't record conflicts on to_rename if it's present.
1487 Allow memory destinations in sets.
1488 (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
1489 blocks, passing orig_x to the checks.
1490 (noce_process_if_block): Set if_info->orig_x appropriately.
1492 2016-01-11 Tom de Vries <tom@codesourcery.com>
1494 PR tree-optimization/69069
1495 * tree-parloops.c (create_parallel_loop): Add missing phi args.
1497 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
1499 PR rtl-optimization/68920
1500 * config/i386/i386.c (ix86_option_override_internal): Restrict number
1501 of conditional moves for RTL if-conversion to 1 for
1502 TARGET_ONE_IF_CONV_INSN.
1503 * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
1504 * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
1505 * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
1506 parameter to restirct number of conditional moves for
1508 * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
1509 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
1512 2016-01-11 Alexandre Oliva <aoliva@redhat.com>
1515 * var-tracking.c (drop_overlapping_mem_locs): Operate on all
1516 onepart vars. Fix typo in comment. Fix reversed condition in
1518 (dataflow_set_remove_mem_locs): Operate on all onepart vars.
1521 * var-tracking.c (dump_onepart_variable_differences): New.
1522 (dataflow_set_different): If a detailed dump is requested,
1523 delay early returns and dump differences between onepart
1524 variables present before and after, and added variables.
1526 2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
1529 * expr.c (expand_expr_real_1): For boolean vector constants
1530 with a scalar mode use const_scalar_mask_from_tree.
1531 (const_scalar_mask_from_tree): New.
1532 * optabs.c (expand_vec_cond_mask_expr): Use mask mode
1533 assigned to a mask type to handle constants.
1535 2016-01-11 Martin Jambor <mjambor@suse.cz>
1538 * ipa-cp.c (estimate_local_effects): Do not clone for removal of
1539 useless parameters if we cannot change function signature.
1541 2016-01-11 Martin Jambor <mjambor@suse.cz>
1544 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
1547 2016-01-11 Tom de Vries <tom@codesourcery.com>
1549 PR tree-optimization/69109
1550 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
1553 2016-01-11 Tom de Vries <tom@codesourcery.com>
1555 PR tree-optimization/69108
1556 * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
1557 res is not used in a phi.
1559 2016-01-11 Yury Gribov <y.gribov@samsung.com>
1562 * common.opt (frandom-seed): Fix parameter name.
1563 * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
1565 2016-01-11 Tom de Vries <tom@codesourcery.com>
1567 PR tree-optimization/69058
1568 * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
1571 2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
1573 * config/arc/arc.opt (mdiv-rem): Add period to the end.
1574 (mcode-density): Likewise.
1576 2016-01-10 Tom de Vries <tom@codesourcery.com>
1578 PR tree-optimization/69062
1579 * tree-parloops.c (loop_has_phi_with_address_arg): New function.
1580 (parallelize_loops): Don't paralelize loop that has phi with address
1583 2016-01-10 Tom de Vries <tom@codesourcery.com>
1585 PR tree-optimization/69039
1586 * tree-parloops.c (try_create_reduction_list): Only allow single exit
1589 2016-01-09 John David Anglin <danglin@gcc.gnu.org>
1592 * match.pd: Require target has function_c99_misc before doing
1593 truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
1595 2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
1597 * configure.ac (isl_options_set_schedule_serialize_sccs): Also
1599 * configure: Regenerate.
1601 2016-01-09 Jakub Jelinek <jakub@redhat.com>
1604 PR tree-optimization/69097
1605 * fold-const.h (expr_not_equal_to): New prototype.
1606 * fold-const.c: Include stringpool.h and tree-ssanames.h.
1607 (expr_not_equal_to): New function.
1608 * match.pd (X % -Y is the same as X % Y): Don't optimize
1609 unless X is known not to be equal to minimum or Y is known
1610 not to be equal to -1.
1611 * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
1612 fold TRUNC_MOD_EXPR if the second argument is not a power of two.
1613 (simplify_stmt_using_ranges): Adjust caller.
1614 (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
1615 substitute_and_fold.
1617 2016-01-09 Jan Hubicka <hubicka@ucw.cz>
1619 * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
1622 2016-01-08 Jakub Jelinek <jakub@redhat.com>
1624 PR tree-optimization/69167
1625 * gimple-fold.c (replace_stmt_with_simplification): Also punt if
1626 new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
1628 * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
1630 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
1631 Richard Biener <rguenther@suse.de>
1633 PR tree-optimization/68707
1634 * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
1635 instances that can be handled via vect_load_lanes.
1637 2016-01-08 Uros Bizjak <ubizjak@gmail.com>
1639 * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
1640 if we can't determine address equivalence.
1641 * alias.c (compare_base_decl): Update for changed return value of
1642 symtab_node::equal_address_to.
1644 2016-01-08 Jason Merrill <jason@redhat.com>
1648 * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
1649 * expr.c (store_field): Not here.
1650 * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
1651 call with TREE_ADDRESSABLE type.
1652 * tree-cfg.c (verify_gimple_call): Adjust.
1654 2016-01-08 Olivier Hainque <hainque@adacore.com>
1656 * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
1659 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
1661 * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
1662 (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
1663 (reduc_smin_v2sf): Rename to...
1664 (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
1665 (reduc_splus_v2sf): Rename to...
1666 (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
1668 2016-01-08 Jakub Jelinek <jakub@redhat.com>
1670 PR tree-optimization/69162
1671 * gimplify.c (gimplify_va_arg_expr): Encode original type of
1672 valist argument in another argument.
1673 (gimplify_modify_expr): Adjust for the above change. Cleanup.
1674 * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
1675 to determine the va_list type, build a MEM_REF instead of
1676 build_fold_indirect_ref.
1678 PR tree-optimization/69172
1679 * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
1682 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
1684 PR tree-optimization/67781
1685 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
1686 and cmpnop in two steps: first the ones not accessed in original
1687 gimple expression in a endian independent way and then the ones not
1688 accessed in the final result in an endian-specific way.
1690 2016-01-08 Jakub Jelinek <jakub@redhat.com>
1692 PR tree-optimization/69083
1693 * tree-vect-slp.c (vect_get_constant_vectors): For
1694 VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
1695 element type. If op is fold_convertible_p to vector_type's element
1696 type, use NOP_EXPR instead of VCE.
1698 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
1700 PR rtl-optimization/67778
1701 PR rtl-optimization/68634
1702 PR rtl-optimization/68909
1703 * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
1704 block from the stack until done with it. Remove a superfluous
1705 bitmap set. Remove a superfluous bitmap test.
1707 2016-01-07 Martin Sebor <msebor@redhat.com>
1710 * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
1711 constraint on the type of arguments.
1713 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
1715 * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
1716 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
1717 unaligned_access on the gcc_options set.
1718 * config/arm/arm.c (arm_option_override_internal): Use
1719 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
1721 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
1724 * config/i386/i386.c (ix86_frame_pointer_required): Enable
1725 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
1727 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
1730 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
1733 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
1734 depending on frame_pointer_needed before remaining integer and SSE
1735 registers are saved.
1737 2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
1740 * doc/extend.texi (Nvidia PDX Function Attributes): New section.
1742 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
1745 * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
1746 Use the "xBm" constraint.
1747 (float<sseintvecmodelower><mode>2<mask_name><round_name):
1749 (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
1750 (sse_cvtsi2ssq<round_name>): Likewise.
1751 (sse_cvtss2si<round_name>): Likewise.
1752 (sse_cvtss2siq<round_name>): Likewise.
1753 (sse2_cvtsi2sdq<round_name>): Likewise.
1754 (sse2_cvtsd2si<round_name>): Likewise.
1755 (sse2_cvtsd2siq<round_name>): Likewise.
1756 * config/i386/subst.md (round_nimm_scalar_predicate): New
1759 2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
1762 * varasm.c (make_decl_rtl): Mark invalid register vars as
1765 PR rtl-optimization/66206
1766 * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
1767 All callers changed.
1769 2016-01-07 Jakub Jelinek <jakub@redhat.com>
1771 PR tree-optimization/69141
1772 * tree-ssa-pre.c: Include langhooks.h.
1773 (eliminate_dom_walker::before_dom_children): Use
1774 lang_hooks.decl_printable_name instead of
1775 cgraph_node::get ()->name ().
1778 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
1779 it and DECL_ALIGN too.
1781 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
1783 * config/mips/mips-ftypes.def: Sort to lexicographical order.
1785 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
1788 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
1789 depending on frame_pointer_needed before remaining integer and SSE
1790 registers are saved.
1792 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1794 * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
1795 mode iterator with VSX_M2.
1796 (*p9_vecstore_<mode>): Likewise.
1797 (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
1798 (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
1799 (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
1800 (define_split for VSX_LE128 stores): Likewise.
1801 (define_peephole2 for TImode LE swaps): Likewise.
1802 (define_split for VSX_LE128 post-reload stores): Likewise.
1804 2016-01-06 Marek Polacek <polacek@redhat.com>
1807 * convert.c (convert_to_integer_1): Adjust call to
1808 ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
1809 * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
1810 EXPR instead of ARG.
1811 * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
1813 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
1816 * doc/extend.texi (RL78 Variable Attributes): New section.
1818 2016-01-05 Marek Polacek <polacek@redhat.com>
1821 * builtins.c (get_memmodel): Use expansion point location rather than
1822 the input location. Call warning_at rather than warning.
1823 (expand_builtin_atomic_compare_exchange): Likewise.
1824 (expand_builtin_atomic_load): Likewise.
1825 (expand_builtin_atomic_store): Likewise.
1826 (expand_builtin_atomic_clear): Likewise.
1828 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
1831 * config/i386/i386.c (ix86_expand_vector_logical_operator):
1832 Replace nonimmediate_operand with vector_operand.
1833 * config/i386/predicates.md (vector_operand): New predicate.
1834 (general_vector_operand): Replace nonimmediate_operand with
1836 * config/i386/sse.md: Replace nonimmediate_operand with
1837 vector_operand and m constraint with Bm constraint on SSE
1838 patterns with 16-byte memory operand.
1839 * config/i386/subst.md (round_nimm_predicate): Replace
1840 nonimmediate_operand with vector_operand.
1841 (round_saeonly_nimm_predicate): Likewise.
1842 (round_saeonly_nimm_scalar_predicate): New.
1844 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
1847 * config/i386/constraints.md (Bm): New constraint.
1848 * config/i386/predicates.md (vector_memory_operand): New
1850 * config/i386/sse.md: Replace xm with xBm in plusminus and
1853 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
1856 * doc/extend.texi (V850 Function Attributes): New section.
1857 (V850 Variable Attributes): New section.
1859 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
1862 * doc/extend.texi (MicroBlaze Function Attributes): Document
1863 interrupt_handler and fast_interrupt attributes.
1865 2016-01-05 Sergei Trofimovich <siarheit@google.com>
1868 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
1869 for local symbolic operands.
1870 * config/ia64/predicates.md (local_symbolic_operand64): New
1873 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1875 PR rtl-optimization/68651
1876 * combine.c (combine_simplify_rtx): Canonicalize x + x into
1879 2016-01-05 Nathan Sidwell <nathan@acm.org>
1881 * alias.c (compare_base_decls): Use symtab_node::get.
1883 2016-01-05 Nick Clifton <nickc@redhat.com>
1886 * ira-costs.c (copy_cost): Initialise the t_icode field of the
1887 secondary_reload_info structure.
1890 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
1891 decls if weak support is available.
1893 2016-01-04 Martin Sebor <msebor@redhat.com>
1895 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
1897 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
1899 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
1900 OPTION_MASK_P9_DFORM.
1902 * config/rs6000/constraints.md (wo constraint): New constraint for
1905 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
1907 (rs6000_init_hard_regno_mode_ok): Likewise.
1909 * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
1912 * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
1913 expanders not to have constraints. Add support for ISA 3.0 xxperm
1914 instruction. Add support for fusing xxlor with xxperm.
1915 (altivec_vperm_<mode>_internal): Likewise.
1916 (altivec_vperm_v8hiv16qi): Likewise.
1917 (altivec_vperm_<mode>v16q): Likewise.
1918 (altivec_vperm_<mode>_uns): Likewise.
1919 (vperm_v8hiv4si): Likewise.
1920 (vperm_v16qiv8hi): Likewise.
1922 * doc/md.texi (RS/6000 constraints): Document wo constraint.
1924 2016-01-04 Jakub Jelinek <jakub@redhat.com>
1926 Update copyright years.
1928 * gcc.c (process_command): Update copyright notice dates.
1929 * gcov-dump.c (print_version): Ditto.
1930 * gcov.c (print_version): Ditto.
1931 * gcov-tool.c (print_version): Ditto.
1932 * gengtype.c (create_file): Ditto.
1933 * doc/cpp.texi: Bump @copying's copyright year.
1934 * doc/cppinternals.texi: Ditto.
1935 * doc/gcc.texi: Ditto.
1936 * doc/gccint.texi: Ditto.
1937 * doc/gcov.texi: Ditto.
1938 * doc/install.texi: Ditto.
1939 * doc/invoke.texi: Ditto.
1941 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
1943 * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
1944 modes larger than TImode as TImode if NEON is not enabled.
1946 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
1949 * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
1950 mode for %f0-%f31 only if TARGET_FPU.
1952 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
1955 * config/sparc/sparc.c (scan_record_type): Take into account subfields
1956 to compute the PACKED_P predicate.
1957 (function_arg_record_value): Minor tweaks.
1959 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
1961 * doc/install.texi (--with-multilib-list): Describe the meaning of the
1962 option for arm*-*-* targets.
1964 2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
1966 * doc/extend.texi (Common Function Attributes): Move docs for
1967 MSP430-specific attributes to....
1968 (MSP430 Function Attributes): ...here. Delete the redundant
1969 entries and copy-edit the remaining text.
1970 (MSP430 Variable Attributes): Use uniform format for index
1971 entries and add a cross-reference to the corresponding function
1974 2016-01-03 Vladimír Čunát <vcunat@gmail.com>
1976 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
1978 (x86 Options): Likewise.
1980 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
1984 * extend.texi (Common Function Attributes) <no_stack_limit>: New.
1985 * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
1986 to corresponding attribute.
1988 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
1990 * doc/extend.texi (Common Function Attributes) <noplt>: Move
1991 to correct alphabetization of table. Copy-edit and correct
1993 <stack_protect>: Likewise.
1994 <target_clones>: Likewise.
1996 * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
1997 Correct punctuation.
1998 (Code Gen Options) <-fno-plt>: Copy-edit.
2000 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
2003 * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
2004 SI values. Explicitly convert SI to DI and vice-versa.
2006 2016-01-01 Jakub Jelinek <jakub@redhat.com>
2008 PR tree-optimization/69070
2009 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
2010 REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
2013 * ubsan.c (ubsan_instrument_float_cast): Call
2014 initialize_sanitizer_builtins.
2017 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
2019 Copyright (C) 2016 Free Software Foundation, Inc.
2021 Copying and distribution of this file, with or without modification,
2022 are permitted in any medium without royalty provided the copyright
2023 notice and this notice are preserved.