1 2016-04-12 Martin Liska <mliska@suse.cz>
4 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
6 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
8 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
9 max_loop_iterations_int.
10 (tree_unswitch_outer_loop): Likewise.
11 * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
12 * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
14 2016-04-12 Tom de Vries <tom@codesourcery.com>
16 PR tree-optimization/68756
17 * graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
20 2016-04-12 Jakub Jelinek <jakub@redhat.com>
22 PR tree-optimization/70602
23 * tree-sra.c (generate_subtree_copies): Don't write anything into
26 * omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
27 regardless whether there are depend clauses or not.
29 2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
32 * config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
33 target attribute and pragma from changing the -mfloat128
34 and -mfloat128-hardware options.
36 * doc/extend.texi (Additional Floating Types): Document PowerPC
37 __float128 restrictions.
39 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
42 * config/aarch64/driver-aarch64.c
43 (aarch64_get_extension_string_for_isa_flags): New.
44 (arch_extension): Rename to...
45 (aarch64_arch_extension): ...This.
46 (ext_to_feat_string): Rename to...
47 (aarch64_extensions): ...This.
48 (aarch64_core_data): Keep track of architecture extension flags.
49 (cpu_data): Rename to...
50 (aarch64_cpu_data): ...This.
51 (aarch64_arch_driver_info): Keep track of architecture extension
53 (get_arch_name_from_id): Rename to...
54 (get_arch_from_id): ...This, change return type.
55 (host_detect_local_cpu): Update and reformat for renames, handle
56 extensions through common infrastructure.
58 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
61 * config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
62 track of a canonical flag name.
63 (all_extensions): Likewise.
64 (arch_to_arch_name): Also track extension flags enabled by the arch.
65 (all_architectures): Likewise.
66 (aarch64_parse_extension): Move to here.
67 (aarch64_get_extension_string_for_isa_flags): Take a new argument,
69 (aarch64_rewrite_selected_cpu): Update for above change.
70 * config/aarch64/aarch64-option-extensions.def: Rework the way flags
71 are handled, such that the single explicit value enabled by an
72 extension is kept seperate from the implicit values it also enables.
73 * config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
75 (aarch64_parse_extension): New.
76 * config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
77 here to config/aarch64/aarch64-protos.h.
78 (aarch64_parse_extension): Move from here to
79 common/config/aarch64/aarch64-common.c.
80 (aarch64_option_print): Update.
81 (aarch64_declare_function_name): Likewise.
82 (aarch64_start_file): Likewise.
83 * config/aarch64/driver-aarch64.c (arch_extension): Keep track of
84 the canonical flag for extensions.
85 * config.gcc (aarch64*-*-*): Extend regex for capturing extension
88 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
90 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
93 2016-04-09 Tom de Vries <tom@codesourcery.com>
95 PR tree-optimization/68953
96 * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
97 first to last subscript.
99 2016-04-09 Jakub Jelinek <jakub@redhat.com>
101 PR tree-optimization/70586
102 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
105 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
109 PR tree-optimization/70373
113 * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
114 clauses for acc parallel reductions as necessary. Error on those
116 * omp-low.c (scan_sharing_clauses): Don't install variables which
117 are used in acc parallel reductions.
118 (lower_rec_input_clauses): Remove dead code.
119 (lower_oacc_reductions): Add support for reference reductions.
120 (lower_reduction_clauses): Remove dead code.
121 (lower_omp_target): Don't remap variables appearing in acc parallel
123 * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
125 2016-04-08 Jakub Jelinek <jakub@redhat.com>
128 * tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
129 with multiple SSA_NAME defs, force the outputs other than first
130 to be live before calling live_track_process_def on each output.
132 PR rtl-optimization/70574
133 * fwprop.c (forward_propagate_and_simplify): Don't add
134 REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
135 (try_fwprop_subst): Don't add REG_EQUAL note if there are any
136 paradoxical subregs within *loc.
138 2016-04-08 Thomas Schwinge <thomas@codesourcery.com>
140 * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
141 -ftree-parallelize-loops={0,1}.
142 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
143 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
144 * config/ia64/hpux.h (LIB_SPEC): Likewise.
145 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
146 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
148 2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com>
151 * asan.c (instrument_derefs): If we get unknown location, extract it
153 (maybe_instrument_call): Instrument gimple_call's arguments if needed.
155 2016-04-08 Tom de Vries <tom@codesourcery.com>
157 * omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
158 implicit firstprivate clause.
160 2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
163 * config/arm/thumb2.md (tst + branch-> lsls + branch
164 peephole below *orsi_not_shiftsi_si): Require that condition
165 register is dead after the peephole.
166 (second peephole after the above): Likewise.
168 2016-04-08 Alan Modra <amodra@gmail.com>
171 * builtins.c (fold_builtin_classify): For IBM extended precision,
172 look at just the high-order double to test for NaN.
173 (fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal
174 test just the high double for Inf but both doubles for subnormal
177 2016-04-07 Jakub Jelinek <jakub@redhat.com>
179 * cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
180 * omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
181 node->simdclone->mask_mode != VOIDmode masks.
182 (simd_clone_adjust_argument_types): Likewise. Move sc var definition
183 earlier, use it instead of node->simdclone.
184 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
185 Set clonei->mask_mode.
187 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
190 * parser.c (cp_parser_iteration_statement): New parameter IF_P.
191 Pass it through to cp_parser_already_scoped_statement.
192 (cp_parser_already_scoped_statement): New parameter IF_P. Pass
193 it through to cp_parser_statement.
194 (cp_parser_statement): Pass IF_P through to
195 cp_parser_iteration_statement.
196 (cp_parser_pragma): Adjust call to
197 cp_parser_iteration_statement.
199 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
202 * gimplify.c (gimplify_omp_ordered): Add explicit braces to
203 resolve a future -Wparentheses warning.
204 * omp-low.c (scan_sharing_clauses): Likewise.
205 * tree-parloops.c (eliminate_local_variables): Likewise.
207 2016-04-06 Vladimir Makarov <vmakarov@redhat.com>
209 PR rtl-optimization/70398
210 * lra-constraints.c (process_address_1): Check zero scale and code
211 for reloading with zero scale.
213 2016-04-06 Uros Bizjak <ubizjak@gmail.com>
215 * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
216 (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
218 2016-04-06 Jakub Jelinek <jakub@redhat.com>
220 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
221 Add support for AVX512F clones, include them by default for
222 exported OpenMP declare simd functions. For AVX2 allow simdlen 32
223 and use it if charasteric type is 8-bit, for AVX512F allow simdlen
227 * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
228 * gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
229 firstprivate clauses.
230 * omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
231 OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
232 (lower_omp_target): Set TREE_NO_WARNING for
233 non-addressable possibly uninitialized vars which are copied into
234 addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
236 2016-04-05 John David Anglin <danglin@gcc.gnu.org>
238 * config/pa/predicates.md (integer_store_memory_operand): Accept
239 REG+D operands with a large offset when reload_in_progress is true.
240 (floating_point_store_memory_operand): Likewise.
242 2016-04-05 Jakub Jelinek <jakub@redhat.com>
245 * match.pd (nested int casts): Limit to GIMPLE.
247 2016-04-05 Jan Hubicka <hubicka@ucw.cz>
250 * ipa-devirt.c (maybe_record_node): Fix comment; use
251 SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
253 2016-04-05 Jakub Jelinek <jakub@redhat.com>
255 PR rtl-optimization/70542
256 * ree.c (add_removable_extension): For VECTOR_MODE_P punt
257 if there are any uses other than insn or debug insns.
259 2016-04-05 Marc Glisse <marc.glisse@inria.fr>
260 Jakub Jelinek <jakub@redhat.com>
262 PR tree-optimization/70509
263 * simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
264 Shift HOST_WIDE_INT_1U instead of 1.
266 2016-04-05 Zdenek Sojka <zsojka@seznam.cz>
268 PR tree-optimization/70509
269 * tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
270 of the vector base type for index.
272 2016-04-05 Uros Bizjak <ubizjak@gmail.com>
275 * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
277 2016-04-05 Richard Biener <rguenther@suse.de>
279 PR tree-optimization/70526
280 * tree-sra.c (build_ref_for_offset): Use prev_base to
281 extract the alias pointer type.
283 2016-04-05 Richard Biener <rguenther@suse.de>
285 * dse.c (struct store_info): Remove alias_set member.
286 (struct read_info_type): Likewise.
287 (clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
288 spill_deleted, clear_alias_set_lookup): Remove.
289 (get_group_info): Remove dead base == NULL_RTX case.
290 (dse_step0): Remove initialization of removed variables.
291 (delete_dead_store_insn): Reomve alias set dumping.
292 (free_read_records): Remove alias_set handling.
293 (canon_address): Remove alias_set_out parameter.
294 (record_store): Remove spill_alias_set, it's always zero.
295 (check_mem_read_rtx): Likewise.
296 (dse_step2): Rename from ...
297 (dse_step2_nospill): ... this. Adjust.
298 (scan_stores): Rename from ...
299 (scan_stores_nospill): ... this.
300 (scan_reads): Rename from ...
301 (scan_reads_nospill): ... this.
302 (scan_stores_spill, scan_reads_spill): Remove.
303 (dse_step3_scan): Remove for_spills argument which is always false.
304 (dse_step3): Likewise.
305 (dse_step5): Rename from ...
306 (dse_step5_nospill): ... this. Remove alias_set handling.
307 (rest_of_handle_dse): Adjust.
309 2016-04-05 Jakub Jelinek <jakub@redhat.com>
312 * config/i386/sse.md (*andnot<mode>3): Simplify assertions.
313 Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
314 V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
315 (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
317 2016-04-05 Richard Biener <rguenther@suse.de>
320 * gimplify-me.c (gimple_regimplify_operands): Do not rewrite
321 non-register type temporaries into SSA.
323 2016-04-04 Jan Hubicka <hubicka@ucw.cz>
326 * ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
327 calls when sanitizing.
328 (possible_polymorphic_call_target_p): Fix formatting.
330 2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
331 Jakub Jelinek <jakub@redhat.com>
334 * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
335 to ensure a call statement is compatible with a built-in's
337 * tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
340 2016-04-04 Richard Biener <rguenther@suse.de>
342 PR rtl-optimization/70484
343 * rtl.h (canon_output_dependence): Declare.
344 * alias.c (canon_output_dependence): New function.
345 * dse.c (record_store): Use canon_output_dependence rather
346 than canon_true_dependence.
348 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
351 * cgraph.h (symtab_node::copy_visibility_from): New function.
352 * symtab.c (symtab_node::copy_visibility_from): New function.
353 * ipa-visibility.c (optimize_weakref): New function.
354 (function_and_variable_visibility): Use it.
356 2016-04-04 Martin Liska <mliska@suse.cz>
359 * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
360 value that is really in range handled by SBR instruction.
361 * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
362 * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
363 * hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
365 2016-04-03 Oleg Endo <olegendo@gcc.gnu.org>
369 * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
370 set, but not for SP_REG operands.
372 2016-04-02 Martin Sebor <msebor@redhat.com>
375 * fold-const.c (maybe_nonzero_address): New function.
376 (fold_comparison): Call it. Fold equality and relational
377 expressions involving null pointers.
378 (tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
380 2016-03-31 Evandro Menezes <e.menezes@samsung.com>
382 Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
383 the "Y" constraint (scalar FP 0.0 immediate).
385 * gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
386 Add the "const_double" to the list of operand constraints.
388 2016-04-01 Jakub Jelinek <jakub@redhat.com>
390 PR rtl-optimization/70467
391 * config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
392 If low word of the last operand is 0, just emit addition/subtraction
395 2016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
398 * config/s390/s390.c (s390_expand_insv): Check for everything
399 constant instead of just VOIDmode stuff.
401 2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
404 * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
406 2016-04-01 Nathan Sidwell <nathan@acm.org>
408 * tree.def (TRY_CATCH_EXPR): Correct documentation.
410 2016-03-31 Vladimir Makarov <vmakarov@redhat.com>
412 PR rtl-optimization/70461
413 * ira-color.c (allocno_copy_cost_saving): Use allocno class if it
416 2016-03-31 Martin Liska <mliska@suse.cz>
419 * hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
420 a tree value or an immediate integer value to a buffer
421 that is eventually copied to a BRIG section.
422 (emit_immediate_operand): Call the function here.
423 * hsa-dump.c (dump_hsa_immed): Remove checking assert.
424 * hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
425 of class' fields that are removed.
426 (hsa_op_immed::~hsa_op_immed): Remove deinitialization.
427 * hsa.h (class hsa_op_immed): Remove m_brig_repr and
428 m_brig_repr_size fields.
430 2016-03-31 Martin Liska <mliska@suse.cz>
433 * hsa-gen.c (hsa_function_representation::update_dominance): New
435 (convert_addr_to_flat_segment): Likewise.
436 (gen_hsa_memory_set): New alignment argument.
437 (gen_hsa_ctor_assignment): Likewise.
438 (gen_hsa_insns_for_single_assignment): Provide alignment
439 to gen_hsa_ctor_assignment.
440 (gen_hsa_insns_for_direct_call): Add new argument.
441 (expand_lhs_of_string_op): New function.
442 (expand_string_operation_builtin): Likewise.
443 (expand_memory_copy): New function.
444 (expand_memory_set): New function.
445 (gen_hsa_insns_for_call): Use HOST_WIDE_INT.
446 (convert_switch_statements): Change signature.
447 (generate_hsa): Use a return value of the function.
448 (pass_gen_hsail::execute): Do not call
449 convert_switch_statements here.
450 * hsa-regalloc.c (hsa_regalloc): Call update_dominance.
451 * hsa.h (hsa_function_representation::m_modified_cfg): New flag.
452 (hsa_function_representation::update_dominance): New function.
454 2016-03-31 Martin Liska <mliska@suse.cz>
457 * hsa-brig.c (emit_directive_variable): Emit alignment
458 according to hsa_symbol::m_align.
459 * hsa-dump.c (hsa_byte_alignment): Move the function to another file.
460 (dump_hsa_symbol): Dump alignment of HSA symbols.
461 * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
462 (gen_hsa_addr_with_align): New function.
463 (hsa_bitmemref_alignment): Use newly added function.
464 (gen_hsa_insns_for_load): Likewise.
465 (gen_hsa_insns_for_store): Likewise.
466 (gen_hsa_memory_copy): New argument added.
467 (gen_hsa_insns_for_single_assignment): Respect
468 alignment for assignments processed via gen_hsa_memory_copy.
469 (gen_hsa_insns_for_direct_call): Likewise.
470 (gen_hsa_insns_for_return): Likewise.
471 (gen_function_def_parameters): Set default alignment.
472 * hsa.c (hsa_object_alignment): New function.
473 (hsa_byte_alignment): Pasted function.
474 * hsa.h (hsa_symbol::m_align): New field.
476 2016-03-31 Bin Cheng <bin.cheng@arm.com>
478 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
479 scratch field for goto case.
481 2016-03-31 James Greenhalgh <james.greenhalgh@arm.com>
483 * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
485 2016-03-31 Ilya Enkovich <enkovich.gnu@gmail.com>
488 * config/i386/i386.c (scalar_chain::convert_op): Fix description.
489 (scalar_chain::convert_insn): Call convert_op for reg
490 moves to handle undefined registers.
492 2016-03-31 Nathan Sidwell <nathan@acm.org>
495 * varasm.c (output_constructor_regular_field): Flush bitfield earlier.
496 Assert we don't want to move backwards.
498 2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com>
501 * config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
503 2016-03-31 Jakub Jelinek <jakub@redhat.com>
505 PR rtl-optimization/70460
506 * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
507 with operand from REG_LABEL_OPERAND, instead substitute
508 SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
509 Don't do anything for REG_NON_LOCAL_GOTO jumps.
511 2016-03-31 Martin Liska <mliska@suse.cz>
513 * passes.c (execute_one_pass): Do not call
514 todo_after for a discarded function.
516 2016-03-31 Bin Cheng <bin.cheng@arm.com>
518 * tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
519 (no_cost, infinite_cost): Initialize the new field.
520 (get_computation_cost_at): Record setup cost.
521 (determine_use_iv_cost_address): Skip cost computation for sub
522 uses if we can estimate it without losing accuracy.
524 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
526 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
528 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
529 max_loop_iterations_int.
530 (tree_unswitch_outer_loop): Likewise.
531 * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
532 * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
534 2016-03-30 Richard Biener <rguenther@suse.de>
537 * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
539 2016-03-30 Jakub Jelinek <jakub@redhat.com>
542 * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
543 in gen_blendm expander.
545 2016-03-30 Nick Clifton <nickc@redhat.com>
548 * config/arm/arm.c (arm_reload_out_hi): Add code to handle the
549 case where we are already provided with an SImode SUBREG.
551 2016-03-30 H.J. Lu <hongjiu.lu@intel.com>
554 * config/i386/i386.c (ix86_expand_epilogue): Properly check
555 conflict between DRAP register and __builtin_eh_return.
557 2016-03-30 Michael Matz <matz@suse.de>
558 Richard Biener <rguenther@suse.de>
561 * ipa-polymorphic-call.c (struct type_change_info): Change
562 speculative to an unsigned allowing to limit the work we do.
563 (csftc_abort_walking_p): New inline function..
564 (check_stmt_for_type_change): Limit the number of may-defs
565 skipped for speculative devirtualization to
566 max-speculative-devirt-maydefs.
567 * params.def (max-speculative-devirt-maydefs): New param.
568 * doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
570 2016-03-30 Mike Stump <mrs@gcc.gnu.org>
573 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
576 2016-03-30 Patrick Palka <ppalka@gcc.gnu.org>
578 PR tree-optimization/59124
579 * tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
580 where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).
582 2016-03-29 Jeff Law <law@redhat.com>
584 * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
586 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
588 * tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
591 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
593 * config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
594 * config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
595 gcrt0.o if linking dynamically.
597 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
600 * ipa-devirt.c (methods_equal_p): New function.
601 (compare_virtual_tables): Use it.
602 * cgraph.h (symbol_table::symbol_suffix_separator): Declare.
603 * cgraphclones.c (clone_function_name_1): Use
604 symbol_table::symbol_suffix_separator.
605 * coverage.c (build_var): Likewise.
606 * symtab.c (symbol_table::symbol_suffix_separator): New.
608 2016-03-29 Jakub Jelinek <jakub@redhat.com>
610 PR rtl-optimization/70429
611 * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
612 (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
616 * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
618 PR tree-optimization/70405
619 * ssa-iterators.h (num_imm_uses): Add missing braces.
621 2016-03-29 Vladimir Makarov <vmakarov@redhat.com>
623 PR rtl-optimization/68695
624 * ira-color.c (allocno_copy_cost_saving): New.
625 (improve_allocation): Use it.
627 2016-03-29 Richard Henderson <rth@redhat.com>
630 * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
632 2016-03-29 Richard Biener <rguenther@suse.de>
635 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
636 use alignment returned by get_pointer_alignment_1 if it is
637 bigger than BITS_PER_UNIT.
638 * builtins.c (get_pointer_alignment_1): Do not return true
639 for alignment extracted from SSA info.
641 2016-03-28 James Bowman <james.bowman@ftdichip.com>
643 * config/ft32/ft32.opt (mnodiv): New.
644 * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
645 * doc/invoke.texi (FT32 Options -mnodiv): New.
647 2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com>
650 * config/i386/i386.md (define_split, andn): Fix modes.
652 2016-03-26 Richard Biener <rguenther@suse.de>
653 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
656 * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
658 TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
659 as 2nd argument to cl_optimization_restore().
661 2016-03-25 Richard Henderson <rth@redhat.com>
664 * config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
665 * config/aarch64/aarch64-protos.h: Declare it.
666 * config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
668 2016-03-25 Alan Modra <amodra@gmail.com>
671 * config/rs6000/constraints.md (j): Simplify.
672 * config/rs6000/predicates.md (easy_fp_constant): Exclude
674 * config/rs6000/rs6000.md (zero_fp): New mode_attr.
675 (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
676 mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
677 in all constraint alternatives.
678 (movtd_64bit_nodm): Delete "j" constraint alternative.
680 2016-03-24 Aldy Hernandez <aldyh@redhat.com>
682 * tree-ssa-propagate.c: Enhance docs for
683 SSA_PROP_NOT_INTERESTING.
685 2016-03-24 Aldy Hernandez <aldyh@redhat.com>
687 * doc/extend.texi: Fix typo in documentation to pure attribute.
689 2016-03-24 John David Anglin <danglin@gcc.gnu.org>
692 * config/pa/pa.md (bswapdi2): Use a scratch register.
694 2016-03-24 Richard Henderson <rth@redhat.com>
697 * fold-const.c (extract_muldiv_1): Correct test for multiplication
700 2016-03-24 Uros Bizjak <ubizjak@gmail.com>
702 * config/i386/i386.md (*anddi3_doubleword): Generate AND insn
703 using ix86_expand_binary_operator instead of gen_andsi3.
705 2016-03-24 Richard Biener <rguenther@suse.de>
707 PR tree-optimization/70396
708 * tree-vect-stmts.c (vectorizable_comparison): Use
709 get_vectype_for_scalar_type.
711 2016-03-24 Richard Biener <rguenther@suse.de>
714 * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
717 2016-03-24 Richard Biener <rguenther@suse.de>
719 PR tree-optimization/70372
720 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
721 build_all_ones_cst to also handle vector types correctly.
723 2016-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
726 * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
729 2016-03-23 Marek Polacek <polacek@redhat.com>
732 * doc/invoke.texi: Document -Wignored-attributes.
734 2016-03-23 Bin Cheng <bin.cheng@arm.com>
736 PR tree-optimization/69042
737 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
738 parameter from 30 to 40.
740 2016-03-23 Bin Cheng <bin.cheng@arm.com>
742 PR tree-optimization/69042
743 * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
744 for use with constant offset stripped in base.
746 2016-03-23 Richard Biener <rguenther@suse.de>
749 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
750 mode compatibility check.
751 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
753 2016-03-23 Jeff Law <law@redhat.com>
755 PR tree-optimization/64058
756 * tree-ssa-coalesce.c (struct coalesce_pair): Add new field
758 (struct ssa_conflicts): Move up earlier in the file.
759 (conflicts_, var_map_): New static variables.
760 (initialize_conflict_count): New function to initialize the
761 CONFLICT_COUNT field for each conflict pair.
762 (compare_pairs): Lazily initialize the conflict count and use it
763 as the first tie-breaker.
764 (sort_coalesce_list): Add new arguments conflicts, map. Initialize
765 and wipe conflicts_ and map_ around the call to qsort. Remove
766 special case for 2 coalesce pairs.
767 * bitmap.c (bitmap_count_unique_bits): New function.
768 (bitmap_count_bits_in_word): New function, extracted from
770 (bitmap_count_bits): Use bitmap_count_bits_in_word.
771 * bitmap.h (bitmap_count_unique_bits): Declare it.
773 2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com>
776 * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
777 transparent alias chain for decl assembler name.
778 * config/sol2.c (solaris_assemble_visibility): Likewise.
780 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
782 * config/arm/arm1020e.md (1020call_op): Reduce reservation
784 (v10_fdivs): Likewise.
785 (v10_fdivd): Likewise.
787 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
790 * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
791 to not call fclose twice on file.
793 2016-03-23 Jakub Jelinek <jakub@redhat.com>
795 PR tree-optimization/70354
796 * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
797 oprnd0 is wider than oprnd1 and there is a cast from the wider
798 type to oprnd1, mask it with the mask of the narrower type.
801 * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
802 Optimize TARGET_STV splitters, if high or low word of last argument
805 2016-03-22 Jeff Law <law@redhat.com>
808 tree-ssa-threadbackward.c
809 (fsm_find_control_statement_thread_paths): Correctly distinguish
810 between old style jump threads vs FSM jump threads.
812 2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
815 * config/i386/i386.c (scalar_chain::convert_op): Support
816 uninitialized register usage case.
818 2016-03-22 Richard Biener <rguenther@suse.de>
821 * genmatch.c (gen_transform): Adjust last parameter to a three-state
823 (capture::gen_transform): ... to change behavior when substituting
824 a condition into cond or not-cond expr context.
825 (dt_simplify::gen_1): Adjust.
826 * gimple-match-head.c: Include gimplify.h for unshare_expr.
827 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
828 last change and instead change to
829 A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
830 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
832 2016-03-22 Anthony Green <green@moxielogic.com>
834 * config/moxie/moxiebox.h (CC1_SPEC): Define. Fix endianness
835 issue for moxiebox targets.
836 (CC1PLUS_SPEC): Ditto.
838 2016-03-22 Richard Biener <rguenther@suse.de>
841 * fold-const.c (extract_muldiv_1): Properly perform multiplication
844 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
846 * config/i386/i386.c (def_builtin): Remove duplicated functionality.
848 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
851 * config/i386/i386.c (def_builtin): Handle
852 OPTION_MASK_ISA_AVX512VL to be and-ed with other
854 (const struct builtin_description bdesc_special_args[]):
855 Remove duplicate ISA bits.
857 2016-03-22 Jakub Jelinek <jakub@redhat.com>
860 * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
861 d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i]
862 in a way that works also for AVX512BW.
865 * config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
866 instead of source if operands[1] is xmm16 and above and
867 !TARGET_AVX512VL. Use avx512f_vec_dupv16sf_1 instead of
868 vec_interleave_lowv4sf if we need to unpack xmm16 and above.
871 * gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
872 on assign if (*from_p) is a comparison, set it to
873 TREE_NO_WARNING (*from_p).
875 2016-03-21 Jakub Jelinek <jakub@redhat.com>
878 * lra.c (restore_scratches): Ignore deleted insns.
880 2016-03-21 Marc Glisse <marc.glisse@inria.fr>
881 Jakub Jelinek <jakub@redhat.com>
883 PR tree-optimization/70317
884 * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
887 2016-03-21 Uros Bizjak <ubizjak@gmail.com>
890 * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
893 (movti): Use general_operand for operand 1 predicate.
895 2016-03-21 Martin Liska <mliska@suse.cz>
897 * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
899 (dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
901 2016-03-21 Martin Liska <mliska@suse.cz>
904 * ipa-icf.c (sem_function::parse): Skip static
905 constructors and destructors.
907 2016-03-21 Jakub Jelinek <jakub@redhat.com>
910 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
911 function-like macro, peek following token(s) if it is followed
912 by CPP_OPEN_PAREN token with optional padding in between, and
913 if not, don't treat it like a macro.
915 2016-03-21 Thomas Schwinge <thomas@codesourcery.com>
916 Alexander Monakov <amonakov@ispras.ru>
918 * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
919 for the stabs debug format.
921 2016-03-21 Richard Biener <rguenther@suse.de>
923 PR tree-optimization/70310
924 * tree-vect-generic.c (expand_vector_condition): Fold the built
927 2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com>
930 * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
931 Block third alternative for AVX-512VL target,
933 2016-03-21 Martin Liska <mliska@suse.cz>
936 * hsa-brig.c (emit_function_directives): Mark unemitted
937 global variables for emission.
938 * hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
939 (get_symbol_for_decl): Likewise.
940 * hsa.h (struct hsa_symbol): New flag.
942 2016-03-21 Richard Biener <rguenther@suse.de>
944 PR tree-optimization/70288
945 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
946 we do not estimate unsimplified all-constant conditionals or
947 switches as optimized away.
949 2016-03-21 Andrey Belevantsev <abel@ispras.ru>
951 PR rtl-optimization/69102
952 * sched-deps.c (sched_analyze_insn): Do not set last_args_size field
953 when we have a readonly dependency context.
955 2016-03-18 Jeff Law <law@redhat.com>
957 PR rtl-optimization/70263
958 * ira.c (memref_used_between_p): Assert we found END in the insn chain.
959 (update_equiv_regs): When trying to move a store to after the insn
960 that sets the source of the store, make sure the store occurs after
961 the insn that sets the source of the store. When successful note
962 the REG_EQUIV note created in the dump file.
964 2016-03-16 David Wohlferd <dw@LimeGreenSocks.com>
965 Bernd Schmidt <bschmidt@redhat.com>
967 * doc/extend.texi: Document more potential problems with basic asms.
969 2016-03-18 Bernd Schmidt <bschmidt@redhat.com>
971 PR rtl-optimization/70278
972 * lra-constraints.c (split_reg): Handle the case where biggest_mode is
975 2016-03-18 Jason Merrill <jason@redhat.com>
977 * calls.c (load_register_parameters): Fix zero size sibcall logic.
979 2016-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
981 * config/i386/sse.md: Use vpbroadcastq for broadcasting DF
984 2016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com>
986 PR tree-optimization/70252
987 * tree-vect-stmts.c (supportable_widening_operation): Check resulting
988 boolean vector has a proper number of elements.
989 (supportable_narrowing_operation): Likewise.
991 2016-03-18 Tom de Vries <tom@codesourcery.com>
994 * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
996 2016-03-18 Jakub Jelinek <jakub@redhat.com>
998 * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
999 instead of replace_rtx for DEBUG_INSNs.
1001 2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1003 * config/i386/znver1.md : Fix latencies of FP/SSE/AVX
1004 load type reservations.
1006 2016-03-17 John David Anglin <danglin@gcc.gnu.org>
1009 * config/pa/constraints.md: Revert 2015-02-13 change. Use
1010 define_constraint for "Q" and "T" constraints.
1012 2016-03-17 Evandro Menezes <e.menezes@samsung.com>
1014 Tweak the pipeline model for Exynos M1
1016 * config/aarch64/aarch64.c (exynosm1_tunings): Enable weak prefetching
1019 2016-03-17 David Malcolm <dmalcolm@redhat.com>
1022 * diagnostic-show-locus.c (compatible_locations_p): Handle the case
1023 where one or both locations aren't within a line_map.
1025 2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
1028 * opts.c (finish_options): Don't set flag_pie to the default if
1029 -fpic, -fPIC, -fno-pic or -fno-PIC is used. Set flag_pic to 0
1032 2016-03-17 Joern Rennecke <joern.rennecke@embecosm.com>
1034 * config/i386/i386.md (*movv4qicc_insn+1..36): Pass
1035 true as ALL_REGS argument to replace_rtx.
1037 2016-03-17 Richard Biener <rguenther@suse.de>
1040 * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
1043 2016-03-17 Jakub Jelinek <jakub@redhat.com>
1046 * rtl.h (replace_rtx): Add ALL_REGS argument.
1047 * rtlanal.c (replace_rtx): Likewise. If true, use REGNO
1048 equality and assert mode is the same, instead of just rtx pointer
1050 * config/i386/i386.md (mov + arithmetics with load peephole): Pass
1051 true as ALL_REGS argument to replace_rtx.
1053 2016-03-17 Ilya Enkovich <enkovich.gnu@gmail.com>
1055 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
1056 for boolean vector with vector mode only.
1057 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
1059 2016-03-17 Nick Clifton <nickc@redhat.com>
1062 * config/rx/rx.c (rx_print_integer): Print negative constants in
1065 2016-03-17 Jakub Jelinek <jakub@redhat.com>
1068 * rtlanal.c (replace_rtx): Revert 2016-03-16 change.
1070 2016-03-16 Richard Henderson <rth@redhat.com>
1071 Richard Biener <rguenth@suse.de>
1076 * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
1077 first operand as is_gimple_condexpr.
1082 2015-12-11 Eric Botcazou <ebotcazou@adacore.com>
1083 * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
1084 Do not gimplify the result.
1085 (do_unop): Adjust call to tree_vec_extract.
1086 (do_binop): Likewise.
1087 (do_compare): Likewise.
1088 (do_plus_minus): Likewise.
1089 (do_negate): Likewise.
1090 (expand_vector_condition): Likewise.
1091 (do_cond): Likewise.
1093 2016-03-16 Richard Henderson <rth@redhat.com>
1096 * config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
1097 (aarch64_classify_address): Use it.
1098 (aarch64_legitimize_address): Force all subexpressions of PLUS
1099 into registers. Simplify as (sfp+const)+reg or (reg+reg)+const.
1101 2016-03-16 Jakub Jelinek <jakub@redhat.com>
1102 Richard Biener <rguenth@suse.de>
1105 * rtlanal.c (replace_rtx): For REG, if from is a REG,
1106 return to even if only REGNO is equal, and assert
1109 2016-03-11 Jeff Law <law@redhat.com>
1111 PR rtl-optimization/70224
1112 * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
1114 2016-03-16 Richard Henderson <rth@redhat.com>
1117 * function.h (struct function): Add has_forced_label_in_static.
1118 * gimplify.c (force_labels_r): Set it.
1119 * lto-streamer-in.c (input_struct_function_base): Read it.
1120 * lto-streamer-out.c (output_struct_function_base): Write it.
1121 * tree-inline.c (has_label_address_in_static_1): Remove.
1122 (copy_forbidden): Remove fndecl parameter; test
1123 has_forced_label_in_static.
1124 (inline_forbidden_p): Update call to copy_forbidden.
1125 (tree_versionable_function_p): Likewise.
1126 * ipa-chkp.c (chkp_instrumentable_p): Likewise.
1127 (chkp_versioning): Likewise.
1128 * tree-inline.h (copy_forbidden): Update decl.
1130 2016-03-16 Marek Polacek <polacek@redhat.com>
1133 * cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
1134 function being thunked if the result type doesn't have fixed size.
1135 * gimplify.c (gimplify_modify_expr): Also set LHS if the result type
1136 doesn't have fixed size.
1138 2016-03-16 Bin Cheng <bin.cheng@arm.com>
1140 * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
1141 reporting malformed loop nest.
1143 2016-03-16 Tom de Vries <tom@codesourcery.com>
1146 * ipa-devirt.c (possible_polymorphic_call_targets): Move
1147 nodes.length () == 1 test to before first nodes[0] access.
1149 2016-03-16 Tom de Vries <tom@codesourcery.com>
1151 PR tree-optimization/68715
1152 * graphite-scop-detection.c (scop_detection::merge_sese): Add missing
1155 2016-03-16 Tom de Vries <tom@codesourcery.com>
1157 PR tree-optimization/68809
1158 * graphite-scop-detection.c (same_close_phi_node): Test if result types
1161 2016-03-16 Carlos O'Donell <carlos@redhat.com>
1162 Sandra Loosemore <sandra@codesourcery.com>
1164 * doc/extend.texi (Common Function Attributes): Describe ifunc impact
1165 on leaf attribute. Mention ELF interposition problems.
1167 2016-03-16 Alan Modra <amodra@gmail.com>
1169 PR rtl-optimization/69195
1170 PR rtl-optimization/47992
1171 * ira.c (indirect_jump_optimize): Ignore artificial defs.
1174 2016-03-15 Eric Botcazou <ebotcazou@adacore.com>
1177 * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
1179 2016-03-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1181 * config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
1183 2016-03-15 Jakub Jelinek <jakub@redhat.com>
1185 PR rtl-optimization/70222
1186 * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
1187 optimization if mode is different from result_mode, queue up masking
1188 of the result in outer_op. Formatting fix.
1191 * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
1194 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1196 PR rtl-optimization/69032
1197 * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
1198 looping backwards over basic block insns.
1200 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1203 * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
1204 to non-speculative when propagating trap bits.
1206 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1208 PR rtl-optimization/63384
1209 * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
1212 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1215 * sched-deps.c (get_implicit_reg_pending_clobbers): New function,
1216 factored out from ...
1217 (sched_analyze_insn): ... here.
1218 * sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
1219 * sel-sched-ir.c (setup_id_implicit_regs): New function, use
1220 get_implicit_reg_pending_clobbers in it.
1221 (setup_id_reg_sets): Use setup_id_implicit_regs.
1222 (deps_init_id): Ditto.
1224 2016-03-15 Tom de Vries <tom@codesourcery.com>
1227 * cgraph.c (cgraph_node::get_body): Save, reset and restore
1229 * passes.c (execute_one_ipa_transform_pass): Add missing argument to
1230 execute_function_dump.
1231 (execute_one_pass): Don't dump function if it will be dumped after ipa
1234 2016-03-15 Segher Boessenkool <segher@kernel.crashing.org>
1236 * genrecog.c (match_pattern_2): If pred is NULL don't call
1237 safe_predicate_mode on it.
1239 2016-03-14 Jakub Jelinek <jakub@redhat.com>
1242 * lra-constraints.c (delete_move_and_clobber): Change assertion
1243 to also allow dregno == 0.
1245 2016-03-14 Richard Henderson <rth@redhat.com>
1248 * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
1249 (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
1250 (reassociate_bb): Use optimize_vec_cond_expr; avoid
1251 optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
1254 2016-03-14 Bernd Schmidt <bschmidt@redhat.com>
1257 * lra-lives.c (process_bb_lives): Also update biggest mode for hard
1259 (lra_create_live_ranges_1): initialize hard register biggest_mode to
1261 * lra-constraints.c (split_reg): For hard regs, try to find the
1262 biggest single-register mode used in the function.
1264 2016-03-14 Richard Biener <rguenther@suse.de>
1266 PR tree-optimization/56365
1267 * tree-ssa-phiopt.c (minmax_replacement): Handle alternate
1268 constants to compare against.
1270 2016-03-14 Segher Boessenkool <segher@kernel.crashing.org>
1273 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
1274 *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
1275 (define_split for the GPR case): Use int_reg_operand instead of
1276 gpc_reg_operand for the output.
1278 2016-03-14 Tom de Vries <tom@codesourcery.com>
1280 PR tree-optimization/70045
1281 * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
1282 create_empty_if_region_on_edge argument.
1284 2016-03-13 Eric Botcazou <ebotcazou@adacore.com>
1286 * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
1287 (STACK_CHECK_PROTECT): Likewise.
1288 * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
1289 (STACK_CHECK_PROTECT): Likewise.
1290 * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
1291 (STACK_CHECK_PROTECT): Likewise.
1292 * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
1293 * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
1294 (STACK_CHECK_PROTECT): Likewise.
1296 2016-03-12 Andrey Belevantsev <abel@ispras.ru>
1298 PR rtl-optimization/69307
1299 * sel-sched.c (choose_best_pseudo_reg): Properly check for hard
1300 registers in modes that span more than one register.
1302 2016-03-12 Vladimir Makarov <vmakarov@redhat.com>
1305 * lra-constraints.c (delete_move_and_clobber): New.
1306 (remove_inheritance_pseudos): Use it.
1308 2016-03-12 Eric Botcazou <ebotcazou@adacore.com>
1311 * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
1312 the libcall is LCT_THROW.
1313 * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
1314 for the checking routine.
1316 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1319 * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
1320 optimization if we have direct move.
1321 (roundu32<mode>2_fprs): Likewise.
1323 2016-03-11 Bernd Schmidt <bschmidt@redhat.com>
1326 * lra-remat.c (operand_to_remat): Disallow hard regs in the value t
1328 (reg_overlap_for_remat_p): Renamed from input_regno_present_p.
1329 Arguments swapped. All callers changed. Take reg_renumber into
1330 account, and Calculate and compare register ranges for hard regs.
1332 2016-03-11 Jeff Law <law@redhat.com>
1334 PR tree-optimization/70190
1335 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1336 Handle cases where we can not extract the taken edge, even though we
1337 found a constant value.
1339 PR tree-optimization/64058
1340 * tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
1341 (num_coalesce_pairs): Move up earlier in file.
1342 (find_coalesce_pair): Initialize the INDEX field for each pair
1344 (compare_pairs): No longer sort on the elements in each pair.
1345 Instead break ties with the index of the coalesce pair.
1347 2016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1350 * config/aarch64/aarch64-protos.h
1351 (aarch64_save_restore_target_globals): New prototype.
1352 * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
1353 Call the above when popping pragma.
1354 * config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
1356 (aarch64_set_current_function): Rewrite using the above.
1358 2016-03-11 Jakub Jelinek <jakub@redhat.com>
1360 PR tree-optimization/70177
1361 * gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
1362 (extract_ops_from_tree): ... this. In the 2 argument
1363 overload remove _1 suffix.
1364 * gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
1365 (extract_ops_from_tree): ... this.
1366 * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
1368 * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
1369 * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
1370 extract_ops_from_tree instead of 2 operand one.
1372 2016-03-11 Alan Lawrence <alan.lawrence@arm.com>
1374 PR tree-optimization/70013
1375 * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
1376 for constant-pool entries.
1378 2016-03-11 Jakub Jelinek <jakub@redhat.com>
1380 PR rtl-optimization/70174
1381 * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
1382 followed by gen_lowpart on force_reg instead of just gen_lowpart.
1384 PR tree-optimization/70169
1385 * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
1386 LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable
1389 2016-03-11 Ilya Enkovich <enkovich.gnu@gmail.com>
1390 Jakub Jelinek <jakub@redhat.com>
1393 * config/i386/i386.c (scalar_chain::convert_reg): Skip uses
1394 of uninitialized values.
1396 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1398 * config/s390/s390.md ("trunctddd2"): Turn former define_insn into
1400 ("*trunctddd2"): New pattern definition.
1401 ("trunctdsd2"): Set prep_for_short_prec rounding mode for the
1404 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1406 * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
1407 definitions for BFP and DFP rounding modes.
1408 ("fixuns_truncdddi2", "fixuns_trunctddi2")
1409 ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
1410 ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
1411 ("fix_trunctf<mode>2"): Use the new constants instead of magic
1414 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1416 * config/s390/constraints.md: Adjust comment.
1417 ("Y"): Adjust comment. Rename s390_decompose_shift_count to
1418 s390_decompose_addrstyle_without_index.
1419 * config/s390/predicates.md (shift_count_or_setmem_operand):
1420 Rename to setmem_operand.
1421 * config/s390/s390-protos.h
1422 (s390_decompose_shift_count): Rename to
1423 s390_decompose_addrstyle_without_index.
1424 * config/s390/s390.c (s390_decompose_shift_count)
1425 (s390_mem_constraint, print_shift_count_operand)
1426 (print_operand_address, print_operand): Rename
1427 s390_decompose_shift_count to
1428 s390_decompose_addrstyle_without_index and rename
1429 print_shift_count_operand to print_addrstyle_operand troughout the
1431 * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
1432 ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
1433 Rename shift_count_or_setmem_operand to setmem_operand.
1434 * config/s390/vx-builtins.md ("vec_insert<mode>")
1435 ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
1438 2016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1441 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
1442 Handle overlapping retval and newval.
1444 2016-03-10 Nick Clifton <nickc@redhat.com>
1447 * config/aarch64/aarch64.c
1448 (aarch64_override_options_after_change_1): When forcing
1449 flag_omit_frame_pointer to be true, use a special value that can
1450 be detected if this function is called again, thus preventing
1451 flag_omit_leaf_frame_pointer from being forced to be false.
1453 2016-03-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1455 * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
1456 Set x_flag_omit_leaf_frame_pointer when handling
1457 -momit-leaf-frame-pointer.
1459 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1462 * cgraph.c (cgraph_node::dump): Dump split_part and
1463 indirect_call_target.
1464 * cgraph.h (cgraph_node): Add indirect_call_target flag.
1465 * ipa.c (has_addr_references_p): Cleanup.
1466 (is_indirect_call_target_p): New.
1467 (walk_polymorphic_call_targets): Do not mark virtuals that may be
1468 called indirectly as local.
1469 (symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
1471 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1474 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
1475 on cxa_pure_virtual.
1477 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1480 * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
1482 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1485 * tree.c (need_assembler_name_p): Only record main variant type names.
1487 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
1490 * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
1491 Always define to 0 or 1.
1492 (TARGET_FIX_ERR_A53_843419): New macro.
1493 * config/aarch64/aarch64-elf-raw.h
1494 (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
1495 * config/aarch64/aarch64-linux.h: Likewise.
1496 * config/aarch64/aarch64.c
1497 (aarch64_override_options_after_change_1): Do not default
1498 aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
1500 (aarch64_attributes): Handle fix-cortex-a53-843419.
1501 (aarch64_can_inline_p): Likewise.
1502 * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
1504 2016-03-10 Alan Lawrence <alan.lawrence@arm.com>
1505 Jakub Jelinek <jakub@redhat.com>
1507 * common.opt (funconstrained-commons, flag_unconstrained_commons): New.
1508 * tree.c (array_at_struct_end_p): Do not limit to size of decl for
1509 DECL_COMMONS if flag_unconstrained_commons is set.
1510 * tree-dfa.c (get_ref_base_and_extent): Likewise.
1511 * doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
1512 (funconstrained-commons): Document.
1514 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
1516 * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
1517 aarch64-fusion-pairs.def and aarch64-tuning-flags.def
1519 2016-03-10 Ilya Enkovich <enkovich.gnu@gmail.com>
1521 * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
1522 has a proper number of elements.
1524 2016-03-10 Alan Modra <amodra@gmail.com>
1526 PR rtl-optimization/69195
1527 PR rtl-optimization/47992
1528 * ira.c (recorded_label_ref): Delete.
1529 (update_equiv_regs): Return void.
1530 (indirect_jump_optimize): New function.
1531 (ira): Call indirect_jump_optimize and delete_trivially_dead_insns
1532 before regstat_compute_ri. Don't rebuild_jump_labels here.
1533 Delete update_regstat.
1535 2016-03-10 Richard Biener <rguenther@suse.de>
1537 PR tree-optimization/70128
1538 * tree-ssa-structalias.c (set_uids_in_ptset): Set
1539 vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
1541 2016-03-09 Jakub Jelinek <jakub@redhat.com>
1543 PR tree-optimization/70152
1544 * tree-sra.c (replace_removed_params_ssa_names): Copy over
1545 SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
1548 * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
1549 instead of gen_sse2_loadlpd.
1550 * config/i386/sse.md (*vec_concatv2df): Rename to...
1551 (vec_concatv2df): ... this.
1553 PR tree-optimization/70127
1554 * fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
1556 2016-03-09 David Malcolm <dmalcolm@redhat.com>
1560 * diagnostic-show-locus.c (compatible_locations_p): New function.
1561 (layout::layout): Sanitize ranges using compatible_locations_p.
1563 2016-03-09 David Malcolm <dmalcolm@redhat.com>
1567 * diagnostic-show-locus.c (layout_range::layout_range): Replace
1568 location_range param with three const expanded_locations * and a
1570 (layout::layout): Replace call to
1571 rich_location::lazily_expand_location with get_expanded_location.
1572 Extract the range and perform location expansion here, passing
1573 the results to the layout_range ctor.
1574 * diagnostic.c (source_range::debug): Delete.
1575 * diagnostic.h (diagnostic_expand_location): Reimplement in terms
1576 of rich_location::get_expanded_location.
1577 * gcc-rich-location.c (get_range_for_expr): Delete.
1578 (gcc_rich_location::add_expr): Reimplement to avoid the
1579 rich_location::add_range overload that took a location_range,
1580 passing a location_t instead.
1582 2016-03-09 Richard Biener <rguenther@suse.de>
1583 Jakub Jelinek <jakub@redhat.com>
1585 PR tree-optimization/70138
1586 * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
1587 Also skip vect_double_reduction_def.
1589 2016-03-09 Jakub Jelinek <jakub@redhat.com>
1592 * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
1593 if the operand is "m".
1595 2016-03-09 Nathan Sidwell <nathan@acm.org>
1597 * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
1599 2016-03-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1601 * config/i386/i386.c (processor_target_table): Fix cost table
1602 intialization order for znver1.
1604 2016-03-08 Jakub Jelinek <jakub@redhat.com>
1606 * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
1607 - becuase -> because.
1608 * ipa-reference.c (ignore_module_statics): Likewise.
1609 * cgraph.c (cgraph_node::get_body): Likewise.
1610 * ipa-inline.c (early_inliner): Likewise.
1611 * ipa-devirt.c (types_same_for_odr): Likewise.
1612 * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
1613 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
1615 2016-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1617 * tree-ssa-math-opts.c: Fix typo in comment.
1619 2016-03-08 Jakub Jelinek <jakub@redhat.com>
1622 * config/i386/i386.c (scalar_chain::make_vector_copies,
1623 scalar_chain::convert_reg): Call end_sequence in between
1624 get_insns and emit_conversion_insns rather than after both
1627 2016-03-07 Uros Bizjak <ubizjak@gmail.com>
1630 * config/i386/i386.h (machine_function): Add
1631 pc_thunk_call_expanded flag.
1632 (ix86_pc_thunk_call_expanded): New define.
1633 * config/i386/i386.md (set_got, set_got_labelled): New expanders.
1634 (*set_got): Rename insn pattern from set_got.
1635 (*set_got_labelled): Rename inst pattern from set_got_labelled.
1636 * config/i386/i386.c (ix86_compute_frame_layout): Use
1637 ix86_pc_thunk_call_expanded to prevent red-zone.
1639 2016-03-07 Martin Jambor <mjambor@suse.cz>
1641 * hsa.h (hsa_get_ctor_statements): Declare.
1642 (hsa_get_dtor_statements): Likewise.
1643 (hsa_get_kernel_dispatch_type): Likewise.
1644 * hsa.c (hsa_get_ctor_statements): New function.
1645 (hsa_get_dtor_statements): Likewise.
1646 (hsa_get_kernel_dispatch_type): Likewise.
1647 * hsa-brig.c (hsa_cdtor_statements): Removed.
1648 (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
1649 hsa_get_dtor_statements.
1650 * hsa-gen.c (hsa_kernel_dispatch_type): Removed.
1651 (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
1653 2016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
1655 * config/arm/arm-cores.def (cortex-r8): New.
1656 * config/arm/arm-tables.opt (cortex-r8): Regenerate.
1657 * config/arm/arm-tune.md: Likewise.
1658 * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values.
1660 2016-03-07 Martin Sebor <msebor@redhat.com>
1662 PR rtl-optimization/19705
1663 * doc/invoke.texi (Options That Control Optimization): Clarify
1664 -fno-branch-count-reg.
1666 2016-02-26 Richard Biener <rguenther@suse.de>
1667 Jeff Law <law@redhat.com>
1669 PR tree-optimization/69740
1670 * cfghooks.c (remove_edge): Request loop fixups if we delete
1671 an edge that might turn an irreducible loop into a natural
1673 * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
1674 Move after definition of loops_state_clear.
1676 2016-03-07 Bin Cheng <bin.cheng@arm.com>
1678 PR rtl-optimization/69052
1679 * rtlanal.c (commutative_operand_precedence): Set higher precedence
1682 2016-03-07 Tom de Vries <tom@codesourcery.com>
1684 PR tree-optimization/70116
1685 * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
1686 is_tm_ending stmts and ubsan/asan internal functions.
1687 (find_duplicate): Use it. Don't test is_tm_ending here.
1689 2016-03-07 Richard Biener <rguenther@suse.de>
1691 PR tree-optimization/70115
1692 * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
1693 (propagate_constants_for_unrolling): Use replace_uses_by.
1695 2016-03-07 Nathan Sidwell <nathan@codesourcery.com>
1698 * omp-low.c (struct oacc_loop): Add ifns.
1699 (new_oacc_loop_raw): Initialize it.
1700 (finish_oacc_loop): Clear mask & flags if no ifns.
1701 (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
1702 (oacc_loop_xform_loop): Add ifns arg & adjust.
1703 (oacc_loop_process): Adjust oacc_loop_xform_loop call.
1705 2016-03-07 Richard Henderson <rth@redhat.com>
1708 * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
1709 (insert_value_copy_on_edge): Likewise.
1711 2016-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1713 * config/arm/arm_neon.h: Show error if using with soft-float ABI.
1715 2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1718 * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
1720 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
1722 * config/i386/i386.c (znver1_cost): Fix Multiply cost.
1724 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
1726 Fix sseimul type attribute.
1727 * config/i386/znver1.md
1728 (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
1729 znver1_sseimul_avx256_load) : Fix the type attribute.
1730 (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
1731 pipe usage and latency.
1733 2016-03-05 Jakub Jelinek <jakub@redhat.com>
1736 * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
1737 of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
1740 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
1743 * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
1745 PR rtl-optimization/69941
1746 * postreload.c (reload_combine_recognize_pattern): Ensure all uses of
1747 the reg share its mode.
1749 2016-03-04 Jeff Law <law@redhat.com>
1751 PR tree-optimization/69196
1752 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1753 If the both SSA_NAMEs are anonymous, then consider them unassociated
1754 and include the PHI in the statement count.
1756 2016-03-05 Tom de Vries <tom@codesourcery.com>
1758 * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
1759 construct in oacc routine. Check for oacc region in oacc routine.
1761 2016-03-04 Jakub Jelinek <jakub@redhat.com>
1764 * config/i386/i386.c (decide_alg): Add RECUR argument. Revert
1765 2016-02-22 changes, instead don't recurse if RECUR is already true.
1766 Don't change *dynamic_check if RECUR. Adjust recursive caller
1767 to pass true to the new argument.
1768 (ix86_expand_set_or_movmem): Adjust decide_alg caller.
1771 * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
1772 <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
1774 (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands.
1776 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
1778 PR rtl-optimization/57676
1779 * lra-assigns.c (lra_assign): Guard test for maximum iterations
1782 2016-03-04 Ilya Enkovich <enkovich.gnu@gmail.com>
1784 * tree-vect-patterns.c (search_type_for_mask): Handle
1785 comparison of booleans.
1787 2016-03-04 Jakub Jelinek <jakub@redhat.com>
1789 * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
1793 * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
1794 all other ops that have dw_val_class_die_ref operands,
1795 and DW_OP_GNU_entry_value.
1797 2016-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1799 PR rtl-optimization/69904
1800 * config/arm/arm.c (arm_cannot_copy_insn_p):
1801 Return true for load-exclusive instructions.
1803 2016-03-03 Jakub Jelinek <jakub@redhat.com>
1806 * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
1807 argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
1808 the pattern no matter if it is used just by non-pattern, pattern
1810 (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
1811 * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
1812 oprnd1 def_stmt is in pattern, don't look through it.
1814 2016-03-03 Marek Polacek <polacek@redhat.com>
1817 * match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
1819 2016-03-03 Martin Liska <mliska@suse.cz>
1821 PR tree-optimization/70043
1822 * tree-vect-loop.c (optimize_mask_stores): Move iterator to
1823 previous statement if we see a debug statement.
1825 2016-03-03 Richard Biener <rguenther@suse.de>
1827 PR tree-optimization/55936
1828 * tree-vrp.c (compare_name_with_value): Add use_equiv_p
1829 parameter and guard unsafe equivalence use.
1830 (vrp_evaluate_conditional_warnv_with_ops): Always use
1831 safe equivalences but not via the quadratic compare_names
1834 2016-03-03 Michael Collison <michael.collison@linaro.org>
1837 * config/arm/arm.md (*subsi3_carryin_const): Change predicate
1838 for operand 1 to s_register_operand. Change predicate for operand
1839 2 to arm_not_immediate_operand.
1841 2016-03-02 H.J. Lu <hongjiu.lu@intel.com>
1843 * doc/tm.texi: Regenerated.
1845 2016-03-02 Richard Henderson <rth@redhat.com>
1848 * simplify-rtx.c (simplify_plus_minus): Allow reassoc without
1849 simplification when all args are positive non-fixed registers.
1851 2016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1853 * target.def (lra_p): Specify that new ports should use LRA.
1855 2016-03-02 Jakub Jelinek <jakub@redhat.com>
1858 * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
1859 gimplify_type_sizes the type they refer to.
1860 (omp_notice_variable): Handle reference vars to VLAs.
1861 * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
1862 reference to VLA decls in the second pass instead of first pass.
1864 2016-03-02 Tom de Vries <tom@codesourcery.com>
1866 PR tree-optimization/68659
1867 * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
1868 new_expr == NULL_TREE.
1869 (get_new_name): Handle ADDR_EXPR.
1871 2016-03-02 Bin Cheng <bin.cheng@arm.com>
1873 PR rtl-optimization/69052
1874 * loop-invariant.c (canonicalize_address): New function.
1875 (inv_can_prop_to_addr_use): Check validity of address expression
1876 which is canonicalized by above function.
1878 2016-03-02 Alan Modra <amodra@gmail.com>
1881 * ipa-icf.c (sem_variable::merge): Do not merge an alias with
1884 2016-03-02 Jakub Jelinek <jakub@redhat.com>
1887 * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
1888 (*movhi_internal): Put mask moves from and to memory separately
1889 from moves from/to GPRs.
1891 2016-03-02 Richard Biener <rguenther@suse.de>
1893 * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
1894 GENERIC expressions in GIMPLE.
1896 2016-03-02 Richard Biener <rguenther@suse.de>
1898 * config/i386/i386.c (type_natural_mode): Fix typo.
1900 2016-03-02 Nick Clifton <nickc@redhat.com>
1902 * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
1904 2016-03-02 Richard Biener <rguenther@suse.de>
1905 Uros Bizjak <ubizjak@gmail.com>
1908 * config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
1910 2016-03-02 Richard Biener <rguenther@suse.de>
1913 * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
1915 2016-03-02 Marek Polacek <polacek@redhat.com>
1918 * gimplify.c (gimplify_va_arg_expr): Use expanded location for the
1919 "is promoted to" warning.
1921 2016-03-01 DJ Delorie <dj@redhat.com>
1923 * config.gcc: Deprecate mep-*.
1925 2016-03-01 Vladimir Makarov <vmakarov@redhat.com>
1928 * lra-constraints.c (regno_val_use_in): New.
1929 (match_reload): Use it instead of regno_use_in.
1931 2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
1933 PR rtl-optimization/70007
1934 * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
1935 references present in REG_EQUAL notes attached to non-SET patterns.
1937 2016-03-01 Jeff Law <law@redhat.com>
1939 PR tree-optimization/69196
1940 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1941 Appropriately clamp the number of statements to copy when the
1942 thread path does not traverse a loop backedge.
1944 PR tree-optimization/69196
1945 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1946 Do count some PHIs in the thread path against the insn count. Decrease
1947 final statement count by one as the control statement in the last
1948 block will get removed. Remove special cased code for handling PHIs
1951 2016-03-01 Uros Bizjak <ubizjak@gmail.com>
1954 * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
1955 asm dialect alternatives to explicit GOTPCREL calls.
1957 2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
1960 * ira.c (do_reload): Issue warning for generic stack checking here...
1961 * reload1.c (reload): ...instead of here and streamline it.
1963 2016-03-01 Nick Clifton <nickc@redhat.com>
1965 * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
1967 2016-03-01 Richard Biener <rguenther@suse.de>
1969 PR tree-optimization/69983
1970 * tree-chrec.c (eq_evolutions_p): Handle conversions, compare
1971 types and fall back to operand_equal_p.
1973 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1976 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1978 * config/s390/constraints.md ("jm8"): New constraint.
1979 * config/s390/predicates.md ("const_int_8bitset_operand"): New
1981 * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
1983 ("*setmem_long<setmem_and>"): New pattern.
1984 ("*setmem_long_31z", "*setmem_long_and_31z"): Merge
1986 ("*setmem_long_31z<setmem_and>"): New pattern.
1987 * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
1988 New substitution rules with the required attributes.
1991 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1994 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1996 * gensupport.c (process_substs_on_one_elem): Split loop to
1997 complete mark_operands_used_in_match_dup on all expressions in the
1999 (adjust_operands_numbers): Inline into process_substs_on_one_elem
2000 and remove function.
2002 2016-03-01 Richard Biener <rguenther@suse.de>
2005 * fold-const.c (fold_indirect_ref_1): Fix range checking for
2006 vector BIT_FIELD_REF extract.
2008 2016-03-01 Richard Biener <rguenther@suse.de>
2010 PR tree-optimization/69994
2011 * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
2013 2016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com>
2015 PR tree-optimization/69956
2016 * tree-vect-stmts.c (supportable_widening_operation): Support
2017 multi-step conversion of boolean vectors.
2018 (supportable_narrowing_operation): Likewise.
2020 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2022 * config/s390/s390.c (s390_decompose_address): Don't accept SImode
2025 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2027 * config/s390/subst.md (DSI_VI): New mode iterator.
2028 ("addr_style_op_subst"): Use DSI_VI instead of DSI.
2029 * config/s390/vector.md ("vec_set<mode>"): Move expander before
2030 the insn definition.
2031 ("*vec_set<mode>"): Change predicate and add alternative to
2032 support only either register or const_int operands as element
2034 ("*vec_set<mode>_plus"): New pattern to support reg + const_int
2036 ("vec_extract<mode>"): New expander.
2037 ("*vec_extract<mode>"): New insn definition supporting reg and
2038 const_int element selectors.
2039 ("*vec_extract<mode>_plus"): New insn definition supporting
2040 reg+const_int element selectors.
2041 ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
2042 following expander+insn definition.
2043 ("<vec_shifts_name><mode>3"): New expander.
2044 ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
2046 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2048 * config/s390/s390.md ("*tabort_1"): Change predicate to
2049 nonmemory_operand. Add a second alternative to cover
2050 register as well as const int operands.
2051 ("*tabort_1_plus"): New pattern definition.
2053 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2055 * config/s390/s390.md ("*ashrdi3_cc_31")
2056 ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
2057 ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
2058 Merge insn definitions into ...
2059 ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
2060 New pattern definition.
2061 ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
2062 ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
2063 ("*ashr<mode>3_and"): Merge insn definitions into ...
2064 ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
2065 New pattern definition.
2066 * config/s390/subst.md ("addr_style_op_cc_subst")
2067 ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
2068 substitutions patterns plus attributes.
2069 Add ashiftrt to SUBST iterator.
2071 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2073 * config/s390/s390.md ("<shift><mode>3"): Change predicate of
2074 op2 to nonmemory_operand.
2075 ("*<shift>di3_31", "*<shift>di3_31_and"):
2076 Merge into single pattern definition ...
2077 ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
2078 ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
2079 pattern definition ...
2080 ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
2081 * config/s390/subst.md: Add ashift and lshiftrt to SUBST
2084 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2086 * config/s390/predicates.md (const_int_6bitset_operand): New
2088 * config/s390/s390.md: Include subst.md.
2089 ("rotl<mode>3"): New expander.
2090 ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
2092 ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
2093 * config/s390/subst.md: New file.
2095 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2097 * config/s390/s390.md ("op_type", "atype", "length" attributes):
2098 Remove RRR type. It doesn't really exist.
2099 ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
2101 ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
2102 ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
2103 ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
2104 ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
2105 ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
2106 ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
2107 `enabled' attribute.
2109 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2111 * gensupport.c (process_substs_on_one_elem): Split loop to
2112 complete mark_operands_used_in_match_dup on all expressions in the
2114 (adjust_operands_numbers): Inline into process_substs_on_one_elem
2115 and remove function.
2117 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
2120 * config/sparc/sparc.c (NWORDS_UP): Rename to...
2121 (CEIL_NWORDS): ...this. Use CEIL macro.
2122 (compute_fp_layout): Adjust to above renaming.
2123 (function_arg_union_value): Likewise.
2124 (sparc_arg_partial_bytes): Likewise.
2125 (sparc_function_arg_advance): Likewise.
2127 2016-02-29 Jeff Law <law@redhat.com>
2129 PR tree-optimization/70005
2130 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
2131 where an object with a boolean range is compared against a value
2134 PR tree-optimization/69999
2135 * gimple-ssa-split-paths.c (split_paths): When duplicating a block
2136 with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
2139 2016-02-29 Richard Biener <rguenther@suse.de>
2141 PR tree-optimization/69994
2142 * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
2143 (get_unary_op): Look through nop conversions.
2144 (ops_equal_values_p): New function, look for equality diregarding
2146 (eliminate_plus_minus_pair): Use ops_equal_values_p
2147 (repropagate_negates): Do not use get_unary_op here.
2149 2016-02-29 Martin Liska <mliska@suse.cz>
2151 * system.h: Poison ENABLE_CHECKING macro.
2153 2016-02-29 Martin Liska <mliska@suse.cz>
2155 * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
2156 is presented in dump flags.
2157 * hsa-regalloc.c (linear_scan_regalloc): Likewise.
2158 (hsa_regalloc): Likewise.
2160 2016-02-19 Richard Biener <rguenther@suse.de>
2162 PR tree-optimization/69980
2163 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
2164 permutation of those we need to keep.
2166 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
2169 * config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
2170 (NWORDS_UP): ...this
2171 (init_cumulative_args): Minor tweaks.
2172 (sparc_promote_function_mode): Likewise.
2173 (scan_record_type): Delete.
2174 (traverse_record_type): New function template.
2175 (classify_data_t): New structure type.
2176 (classify_registers): New inline function.
2177 (function_arg_slotno): In 64-bit mode, bail out early if FP slots are
2178 exhausted. Instantiate traverse_record_type on classify_registers and
2179 deal with the case of a structure passed in slot #15 with no FP field
2181 (assign_data_t): New structure type.
2182 (compute_int_layout): New static function.
2183 (compute_fp_layout): Likewise.
2184 (count_registers): New inline function.
2185 (assign_int_registers): New static function.
2186 (assign_fp_registers): Likewise.
2187 (assign_registers): New inline function.
2188 (function_arg_record_value_1): Delete.
2189 (function_arg_record_value_2): Likewise.
2190 (function_arg_record_value_3): Likewise.
2191 (function_arg_record_value): Adjust to above changes. Instantiate
2192 traverse_record_type on count_registers to first count the number of
2193 registers to be used and then on assign_registers to assign them.
2194 (function_arg_union_value): Adjust to above renaming.
2195 (sparc_function_arg_1); Minor tweaks. Remove commented out code.
2196 (sparc_arg_partial_bytes): Adjust to above renaming. Deal with the
2197 case of a structure passed in slot #15
2198 (sparc_function_arg_advance): Likewise.
2199 (function_arg_padding): Minor tweak.
2201 2016-02-29 Richard Biener <rguenther@suse.de>
2203 PR tree-optimization/69720
2204 * tree-vect-loop.c (get_initial_def_for_reduction): Avoid
2205 the adjustment_def path for possibly vectorized defs.
2206 (vect_create_epilog_for_reduction): Handle vectorized initial
2209 2016-02-28 Eric Botcazou <ebotcazou@adacore.com>
2211 * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
2213 2016-02-27 Jeff Law <law@redhat.com>
2216 2016-02-26 Richard Biener <rguenther@suse.de>
2217 Jeff Law <law@redhat.com>
2219 PR tree-optimization/69740
2220 * cfghooks.c (remove_edge): Request loop fixups if we delete
2221 an edge that might turn an irreducible loop into a natural
2224 2016-02-27 Jakub Jelinek <jakub@redhat.com>
2226 PR rtl-optimization/69896
2227 * tree-vect-generic.c (get_compute_type): Avoid single element
2230 2016-02-26 Evandro Menezes <e.menezes@samsung.com>
2232 Rename the AArch64 tuning option and related functions to enable the
2233 Newton series for the reciprocal square root to reflect its
2234 approximative characteristic.
2236 * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
2237 function to "aarch64_emit_approx_rsqrt".
2238 * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
2239 AARCH64_EXTRA_TUNE_APPROX_RSQRT.
2240 * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
2241 (xgene1_tunings): Likewise.
2242 (use_rsqrt_p): Likewise.
2243 (aarch64_emit_swrsqrt): Use new function name.
2244 * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
2245 * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
2246 text explaining this option.
2247 * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
2249 2016-02-26 Jakub Jelinek <jakub@redhat.com>
2252 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
2253 complain about -mallow-movmisalign without -mvsx if
2254 TARGET_ALLOW_MOVMISALIGN was not set explicitly.
2256 2016-02-26 Joel Sherrill <joel@rtems.org>
2258 * config.gcc: Add x86_64-*-rtems*.
2259 * gcc/config/i386/rtems-64.h: New file.
2261 2016-02-26 Joel Sherrill <joel@rtems.org>
2263 * config.gcc: Add aarch64-*-rtems*.
2264 * gcc/config/aarch64/rtems.h: New file.
2266 2016-02-26 Segher Boessenkool <segher@kernel.crashing.org>
2269 * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
2270 shift amount using %h. Add comment.
2272 2016-02-26 Richard Biener <rguenther@suse.de>
2273 Jeff Law <law@redhat.com>
2275 PR tree-optimization/69740
2276 * cfghooks.c (remove_edge): Request loop fixups if we delete
2277 an edge that might turn an irreducible loop into a natural
2280 2016-02-26 Martin Jambor <mjambor@suse.cz>
2283 * tree-sra.c (sra_modify_assign): Do not remove loads of
2284 uninitialized aggregates to SSA_NAMEs.
2286 2016-02-26 Richard Henderson <rth@redhat.com>
2289 * config/s390/s390.md (risbg and risbgn splitters): Allocate new
2290 pseudo in case the target rtx matches the source of the left
2293 2016-02-26 Martin Jambor <mjambor@suse.cz>
2296 * hsa.h (hsa_type_packed_p): Declare.
2297 * hsa.c (hsa_type_packed_p): New function.
2298 * hsa-gen.c (mem_type_for_type): Use unsigned type for packed
2300 (gen_hsa_insns_for_store): Use hsa_type_packed_p.
2301 * hsa-brig.c (emit_basic_insn): Likewise.
2303 2016-02-26 Martin Jambor <mjambor@suse.cz>
2306 * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
2308 (gen_hsa_addr): Allow integer constants in TMR_INDEX2.
2310 2016-02-26 Martin Jambor <mjambor@suse.cz>
2312 * hsa.h (is_a_helper): New overload for hsa_op_immed for
2313 hsa_op_with_type operands.
2314 (hsa_unsigned_type_for_type): Declare.
2315 * hsa.c (hsa_unsigned_type_for_type): New function.
2316 * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
2317 (gen_hsa_insns_for_operation_assignment): Satisfy constrains of
2318 the finalizer. Do not emit extra move.
2320 2016-02-26 Martin Jambor <mjambor@suse.cz>
2322 * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
2323 atomic operations in private segment.
2325 2016-02-26 Martin Jambor <mjambor@suse.cz>
2327 * omp-low.c (grid_find_ungridifiable_statement): Store problematic
2328 statements to wi->info. Also disallow omp simd constructs.
2329 (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
2330 for not gridifying. Dump special string for omp_for.
2332 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2335 * config/aarch64/aarch64.c (aarch64_set_current_function):
2336 Save/restore target globals when switching to
2337 target_option_default_node.
2339 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2342 * config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
2343 Return 0 if !SHIFT_COUNT_TRUNCATED.
2345 2016-02-26 Jakub Jelinek <jakub@redhat.com>
2346 Eric Botcazou <ebotcazou@adacore.com>
2348 PR rtl-optimization/69891
2349 * dse.c (scan_insn): If we can't figure out memset arguments
2350 or they are non-constant, call clear_rhs_from_active_local_stores.
2352 2016-02-26 Martin Liska <mliska@suse.cz>
2354 * doc/extend.texi: Mention clog10, clog10f an clog10l
2355 in Builtins section.
2357 2016-02-26 Martin Liska <mliska@suse.cz>
2359 * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
2361 (resolve_args_picking_1): Likewise.
2362 * dwarf2out.h (struct GTY): Likewise.
2364 2016-02-26 Martin Liska <mliska@suse.cz>
2366 * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
2368 * hsa-regalloc.c (linear_scan_regalloc): Likewise.
2370 2016-02-26 Markus Trippelsdorf <markus@trippelsdorf.de>
2371 Martin Liska <mliska@suse.cz>
2373 * doc/install.texi: Mention --enable-valgrind-annotations.
2375 2016-02-26 Richard Biener <rguenther@suse.de>
2377 PR tree-optimization/69551
2378 * tree-ssa-structalias.c (get_constraint_for_ssa_var): When
2379 looking through aliases adjust DECL_PT_UID to refer to the
2380 ultimate alias target.
2382 2016-02-25 Martin Liska <mliska@suse.cz>
2385 * alloc-pool.c (after_memory_report): New variable.
2386 * alloc-pool.h (base_pool_allocator ::release): Do not use
2387 the infrastructure if after_memory_report.
2388 * toplev.c (toplev::main): Mark after memory report.
2390 2016-02-25 Richard Biener <rguenther@suse.de>
2392 PR tree-optimization/48795
2393 * tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
2395 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
2398 * config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if
2399 offloading is enabled and -fopenacc or -fopenmp is specified.
2400 (CRTOFFLOADEND): Likewise.
2401 (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
2402 (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
2403 * lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
2404 (offload_objects_file_name): New static var.
2405 (tool_cleanup): Remove offload_objects_file_name file.
2406 (find_offloadbeginend): Replace with ...
2407 (find_crtoffloadtable): ... this.
2408 (run_gcc): Remove offload_argc and offload_argv.
2409 Get offload_objects_file_name from -foffload-objects=... option.
2410 Read names of object files with offload from this file, pass them to
2411 compile_images_for_offload_targets. Don't call find_offloadbeginend and
2412 don't pass offloadbegin and offloadend to the linker. Don't pass
2413 offload non-LTO files to the linker, because now they're not claimed.
2415 2016-02-25 Jan Hubicka <hubicka@ucw.cz>
2418 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
2419 on builtin_unreachable.
2421 2016-02-25 Jakub Jelinek <jakub@redhat.com>
2423 PR rtl-optimization/69896
2424 * regcprop.c: Include cfgrtl.h.
2425 (copyprop_hardreg_forward_1): If noop_p insn uses narrower
2426 than remembered mode, either delete it (if noop_move_p), or
2427 treat like copy_p but not noop_p instruction.
2429 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2432 * dwarf2out.c (gen_variable_die): Work around buggy LTO
2433 - allow NULL decl for Fortran DW_TAG_common_block variables.
2435 2016-02-24 Jason Merrill <jason@redhat.com>
2437 * common.opt (flifetime-dse): Add -flifetime-dse=1.
2439 2016-02-24 Richard Biener <rguenther@suse.de>
2440 Jakub Jelinek <jakub@redhat.com>
2443 * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
2444 conditionally executed ops to well-defined overflow behavior.
2446 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2449 * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
2452 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2454 PR rtl-optimization/69886
2455 * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
2456 argument. Use it when checking validity of set instructions.
2457 (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
2458 (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
2460 * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
2461 * store-motion.c (find_moveable_store): Update
2462 can_assign_to_reg_without_clobbers_p callsite.
2464 2016-02-24 Richard Biener <rguenther@suse.de>
2467 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
2469 (record_nonwrapping_iv): Do not fall back to the low/high bound
2470 for non-constant IV bases if the stmt is not always executed.
2472 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2474 * config/arm/arm-cores.def (cortex-a32): New entry.
2475 * config/arm/arm-tables.opt: Regenerate.
2476 * config/arm/arm-tune.md: Regenerate.
2477 * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
2478 * config/arm/t-aprofile: Handle mcpu=cortex-a32.
2479 * doc/invoke.texi (ARM Options): Document cortex-a32 as value
2480 for -mcpu and -mtune.
2482 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2485 * config/arm/arm.h (TARGET_HAVE_LPAE): Define.
2486 * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
2487 * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
2488 (atomic_loaddi_1): Delete.
2489 (atomic_loaddi): Rewrite expander using the above changes.
2491 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2494 * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
2497 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2498 Richard Biener <rguenth@suse.de>
2501 * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
2502 set_mem_attributes if tem is SSA_NAME which got expanded
2505 2016-02-24 Richard Biener <rguenther@suse.de>
2507 PR tree-optimization/69907
2508 * tree-vect-stmts.c (vectorizable_load): Check for gaps at the
2509 end of permutations for BB vectorization.
2511 2016-02-24 Christian Bruel <christian.bruel@st.com>
2513 * config/arm/arm-c.c (arm_option_override): Initialize
2514 target_option_current_node.
2515 * config/arm/arm.c (arm_pragma_target_parse): Replace
2516 build_target_option_node call by target_option_current_node.
2517 Set target_option_current_node.
2520 2016-02-23 David Edelsohn <dje.gcc@gmail.com>
2523 * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
2524 define_insn_and_split to define_insn.
2525 (zero_extendqi<mode>2_dot2): Same.
2526 (extendqi<mode>2_dot): Same.
2527 (extendqi<mode>2_dot2): Same.
2529 2016-02-23 Evandro Menezes <e.menezes@samsung.com>
2531 * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
2532 and add bypass for AES{D,E} and AESMC pairs.
2533 * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
2536 2016-02-23 Evandro Menezes <e.menezes@samsung.com>
2538 * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
2539 series for reciprocal square root in Exynos M1.
2541 2016-02-23 Martin Sebor <msebor@redhat.com>
2544 * doc/extend.texi (Other Builtins): Document __builtin_alloca and
2545 __builtin_alloca_with_align.
2547 2016-02-23 Richard Henderson <rth@redhat.com>
2549 * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
2550 (ix86_register_pragmas): Remove __seg_tls.
2551 * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
2552 * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
2553 (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
2554 (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
2555 (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
2556 * doc/extend.texi (__seg_tls): Remove item.
2558 2016-02-23 Richard Biener <rguenther@suse.de>
2560 * alloc-pool.h (struct allocation_object): Make id member
2561 conditional on CHECKING_P again.
2562 (get_instance): Adjust.
2563 (base_pool_allocator): Likewise.
2565 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
2567 * tree-parloops.c (create_parallel_loop, gen_parallel_loop)
2568 (parallelize_loops): In OpenACC kernels mode, set n_threads to
2570 (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
2572 * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
2574 2016-02-23 Richard Biener <rguenther@suse.de>
2576 * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
2577 * bitmap.h (struct bitmap_usage): Likewise.
2578 (bitmap_move): Declare.
2579 * bitmap.c (register_overhead): Take size_t argument.
2580 (bitmap_move): New function.
2581 * df-problems.c (df_rd_transfer_function): Use bitmap_move
2582 to properly account overhead.
2583 * tree.c (free_node): Use tree_size.
2585 2016-02-23 Jakub Jelinek <jakub@redhat.com>
2588 * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
2589 when inverting comparison.
2592 * common.opt (Wunreachable-code): Add Warning flag.
2594 2016-02-23 Mark Wielaard <mjw@redhat.com>
2595 Jakub Jelinek <jakub@redhat.com>
2598 * cgraphunit.c (check_global_declaration): Check main_input_filename
2599 and DECL_SOURCE_FILE are not NULL.
2601 2016-02-23 Martin Jambor <mjambor@suse.cz>
2603 PR tree-optimization/69666
2604 * tree-sra.c (sra_modify_assign): Do not attempt to create
2605 default_def replacements for unscalarizable regions.
2607 2016-02-20 Mark Wielaard <mjw@redhat.com>
2610 * cgraphunit.c (check_global_declaration): Check level of
2611 warn_unused_const_variable and main_input_filename.
2612 * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
2613 (-Wunused-variable): For C implies -Wunused-const-variable=1.
2614 (-Wunused-const-variable): Explain levels 1 and 2.
2616 2016-02-22 Jakub Jelinek <jakub@redhat.com>
2619 * config/i386/i386.c (decide_alg): Ensure we don't recurse with
2620 identical arguments. Formatting and spelling fixes.
2623 * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
2628 * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
2629 and m68k-devices.def.
2630 * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
2631 * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
2633 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
2635 * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
2636 and HImode registers.
2638 2016-02-22 Richard Biener <rguenther@suse.de>
2640 PR tree-optimization/69882
2641 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
2642 preserve permutations present because of gaps.
2643 (vect_supported_load_permutation_p): Always continue checking
2644 permutations after vect_attempt_slp_rearrange_stmts.
2646 2016-02-22 Bin Cheng <bin.cheng@arm.com>
2648 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
2649 min_profitable_estimate, rather than min_profitable_iters.
2651 2016-02-22 Jakub Jelinek <jakub@redhat.com>
2654 * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
2655 SImode for last match_operand.
2657 2016-02-22 Martin Liska <mliska@suse.cz>
2659 * hsa-gen.c (gen_hsa_clrsb): In case of zero value,
2660 return bitsize - 1 as the return value.
2662 2016-02-22 Oleg Endo <olegendo@gcc.gnu.org>
2666 * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
2667 Handle negative shift counts.
2668 * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
2669 force_reg on the shift constant.
2670 (lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d.
2671 (lshrsi3_d): Handle negative shift counts.
2673 2016-02-22 Richard Biener <rguenther@suse.de>
2674 Tom de Vries <tom@codesourcery.com>
2676 * graph.c: Include dumpfile.h.
2677 (print_graph_cfg): Split into three overloads.
2678 * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
2680 2016-02-22 Tom de Vries <tom@codesourcery.com>
2682 * gdbhooks.py (class DumpFn): Add and instantiate, adding command
2685 2016-02-22 Richard Biener <rguenther@suse.de>
2688 * ipa-inline-transform.c (inline_call): When not updating
2689 overall summaries adjust self size by the growth estimate.
2690 * ipa-inline.c (inline_to_all_callers_1): Add to the callers
2691 hash-set, do not update overall summaries here. Renamed from ...
2692 (inline_to_all_callers): ... this which is now wrapping the
2693 above and performing delayed overall summary update.
2694 (early_inline_small_functions): Delay updating of the overall
2697 2016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de>
2699 * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
2702 2016-02-19 Jakub Jelinek <jakub@redhat.com>
2705 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
2706 :%* in %:gt() argument.
2707 (greater_than_spec_func): Adjust for expecting only numbers,
2708 if there are more than two numbers, compare the last two.
2710 2016-02-19 Jonathan Wakely <jwakely@redhat.com>
2712 * doc/invoke.texi (C++ Dialect Options): Clarify interaction of
2713 -Wnarrowing with -std.
2715 2016-02-19 Jakub Jelinek <jakub@redhat.com>
2718 * expr.c (store_field): Don't use bit-field path if exp is
2719 COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
2720 different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
2721 and the assignment can be performed by bitwise copy. Formatting
2725 * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
2726 call copy_reg_eh_region_note_forward on before and/or after sequences
2727 and remove note from insn if it no longer can throw.
2730 * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
2733 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2735 * config/s390/vector.md: Add missing commutative operand markers
2736 to the patterns which qualify for one.
2737 * config/s390/vx-builtins.md: Likewise.
2739 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2741 * config/s390/vector.md (VI, VI_QHS): Add single element vector
2742 types to mode iterators.
2743 (vec_double): ... and mode attribute.
2744 * config/s390/vx-builtins.md (non_vec_int): Likewise.
2746 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2748 * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
2749 Change the predicate of op2 from nonimmediate to general and let
2750 reload fix it if necessary.
2752 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2754 * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
2756 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2758 * config/s390/s390.c (s390_expand_vcond): Use the compare operand
2761 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2763 * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
2764 * config/s390/s390.c (s390_expand_vec_movstr): New function.
2765 * config/s390/s390.md ("movstr<P:mode>"): Call
2766 s390_expand_vec_movstr.
2768 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2770 * config/s390/s390.md: Add missing output modifier for operand 1
2771 to print it as address properly.
2773 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2775 * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
2776 * config/s390/2964.md: New file.
2777 * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
2778 of insn grouping attributes depending on the CPU level.
2779 (s390_get_unit_mask): New function.
2780 (s390_sched_score): Remove the OOO from the scheduling macros.
2781 Add loop to calculate a score for the instruction mix.
2782 (s390_sched_reorder): Likewise plus improve debug output.
2783 (s390_sched_variable_issue): Rename macros as above. Calculate
2784 the unit distances after actually scheduling an insn. Improve
2786 (s390_sched_init): Clear last_scheduled_unit_distance array.
2787 * config/s390/s390.md: Include 2964.md.
2789 2016-02-18 Jakub Jelinek <jakub@redhat.com>
2792 * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
2793 *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
2794 *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
2795 *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
2796 *avx512f_<code>v8div16qi2_mask_1): New insns.
2798 2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
2801 * config/rs6000/predicates.md (fusion_gpr_addis): Revert
2804 * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
2805 earlyclobber from target. Use wF constraint for fused memory
2807 (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
2809 2016-02-18 Jakub Jelinek <jakub@redhat.com>
2810 Martin Liska <mliska@suse.cz>
2813 * cfgexpand.c (asan_sanitize_stack_p): New function.
2814 (partition_stack_vars): Use the function.
2815 (expand_stack_vars): Likewise.
2816 (defer_stack_allocation): Likewise.
2817 (expand_used_vars): Likewise.
2819 2016-02-18 Richard Biener <rguenther@suse.de>
2822 * fold-const.c (operand_equal_p): Properly compare offsets for
2823 IMAGPART_EXPR and ARRAY_REF.
2825 2016-02-18 Nick Clifton <nickc@redhat.com>
2829 * config/arm/arm.c (arm_option_override_internal): Disable
2830 interworking if the target does not support thumb instructions.
2831 (arm_reload_in_hi): Handle the case where a register to register
2832 move needs reloading because there is no simple pattern to handle
2834 (arm_reload_out_hi): Likewise.
2836 2016-02-18 Richard Biener <rguenther@suse.de>
2839 * match.pd: Don't use fold_binary or fold_unary for folding
2842 2016-02-17 Jakub Jelinek <jakub@redhat.com>
2845 * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
2846 on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
2847 * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
2848 warn on gimple_no_warning_p statements.
2850 2016-02-17 Jonathan Wakely <jwakely@redhat.com>
2852 * doc/extend.texi (C++ Attributes): Correct description of
2853 warn_unused type attribute.
2855 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2857 * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
2858 correct instruction.
2860 2016-02-17 Richard Biener <rguenther@suse.de>
2862 PR rtl-optimization/69609
2863 * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
2864 (find_traces_1_round): When ending a trace update cached priority
2866 (bb_to_key): Use cached priority when available.
2867 (copy_bb): Initialize cached priority.
2868 (reorder_basic_blocks_software_trace_cache): Likewise.
2870 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2873 * config/aarch64/predicates.md (aarch64_comparison_operator_mode):
2875 (aarch64_comparison_operator): Break overly long line into two.
2876 (aarch64_comparison_operation): Likewise.
2877 * config/aarch64/aarch64.md (cstorecc4): Use
2878 aarch64_comparison_operator_mode instead of
2879 aarch64_comparison_operator.
2880 (cstore<mode>4): Likewise.
2881 (aarch64_cstore<mode>): Likewise.
2882 (*cstoresi_insn_uxtw): Likewise.
2883 (cstore<mode>_neg): Likewise.
2884 (*cstoresi_neg_uxtw): Likewise.
2886 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2889 * config/arm/predicates.md (arm_comparison_operator_mode):
2891 * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
2892 instead of arm_comparison_operator.
2893 (*mov_negscc): Likewise.
2894 (*mov_notscc): Likewise.
2895 * config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
2896 (*thumb2_mov_negscc): Likewise.
2897 (*thumb2_mov_negscc_strict_it): Likewise.
2898 (*thumb2_mov_notscc): Likewise.
2899 (*thumb2_mov_notscc_strict_it): Likewise.
2901 2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
2903 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
2906 2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
2908 * config/visium/visium.c (machine_libfunc_index): New enum.
2909 (machine_libfuncs): New structure.
2910 (visium_libfuncs): New static variable.
2911 (TARGET_INIT_LIBFUNCS): Define to...
2912 (visium_init_libfuncs): ...this. New function.
2913 (expand_block_move_4): Use the appropriate libfunc.
2914 (expand_block_move_2): Likewise.
2915 (expand_block_move_1): Likewise.
2916 (expand_block_set_4): Likewise.
2917 (expand_block_set_2): Likewise.
2918 (expand_block_set_1): Likewise.
2919 (visium_trampoline_init): Likewise.
2921 2016-02-17 Nick Clifton <nickc@redhat.com>
2923 * config/msp430/msp430.c (msp430_mcu_data): Sync with data from
2924 TI's devices.csv file as of March 2016.
2926 2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
2929 * opts-global.c (handle_common_deferred_options): Introduce and
2930 initialize two global variables to remember command-line options
2931 specifying a stack-limiting register.
2932 * opts.h: Add extern declarations of the two new global variables.
2933 * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
2934 variable based on the values of the two new global variables.
2936 2016-02-16 Jakub Jelinek <jakub@redhat.com>
2939 * common.opt (Wnonnull-compare): New warning.
2940 * doc/invoke.texi (-Wnonnull): Remove text about comparison
2941 of arguments against NULL.
2942 (-Wnonnull-compare): Document.
2943 * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
2944 * tree-pass.h (make_pass_warn_nonnull_compare): Declare.
2945 * passes.def (pass_warn_nonnull_compare): Add.
2946 * gimple-ssa-nonnull-compare.c: New file.
2948 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
2950 * config/aarch64/aarch64.c (cortexa57_tunings): Remove
2951 AARCH64_EXTRA_TUNE_RECIP_SQRT.
2953 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
2955 * config/aarch64/aarch64.c (use_rsqrt_p): Always use software
2956 reciprocal sqrt for -mlow-precision-recip-sqrt.
2958 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
2959 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2961 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
2962 always use lane loads to construct non-constant vectors.
2964 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
2966 * config/aarch64/aarch64.md
2967 (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
2968 constraints for operand 3.
2969 (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
2971 2016-02-16 Jakub Jelinek <jakub@redhat.com>
2972 Richard Biener <rguenther@suse.de>
2974 PR tree-optimization/69820
2975 * tree-vect-patterns.c (type_conversion_p): Return false if
2976 *orig_type is unsigned single precision or boolean.
2977 (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
2980 2016-02-16 Jakub Jelinek <jakub@redhat.com>
2982 PR rtl-optimization/69764
2983 PR rtl-optimization/69771
2984 * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
2985 op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
2987 2016-02-16 Richard Biener <rguenther@suse.de>
2989 PR tree-optimization/69776
2990 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
2992 (indirect_refs_may_alias_p): Likewise.
2993 (refs_may_alias_p_1): Pass alias sets as from ao_ref.
2994 * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
2995 according to tbaa_p.
2996 * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
2997 (optimize_stmt): For redundant store discovery do not allow tbaa.
2999 2016-02-16 Bernd Schmidt <bschmidt@redhat.com>
3001 PR tree-optimization/69714
3002 * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
3003 Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
3005 2016-02-16 Claudiu Zissulescu <claziss@synopsys.com>
3007 * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
3008 * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
3009 (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
3010 * config/arc/arc.c (arc_init): Check FPU options.
3011 (get_arc_condition_code): Handle new CC_FPU* modes.
3012 (arc_select_cc_mode): Likewise.
3013 (arc_conditional_register_usage): Allow 64 bit datum into even-odd
3014 register pair only. Allow access for ARCv2 accumulator.
3015 (gen_compare_reg): Whenever we have FPU support use FPU compare
3017 (arc_reorg): Don't generate brcc insns when FPU compare
3018 instructions are involved.
3019 * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
3020 (TARGET_OPTFPE): Add condition when ARC EM can use optimized
3021 floating point emulation.
3022 (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
3023 (REVERSE_CONDITION): Add new CC_FPU* modes.
3024 (TARGET_FP_SP_BASE): Define.
3025 (TARGET_FP_DP_BASE): Likewise.
3026 (TARGET_FP_SP_FUSED): Likewise.
3027 (TARGET_FP_DP_FUSED): Likewise.
3028 (TARGET_FP_SP_CONV): Likewise.
3029 (TARGET_FP_DP_CONV): Likewise.
3030 (TARGET_FP_SP_SQRT): Likewise.
3031 (TARGET_FP_DP_SQRT): Likewise.
3032 (TARGET_FP_DP_AX): Likewise.
3033 * config/arc/arc.md (ARCV2_ACC): New constant.
3034 (type): New fpu type attribute.
3035 (SDF): Conditional iterator.
3036 (cstore<mode>, cbranch<mode>): Change expand condition.
3037 (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
3038 handles FPU/FPX cases as well.
3039 * config/arc/arc.opt (mfpu): New option.
3040 * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
3042 (adddf3, muldf3, subdf3): Removed.
3043 * config/arc/predicates.md (proper_comparison_operator): Recognize
3045 * config/arc/fpu.md: New file.
3046 * doc/invoke.texi (ARC Options): Document mfpu option.
3048 2016-02-16 Richard Biener <rguenther@suse.de>
3050 PR rtl-optimization/69291
3051 * ifcvt.c (noce_try_store_flag_constants): Re-instantiate
3052 noce_operand_ok check.
3054 2016-02-16 Tom de Vries <tom@codesourcery.com>
3057 * omp-low.c (simd_clone_create): Remove call to
3058 symtab->call_cgraph_insertion_hooks.
3060 2016-02-16 Jakub Jelinek <jakub@redhat.com>
3062 PR tree-optimization/69802
3063 * tree-ssa-reassoc.c (update_range_test): If op is
3064 SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
3065 op == 1 test of precision 1 integral op, otherwise handle
3066 that case as op itself. Fix up formatting.
3067 (optimize_range_tests_to_bit_test, optimize_range_tests): Fix
3070 2016-02-16 Richard Biener <rguenther@suse.de>
3072 PR tree-optimization/69586
3073 * tree-vrp.c (register_edge_assert_for_2): Handle all integral
3074 types for conversion sources.
3076 2016-02-16 Richard Biener <rguenther@suse.de>
3079 * fold-const.c (operand_equal_p): For COND_EXPR zero operand
3080 mask OEP_ADDRESS_OF.
3082 2016-02-16 Alan Modra <amodra@gmail.com>
3085 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
3086 (p8_mtvsrd_df, p8_mtvsrd_sf): New.
3087 (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
3089 (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
3090 (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
3091 (p8_fmrgow_<mode>): Likewise.
3092 (reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above
3094 (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
3095 (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
3096 to use movdi_internal64. Remove op0_di.
3097 * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
3099 2016-02-15 Evandro Menezes <e.menezes@samsung.com>
3101 Add support for the FCCMP insn types
3103 * config/aarch64/aarch64.md (fccmp): Change insn type.
3105 * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
3106 * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
3107 * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
3108 * config/arm/xgene1.md (xgene1_fcmp): Likewise.
3109 * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
3110 * config/arm/types.md (fccmps): Add new insn type.
3113 2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
3115 * alias.c (get_alias_set): Fix a typo in comment.
3117 2016-02-15 Richard Biener <rguenther@suse.de>
3119 PR tree-optimization/69595
3120 * match.pd: Complete range test simplification to true.
3122 2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
3124 PR rtl-optimization/69648
3125 * lra-constraints.c (update_ebb_live_info): Don't remove sets of
3126 pic_offset_table_rtx.
3128 PR rtl-optimization/69752
3129 * ira.c (update_equiv_regs): When looking for more than a single SET,
3130 also take other side effects into account.
3132 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
3134 * config/s390/s390.c (s390_function_profiler): Add a new sequence
3135 for z900+ CPUs in 31-bit mode.
3137 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
3139 * common/config/s390/s390-common.c (s390_supports_split_stack):
3141 (TARGET_SUPPORTS_SPLIT_STACK): New macro.
3142 * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
3143 * config/s390/s390.c (struct machine_function): New field
3144 split_stack_varargs_pointer.
3145 (s390_register_info): Mark r12 as clobbered if it'll be used as temp
3146 in s390_emit_prologue.
3147 (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
3149 (morestack_ref): New global.
3150 (SPLIT_STACK_AVAILABLE): New macro.
3151 (s390_expand_split_stack_prologue): New function.
3152 (s390_live_on_entry): New function.
3153 (s390_va_start): Use split-stack vararg pointer if appropriate.
3154 (s390_asm_file_end): Emit the split-stack note sections.
3155 (TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
3156 * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
3157 (UNSPECV_SPLIT_STACK_CALL): New unspec.
3158 (UNSPECV_SPLIT_STACK_DATA): New unspec.
3159 (split_stack_prologue): New expand.
3160 (split_stack_space_check): New expand.
3161 (split_stack_data): New insn.
3162 (split_stack_call): New expand.
3163 (split_stack_call_*): New insn.
3164 (split_stack_cond_call): New expand.
3165 (split_stack_cond_call_*): New insn.
3167 2016-02-15 Richard Biener <rguenther@suse.de>
3169 PR tree-optimization/69783
3170 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
3171 Add trivially correct cases.
3173 2016-02-15 Tom de Vries <tom@codesourcery.com>
3176 * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
3178 * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
3180 2016-02-15 Richard Biener <rguenther@suse.de>
3182 PR tree-optimization/69776
3183 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
3184 * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
3185 indicate whether we can use TBAA to disambiguate against stores.
3186 Use alias-set zero if not.
3187 (visit_reference_op_store): Do not use TBAA when looking up
3189 * tree-ssa-pre.c (compute_avail): Use TBAA here.
3190 (eliminate_dom_walker::before_dom_children): But not when looking
3191 up redundant stores.
3193 2016-02-14 John David Anglin <danglin@gcc.gnu.org>
3195 * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
3197 2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3199 * config/i386/znver1.md
3200 (znver1_pop, znver1_pop_mem,
3201 znver1_load_imov_double_store,
3202 znver1_load_imov_direct_store,
3203 znver1_load_imov_direct_load,
3204 znver1_load_imov_double_load): Add new.
3205 (znver1_insn, znver1_insn_load): Add icmov type.
3207 znver1_sseavx_fma_load,
3209 znver1_avx256_fma_load): Fix pipe usage.
3211 2016-02-14 Alan Modra <amodra@gmail.com>
3214 * reloads.c (find_reloads_address_1): For pre/post-inc/dec
3215 with an invalid hard reg, reload just the reg not the entire
3216 pre/post-inc/dec address expression.
3218 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
3221 * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
3222 fixed R1_REG scratch reg.
3223 (sibcall_value_pcrel_fdpic): Likewise.
3225 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
3229 * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
3231 2016-02-12 Walter Lee <walt@tilera.com>
3233 * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
3234 * config/tilegx/t-tilegx: Likewise.
3236 2016-02-12 David Malcolm <dmalcolm@redhat.com>
3239 * diagnostic-show-locus.c (struct line_span): New struct.
3240 (layout::get_first_line): Delete.
3241 (layout::get_last_line): Delete.
3242 (layout::get_num_line_spans): New member function.
3243 (layout::get_line_span): Likewise.
3244 (layout::print_heading_for_line_span_index_p): Likewise.
3245 (layout::get_expanded_location): Likewise.
3246 (layout::calculate_line_spans): Likewise.
3247 (layout::m_first_line): Delete.
3248 (layout::m_last_line): Delete.
3249 (layout::m_line_spans): New field.
3250 (layout::layout): Update comment. Replace m_first_line and
3251 m_last_line with m_line_spans, replacing their initialization
3252 with a call to calculate_line_spans.
3253 (diagnostic_show_locus): When printing source lines and
3254 annotations, rather than looping over a single span
3255 of lines, instead loop over each line_span within
3256 the layout, with an inner loop over the lines within them.
3257 Call the context's start_span callback when changing line spans.
3258 * diagnostic.c (diagnostic_initialize): Initialize start_span.
3259 (diagnostic_build_prefix): Break out the building of the location
3260 part of the string into...
3261 (diagnostic_get_location_text): ...this new function, rewriting
3262 it from nested ternary expressions to a sequence of "if"
3264 (default_diagnostic_start_span_fn): New function.
3265 * diagnostic.h (diagnostic_start_span_fn): New typedef.
3266 (diagnostic_context::start_span): New field.
3267 (default_diagnostic_start_span_fn): New prototype.
3269 2016-02-12 David Malcolm <dmalcolm@redhat.com>
3272 * gcc.c (driver::finalize): Fix cleanup of "specs".
3274 2016-02-12 David Malcolm <dmalcolm@redhat.com>
3278 * gcc.c (driver::driver): Initialize m_option_suggestions.
3279 (driver::~driver): Clean up m_option_suggestions.
3280 (suggest_option): Convert to...
3281 (driver::suggest_option): ...this, and split out into
3282 driver::build_option_suggestions and find_closest_string.
3283 (driver::build_option_suggestions): New function, from
3284 first half of suggest_option. Special-case
3285 OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
3286 the sanitizer_opts array. For options of enum types, add the
3287 various enum values to the candidate strings.
3288 (driver::handle_unrecognized_options): Remove "const".
3289 * gcc.h (driver::handle_unrecognized_options): Likewise.
3290 (driver::build_option_suggestions): New decl.
3291 (driver::suggest_option): New decl.
3292 (driver::m_option_suggestions): New field.
3293 * opts-common.c (add_misspelling_candidates): New function.
3294 * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
3295 and make non-static.
3296 * opts.h (sanitizer_opts): New array decl.
3297 (add_misspelling_candidates): New function decl.
3298 * spellcheck.c (find_closest_string): New function.
3299 * spellcheck.h (find_closest_string): New function decl.
3301 2016-02-12 Jakub Jelinek <jakub@redhat.com>
3303 PR rtl-optimization/69764
3304 PR rtl-optimization/69771
3305 * optabs.c (expand_binop_directly): For shift_optab_p, force
3306 convert_modes with VOIDmode if xop1 has VOIDmode.
3308 2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com>
3311 * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
3312 to correctly determine instrumentation thunks.
3314 2016-02-12 Jakub Jelinek <jakub@redhat.com>
3317 * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
3318 type by reference, force lhs on the call.
3321 * ipa-split.c (split_function): Don't compute/use main_part_return_p.
3322 Compute retval and retbnd early in all cases if split_part_return_p
3323 and return_bb is not EXIT. Remove all clobber stmts and reset
3324 all debug stmts that refer to SSA_NAMEs defined in split part,
3325 except if it is retval, in that case replace the old retval with the
3326 lhs of the call to the split part.
3328 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
3331 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
3334 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
3335 whose result is used in PHI.
3336 (maybe_optimize_range_tests): Likewise.
3337 (final_range_test_p): Likweise.
3339 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
3342 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
3343 whose result is used in PHI.
3344 (maybe_optimize_range_tests): Likewise.
3345 (final_range_test_p): Likweise.
3347 2016-02-12 Jakub Jelinek <jakub@redhat.com>
3349 * cgraph.c: Spelling fixes - behaviour -> behavior and
3350 neighbour -> neighbor.
3351 * target.def: Likewise.
3352 * sel-sched.c: Likewise.
3353 * config/mips/mips.c: Likewise.
3354 * config/arc/arc.md: Likewise.
3355 * config/arm/cortex-a57.md: Likewise.
3356 * config/arm/arm.c: Likewise.
3357 * config/arm/neon.md: Likewise.
3358 * config/arm/arm-c.c: Likewise.
3359 * config/vms/vms-c.c: Likewise.
3360 * config/s390/s390.c: Likewise.
3361 * config/i386/znver1.md: Likewise.
3362 * config/i386/i386.c: Likewise.
3363 * config/ia64/hpux-unix2003.h: Likewise.
3364 * config/msp430/msp430.md: Likewise.
3365 * config/rx/rx.c: Likewise.
3366 * config/rx/rx.md: Likewise.
3367 * config/aarch64/aarch64-simd.md: Likewise.
3368 * config/aarch64/aarch64.c: Likewise.
3369 * config/nvptx/nvptx.c: Likewise.
3370 * config/bfin/bfin.c: Likewise.
3371 * config/cris/cris.opt: Likewise.
3372 * config/rs6000/rs6000.c: Likewise.
3373 * target.h: Likewise.
3374 * spellcheck.c: Likewise.
3375 * ira-build.c: Likewise.
3376 * tree-inline.c: Likewise.
3377 * builtins.c: Likewise.
3378 * lra-constraints.c: Likewise.
3379 * explow.c: Likewise.
3380 * hwint.h: Likewise.
3381 * targhooks.c: Likewise.
3382 * tree-vect-data-refs.c: Likewise.
3384 * doc/tm.texi: Likewise.
3385 * doc/extend.texi: Likewise.
3386 * doc/install.texi: Likewise.
3387 * doc/md.texi: Likewise.
3388 * tree-ssa-tail-merge.c: Likewise.
3389 * sched-int.h: Likewise.
3390 * match.pd: Likewise.
3391 * sched-ebb.c: Likewise.
3392 * target.def (omit_struct_return_reg): Likewise.
3393 * gimple-ssa-isolate-paths.c: Likewise.
3394 (find_implicit_erroneous_behaviour): Renamed to...
3395 (find_implicit_erroneous_behavior): ... this.
3396 (find_explicit_erroneous_behaviour): Renamed to...
3397 (find_explicit_erroneous_behavior): ... this.
3398 (gimple_ssa_isolate_erroneous_paths): Adjust caller.
3400 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org>
3402 PR rtl-optimization/64682
3403 PR rtl-optimization/69567
3404 PR rtl-optimization/69737
3405 * combine.c (distribute_notes) <REG_DEAD>: If the register is set
3406 in I2 as well, just lose it.
3408 2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3410 * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
3412 (aarch64_last_printed_tune_string): Likewise.
3413 (aarch64_declare_function_name): Only output .arch assembler
3414 directive if it will be different from the previously output
3415 directive. Same for .tune comment but only if -dA is set.
3416 (aarch64_start_file): New function.
3417 (TARGET_ASM_FILE_START): Define.
3419 2016-02-11 David Malcolm <dmalcolm@redhat.com>
3422 * Makefile.in (PLUGIN_HEADERS): Add params.list.
3424 2016-02-11 Jakub Jelinek <jakub@redhat.com>
3427 * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
3428 -Wmaybe-uninitialized warning.
3430 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
3433 * config/sh/sh.md (casesi_worker_0): Add T_REG use.
3435 2016-02-11 Richard Biener <rguenther@suse.de>
3437 PR rtl-optimization/69291
3438 * ifcvt.c (noce_try_store_flag_constants): Do not allow
3439 subexpressions affected by changing the result.
3441 2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
3444 * lra-constraints.c (curr_insn_transform): Find in/out operands
3445 for secondary memory moves. Update dups.
3447 2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
3449 PR tree-optimization/69652
3450 * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
3451 to nested loop, did source re-formatting, skip debug statements,
3452 add check on statement with volatile operand, remove dead scalar
3455 2016-02-10 Jakub Jelinek <jakub@redhat.com>
3456 Patrick Palka <ppalka@gcc.gnu.org>
3460 * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
3461 calls if the return type is TREE_ADDRESSABLE.
3462 * cgraphunit.c (cgraph_node::expand_thunk): Likewise.
3463 * ipa-split.c (split_function): Fix doubled "we" in comment.
3464 Use void return type for the split part even if
3465 !split_point->split_part_set_retval.
3467 2016-02-10 Bin Cheng <bin.cheng@arm.com>
3469 PR tree-optimization/68021
3470 * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
3471 when computing the value of biv cand by itself.
3473 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
3475 * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
3476 (cortexa57_tunings): Likewise.
3477 (cortexa72_tunings): Likewise.
3478 (arch_macro_fusion_pair_p): Add support for AES fusion.
3479 * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
3480 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
3481 Allow virtual registers before reload so early scheduling works.
3482 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
3483 correct latency and pipeline.
3484 (cortex_a57_crypto_complex): Likewise.
3485 (cortex_a57_crypto_xor): Likewise.
3486 (define_bypass): Add AES bypass.
3488 2016-02-10 Richard Biener <rguenther@suse.de>
3490 PR tree-optimization/69726
3491 * passes.def: Add DCE pass before late uninit.
3492 * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
3493 really fixup if-conversions job.
3495 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
3497 * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
3498 (arm_cortex_a57_tune): Likewise.
3499 (aarch_macro_fusion_pair_p): Add support for AES fusion.
3500 * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
3502 2016-02-10 Eric Botcazou <ebotcazou@adacore.com>
3504 * timevar.def (TV_PHASE_DBGINFO): Delete.
3505 (TV_PHASE_CHECK_DBGINFO): Likewise.
3506 * varpool.c (varpool_node::assemble_decl): Do not change timevar.
3508 2016-02-10 Richard Biener <rguenther@suse.de>
3510 PR tree-optimization/69719
3511 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
3512 Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
3514 2016-02-09 Andrew Pinski <apinski@cavium.com>
3517 * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
3518 get_vcond_mask_icode returns false.
3520 2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
3523 * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
3524 an ADDIS that adds a pointer to a large constant that sets the
3525 upper16 bits with a load operation.
3527 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
3530 * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
3532 * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
3534 (vzipq_s16): Likewise.
3535 (vzipq_s32): Likewise.
3536 (vzipq_f32): Likewise.
3537 (vzipq_u8): Likewise.
3538 (vzipq_u16): Likewise.
3539 (vzipq_u32): Likewise.
3540 (vzipq_p8): Likewise.
3541 (vzipq_p16): Likewise.
3543 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
3546 * config/arm/arm.c (neon_endian_lane_map): New function.
3547 (neon_vector_pair_endian_lane_map): New function.
3548 (arm_evpc_neon_vuzp): Allow for big endian lane order.
3549 * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
3551 (vuzpq_s16): Likewise.
3552 (vuzpq_s32): Likewise.
3553 (vuzpq_f32): Likewise.
3554 (vuzpq_u8): Likewise.
3555 (vuzpq_u16): Likewise.
3556 (vuzpq_u32): Likewise.
3557 (vuzpq_p8): Likewise.
3558 (vuzpq_p16): Likewise.
3560 2016-02-11 Alexandre Oliva <aoliva@redhat.com>
3563 * regstat.c (regstat_bb_compute_calls_crossed): Disregard
3566 2016-02-09 Uros Bizjak <ubizjak@gmail.com>
3568 * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
3569 truncate const_int operand 1 to QImode.
3571 2016-02-09 Eric Botcazou <ebotcazou@adacore.com>
3573 * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
3574 corresponding to an abnormal edge.
3576 2016-02-09 Tom de Vries <tom@codesourcery.com>
3578 PR tree-optimization/69599
3579 * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
3581 (find_func_aliases_for_builtin_call, find_func_clobbers)
3582 (ipa_pta_execute): Handle case that foo and foo._0 are not in same lto
3585 2016-02-09 Richard Biener <rguenther@suse.de>
3587 PR tree-optimization/69715
3588 * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
3589 LHS on calls as non-rewritable.
3591 2016-02-09 Tom de Vries <tom@codesourcery.com>
3594 * lto-wrapper.c (append_diag_options): New function.
3595 (compile_offload_image): Call append_diag_options.
3597 2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
3600 * doc/extend.texi (Flag Output Operands): Correct sectioning.
3601 Minor copy-edit to fix verb tenses.
3603 2016-02-08 Jakub Jelinek <jakub@redhat.com>
3605 PR tree-optimization/69209
3606 * ipa-split.c (split_function): If split part is not
3607 returning retval, retval has gimple type but is not
3608 gimple value, force it into a SSA_NAME first.
3610 2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com>
3612 * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
3615 2016-02-08 Jason Merrill <jason@redhat.com>
3618 * convert.c (convert_to_integer_1): Check dofold on truncation
3620 (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
3621 (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
3622 Rename from *_nofold.
3623 * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
3624 (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
3626 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
3629 * tree.c (build_common_tree_nodes): Remove short_double argument.
3630 All callers changed.
3631 * tree.h (build_common_tree_nodes): Adjust declaration.
3632 * doc/invoke.texi (-fshort-double): Remove documentation.
3633 * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
3634 MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
3635 * lto-wrapper.c (merge_and_complain, append_compiler_options)
3636 (append_linker_options): Don't handle OPT_fshort_double.
3638 PR rtl-optimization/68730
3639 * lra-remat.c (insn_to_cand_activation): New static variable.
3640 (lra_remat): Allocate and free it.
3641 (create_cand): New arg activation. Initialize a field in
3642 insn_to_cand_activation if it is nonnull.
3643 (create_cands): Pass the activation insn to create_cand when making
3644 a candidate involving an output reload. Reorganize code a little.
3645 (do_remat): Keep track of active status of candidates in a separate
3648 2016-02-08 Richard Biener <rguenther@suse.de>
3650 PR tree-optimization/69719
3651 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
3652 Properly use absolute of the difference of the two offsets to
3653 compare or adjust the segment length.
3655 2016-02-08 Richard Biener <rguenther@suse.de>
3656 Jeff Law <law@redhat.com>
3659 * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
3660 types for anonymous SSA names.
3662 2016-02-08 Richard Biener <rguenther@suse.de>
3664 PR rtl-optimization/69274
3665 * ira.c (ira_setup_alts): Do not change recog_data.operand order.
3667 2016-02-08 Jeff Law <law@redhat.com>
3669 PR tree-optimization/65917
3670 * tree-ssa-dom.c (record_temporary_equivalences): Record both
3671 equivalences from if (x == y) style conditionals.
3672 (loop_depth_of_name): Remove.
3673 (record_equality): Remove loop depth check.
3674 * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
3675 (const_and_copies::record_const_or_copy_raw): New member function.
3676 * tree-ssa-scopedtables.c
3677 (const_and_copies::record_const_or_copy_raw): New, factored out of
3678 (const_and_copies::record_const_or_copy): Call new member function.
3680 2016-02-05 Jeff Law <law@redhat.com>
3682 PR tree-optimization/68541
3683 * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
3684 (count_stmts_in_block): New function.
3685 (poor_ifcvt_candidate_code): Likewise.
3686 (is_feasible_trace): Add some heuristics to determine when path
3687 splitting is profitable.
3688 (find_block_to_duplicate_for_splitting_paths): Make sure the graph
3689 is a diamond with a single exit.
3691 2016-02-05 Martin Sebor <msebor@redhat.com>
3694 * doc/invoke.texi: Update -Wplacement-new to take an optional
3697 2016-02-06 Richard Henderson <rth@redhat.com>
3700 * tree.c (tree_nop_conversion_p): Do not strip casts into or
3701 out of non-standard address spaces.
3703 2016-02-05 Jakub Jelinek <jakub@redhat.com>
3705 PR rtl-optimization/69691
3706 * lra-eliminations.c (move_plus_up): Don't add the addend twice.
3708 2016-02-05 Pat Haugen <pthaugen@us.ibm.com>
3710 * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
3711 * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
3712 (*ieee128_mfvsrd_64bit): Likewise.
3713 (*ieee128_mfvsrd_32bit): Likewise.
3715 2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com>
3719 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
3721 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
3722 instrumented_version.
3724 2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com>
3726 * doc/invoke.texi (Optimize Options): In table of --param options
3727 rename second occurrence of tracer-min-branch-ratio to
3728 tracer-min-branch-probability, rename
3729 tracer-min-branch-ratio-feedback to
3730 tracer-min-branch-probability-feedback and clarify description,
3731 rename sched-spec-state-edge-prob-cutoff to
3732 sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
3733 to selsched-insns-to-rename, rename lto-minpartition to
3734 lto-min-partition, delete reorder-blocks-duplicate and
3735 reorder-blocks-duplicate-feedback.
3737 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3739 * config/s390/s390.c (s390_register_info_set_ranges): Remove
3742 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
3744 * doc/extend.texi: S/390: Correct some typos.
3746 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3748 * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
3750 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3753 * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
3754 (s390_register_info_gprtofpr): Use new macros above.
3755 (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
3757 (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
3758 its name. Adjust restore and save gpr ranges.
3759 (s390_register_info_set_ranges): New function.
3760 (s390_register_info): Use new macros above. Call
3761 s390_register_info_set_ranges.
3762 (s390_optimize_register_info): Likewise.
3763 (s390_hard_regno_rename_ok): Use new macros.
3764 (s390_hard_regno_scratch_ok): Likewise.
3765 (s390_emit_epilogue): Likewise.
3766 (s390_can_use_return_insn): Likewise.
3767 (s390_optimize_prologue): Likewise.
3768 * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
3770 2016-02-05 Jakub Jelinek <jakub@redhat.com>
3773 * config/i386/i386.c (convert_scalars_to_vector): Readd stack
3775 (ix86_option_override_internal): Disable TARGET_STV even for
3776 -m{incoming,preferred}-stack-boundary=3.
3778 2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3780 * config.gcc: Mark deprecated rtems targets as obsolete.
3782 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org>
3784 PR rtl-optimization/64682
3785 PR rtl-optimization/69567
3786 * combine.c (distribute_notes) <REG_DEAD>: Place the death note
3787 before I2 only if the register is both used and set in I2.
3789 2016-02-04 DJ Delorie <dj@redhat.com>
3791 * config/msp430/msp430.c (msp430_start_function): Add function type.
3793 2016-02-04 Jakub Jelinek <jakub@redhat.com>
3796 * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
3798 2016-02-04 Uros Bizjak <ubizjak@gmail.com>
3800 PR rtl-optimization/69577
3802 2015-10-29 Richard Henderson <rth@redhat.com>
3806 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
3807 sse check to the exact conditions of PR 67609.
3809 2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
3812 * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
3813 instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
3814 not allowed into the traditional Altivec registers.
3815 (movtd_64bit_nodm): Likewise.
3816 (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
3818 2016-02-04 David Malcolm <dmalcolm@redhat.com>
3820 * config/aarch64/cortex-a57-fma-steering.c
3821 (aarch64_register_fma_steering): Remove "static" from arguments
3824 2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
3827 * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
3830 2016-02-04 Mike Frysinger <vapier@gentoo.org>
3832 * doc/invoke.texi: Delete -mno-fma4.
3834 2016-02-04 Richard Sandiford <richard.sandiford@arm.com>
3836 PR rtl-optimization/69577
3837 * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
3838 (find_subregs_of_mode): Update accordingly. Iterate over partial
3841 2016-02-04 Alan Lawrence <alan.lawrence@arm.com>
3843 * config/arm/arm-protos.h (neon_reinterpret): Remove.
3844 * config/arm/arm.c (neon_reinterpret): Remove.
3845 * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
3846 vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
3847 vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
3848 vreinterpretti): Remove.
3849 * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
3850 neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
3851 neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
3852 neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
3853 neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
3854 neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
3855 * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
3856 vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
3857 vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
3858 vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
3859 vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
3860 vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
3861 vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
3862 vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
3863 vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
3864 vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
3865 vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
3866 vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
3867 vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
3868 vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
3869 vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
3870 vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
3871 vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
3872 vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
3873 vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
3874 vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
3875 vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
3876 vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
3877 vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
3878 vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
3879 vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
3880 vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
3881 vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
3882 vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
3883 vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
3884 vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
3885 vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
3886 vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
3887 vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
3888 vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
3889 vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
3890 vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
3891 vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
3892 vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
3893 vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
3894 vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
3895 vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
3896 vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
3897 vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
3898 vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
3899 vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
3900 vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
3901 vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
3902 vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
3903 vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
3904 vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
3905 vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
3906 vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
3907 vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
3908 vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
3909 vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
3910 vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
3911 vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
3912 vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
3913 vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
3914 vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
3915 vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
3916 vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
3917 vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
3918 vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
3919 vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
3920 vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
3921 vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
3922 vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
3923 vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
3924 vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
3925 vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
3926 vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
3927 vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
3928 vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
3929 vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
3930 vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
3931 vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
3932 vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
3933 vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
3934 vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
3935 vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
3936 vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
3937 vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
3938 vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
3939 vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
3940 vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
3941 vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
3942 vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
3943 vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
3944 vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
3945 vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
3946 vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
3947 vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
3948 vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
3949 vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
3950 vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
3951 vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
3953 2016-02-04 Martin Liska <mliska@suse.cz>
3956 * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
3957 that are gimple_store_p.
3958 (maybe_instrument_call): Likewise.
3960 2016-02-04 Bin Cheng <bin.cheng@arm.com>
3962 * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
3963 register scaling out of memory reference and comment why.
3965 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3969 * cse.c (cse_insn): Pass NULL to fold_rtx when initially
3970 folding the source of a SET.
3972 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3976 * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
3977 the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
3979 2016-02-04 Jim Wilson <jim.wilson@linaro.org>
3983 * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
3986 2016-02-04 Christian Bruel <christian.bruel@st.com>
3988 * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
3989 * config/arm/arm.c (arm_set_current_function): Likewise.
3991 2016-02-04 Jakub Jelinek <jakub@redhat.com>
3992 Ilya Enkovich <enkovich.gnu@gmail.com>
3993 H.J. Lu <hongjiu.lu@intel.com>
3996 * config/i386/i386.c (convert_scalars_to_vector): Remove
3997 stack alignment fixes.
3998 (ix86_option_override_internal): Disable TARGET_STV if stack
3999 might not be aligned enough.
4000 (ix86_minimum_alignment): Assert that TARGET_STV is false.
4002 2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com>
4004 * gcc/config/i386/x86-tune.def: Disable default prefetching
4007 2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com>
4008 Vladimir Makarov <vmakarov@redhat.com>
4011 * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
4012 in validating fused toc addresses.
4014 2016-02-03 Jakub Jelinek <jakub@redhat.com>
4017 * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
4018 range->m_caret fields if range->m_show_caret_p is false.
4021 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
4022 Force oldval into register if it does not satisfy reg_or_short_operand
4023 predicate. Fix up formatting.
4025 2016-02-03 Vladimir Makarov <vmakarov@redhat.com>
4026 Alexandre Oliva <aoliva@redhat.com>
4029 * lra-constraints.c (simplify_operand_subreg): Check additionally
4030 address validity after potential reloading.
4031 (process_address_1): Check insns validity. In case of failure do
4034 2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com>
4037 * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
4040 2016-02-02 Jakub Jelinek <jakub@redhat.com>
4042 * wide-int.cc (canonize_uhwi): New function.
4043 (wi::divmod_internal): Use it.
4045 2016-02-02 James Norris <jnorris@codesourcery.com
4047 * gimplify.c (omp_notice_variable): Add usage check.
4049 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
4051 * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
4052 like LE, GE, LT, GT when emitting relational operator.
4054 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
4056 * ira-costs.c (find_costs_and_classes): Add extra argument.
4057 * target.def (ira_change_pseudo_allocno_class): Add parameter.
4058 * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
4059 * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
4060 * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
4061 Add best_class parameter, and return it if not ALL_REGS.
4062 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
4064 * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
4067 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
4069 * config/aarch64/aarch64.c
4070 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
4071 (aarch64_ira_change_pseudo_allocno_class): New function.
4073 2016-02-02 Uros Bizjak <ubizjak@gmail.com>
4076 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
4078 2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4080 * config/avr/avr.c (avr_option_override): Set
4081 PARAM_ALLOW_STORE_DATA_RACES to 1.
4083 2016-02-02 Richard Biener <rguenther@suse.de>
4085 PR tree-optimization/69595
4086 * match.pd: Add range test simplifications to true/false.
4088 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4090 * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
4091 * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
4094 2016-02-02 Richard Biener <rguenther@suse.de>
4096 PR tree-optimization/69606
4097 * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
4098 info on the result before moving a stmt.
4100 2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
4103 * config/i386/i386.c (ix86_expand_branch): Add support for conditional
4104 branch with vector comparison.
4105 * config/i386/sse.md (VI48_AVX): New mode iterator.
4106 (define_expand "cbranch<mode>4): Add support for conditional branch
4107 with vector comparison.
4108 * tree-vect-loop.c (optimize_mask_stores): New function.
4109 * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
4110 has_mask_store field of vect_info.
4111 * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
4112 vectorized loops having masked stores after vec_info destroy.
4113 * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
4114 correspondent macros.
4115 (optimize_mask_stores): Add prototype.
4117 2016-02-02 Alan Modra <amodra@gmail.com>
4120 * config/rs6000/predicates.md (quad_int_reg_operand): Don't
4123 2016-02-02 Alan Modra <amodra@gmail.com>
4126 * config/rs6000/rs6000.c (need_toc_init): New var, set it
4127 whenever toc_label_name used.
4128 (rs6000_file_start): Don't set up toc section here,
4129 (rs6000_output_function_epilogue): do so here instead,
4130 (rs6000_xcoff_file_start): and here.
4131 * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
4132 (load_toc_aix_di): Likewise.
4134 2016-02-01 Jakub Jelinek <jakub@redhat.com>
4136 PR rtl-optimization/69592
4137 * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
4138 (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
4139 (num_sign_bit_copies_binary_arith_p): New inline function.
4140 (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
4142 2016-02-01 Jeff Law <law@redhat.com>
4144 PR tree-optimization/69580
4145 * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
4146 * tree-ssa-threadbackward.c
4147 (fsm_find_control_statement_thread_paths): Do not try to walk
4148 through large PHI nodes.
4150 2016-02-01 Jakub Jelinek <jakub@redhat.com>
4152 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
4153 when count is incremented above limit, don't analyze further
4156 * omp-low.c (oacc_parse_default_dims): Avoid
4157 -Wsign-compare warning, make sure value fits into int
4158 rather than just unsigned int.
4160 2016-02-01 Bin Cheng <bin.cheng@arm.com>
4162 PR tree-optimization/67921
4163 * fold-const.c (split_tree): New parameters. Convert pointer
4164 type variable part to proper type before negating.
4165 (fold_binary_loc): Pass new arguments to split_tree.
4167 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4169 * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
4170 (nvptx_goacc_validate_dims): Extend to handle global defaults.
4171 * target.def (OACC_VALIDATE_DIMS): Extend documentation.
4172 * doc/tm.texti: Rebuilt.
4173 * doc/invoke.texi (fopenacc-dim): Document.
4174 * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
4175 (append_compiler_options): Likewise.
4176 * omp-low.c (oacc_default_dims, oacc_min_dims): New.
4177 (oacc_parse_default_dims): New.
4178 (oacc_validate_dims): Add USED arg. Select non-unity default when
4180 (oacc_loop_fixed_partitions): Return mask of used partitions.
4181 (oacc_loop_auto_partitions): Emit dump info.
4182 (oacc_loop_partition): Return mask of used partitions.
4183 (execute_oacc_device_lower): Parse default dimension arg. Adjust
4184 loop partitioning and validation calls.
4186 2016-02-01 Richard Biener <rguenther@suse.de>
4189 * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
4191 2016-02-01 Richard Biener <rguenther@suse.de>
4193 PR tree-optimization/69574
4194 * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
4195 of asserting return chrec_dont_know.
4197 2016-02-01 Martin Liska <mliska@suse.cz>
4199 * mem-stats-traits.h: Add copyright header.
4200 * mem-stats.h: Likewise.
4202 2016-02-01 Richard Biener <rguenther@suse.de>
4204 PR tree-optimization/69579
4205 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
4206 Do not propagate through abnormal PHI results.
4208 2016-02-01 Eric Botcazou <ebotcazou@adacore.com>
4210 * postreload.c (reload_cse_simplify): Remove dead code.
4212 2016-02-01 Jakub Jelinek <jakub@redhat.com>
4214 PR rtl-optimization/69570
4215 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
4216 if there is more than one set, not if there is a single set.
4218 2016-02-01 Richard Henderson <rth@redhat.com>
4221 * combine.c (make_compound_operation): When looking through a
4222 subreg, make sure to re-extend to the width of the outer mode.
4224 2016-01-30 Jakub Jelinek <jakub@redhat.com>
4226 PR tree-optimization/69546
4227 * wide-int.cc (wi::divmod_internal): For unsigned division
4228 where both operands fit into uhwi, if o1 is 1 and o0 has
4229 msb set, if divident_prec is larger than bits per hwi,
4230 clear another quotient word and return 2 instead of 1.
4231 Similarly for remainder with msb in HWI set, if dividend_prec
4232 is larger than bits per hwi.
4234 2016-01-29 Martin Jambor <mjambor@suse.cz>
4236 * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
4237 Use short lowercase names.
4238 (get_memory_order): Mask with MEMMODEL_BASE_MASK. Support
4239 MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
4240 acq_rel one. Protect warning agains segfaults if
4241 get_memory_order_name returns NULL.
4242 (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
4243 with release semantics. Do not warn if get_memory_order already did.
4244 (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
4245 semantics. Fix check for relaxed or acquire semantics. Do not warn
4246 if get_memory_order already did.
4248 2016-01-29 Sebastian Pop <s.pop@samsung.com>
4250 * doc/install.texi: Document that isl-0.16 is supported.
4252 2016-01-29 Vladimir Makarov <vmakarov@redhat.com>
4255 * config/i386/constraints.md (Bm): Describe as special memory
4257 * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
4258 * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
4259 * genpreds.c (struct constraint_data): Add is_special_memory.
4260 (have_special_memory_constraints, special_memory_start): New
4262 (special_memory_end): Ditto.
4263 (add_constraint): Add new arg is_special_memory. Add code to
4264 process its true value. Update have_special_memory_constraints.
4265 (process_define_constraint): Pass the new arg.
4266 (process_define_register_constraint): Ditto.
4267 (choose_enum_order): Process special memory.
4268 (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
4269 function insn_extra_special_memory_constraint.
4270 (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
4271 * gensupport.c (process_rtx): Process
4272 DEFINE_SPECIAL_MEMORY_CONSTRAINT.
4273 * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
4274 * ira-lives.c (single_reg_class): Use
4275 insn_extra_special_memory_constraint.
4276 * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
4277 * lra-constraints.c (process_alt_operands): Ditto.
4278 (curr_insn_transform): Use insn_extra_special_memory_constraint.
4279 * recog.c (asm_operand_ok, preprocess_constraints): Process
4281 * reload.c (find_reloads): Ditto.
4282 * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
4283 * stmt.c (parse_input_constraint): Use
4284 insn_extra_special_memory_constraint.
4286 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
4289 * lra-splill.c (lra_final_code_change): Revert r229087 by
4290 removing all sub-registers.
4292 2016-01-29 Steve Ellcey <sellcey@imgtec.com>
4295 * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
4297 2016-01-29 Jakub Jelinek <jakub@redhat.com>
4300 * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
4301 SSE1, copy target into the temporary reg first before recursing
4304 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
4306 * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
4309 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
4311 * ginclude/stdarg.h: Test __cplusplus instead of
4312 __GXX_EXPERIMENTAL_CXX0X__.
4314 2016-01-29 Richard Biener <rguenther@suse.de>
4316 PR tree-optimization/69547
4317 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
4318 Do not mark clobbers necessary.
4319 (mark_all_reaching_defs_necessary_1): Likewise.
4321 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4323 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
4324 declaration name with %qs and print it in both error messages.
4325 Also fix indentation.
4327 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4330 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
4331 trailing blank line from error message.
4333 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
4336 * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
4339 2016-01-29 Richard Biener <rguenther@suse.de>
4342 * match.pd: Allow all integral types when simplifying a
4343 widening or sign-changing conversion.
4345 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4347 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
4348 back to setting codegen_error to fail codegen.
4350 2016-01-28 Uros Bizjak <ubizjak@gmail.com>
4353 * config/i386/constraints.md (C): Only accept constant zero operand.
4354 (BC): New constraint.
4355 * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
4356 instead of C constraint.
4357 * doc/md.texi (Machine Constraints): Update description
4360 2016-01-28 Steve Ellcey <sellcey@imgtec.com>
4363 * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
4365 2016-01-28 Jakub Jelinek <jakub@redhat.com>
4368 * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
4371 2016-01-28 Pat Haugen <pthaugen@us.ibm.com>
4373 * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
4374 branches if using guessed profile.
4376 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
4378 * graphite-optimize-isl.c (optimize_isl): Fix dump.
4380 2016-01-28 Richard Henderson <rth@redhat.com>
4383 * config/aarch64/aarch64-modes.def (CC_Cmode): New
4384 * config/aarch64/aarch64-protos.h: Update.
4385 * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
4386 (aarch64_select_cc_mode): Add check for use of CC_Cmode.
4387 (aarch64_get_condition_code_1): Handle CC_Cmode.
4388 * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
4389 (*add<mode>3_compareC_cconly_imm): New.
4390 (*add<mode>3_compareC_cconly): New.
4391 (*add<mode>3_compareC_imm): New.
4392 (add<mode>3_compareC): New.
4393 (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
4394 to be first. Use aarch64_carry_operation.
4395 (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
4396 (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
4397 (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
4398 (subti3): Use subdi3_compare1.
4399 (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
4400 (sub<mode>3_compare1): New.
4401 (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
4402 (*sub<mode>3_carryin): Use aarch64_borrow_operation.
4403 (*subsi3_carryin_uxtw): Likewise.
4404 (*ngc<mode>, *ngcsi_uxtw): Likewise.
4405 (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
4406 * config/aarch64/iterators.md (DWI): New.
4407 * config/aarch64/predicates.md (aarch64_carry_operation): New.
4408 (aarch64_borrow_operation): New.
4410 2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
4412 * graphite-optimize-isl.c (optimize_isl): Print a different debug
4413 message when isl does not return a valid schedule.
4415 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4417 * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
4418 Remove comments from class declarations: they are already in the code
4421 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4423 * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
4425 (ternary_op_to_tree): Same.
4426 (unary_op_to_tree): Same.
4427 (nary_op_to_tree): Same.
4428 (gcc_expression_from_isl_expr_op): Same.
4429 (gcc_expression_from_isl_expression): Same.
4430 (graphite_create_new_loop): Same.
4431 (graphite_create_new_loop_guard): Same.
4432 (build_iv_mapping): Same.
4433 (graphite_create_new_guard): Same.
4434 (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
4435 (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
4437 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4439 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
4440 instead of setting codegen_error to fail codegen.
4442 2016-01-28 Jason Merrill <jason@redhat.com>
4444 * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
4446 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
4448 * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
4449 Remove CONST_INT_P check in CCMP cost calculation.
4451 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
4453 * config/aarch64/aarch64.c (generic_vector_cost):
4454 Set vec_permute_cost.
4455 (cortexa57_vector_cost): Likewise.
4456 (exynosm1_vector_cost): Likewise.
4457 (xgene1_vector_cost): Likewise.
4458 (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
4459 * config/aarch64/aarch64-protos.h (cpu_vector_cost):
4460 Add vec_permute_cost entry.
4462 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
4464 * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
4466 (add<mode>3_compare0): Likewise.
4467 (addsi3_compare0_uxtw): Likewise.
4468 (add<mode>3nr_compare0): Likewise.
4469 (compare_neg<mode>): Likewise.
4470 (<optab><mode>3): Likewise.
4472 2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com>
4474 * tree-vect-stmts.c (vectorizable_comparison): Add
4475 NULL check for vectype.
4477 2016-01-28 Richard Biener <rguenther@suse.de>
4479 PR tree-optimization/69466
4480 * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
4481 Account for PHIs we couldn't duplicate.
4483 2016-01-28 Martin Liska <mliska@suse.cz>
4486 * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
4487 instead of ENABLE_VALGRIND_CHECKING.
4489 2016-01-27 Richard Henderson <rth@redhat.com>
4492 * lra-remat.c (subreg_regs): New.
4493 (dump_candidates_and_remat_bb_data): Dump it.
4494 (operand_to_remat): Reject if operand in subreg_regs.
4495 (set_bb_regs): Collect subreg_regs.
4496 (lra_remat): Init and free subreg_regs. Compute
4497 calculate_local_reg_remat_bb_data before create_cands.
4499 2016-01-27 H.J. Lu <hongjiu.lu@intel.com>
4502 * config/i386/i386.c (ix86_update_stack_boundary): Don't
4503 change stack_alignment_needed for __tls_get_addr call.
4505 2016-01-27 Segher Boessenkool <segher@kernel.crashing.org>
4507 * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
4509 2016-01-27 Jeff Law <law@redhat.com>
4511 PR tree-optimization/68398
4512 PR tree-optimization/69196
4513 * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
4514 (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
4515 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
4516 Only count PHIs in the last block in the path. The others will
4517 const/copy propagate away. Add heuristic to allow more irreducible
4518 subloops to be created when it is likely profitable to do so.
4520 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
4521 Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL
4522 check from within the loop. Use gsi_next_nondebug rather than gsi_next.
4524 2016-01-27 Jakub Jelinek <jakub@redhat.com>
4527 * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
4528 END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
4529 * asan.c (DEF_BUILTIN_STUB): Temporarily define.
4530 * tree-streamer-in.c: Include asan.h.
4531 (streamer_get_builtin_tree): For builtins in sanitizer
4532 range call initialize_sanitizer_builtins and retry.
4534 2016-01-27 Ian Lance Taylor <iant@google.com>
4536 * common.opt (fkeep-gc-roots-live): New undocumented option.
4537 * tree-ssa-loop-ivopts.c (add_candidate_1): If
4538 -fkeep-gc-roots-live, skip pointers.
4539 (add_iv_candidate_for_biv): Handle add_candidate_1 returning
4542 2016-01-27 Uros Bizjak <ubizjak@gmail.com>
4545 * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
4546 (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
4548 2016-01-27 Thomas Klausner <wiz@NetBSD.org>
4551 * configure.ac: NetBSD provides SSP in its C library.
4552 * configure: Updated.
4554 2016-01-27 Richard Biener <rguenther@suse.de>
4556 PR tree-optimization/69166
4557 * tree-vect-loop.c (vect_is_simple_reduction): Always check
4558 reduction code for commutativity / associativity.
4560 2016-01-27 Martin Jambor <mjambor@suse.cz>
4562 PR tree-optimization/69355
4563 * tree-sra.c (analyze_access_subtree): Correct hole detection when
4564 total_scalarization fails.
4566 2016-01-27 David Edelsohn <dje.gcc@gmail.com>
4568 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
4571 2016-01-27 Christian Bruel <christian.bruel@st.com>
4574 * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
4575 Move arm_reset_previous_fndecl and set_target_option_current_node in
4576 the conditional part. Call save_restore_target_globals.
4577 * config/arm/arm.c (arm_set_current_function):
4578 Refactor to better support #pragma target and attribute mix.
4579 Call save_restore_target_globals.
4580 * config/arm/arm-protos.h (save_restore_target_globals): New function.
4582 2016-01-27 Martin Liska <mliska@suse.cz>
4584 * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
4585 reference for an HSA kernel and its host function.
4587 2016-01-27 Jakub Jelinek <jakub@redhat.com>
4589 PR tree-optimization/69399
4590 * wide-int.h (wi::lrshift): For larger precisions, only
4591 use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
4593 2016-01-27 Claudiu Zissulescu <claziss@synopsys.com>
4595 * config/arc/predicates.md (proper_comparison_operator): Reject
4596 constant-constant comparison.
4598 2016-01-26 Tom de Vries <tom@codesourcery.com>
4600 PR tree-optimization/69110
4601 * tree-data-ref.c (initialize_data_dependence_relation): Handle
4602 DR_NUM_DIMENSIONS == 0.
4604 2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com>
4605 Sebastian Pop <s.pop@samsung.com>
4607 * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
4608 isl_ast_op_cond and isl_ast_op_select.
4609 (gcc_expression_from_isl_expr_op): Same.
4611 2016-01-26 Jason Merrill <jason@redhat.com>
4614 * tree.c (recompute_constructor_flags): Split out from
4616 (verify_constructor_flags): New.
4617 * tree.h: Declare them.
4619 2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
4621 PR rtl-optimization/69217
4622 * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
4623 are no TYPE_FIELDS set for the record type.
4625 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4628 * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
4629 toc_label_name unconditionally.
4630 (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
4631 SYMBOL_REF string. Use toc_label_name instead of constructing
4633 (rs6000_elf_declare_function_name): Use toc_label_name instead of
4634 constructing LCTOC1.
4636 2016-01-26 Martin Sebor <msebor@redhat.com>
4639 * doc/extend.texi (Common Type Attributes): Move text that talks about
4640 attribute packed from attribute aligned to the section discussing
4641 the former attribute for clarity.
4643 2016-01-26 Richard Henderson <rth@redhat.com>
4646 * trans-mem.c (tm_region_init): Mark entry block as visited.
4648 2016-01-26 David Malcolm <dmalcolm@redhat.com>
4651 * diagnostic-show-locus.c (layout::print_source_line): Replace
4652 call to pp_newline with call to layout::print_newline.
4653 (layout::print_annotation_line): Likewise.
4654 (layout::move_to_column): Likewise.
4655 (layout::print_any_fixits): After printing any fixits, print a
4656 trailing newline, if necessary.
4657 (layout::print_newline): New method, resetting any colorization
4659 (diagnostic_show_locus): Move the pp_newline to before the
4660 early bailout. Remove dummy block enclosing the layout instance.
4661 * diagnostic.c (default_diagnostic_finalizer): Replace invocation
4662 of pp_newline_and_flush with pp_flush.
4663 (diagnostic_append_note): Delete use of pp_newline.
4664 (diagnostic_append_note_at_rich_loc): Delete.
4665 * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
4666 * pretty-print.h (output_buffer_append_r): Reset buff->line_length
4667 when newline characters are added to the buffer.
4669 2016-01-26 Michael Matz <matz@suse.de>
4671 * configure.ac (ac_cv_std_swap_in_utility): New test.
4672 * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
4673 * configure: Regenerate.
4674 * config.in: Regenerate.
4676 2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
4678 * config/arc/arc.md (cstoresi4): Force operand into register.
4679 (arcset<code>): Fix predicate.
4680 (arcsetltu): Likewise.
4681 (arcsetgeu): Likewise.
4682 (arcsethi): Likewise.
4683 (arcsetls): Likewise.
4685 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4687 PR tree-optimization/69483
4688 * gimple-fold.c (canonicalize_constructor_val): Return NULL
4689 if base has error_mark_node type.
4691 2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
4694 * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
4695 * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
4697 (vget_lane_f16): Handle big-endian.
4698 (vgetq_lane_f16): Likewise.
4699 (vset_lane_f16): Likewise.
4700 (vsetq_lane_f16): Likewise.
4701 * config/arm/iterators.md (VQXMOV): Add V8HF.
4702 (VDQ): Add V4HF and V8HF.
4703 (V_reg): Handle V4HF and V8HF.
4704 (Is_float_mode): Likewise.
4705 * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
4706 neon_vdup_nv8hf): New patterns.
4707 (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
4708 Use VD_LANE iterator.
4709 (neon_vld1_dup<mode>): Use VQ2 iterator.
4711 2016-01-26 Nathan Sidwell <nathan@acm.org>
4713 * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
4714 (set_oacc_fn_attrib): Add IS_KERNEL arg.
4715 * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
4716 (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
4717 (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
4718 (oacc_validate_dims): Add LEVEL arg, don't return level.
4719 (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
4721 (execute_oacc_device_lower): Adjust, add more dump output.
4722 * tree-ssa-loop.c (gate_oacc_kernels): Use
4723 oacc_fn_attrib_kernels_p.
4724 * tree-parloops.c (create_parallel_loop): Adjust
4725 set_oacc_fn_attrib call.
4727 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4730 * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
4731 (append_compiler_options): Handle -fcilkplus.
4732 (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
4734 2016-01-26 Nick Clifton <nickc@redhat.com>
4737 * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
4738 been marked as DECL_ONE_ONLY but we do not the means to make it
4739 so, then do not allow it to bind locally.
4741 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4744 * opts.h (parse_sanitizer_options): New prototype.
4745 * opts.c (sanitizer_opts): New array.
4746 (parse_sanitizer_options): New function.
4747 (common_handle_option): Use parse_sanitizer_options.
4749 2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
4752 * config/i386/i386.c (ix86_compute_frame_layout): Move stack
4753 alignment adjustment to ...
4754 (ix86_update_stack_boundary): Here. Don't over-align stack for
4756 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
4757 if __tls_get_addr is called.
4759 2016-01-26 Christian Bruel <christian.bruel@st.com>
4761 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
4763 2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
4765 * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
4767 2016-01-26 Richard Biener <rguenther@suse.de>
4770 * match.pd: Guard X * CST CMP 0 pattern with single_use.
4772 2016-01-26 Richard Biener <rguenther@suse.de>
4774 PR tree-optimization/69452
4775 * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
4776 (move_computations_dom_walker::before_dom_children): Rename
4778 (move_computations_worker): This.
4779 (move_computations): Perform an RPO rather than a DOM walk.
4781 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4784 * combine.c (combine_instructions): For REG_EQUAL note with
4785 SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
4786 to the underlying register.
4787 * doc/rtl.texi (REG_EQUAL): Document the behavior of
4788 REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
4790 2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
4793 * config/aarch64/aarch64-builtins.c
4794 (aarch64_init_simd_builtin_types): Do not set structural
4795 equality to __Poly{8,16,64,128}_t types.
4797 2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
4799 PR tree-optimization/69400
4800 * wide-int.cc (wi_pack): Take the precision as argument and
4801 perform canonicalization here rather than in the callers.
4802 Use the main loop to handle all full-width HWIs. Add a
4803 zero HWI if in_len isn't a full result.
4804 (wi::divmod_internal): Update accordingly.
4805 (wi::mul_internal): Likewise. Simplify.
4807 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
4808 Sebastian Pop <s.pop@samsung.com>
4810 * graphite-poly.c (apply_poly_transforms): Simplify.
4811 (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
4812 (print_isl_map): Same.
4813 (print_isl_union_map): Same.
4814 (print_isl_schedule): New.
4815 (debug_isl_schedule): New.
4816 * graphite-dependences.c (scop_get_reads): Do not call
4817 isl_union_map_add_map that is undocumented isl functionality.
4818 (scop_get_must_writes): Same.
4819 (scop_get_may_writes): Same.
4820 (scop_get_original_schedule): Remove.
4821 (scop_get_dependences): Do not call isl_union_map_compute_flow that
4822 is deprecated in isl 0.15. Instead, use isl_union_access_* interface.
4823 (compute_deps): Remove.
4824 * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
4825 (debug_schedule_ast): New.
4826 (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
4827 set_separate_option.
4828 (graphite_regenerate_ast_isl): Add dump.
4829 (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
4830 from scop->transformed_schedule.
4831 (graphite_regenerate_ast_isl): Add more dump.
4832 * graphite-optimize-isl.c (optimize_isl): Set
4833 scop->transformed_schedule. Check whether schedules are equal.
4834 (apply_poly_transforms): Move here.
4835 * graphite-poly.c (apply_poly_transforms): ... from here.
4836 (free_poly_bb): Static.
4837 (free_scop): Static.
4838 (pbb_number_of_iterations_at_time): Remove.
4839 (print_isl_ast): New.
4840 (debug_isl_ast): New.
4841 (debug_scop_pbb): New.
4842 * graphite-scop-detection.c (print_edge): Move.
4844 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
4845 (build_scop_scattering): Remove.
4846 (create_pw_aff_from_tree): Assert instead of bailing out.
4847 (add_condition_to_pbb): Remove unused code, do not fail.
4848 (add_conditions_to_domain): Same.
4849 (add_conditions_to_constraints): Remove.
4850 (build_scop_context): New.
4851 (add_iter_domain_dimension): New.
4852 (build_iteration_domains): Initialize pbb->iterators.
4853 Call add_conditions_to_domain.
4856 (index_outermost_in_loop): New.
4857 (index_pbb_in_loop): New.
4858 (outermost_pbb_in): New.
4859 (add_in_sequence): New.
4860 (add_outer_projection): New.
4861 (outer_projection_mupa): New.
4862 (add_loop_schedule): New.
4863 (build_schedule_pbb): New.
4864 (build_schedule_loop): New.
4865 (embed_in_surrounding_loops): New.
4866 (build_schedule_loop_nest): New.
4867 (build_original_schedule): New.
4868 (build_poly_scop): Call build_original_schedule.
4869 * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
4870 (free_poly_dr): Remove.
4871 (struct poly_bb): Add iterators. Remove schedule, transformed, saved.
4872 (free_poly_bb): Remove.
4873 (debug_loop_vec): Remove.
4874 (print_isl_ast): Declare.
4875 (debug_isl_ast): Declare.
4876 (scop_do_interchange): Remove.
4877 (scop_do_strip_mine): Remove.
4878 (scop_do_block): Remove.
4879 (flatten_all_loops): Remove.
4880 (optimize_isl): Remove.
4881 (pbb_number_of_iterations_at_time): Remove.
4882 (debug_scop_pbb): Declare.
4883 (print_schedule_ast): Declare.
4884 (debug_schedule_ast): Declare.
4885 (struct scop): Remove schedule. Add original_schedule,
4886 transformed_schedule.
4887 (free_gimple_poly_bb): Remove.
4888 (print_generated_program): Remove.
4889 (debug_generated_program): Remove.
4890 (unify_scattering_dimensions): Remove.
4891 * sese.c (print_edge): ... here.
4892 (print_sese): ... here.
4893 (debug_edge): ... here.
4894 (debug_sese): ... here.
4895 * sese.h (print_edge): Declare.
4896 (print_sese): Declare.
4897 (dump_edge): Declare.
4898 (dump_sese): Declare.
4900 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
4901 Sebastian Pop <s.pop@samsung.com>
4903 * Makefile.in: Set ISLVER in site.exp.
4905 2016-01-25 Jakub Jelinek <jakub@redhat.com>
4907 * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
4908 DECL_VALUE_EXPR of new_var even for the non-array case. Look
4909 through DECL_VALUE_EXPR for expansion.
4911 2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
4913 * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
4914 the frame info after reload completed.
4916 2016-01-25 Jeff Law <law@redhat.com>
4918 PR tree-optimization/69196
4919 PR tree-optimization/68398
4920 * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
4921 tree-ssa-threadupdate.c.
4922 (determine_bb_domination_status): Prototype
4923 * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
4924 (determine_bb_domination_status): No longer static.
4925 (valid_jump_thread_path): Remove code to detect characteristics
4926 of the jump thread path not associated with correctness.
4927 * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
4928 Correct test for thread path length. Count PHIs for real operands as
4929 statements that need to be copied. Do not count ASSERT_EXPRs.
4930 Look at all the blocks in the thread path. Compute and selectively
4931 filter thread paths based on threading through the latch, threading
4932 a multiway branch or crossing a multiway branch.
4934 2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4936 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
4937 decl with __attribute__ ((unused)) annotation.
4939 2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
4942 * tree-vect-stmts.c (vectorizable_condition): Check vectype
4943 of operands is compatible with a statement vectype.
4945 2016-01-25 Eric Botcazou <ebotcazou@adacore.com>
4947 * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
4948 improve wording for mixed storage order support.
4950 2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
4952 * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
4953 (vcvt_u64_f64): Likewise.
4954 (vcvta_s64_f64): Likewise.
4955 (vcvta_u64_f64): Likewise.
4956 (vcvtm_s64_f64): Likewise.
4957 (vcvtm_u64_f64): Likewise.
4958 (vcvtn_s64_f64): Likewise.
4959 (vcvtn_u64_f64): Likewise.
4960 (vcvtp_s64_f64): Likewise.
4961 (vcvtp_u64_f64): Likewise.
4963 2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
4965 * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
4966 (arc_init): Check validity mll64 option.
4967 (arc_save_restore): Use double load/store instruction.
4968 (arc_expand_movmem): Likewise.
4969 (arc_split_move): Don't split if we have double load/store
4970 instructions. Returns a boolean.
4971 (arc_process_double_reg_moves): Change function to return boolean
4972 instead of a sequence of instructions.
4973 (arc_dwarf_register_span): New function.
4974 * config/arc/arc-protos.h (arc_split_move): Change prototype.
4975 * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
4976 * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
4977 (*movdf_insn): Likewise.
4978 * config/arc/arc.opt (mll64): New option.
4979 * config/arc/predicates.md (even_register_operand): New predicate.
4980 * doc/invoke.texi (ARC Options): Add mll64 documentation.
4982 2016-01-25 Richard Biener <rguenther@suse.de>
4985 * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
4986 * tree-streamer-out.c (pack_ts_base_value_fields): Stream
4988 * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
4990 2016-01-25 Richard Biener <rguenther@suse.de>
4992 PR tree-optimization/69376
4993 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
4995 (VN_INFO_ANTI_RANGE_P): New inline.
4996 (VN_INFO_RANGE_TYPE): Likewise.
4997 * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
4998 SSA_NAME_ANTI_RANGE_P.
4999 (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
5000 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
5001 Properly query VN_INFO_RANGE_TYPE.
5003 2016-01-25 Nick Clifton <nickc@redhat.com>
5006 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
5008 2016-01-23 Tom de Vries <tom@codesourcery.com>
5010 PR tree-optimization/69426
5011 * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
5014 2016-01-23 Jakub Jelinek <jakub@redhat.com>
5016 * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
5017 "the the" with "the" in the comments.
5018 * ipa-devirt.c (build_type_inheritance_graph,
5019 update_type_inheritance_graph): Likewise.
5020 * tree.c (build_function_type_list_1): Likewise.
5021 * cfgloopmanip.c (scale_loop_profile): Likewise.
5022 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
5023 * gimple-ssa-split-paths.c
5024 (find_block_to_duplicate_for_splitting_paths): Likewise.
5025 * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
5026 * expr.c (convert_move): Likewise.
5027 * var-tracking.c (vt_stack_adjustments): Likewise.
5028 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
5029 * tree-vrp.c (test_for_singularity): Likewise.
5031 * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
5032 directly instead of building a temporary tree.
5035 * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
5036 remove <algorithm> include.
5038 2016-01-22 Jakub Jelinek <jakub@redhat.com>
5041 * config/i386/i386.c: Include dojump.h.
5042 (expand_small_movmem_or_setmem,
5043 expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
5045 (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
5046 if dynamic_check != -1.
5048 2016-01-21 Jeff Law <law@redhat.com>
5051 * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
5052 record_temporary_equivalences. Rewritten to avoid unnecessary calls
5053 into dominated_by_p.
5054 (cprop_into_successor_phis): Avoid unnecessary tests.
5056 2016-01-22 Richard Henderson <rth@redhat.com>
5059 * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
5060 (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
5062 2016-01-22 Michael Matz <matz@suse.de>
5064 * system.h (string, algorithm): Include only conditionally.
5065 (new): Include always under C++.
5066 * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
5067 * final.c (toplevel): Ditto.
5068 * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
5069 * genconditions.c (write_header): Make gencondmd.c define
5071 * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
5073 * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
5074 * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
5076 2016-01-22 Christian Bruel <christian.bruel@st.com>
5079 * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
5081 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5084 * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
5085 define_insn_and_split. Ensure operands[1] and operands[0] do not
5086 get assigned the same register.
5088 2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org>
5090 * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
5092 2016-01-22 Christian Bruel <christian.bruel@st.com>
5094 * config/arm/arm-c.c (arm_pragma_target_parse):
5095 Remove warn_builtin_macro_redefined overwrite.
5097 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
5099 * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
5100 flag_non_call_exceptions compatibility.
5102 2016-01-22 Jakub Jelinek <jakub@redhat.com>
5105 * dwarf2out.c (add_child_die_after): New function.
5106 (dwarf_qual_info_t): New type.
5107 (dwarf_qual_info): New variable.
5108 (qualified_die_p): New function.
5109 (modified_type_die): For -fdebug-types-section, ensure
5110 canonical order of qualifiers. Put qualified DIEs adjacent
5111 to the corresponding non-qualified type DIE and search there
5112 for existing qualified DIEs.
5114 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
5116 * doc/extend.texi (scalar_storage_order type attribute): Document
5117 restriction on type punning and aliasing, and remove future tense.
5119 2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
5122 * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
5125 2016-01-21 Jeff Law <law@redhat.com>
5128 * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
5129 useless call to record_temporary_equivalences.
5130 * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
5131 allocate 10 slots in the bb_path vector and let it grow as needed.
5132 (fsm_find_control_statement_thread_paths): Similarly for the next_path
5135 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
5137 * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
5139 * configure: Regenerate.
5141 2016-01-21 Pat Haugen <pthaugen@us.ibm.com>
5143 * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
5144 * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
5146 2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
5149 * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
5150 drop EXPAND_INITIALIZER.
5151 * rtl.h (contains_symbolic_reference_p): Declare.
5152 * rtlanal.c (contains_symbolic_reference_p): New function.
5153 * simplify-rtx.c (simplify_binary_operation_1): Don't turn
5154 a subtraction into a NOT if symbolic constants are involved.
5156 2016-01-21 Anton Blanchard <anton@samba.org>
5157 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5160 * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
5162 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
5165 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
5167 * config/microblaze/microblaze.c
5168 (get_branch_target): New.
5169 (insert_wic_for_ilb_runout): New.
5171 (microblaze_machine_dependent_reorg): New.
5172 (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
5173 * config/microblaze/microblaze.md
5174 (UNSPEC_IPREFETCH): Define.
5175 (iprefetch): New pattern
5176 * config/microblaze/microblaze.opt
5177 (mxl-prefetch): New flag.
5179 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
5181 * config/microblaze/microblaze.h
5182 (FIXED_REGISTERS): Update in macro.
5183 (CALL_USED_REGISTERS): Update in macro.
5185 2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
5187 PR rtl-optimization/68920
5188 * ifcvt.c (cond_move_process_if_block): Limit number of conditional
5191 2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
5193 PR rtl-optimization/68990
5194 * lra-coalesce.c (lra_coalesce): Invalidate value for the result
5195 pseudo instead of inheritance ones.
5197 2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5198 Nick Clifton <nickc@redhat.com>
5202 * config/mips/mips.c (mips_compute_frame_info): Initialise
5203 args_size and hard_frame_pointer_offset fields of the frame
5204 structure before calling mips_global_pointer.
5206 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
5208 * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
5210 * configure: Regenerate.
5212 2016-01-21 Richard Biener <rguenther@suse.de>
5214 * graphite-optimize-isl.c (get_schedule_map): Fix typo.
5216 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
5218 * config/s390/s390.c (s390_asm_declare_function_size): Add code
5219 to actually emit the .size directive.
5221 2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
5222 Jakub Jelinek <jakub@redhat.com>
5226 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
5227 args array size by one to avoid buffer overflow.
5229 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
5231 * config/s390/s390.md (pool_section_start): Use switch_to_section
5232 to select proper read-only data section instead of hardcoding
5234 (pool_section_end): Use switch_to_section to match the above.
5236 2016-01-21 Richard Biener <rguenther@suse.de>
5238 PR tree-optimization/69378
5239 * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
5240 (set_ssa_val_to): Use it for dominance checks taking into
5241 account not executable edges.
5243 2016-01-21 Jakub Jelinek <jakub@redhat.com>
5246 * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
5247 for bitsize instead of GET_MODE_PRECISION (mode).
5249 2016-01-20 Martin Sebor <msebor@redhat.com>
5252 * extend.texi (__sync Builtins): Clarify the semantics of
5253 __sync_fetch_and_OP built-ins on pointers.
5254 (__atomic Builtins): Same.
5256 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5257 Sebastian Pop <s.pop@samsung.com>
5259 * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
5260 (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
5261 (is_valid_rename): Same.
5262 (translate_isl_ast_to_gimple::get_rename): Same.
5263 (translate_isl_ast_to_gimple::rename_all_uses): Same.
5264 (translate_isl_ast_to_gimple::rename_uses): Same.
5265 (get_new_name): Check for close_phi nodes.
5266 (copy_loop_phi_args): Use phi_node_kind.
5267 (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
5268 (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
5270 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5271 Sebastian Pop <s.pop@samsung.com>
5273 Revert commit r229783.
5274 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
5275 Remove use of parameter_rename_map.
5277 (copy_internal_parameters): Remove.
5278 (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
5279 * sese.c (new_sese_info): Do not initialize parameter_rename_map.
5280 (free_sese_info): Do not free parameter_rename_map.
5281 (set_rename): Do not use parameter_rename_map.
5282 (rename_uses): Update call to set_rename.
5283 (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
5284 * sese.h (parameter_rename_map_t): Remove.
5285 (struct sese_info_t): Remove field parameter_rename_map.
5287 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5288 Sebastian Pop <s.pop@samsung.com>
5290 * graphite-isl-ast-to-gimple.c: Fix comment.
5291 * graphite-scop-detection.c (defined_in_loop_p): New.
5292 (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
5293 names defined in loop.
5295 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5296 Sebastian Pop <s.pop@samsung.com>
5298 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
5299 Discard unstructured if-then-else regions.
5301 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5302 Sebastian Pop <s.pop@samsung.com>
5304 * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
5305 (cleanup_loop_iter_dom): Remove.
5306 (build_loop_iteration_domains): Remove.
5307 (build_scop_context): Remove.
5308 (build_scop_iteration_domain): Remove.
5309 (add_loop_constraints): New.
5310 (build_iteration_domains): New.
5311 (build_poly_scop): Call build_iteration_domains.
5313 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5314 Sebastian Pop <s.pop@samsung.com>
5316 * graphite-scop-detection.c
5317 (scop_detection::harmful_loop_in_region): Free dom and loops.
5318 (scop_detection::loop_body_is_valid_scop): Free bbs.
5320 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5321 Sebastian Pop <s.pop@samsung.com>
5323 * graphite-scop-detection.c (record_loop_in_sese): New.
5324 (gather_bbs::before_dom_children): Call record_loop_in_sese.
5325 (build_scops): Remove call to build_sese_loop_nests.
5326 * sese.c (sese_record_loop): Remove.
5327 (build_sese_loop_nests): Remove.
5328 (new_sese_info): Remove region->loops.
5329 (free_sese_info): Same.
5330 * sese.h (sese_contains_loop): Same.
5331 (build_sese_loop_nests): Remove.
5332 (sese_contains_loop): Remove.
5334 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5335 Sebastian Pop <s.pop@samsung.com>
5337 * graphite-scop-detection.c (loop_is_valid_scop): Renamed
5338 loop_is_valid_in_scop.
5339 (scop_detection::harmful_stmt_in_region): Renamed
5340 harmful_loop_in_region.
5341 Call loop_is_valid_in_scop.
5343 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5344 Sebastian Pop <s.pop@samsung.com>
5346 * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
5349 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5350 Sebastian Pop <s.pop@samsung.com>
5352 * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
5353 * graphite.h (struct poly_bb): Remove field is_reduction.
5354 (PBB_IS_REDUCTION): Remove.
5356 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5357 Sebastian Pop <s.pop@samsung.com>
5359 * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
5360 (add_pdr_constraints): Same.
5361 (scop_get_reads): Same.
5362 (scop_get_must_writes): Same.
5363 (scop_get_may_writes): Same.
5364 (scop_get_original_schedule): Same.
5365 (extend_schedule): Same.
5366 (apply_schedule_on_deps): Same.
5367 (carries_deps): Same.
5368 (compute_deps): Same.
5369 (scop_get_dependences): Same.
5370 * graphite-isl-ast-to-gimple.c
5371 (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
5372 * graphite-optimize-isl.c (get_schedule_for_band): Same.
5373 (get_schedule_for_band_list): Same.
5374 (get_schedule_map): Same.
5375 (apply_schedule_map_to_scop): Same.
5376 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
5377 (build_loop_iteration_domains): Same.
5378 (add_condition_to_pbb): Same.
5379 (add_param_constraints): Same.
5380 (pdr_add_memory_accesses): Same.
5381 (pdr_add_data_dimensions): Same.
5383 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
5385 * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
5388 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
5390 * common.opt (feliminate-dwarf2-dups): Replace references to
5391 "DWARF 2" with just "DWARF".
5392 * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
5393 * doc/extend.texi: Likewise.
5394 * doc/cpp.texi: Likewise.
5395 * doc/invoke.texi: Likewise.
5396 (Option Summary): Add -gdwarf to list of Debugging Options.
5397 (Debugging Options): Document -gdwarf.
5398 * doc/contrib.texi: Spell "DWARF" like that.
5400 2016-01-21 Jakub Jelinek <jakub@redhat.com>
5402 * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
5403 warning. Fix up formatting.
5406 * gimplify.c (gimplify_asm_expr): Warn if it is too late to
5407 attempt to mark memory input operand addressable and
5408 call prepare_gimple_addressable in that case. Don't adjust
5409 input_location for diagnostics, use error_at instead.
5411 2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
5413 * config/rs6000/ppc-auxv.h: New file.
5414 * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
5416 (cpu_supports): Likewise.
5417 * config/rs6000/rs6000.c: include "ppc-auxv.h".
5418 (cpu_is_info): New variable.
5419 (cpu_supports_info): Likewise.
5420 (tcb_verification_symbol): Likewise.
5421 (cpu_builtin_p): Likewise.
5422 (cpu_expand_builtin): New function.
5423 (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
5424 (rs6000_init_builtins): Likewise.
5425 (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
5426 * config/rs6000/rs6000.h (TLS_REGNUM): New define.
5427 * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
5428 * configure: Regenerate.
5429 * config.in: Likewise.
5430 * doc/extend.texi (PowerPC Built-in Functions): Document
5431 __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
5433 2016-01-20 David Edelsohn <dje.gcc@gmail.com>
5436 * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
5438 * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
5441 2016-01-20 Richard Henderson <rth@redhat.com>
5447 * tree.c (tm_define_builtin): New.
5448 (find_tm_vector_type): New.
5449 (build_tm_vector_builtins): New.
5450 (build_common_builtin_nodes): Call it.
5452 2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
5454 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
5455 (arm_fp_ok): Likewise.
5457 (arm_crypto): Likewise.
5459 2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
5460 Richard Biener <rguenther@suse.de>
5462 PR tree-optimization/69328
5463 * tree-vect-stmts.c (vect_is_simple_cond): Check compared
5464 vectors have same number of elements.
5465 (vectorizable_condition): Fix masked version recognition.
5467 2016-01-20 Richard Biener <rguenther@suse.de>
5469 PR tree-optimization/69345
5470 * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
5471 (VN_INFO_PTR_INFO): Likewise.
5472 * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
5473 info when it is equal between non-dominating SSA names.
5474 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
5475 Make sure to look at original SSA infos.
5477 2016-01-20 Jeff Law <law@redhat.com>
5480 * config/m68k/predicates.md (pow2_m1_operand): New predicate
5482 (reg_or_pow2_m1_operand): Call pow2_m1_operand.
5483 (pc_or_label_operand): New predicate.
5484 * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
5485 tests for small integers that are 2^n - 1.
5487 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
5489 * doc/invoke.texi (Options Summary): Add '.' after @xref.
5491 2016-01-19 Jeff Law <law@redhat.com>
5494 * tree-ssa-threadbackwards.c
5495 (fsm_find_control_statement_thread_paths): Do not try to lookup
5496 FSM paths for SSA_NAMEs appearing in abnormal PHIs.
5498 2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
5500 * doc/lto.texi: Remove text that says only Gold has linker plugin
5503 2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
5505 * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
5506 (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
5507 the DIE accordingly.
5508 (modified_type_die): Add REVERSE parameter and pass it recursively,
5509 as well as to base_type_die. Adjust presence check accordingly.
5510 (base_type_for_mode): Adjust call to modified_type_die.
5511 (add_type_attribute): Add REVERSE parameter and pass it to
5513 (generic_parameter_die): Adjust call to add_type_attribute.
5514 (add_scalar_info): Likewise.
5515 (add_subscript_info): Likewise.
5516 (gen_array_type_die): Likewise.
5517 (gen_descr_array_type_die): Likewise.
5518 (gen_entry_point_die): Likewise.
5519 (gen_enumeration_type_die): Likewise.
5520 (gen_formal_parameter_die): Likewise.
5521 (gen_subprogram_die): Likewise.
5522 (gen_variable_die ): Likewise.
5523 (gen_const_die): Likewise.
5524 (gen_field_die): Likewise.
5525 (gen_pointer_type_die): Likewise.
5526 (gen_reference_type_die): Likewise.
5527 (gen_ptr_to_mbr_type_die): Likewise.
5528 (gen_inheritance_die): Likewise.
5529 (gen_subroutine_type_die): Likewise.
5530 (gen_typedef_die): Likewise.
5531 (force_type_die): Adjust call to modified_type_die.
5533 2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
5535 * doc/standards.texi: Copy-editing for grammar, markup, and sentence
5536 flow throughout the file. Fix broken link to Objective-C 2.0
5538 * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
5541 2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5543 * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
5545 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5548 * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
5549 (maybe_record_node): Record cxa_pure_virtual as the only possible
5550 target if there are not ohter candidates.
5551 (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
5553 2016-01-19 Richard Biener <rguenther@suse.de>
5555 * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
5556 (get_memory_order): Likewise.
5558 2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
5560 * tree-vect-stmts.c (vectorizable_store): Check
5563 2016-01-19 David Malcolm <dmalcolm@redhat.com>
5566 * gcc.c (driver::decode_argv): Add call to
5567 init_opts_obstack before init_options_struct.
5568 * opts.c (init_opts_obstack): Remove idempotency.
5569 (init_options_struct): Replace call to init_opts_obstack
5570 with a gcc_assert to verify that it has already been called.
5571 * toplev.c (toplev::main): Add call to init_opts_obstack before
5572 calls to init_options_struct.
5573 (toplev::finalize): Move cleanup of opts_obstack next to
5574 cleanup of save_decoded_options, clearing the latter, and
5575 save_decoded_options_count.
5577 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5580 * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
5581 attribute to unconditional. Remove %? from output template.
5583 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5584 Jiong Wang <jiong.wang@arm.com>
5586 * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
5587 generated from different expand order.
5589 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5591 * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
5592 Add support for CCMP costing.
5594 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5596 * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
5597 * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
5598 (fccmpe<mode>): Likewise.
5599 (fcmp): Rename to fcmp and globalize pattern.
5601 * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
5602 (aarch64_gen_ccmp_next): Add FP support.
5604 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5606 * target.def (gen_ccmp_first): Update documentation.
5607 (gen_ccmp_next): Likewise.
5608 * doc/tm.texi (gen_ccmp_first): Update documentation.
5609 (gen_ccmp_next): Likewise.
5610 * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
5611 expand_ccmp_expr_1. Improve comments.
5612 * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
5613 (ccmp_ior<mode>): Remove pattern.
5614 (cmp<mode>): Remove expand.
5615 (cmp): Globalize pattern.
5616 (cstorecc4): Use cc_register.
5617 (mov<mode>cc): Remove ccmp_cc_register check.
5618 * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
5619 Simplify after removal of CC_DNE/* modes.
5620 (aarch64_ccmp_mode_to_code): Remove.
5621 (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
5622 In 'k' case use integer as condition.
5623 (aarch64_nzcv_codes): Remove inverted cases.
5624 (aarch64_code_to_ccmode): Remove.
5625 (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
5626 comparison with CC register to be used in folowing CCMP/branch/CSEL.
5627 (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
5628 pattern. Return the comparison with CC register. Invert conditions
5630 * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
5631 * config/aarch64/predicates.md (ccmp_cc_register): Remove.
5633 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5635 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
5636 instrumented_version.
5638 2016-01-19 Richard Biener <rguenther@suse.de>
5640 PR tree-optimization/69336
5641 * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
5642 handled components with get_ref_base_and_extent.
5643 (equal_mem_array_ref_p): Adjust.
5645 2016-01-19 Jakub Jelinek <jakub@redhat.com>
5648 * shrink-wrap.c: Include valtrack.h.
5649 (move_insn_for_shrink_wrap): Add DEBUG argument. If
5650 MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
5651 in between insn and where it will be moved to. Call
5652 dead_debug_insert_temp.
5653 (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
5654 first and dead_debug_local_finish at the end.
5655 For uses and defs bitmap, handle all regs in between REGNO and
5656 END_REGNO, not just the first one.
5658 2016-01-19 Richard Biener <rguenther@suse.de>
5660 PR tree-optimization/69352
5661 * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
5662 (equal_mem_array_ref_p): Constrain size and max size properly.
5663 Compare the reverse flag.
5665 2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
5667 * ira.c (ira): Update regstat data if we deleted insns.
5669 2016-01-19 Jakub Jelinek <jakub@redhat.com>
5671 PR rtl-optimization/68955
5672 PR rtl-optimization/64557
5673 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
5674 here. Fix up formatting.
5675 * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
5677 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5680 * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
5681 assume that the node has body.
5682 * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
5685 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5687 * lto-streamer-out.c (lto_output): Do not stream instrumentation
5690 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5692 * symtab.c (symtab_node::asm_name): Do not call printable name directly.
5693 (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
5695 2016-01-19 Martin Jambor <mjambor@suse.cz>
5696 Martin Liska <mliska@suse.cz>
5697 Michael Matz <matz@suse.de>
5699 * Makefile.in (OBJS): Add new source files.
5700 (GTFILES): Add hsa.c.
5701 * common.opt (disable_hsa): New variable.
5702 (-Whsa): New warning.
5703 * config.in (ENABLE_HSA): New.
5704 * configure.ac: Treat hsa differently from other accelerators.
5705 (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
5707 (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
5708 * doc/install.texi (Configuration): Document --with-hsa-runtime,
5709 --with-hsa-runtime-include, --with-hsa-runtime-lib and
5711 * doc/invoke.texi (-Whsa): Document.
5712 (hsa-gen-debug-stores): Likewise.
5713 * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
5714 to invoke offload compiler for hsa acclerator.
5715 * opts.c (common_handle_option): Determine whether HSA offloading
5716 should be performed.
5717 * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
5718 * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
5719 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
5720 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
5721 * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
5722 * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
5723 GF_OMP_FOR_KIND_GRID_LOOP.
5724 (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
5725 (pp_gimple_stmt_1): Likewise.
5726 * gimple-walk.c (walk_gimple_stmt): Likewise.
5727 * gimple.c (gimple_build_omp_grid_body): New function.
5728 (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
5729 * gimple.def (GIMPLE_OMP_GRID_BODY): New.
5730 * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
5731 GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
5732 GF_OMP_TEAMS_GRID_PHONY.
5733 (gimple_statement_omp_single_layout): Updated comments.
5734 (gimple_build_omp_grid_body): New function.
5735 (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
5736 (gimple_omp_for_grid_phony): New function.
5737 (gimple_omp_for_set_grid_phony): Likewise.
5738 (gimple_omp_parallel_grid_phony): Likewise.
5739 (gimple_omp_parallel_set_grid_phony): Likewise.
5740 (gimple_omp_teams_grid_phony): Likewise.
5741 (gimple_omp_teams_set_grid_phony): Likewise.
5742 (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
5743 * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
5744 (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
5745 (BUILT_IN_GOMP_TARGET): Updated type.
5746 * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
5747 (adjust_for_condition): New function.
5748 (get_omp_for_step_from_incr): Likewise.
5749 (extract_omp_for_data): Moved parts to adjust_for_condition and
5750 get_omp_for_step_from_incr.
5751 (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
5752 (fixup_child_record_type): Bail out if receiver_decl is NULL.
5753 (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
5754 (scan_omp_parallel): Do not create child functions for phony
5756 (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
5757 (scan_omp_1_op): Checking assert we are not remapping to
5758 ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
5759 (parallel_needs_hsa_kernel_p): New function.
5760 (expand_parallel_call): Register apprpriate parallel child
5761 functions as HSA kernels.
5762 (grid_launch_attributes_trees): New type.
5763 (grid_attr_trees): New variable.
5764 (grid_create_kernel_launch_attr_types): New function.
5765 (grid_insert_store_range_dim): Likewise.
5766 (grid_get_kernel_launch_attributes): Likewise.
5767 (get_target_argument_identifier_1): Likewise.
5768 (get_target_argument_identifier): Likewise.
5769 (get_target_argument_value): Likewise.
5770 (push_target_argument_according_to_value): Likewise.
5771 (get_target_arguments): Likewise.
5772 (expand_omp_target): Call get_target_arguments instead of looking
5773 up for teams and thread limit.
5774 (grid_expand_omp_for_loop): New function.
5775 (grid_arg_decl_map): New type.
5776 (grid_remap_kernel_arg_accesses): New function.
5777 (grid_expand_target_kernel_body): New function.
5778 (expand_omp): Call it.
5779 (lower_omp_for): Do not emit phony constructs.
5780 (lower_omp_taskreg): Do not emit phony constructs but create for them
5781 a temporary variable receiver_decl.
5782 (lower_omp_taskreg): Do not emit phony constructs.
5783 (lower_omp_teams): Likewise.
5784 (lower_omp_grid_body): New function.
5785 (lower_omp_1): Call it.
5786 (grid_reg_assignment_to_local_var_p): New function.
5787 (grid_seq_only_contains_local_assignments): Likewise.
5788 (grid_find_single_omp_among_assignments_1): Likewise.
5789 (grid_find_single_omp_among_assignments): Likewise.
5790 (grid_find_ungridifiable_statement): Likewise.
5791 (grid_target_follows_gridifiable_pattern): Likewise.
5792 (grid_remap_prebody_decls): Likewise.
5793 (grid_copy_leading_local_assignments): Likewise.
5794 (grid_process_kernel_body_copy): Likewise.
5795 (grid_attempt_target_gridification): Likewise.
5796 (grid_gridify_all_targets_stmt): Likewise.
5797 (grid_gridify_all_targets): Likewise.
5798 (execute_lower_omp): Call grid_gridify_all_targets.
5799 (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
5800 * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
5801 (tree_omp_clause): Added union field dimension.
5802 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
5803 * tree.c (omp_clause_num_ops): Added number of arguments of
5804 OMP_CLAUSE__GRIDDIM_.
5805 (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
5806 (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
5807 * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
5808 (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
5809 (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
5810 (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
5811 * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
5812 * tree-pass.h (make_pass_gen_hsail): Declare.
5813 (make_pass_ipa_hsa): Likewise.
5814 * ipa-hsa.c: New file.
5815 * lto-section-in.c (lto_section_name): Add hsa section name.
5816 * lto-streamer.h (lto_section_type): Add hsa section.
5817 * timevar.def (TV_IPA_HSA): New.
5818 * hsa-brig-format.h: New file.
5819 * hsa-brig.c: New file.
5820 * hsa-dump.c: Likewise.
5821 * hsa-gen.c: Likewise.
5824 * toplev.c (compile_file): Call hsa_output_brig.
5825 * hsa-regalloc.c: New file.
5827 2016-01-18 Jeff Law <law@redhat.com>
5829 PR tree-optimization/69320
5830 * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
5831 ranged object, do nothing if the RHS constant is not [0..1].
5832 (optimize_stmt): Comparing a boolean ranged object against a
5833 constant outside [0..1] results in a compile-time constant.
5835 * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
5838 2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
5840 * doc/invoke.texi (Invoking GCC): Add new section to menu.
5841 (Option Summary): Update to reflect new section and moved options.
5842 (C++ Dialect Options): Move -fstats to new section.
5843 (Debugging Options): Move all dump, statistics, and other GCC
5844 developer options to new section. Rewrite section introduction
5845 and re-order remaining options to put the more basic ones first.
5846 (Optimization Options): Move -fira-verbose and -flto-report* to
5848 (Developer Options): New section incorporating moved options.
5849 * doc/cppopts.texi (-dM): Update cross-reference.
5851 2016-01-18 Richard Henderson <rth@redhat.com>
5854 * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
5855 operands to pseudo only if CSE is expected. Split long immediate
5856 operands only after reload, and for the stack pointer.
5857 (*add<GPI>3_pluslong): Remove.
5858 (*addsi3_aarch64, *adddi3_aarch64): Merge into...
5859 (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
5860 (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
5861 (*add<GPI>3 peepholes): New.
5862 (*add<GPI>3 splitters): New.
5863 * config/aarch64/constraints.md (Upl): New.
5864 * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
5866 2016-01-18 Richard Biener <rguenther@suse.de>
5868 PR tree-optimization/69297
5869 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
5871 (vect_bb_vectorization_profitable_p): Clear visited flag again.
5873 2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
5876 * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
5877 of mixind vector and scalar types.
5878 (fold_relational_const): Add handling of vector
5879 comparison with boolean result.
5880 * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
5881 comparison of vector operands with boolean result for EQ/NE only.
5882 (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
5883 (verify_gimple_cond): Likewise.
5884 * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
5887 2016-01-18 Joseph Myers <joseph@codesourcery.com>
5889 * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
5892 2016-01-18 Richard Biener <rguenther@suse.de>
5895 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
5897 2016-01-18 Tom de Vries <tom@codesourcery.com>
5899 * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
5901 2016-01-18 Tom de Vries <tom@codesourcery.com>
5903 * omp-low.c (set_oacc_fn_attrib): Make extern.
5904 * omp-low.h (set_oacc_fn_attrib): Declare.
5905 * tree-parloops.c (struct reduction_info): Add reduc_addr field.
5906 (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
5907 (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
5908 Add and handle function parameter oacc_kernels_p.
5909 (find_reduc_addr, get_omp_data_i_param): New function.
5910 (ref_conflicts_with_region, oacc_entry_exit_ok_1)
5911 (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
5912 (parallelize_loops): Add and handle function parameter oacc_kernels_p.
5913 Calculate dominance info. Skip loops that are not in a kernels region
5914 in oacc_kernels_p mode. Skip inner loops of parallelized loops.
5915 (pass_parallelize_loops::execute): Call parallelize_loops with
5916 oacc_kernels_p argument.
5917 (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
5918 New member function.
5919 (pass_parallelize_loops::bool oacc_kernels_p): New member var.
5920 * passes.def: Add argument to pass_parallelize_loops instantation.
5922 2016-01-18 Tom de Vries <tom@codesourcery.com>
5924 * tree-parloops.c (pass_parallelize_loops::execute): Allow
5925 pass_parallelize_loops to be run outside the loop pipeline.
5927 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
5929 * tree-scalar-evolution.c (follow_copies_to_constant): New.
5930 (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
5932 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
5935 * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
5936 using get_ref_base_and_extent.
5937 (equal_mem_array_ref_p): New.
5938 (hashable_expr_equal_p): Add call to previous.
5940 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
5943 * tree-sra.c (disqualified_constants, constant_decl_p): New.
5944 (sra_initialize): Allocate disqualified_constants.
5945 (sra_deinitialize): Free disqualified_constants.
5946 (disqualify_candidate): Update disqualified_constants when appropriate.
5947 (create_access): Scan for constant-pool entries as we go along.
5948 (scalarizable_type_p): Add check against type_contains_placeholder_p.
5949 (maybe_add_sra_candidate): Allow constant-pool entries.
5950 (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
5951 (initialize_constant_pool_replacements): New.
5952 (sra_modify_assign): Avoid mangling assignments created by previous,
5953 and don't generate writes into constant pool.
5954 (sra_modify_function_body): Call initialize_constant_pool_replacements.
5956 2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
5958 * config/i386/i386.c (scalar_to_vector_candidate_p): Support
5960 (scalar_chain::convert_op): Likewise.
5961 * config/i386/i386.md (*andndi3_doubleword): New.
5963 2016-01-18 Richard Biener <rguenther@suse.de>
5965 PR tree-optimization/69170
5966 * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
5967 building a vector from scalar results of a pattern stmt.
5969 2016-01-18 Jakub Jelinek <jakub@redhat.com>
5971 * haifa-sched.c (autopref_multipass_init): Work around
5972 -Wmaybe-uninitialized warning.
5974 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
5976 * config/arm/arm.c (thumb1_reorg): Check that the comparison is
5977 against the constant 0.
5979 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5981 PR tree-optimization/68799
5982 * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
5983 look up phi candidates in the statement-candidate map.
5984 (phi_add_costs): Likewise.
5985 (record_phi_increments): Likewise.
5986 (phi_incr_cost): Likewise.
5987 (ncd_with_phi): Likewise.
5988 (all_phi_incrs_profitable): Likewise.
5990 2016-01-17 Jakub Jelinek <jakub@redhat.com>
5992 * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
5993 -Wmaybe-uninitialized warning.
5995 2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
5997 * doc/invoke.texi (Invoking GCC): Add new section to menu.
5998 (Option Summary): Update to reflect new section and moved options.
5999 (C++ Dialect Options): Move -fvtable-verify and related options.
6000 (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
6001 and profiling-related options.
6002 (Optimization Options): Move profile generation options and
6003 -fstack-protector and related options.
6004 (Instrumentation Options): New section incorporating moved options.
6005 (Code Generation Options): Move -finstrument-functions and
6006 related options, -fstack-check, -fstack-limit*, and -fbounds-check.
6008 2016-01-16 Tom de Vries <tom@codesourcery.com>
6010 * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
6012 2016-01-16 Tom de Vries <tom@codesourcery.com>
6014 * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
6016 2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
6018 * hash-table.h (hash_table::empty): Turn into an inline wrapper
6019 that checks whether the table is already empty. Rename the
6020 original implementation to...
6021 (hash_table::empty_slot): ...this new private function.
6023 2016-01-15 David Malcolm <dmalcolm@redhat.com>
6026 * diagnostic-show-locus.c (layout::print_source_line): Move x
6027 offset of line until after call to
6028 get_line_width_without_trailing_whitespace.
6030 2016-01-15 Jeff Law <law@redhat.com>
6032 PR tree-optimization/69270
6033 * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
6034 tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
6035 * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
6036 * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
6037 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
6038 ssa_name_has_boolean_range and constant_boolean_node.
6040 2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
6042 PR rtl-optimization/69030
6043 * lra-spills.c (remove_pseudos): Check nrefs and make the function
6045 (spill_pseudos): Delete debug insn for dead pseudo.
6046 (lra_spill): Initiate spill_hard_reg and slots memory separately.
6048 2016-01-15 Jiong Wang <jiong.wang@arm.com>
6050 * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
6052 (TYPES_UNOPUS): Likewise.
6053 * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
6054 builtin type, from UNOP to UNOPUS.
6055 (lbtruncuv4sf): Likewise.
6056 (lbtruncuv2df): Likewise.
6057 (lrounduv2sf): Likewise.
6058 (lrounduv4sf): Likewise.
6059 (lrounduv2df): Likewise.
6060 (lroundusf): Likewise.
6061 (lroundusf): Likewise.
6062 (lceiluv2sf): Likewise.
6063 (lceiluv4sf): Likewise.
6064 (lceiluv2df): Likewise.
6065 (lceilusf): Likewise.
6066 (lceiludf): Likewise.
6067 (lflooruv2sf): Likewise.
6068 (lflooruv4sf): Likewise.
6069 (lflooruv2df): Likewise.
6070 (lfloorusf): Likewise.
6071 (lfloorudf): Likewise.
6072 (lfrintnuv2sf): Likewise.
6073 (lfrintnuv4sf): Likewise.
6074 (lfrintnuv2df): Likewise.
6075 (lfrintnusf): Likewise.
6076 (lfrintnudf): Likewise.
6077 * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
6079 (vcvtq_u32_f32): Likewise.
6080 (vcvtq_u64_f64): Likewise.
6081 (vcvta_u32_f32): Likewise.
6082 (vcvtaq_u32_f32): Likewise.
6083 (vcvtaq_u64_f64): Likewise.
6084 (vcvtm_u32_f32): Likewise.
6085 (vcvtmq_u32_f32): Likewise.
6086 (vcvtmq_u64_f64): Likewise.
6087 (vcvtn_u32_f32): Likwise.
6088 (vcvtnq_u32_f32): Likewise.
6089 (vcvtnq_u64_f64): Likewise.
6090 (vcvtp_u32_f32): Likewise.
6091 (vcvtpq_u32_f32): Likewise.
6092 (vcvtpq_u64_f64): Likewise.
6093 (vcvtmd_u64_f64): Likewise.
6094 (vcvtms_u32_f32): Likewise.
6095 (vcvtad_u64_f64): Likewise.
6096 (vcvtas_u32_f32): Likewise.
6097 (vcvtnd_u64_f64): Likewise.
6098 (vcvtns_u32_f32): Likewise.
6099 (vcvtpd_u64_f64): Likewise.
6100 (vcvtps_u32_f32): Likewise.
6102 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6104 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
6105 CSEL of zero_extended registers.
6107 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6109 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
6110 Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
6112 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6114 * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
6115 false when argument string is not found in the attributes table
6118 2016-01-15 David Edelsohn <dje.gcc@gmail.com>
6121 * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
6122 (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
6123 * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
6126 2016-01-15 Richard Biener <rguenther@suse.de>
6128 PR tree-optimization/66856
6129 * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
6130 * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
6131 (vect_create_new_slp_node): Increment stmt reference count.
6132 (vect_get_and_check_slp_defs): Make sure stmts are nor already in
6133 an SLP tree before swapping operands.
6134 (vect_build_slp_tree): Likewise.
6135 (destroy_bb_vec_info): Free stmt info after SLP instances.
6136 * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
6137 * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
6138 (STMT_VINFO_NUM_SLP_USES): New macro.
6140 2016-01-15 Richard Biener <rguenther@suse.de>
6143 * dwarf2out.c (add_linkage_name_raw): New function split out from ...
6144 (add_linkage_name): ... here.
6145 (gen_typedef_die): Use add_linkage_name_raw instead of
6146 add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
6149 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
6151 * gimplify.c (oacc_default_clause): Decode reference and pointer
6152 types for both kernels and parallel regions.
6154 2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
6157 * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
6159 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
6161 * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
6162 (convert_scalars_to_vector): Likewise.
6164 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
6166 * doc/extend.texi (Type Traits): Fix grammar.
6168 2016-01-15 Martin Jambor <mjambor@suse.cz>
6170 * tree-inline.c (remap_decl): Use existing dclarations if
6171 remapping a type and prevent_decl_creation_for_types.
6172 (replace_locals_stmt): Do an initial remapping of non-VLA typed
6173 decls first. Do real remapping with
6174 prevent_decl_creation_for_types set.
6175 * tree-inline.h (copy_body_data): New field
6176 prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
6179 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
6181 * config/s390/s390.opt (mmvcle): More verbose help text.
6183 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
6185 * config/s390/s390.opt: Add period to -mzvector option text.
6187 2016-01-15 Richard Biener <rguenther@suse.de>
6189 PR tree-optimization/68961
6190 * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
6191 of invariants in stores again.
6193 2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
6195 * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
6197 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
6199 * config/i386/i386.c (ix86_expand_branch): Don't split
6200 DI mode xor instruction to SI mode.
6202 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
6205 * ipa-icf.c (sem_function::merge): Virtual functions may become
6206 reachable even if they address is not taken and there are no
6209 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
6211 * lto-streamer-out.c (subtract_estimated_size): New function.
6212 (get_symbol_initial_value): Use it.
6214 2016-01-15 Christian Bruel <christian.bruel@st.com>
6217 * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
6218 (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
6219 (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
6220 use add_builtin_function_ext_scope instead of add_builtin_function.
6221 (neon_set_p, neon_crypto_set_p): Remove.
6222 (arm_init_builtins): Always call arm_init_neon_builtins and
6223 arm_init_crypto_builtins.
6224 (arm_expand_builtin): Check that builtins are allowed for the arch.
6225 * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
6226 * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
6227 arm_init_neon_builtins call.
6229 2016-01-15 Richard Biener <rguenther@suse.de>
6231 PR tree-optimization/69117
6232 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
6233 * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
6234 of the leader conservatively.
6235 (free_scc_vn): Restore original SSA name infos.
6237 2016-01-14 Jeff Law <law@redhat.com>
6239 PR tree-optimization/69270
6240 * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
6241 single bit of precision, verify it's also unsigned.
6242 (record_edge_info): Use constant_boolean_node rather than fold_convert
6243 to convert boolean_true/boolean_false to the right type.
6245 2016-01-14 Richard Henderson <rth@redhat.com>
6248 * loop-doloop.c (record_reg_sets): New.
6249 (doloop_optimize): Reject the transform if the sequence
6250 clobbers registers live at the end of the loop block.
6251 (doloop_optimize_loops): Enable df_live if needed.
6253 2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6255 * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
6256 * gcc/config/rs6000/rs6000.c: Likewise.
6257 * gcc/config/rs6000/rs6000.h: Likewise.
6258 * gcc/config/rs6000/rs6000.md: Likewise.
6259 * gcc/doc/extend.texi: Likewsie.
6261 2016-01-14 Jeff Law <law@redhat.com>
6263 * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
6266 2016-01-14 Richard Henderson <rth@redhat.com>
6270 * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
6271 * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
6272 instead of builtin_decl_declared_p to test for declaration.
6274 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
6276 * doc/loop.texi (Loop Analysis and Representation): Document
6277 loop_depth function.
6279 2016-01-14 Tom de Vries <tom@codesourcery.com>
6281 PR tree-optimization/68773
6282 * omp-low.c (expand_omp_target): Don't set force_output.
6283 * varpool.c (varpool_node::get_create): Same.
6284 * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
6285 offload_funcs with force_output.
6287 2016-01-14 Jakub Jelinek <jakub@redhat.com>
6290 * lra-eliminations.c (move_plus_up): Don't change anything if either
6291 the outer or inner subreg mode is not MODE_INT.
6292 * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
6293 integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
6295 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
6297 * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
6298 reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
6299 reduc_uplus_@var{m}): Remove.
6300 * expr.c (expand_expr_real_2): Remove expansion path for
6301 reduc_[us](min|max|plus) optabs.
6302 * optabs-tree.c (scalar_reduc_to_vector): Remove.
6303 * optabs-tree.h (scalar_reduc_to_vector): Remove.
6304 * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
6305 reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
6306 * tree-vect-loop.c (vectorizable_reduction): Remove test for
6307 reduc_[us](min|max|plus) optabs.
6309 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
6311 * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
6312 (reduc_plus_scal_v2sf): New.
6313 (reduc_smax_v2sf): Rename to...
6314 (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
6315 (reduc_smin_v2sf): Rename to...
6316 (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
6318 2016-01-14 Jan Hubicka <hubicka@ucw.cz>
6320 * alias.c (compare_base_symbol_refs): New function.
6321 (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
6324 2016-01-14 Jakub Jelinek <jakub@redhat.com>
6327 PR tree-optimization/69155
6328 * tree-complex.c: Include cfganal.h.
6329 (phis_to_revisit): New variable.
6330 (extract_component): Add phiarg_p argument. Assert that returned
6331 SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
6332 (update_phi_components): Partly rewrite to use loop over real/imag
6333 components instead of code duplication. If extract_component returns
6334 SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
6335 create_tmp_reg into the PHI node instead, and mention the phi triplet
6337 (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
6338 in phis_to_revisit at the end.
6340 2016-01-14 Richard Biener <rguenther@suse.de>
6342 PR tree-optimization/68060
6343 * tree-vect-loop.c (vect_is_simple_reduction): Check the
6344 outer loop reduction is only used in the inner loop before
6345 detecting a double reduction.
6347 2016-01-14 Jakub Jelinek <jakub@redhat.com>
6350 * combine.c (expand_field_assignment): Punt if compute_mode is
6351 unsupported scalar mode.
6353 2016-01-14 Richard Biener <rguenther@suse.de>
6355 PR tree-optimization/66856
6356 * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
6357 SLP node only if it built successfully.
6358 (vect_analyze_slp_instance): Adjust.
6360 2016-01-14 Jeff Law <law@redhat.com>
6362 PR tree-optimization/69270
6363 * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
6364 (record_edge_info): Use it. Convert boolean_{true,false}_node
6367 2016-01-13 Jan Hubicka <hubicka@ucw.cz>
6370 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
6371 use block_ultimate_origin
6372 (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
6374 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
6376 * doc/invoke.texi (Submodel Options): Rename section to
6377 "Machine-Dependent Options" to better reflect its content.
6378 Rewrite introductory text to remove archaic CPU names.
6381 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
6383 * doc/invoke.texi (Code Gen Options): Move section up in file,
6384 before target-specific options. Update menu and option summary
6385 to reflect the new section ordering.
6387 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
6389 * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
6390 (C++ Dialect Options): Add cross-reference to -std option.
6391 * doc/standards.texi (C++ Language): Document C++14 support.
6393 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
6395 * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
6396 for pack/unpack functions for __ibm128.
6397 (PACK_IF): Likewise.
6398 (UNPACK_IF): Likewise.
6400 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
6401 support for __ibm128 pack/unpack functions.
6402 (rs6000_invalid_builtin): Likewise.
6403 (rs6000_init_builtins): Likewise.
6404 (rs6000_opt_masks): Likewise.
6406 * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
6407 (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
6409 (RS6000_BTM_COMMON): Likewise.
6411 * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
6412 (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
6413 disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
6414 128-bit floating point. Add support for the double values to be
6415 in Altivec registers for TF/IF packing and unpacking, but restrict
6416 TD packing sub-fields to be FPR registers. Don't allow overlapped
6417 register support for packing. Allow pack inputs to be memory
6418 locations. Don't build generator functions for unpack<mode>_dm
6419 and unpack<mode>_nodm.
6420 (unpack<mode>_dm): Likewise.
6421 (unpack<mode>_nodm): Likewise.
6422 (pack<mode>): Likewise.
6424 * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
6425 built-in functions to pack/unpack explicit __ibm128 values.
6426 (__builtin_unpack_ibm128): Likewise.
6428 * doc/extend.texi (PowerPC Built-in Functions): Document
6429 __builtin_pack_ibm128 and __builtin_unpack_ibm128.
6431 2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
6434 * c-common.c (check_function_nonnull): Remove unnecessary declaration.
6435 Add new arg loc and pass it down as context.
6436 (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
6437 to the location to use for the warning.
6438 (check_function_arguments): New arg loc. All callers changed. Pass
6439 it to check_function_nonnull.
6440 * c-common.h (check_function_arguments): Adjust declaration.
6442 2016-01-13 Jakub Jelinek <jakub@redhat.com>
6444 PR tree-optimization/69156
6445 * gimple.c (validate_type): Removed.
6446 (gimple_builtin_call_types_compatible_p): Use
6447 useless_type_conversion_p instead of validate_type.
6448 * value-prof.c (gimple_stringop_fixed_value): Fold
6449 icall_size to correct type.
6451 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
6453 * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
6456 2016-01-13 Richard Henderson <rth@redhat.com>
6459 * target.def (builtin_tm_load, builtin_tm_store): Remove.
6460 * config/i386/i386.c (ix86_builtin_tm_load): Remove.
6461 (ix86_builtin_tm_store): Remove.
6462 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
6463 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
6464 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
6465 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
6466 * doc/tm.texi: Rebuild.
6468 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
6469 (BUILT_IN_TM_MEMCPY_RTWN): New.
6470 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
6471 fallback from vector to integer helpers.
6472 (build_tm_load): Handle vector types directly, instead of
6474 (build_tm_store): Likewise.
6475 (expand_assign_tm): Prepare for register types not handled by
6476 the above. Copy them to memory and use memcpy.
6477 * tree.c (tm_define_builtin): New.
6478 (find_tm_vector_type): New.
6479 (build_tm_vector_builtins): New.
6480 (build_common_builtin_nodes): Call it.
6482 2016-01-13 Uros Bizjak <ubizjak@gmail.com>
6484 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
6485 TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
6487 2016-01-13 Tom de Vries <tom@codesourcery.com>
6489 PR tree-optimization/69169
6490 * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
6491 handled_struct_type param.
6492 (create_variable_info_for, intra_create_variable_infos): Call
6493 create_variable_info_for_1 with extra arg.
6495 2016-01-13 Yvan Roux <yvan.roux@linaro.org>
6497 * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
6498 and "armv8.1-a+crc" entries.
6500 2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
6503 * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
6504 Change first operand predicate from register_or_constm1_operand
6505 to register_operand.
6506 (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
6507 (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
6508 (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
6509 (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
6510 (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
6511 (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
6512 (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
6513 * config/i386/i386.c (ix86_expand_builtin): Remove first operand
6514 comparison with constm1_rtx from vec_prefetch_gen part.
6516 2016-01-13 Richard Biener <rguenther@suse.de>
6518 PR tree-optimization/69013
6519 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
6520 Exchange assert for a test.
6522 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6525 * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
6527 2016-01-13 Richard Biener <rguenther@suse.de>
6529 PR tree-optimization/69242
6530 * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
6531 assert with a check.
6533 2016-01-13 Richard Biener <rguenther@suse.de>
6535 PR tree-optimization/69186
6536 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
6537 Properly guard vect_update_misalignment_for_peel call.
6539 2016-01-12 Jeff Law <law@redhat.com>
6541 PR tree-optimization/pr67755
6542 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
6543 "need_profile_correction".
6544 (thread_block_1): Initialize new field to false by default. If we
6545 have multiple thread paths through a common joiner to different
6546 final targets, then set new field to true.
6547 (compute_path_counts): Only do count adjustment when it's really
6550 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
6552 * doc/invoke.texi (Spec Files): Move section down in file, past
6553 all command-line option descriptions.
6555 2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6558 * doc/gty.texi: Remove documentation of mark_hook.
6559 * gengtype.c (struct write_types_data): Remove code to support
6560 mark_hook attribute.
6561 (walk_type): Likewise.
6562 (write_func_for_structure): Likewise.
6564 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
6566 * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
6567 Directory Options, and -specs= to Overall Options.
6568 (Overall Options): Adjust similarly. Reorder to group related
6569 options together. Make -specs= cross-reference the spec file details.
6570 (Directory Options): Adjust similarly.
6572 2016-01-12 Jeff Law <law@redhat.com>
6574 * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
6576 2016-01-12 Olivier Hainque <hainque@adacore.com>
6578 * gcc.c (spec_undefvar_allowed): New global.
6579 (process_command): Set to true when running for --version or --help,
6581 (getenv_spec_function): When the variable is not defined, use the
6582 variable name as the variable value if we're allowed not to issue
6585 2016-01-12 Bin Cheng <bin.cheng@arm.com>
6587 PR tree-optimization/68911
6588 * tree-vrp.c (adjust_range_with_scev): Check overflow in range
6589 information computed for expression "init + nit * step".
6591 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
6593 * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
6594 about name of GCC executable. Remove deleted node from menu.
6595 (Directory Options) <-B>: Remove cross-reference to deleted node.
6596 (Target Options): Delete section.
6598 2016-01-12 Christian Bruel <christian.bruel@st.com>
6601 * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
6602 for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
6604 2016-01-12 Jakub Jelinek <jakub@redhat.com>
6607 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
6608 aligned_mem is properly set for AVX512-VL floating point masked
6612 * ifcvt.c (cond_exec_process_if_block): When removing the last
6613 insn from then_bb, remove also any possible barriers that follow it.
6615 2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
6619 * config/i386/iamcu.h (SIZE_TYPE): New macro.
6620 (PTRDIFF_TYPE): Likewise.
6621 (WCHAR_TYPE): Likewise.
6622 (WCHAR_TYPE_SIZE): Likewise.
6623 (STDINT_LONG32): Likewise.
6625 2016-01-12 Richard Biener <rguenther@suse.de>
6627 PR tree-optimization/69053
6628 * tree-vect-loop.c (get_initial_def_for_reduction): Properly
6629 convert initial value for cond reductions.
6631 2016-01-12 Richard Biener <rguenther@suse.de>
6633 PR tree-optimization/69007
6634 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
6635 widen_sum after dot_prod and sad.
6637 2016-01-12 Richard Biener <rguenther@suse.de>
6639 PR tree-optimization/69168
6640 * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
6641 pattern stmt SLP type.
6642 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
6643 end up unused so cope with that case.
6645 2016-01-12 Richard Biener <rguenther@suse.de>
6647 PR tree-optimization/69157
6648 * tree-vect-stmts.c (vectorizable_mask_load_store): Check
6649 stmts def type only during analyze phase.
6650 (vectorizable_call): Likewise.
6651 (vectorizable_simd_clone_call): Likewise.
6652 (vectorizable_conversion): Likewise.
6653 (vectorizable_assignment): Likewise.
6654 (vectorizable_shift): Likewise.
6655 (vectorizable_operation): Likewise.
6656 (vectorizable_store): Likewise.
6657 (vectorizable_load): Likewise.
6659 2016-01-12 Richard Biener <rguenther@suse.de>
6661 PR tree-optimization/69174
6662 * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
6664 (vectorizable_load): Properly compute the number of loads needed
6665 for permuted strided SLP loads and do not spuriously assign
6666 to SLP_TREE_VEC_STMTS.
6668 2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
6670 * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
6671 (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
6672 (MD_EXEC_PREFIX): Remove.
6673 (MD_STARTFILE_PREFIX) Removee.
6674 (FILE_NAME_ABSOLUTE_P): Remove.
6675 (CPP_SPEC): Do not read macros from sys/version.h.
6676 (LINK_COMMAND_SPEC): Remove.
6677 (LOCAL_INCLUDE_DIR): Remove.
6678 (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
6679 (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
6680 (POST_LINK_SPEC): Define to invoke stubify after linker
6681 (LIBSTDCXX): Remove define
6682 (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
6683 (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
6684 (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
6685 (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
6686 (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
6687 (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
6688 (i386_djgpp_asm_named_section): Add propotype of new procedure
6690 * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
6691 (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
6692 (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
6693 in config/i386/djgpp.h).
6694 (STANDARD_STARTFILE_PREFIX_2): Define identical to
6695 STANDARD_STARTFILE_PREFIX_1.
6696 (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
6697 (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
6698 installation errors.
6699 (MAX_OFILE_ALIGNMENT): Define to 128.
6700 (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
6702 * config/i386/djgpp.c: New file. Add implementation of
6703 i386_djgpp_asm_named_section.
6705 * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
6707 * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
6708 Add rule for building djgpp.o.
6710 2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6712 * config/rs6000/rs6000.c (v2df_reduction_p): New function.
6713 (rtx_is_swappable_p): Reductions are swappable.
6714 (insn_is_swappable_p): V2DF reductions are swappable.
6716 2016-01-11 John David Anglin <danglin@gcc.gnu.org>
6718 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
6719 reloads for other unsupported memory operands.
6721 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
6722 Jim Wilson <jim.wilson@linaro.org>
6725 * config/arm/arm-builtins.c (arm_expand_neon_args): Call
6726 copy_to_mode_reg instead of force_reg.
6728 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
6731 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
6732 TARGET_80387 is true.
6734 2016-01-11 Jakub Jelinek <jakub@redhat.com>
6737 * lra-eliminations.c (move_plus_up): Only move plus up
6738 if subreg of the constant can be simplified into constant
6739 and use the simplified subreg of the constant instead of
6740 the original constant.
6742 * fold-const.c (fold_convertible_p): Don't return true
6743 for conversion of VECTOR_TYPE to same sized integral type.
6744 (fold_convert_loc): Fix up formatting. Fold conversion of
6745 VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
6746 instead of NOP_EXPR.
6748 PR tree-optimization/69214
6749 * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
6750 innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
6753 PR tree-optimization/69207
6754 * tree-vect-slp.c (vect_get_constant_vectors): For
6755 VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
6756 fold_convertible_p to vector_type's element type, and always
6757 use VCE for non-VECTOR_BOOLEAN_TYPE_P.
6759 2016-01-11 Richard Biener <rguenther@suse.de>
6761 PR tree-optimization/69173
6762 * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
6763 fixup the cycle if all stmts are in a pattern.
6765 2016-01-11 Uros Bizjak <ubizjak@gmail.com>
6768 * alias.c (base_alias_check): Move check for addresses with
6769 alignment ANDs before the call for compare_base_decls.
6770 (memrefs_conflict_p): Return -1 for different decls
6771 that went through alignment adjustments.
6773 2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6775 PR rtl-optimization/68796
6776 * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
6777 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
6778 and QImode comparisons against zero with CC_NZmode.
6779 * config/aarch64/iterators.md (short_mask): New mode_attr.
6781 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
6783 * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
6784 (<avx512>_store<mode>_mask): Likewise.
6786 2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
6787 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6789 PR rtl-optimization/68841
6790 * ifcvt.c (struct noce_if_info): Add orig_x field.
6791 (bbs_ok_for_cmove_arith): Add to_rename parameter.
6792 Don't record conflicts on to_rename if it's present.
6793 Allow memory destinations in sets.
6794 (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
6795 blocks, passing orig_x to the checks.
6796 (noce_process_if_block): Set if_info->orig_x appropriately.
6798 2016-01-11 Tom de Vries <tom@codesourcery.com>
6800 PR tree-optimization/69069
6801 * tree-parloops.c (create_parallel_loop): Add missing phi args.
6803 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
6805 PR rtl-optimization/68920
6806 * config/i386/i386.c (ix86_option_override_internal): Restrict number
6807 of conditional moves for RTL if-conversion to 1 for
6808 TARGET_ONE_IF_CONV_INSN.
6809 * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
6810 * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
6811 * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
6812 parameter to restirct number of conditional moves for
6814 * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
6815 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
6818 2016-01-11 Alexandre Oliva <aoliva@redhat.com>
6821 * var-tracking.c (drop_overlapping_mem_locs): Operate on all
6822 onepart vars. Fix typo in comment. Fix reversed condition in
6824 (dataflow_set_remove_mem_locs): Operate on all onepart vars.
6827 * var-tracking.c (dump_onepart_variable_differences): New.
6828 (dataflow_set_different): If a detailed dump is requested,
6829 delay early returns and dump differences between onepart
6830 variables present before and after, and added variables.
6832 2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
6835 * expr.c (expand_expr_real_1): For boolean vector constants
6836 with a scalar mode use const_scalar_mask_from_tree.
6837 (const_scalar_mask_from_tree): New.
6838 * optabs.c (expand_vec_cond_mask_expr): Use mask mode
6839 assigned to a mask type to handle constants.
6841 2016-01-11 Martin Jambor <mjambor@suse.cz>
6844 * ipa-cp.c (estimate_local_effects): Do not clone for removal of
6845 useless parameters if we cannot change function signature.
6847 2016-01-11 Martin Jambor <mjambor@suse.cz>
6850 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
6853 2016-01-11 Tom de Vries <tom@codesourcery.com>
6855 PR tree-optimization/69109
6856 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
6859 2016-01-11 Tom de Vries <tom@codesourcery.com>
6861 PR tree-optimization/69108
6862 * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
6863 res is not used in a phi.
6865 2016-01-11 Yury Gribov <y.gribov@samsung.com>
6868 * common.opt (frandom-seed): Fix parameter name.
6869 * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
6871 2016-01-11 Tom de Vries <tom@codesourcery.com>
6873 PR tree-optimization/69058
6874 * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
6877 2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
6879 * config/arc/arc.opt (mdiv-rem): Add period to the end.
6880 (mcode-density): Likewise.
6882 2016-01-10 Tom de Vries <tom@codesourcery.com>
6884 PR tree-optimization/69062
6885 * tree-parloops.c (loop_has_phi_with_address_arg): New function.
6886 (parallelize_loops): Don't paralelize loop that has phi with address
6889 2016-01-10 Tom de Vries <tom@codesourcery.com>
6891 PR tree-optimization/69039
6892 * tree-parloops.c (try_create_reduction_list): Only allow single exit
6895 2016-01-09 John David Anglin <danglin@gcc.gnu.org>
6898 * match.pd: Require target has function_c99_misc before doing
6899 truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
6901 2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
6903 * configure.ac (isl_options_set_schedule_serialize_sccs): Also
6905 * configure: Regenerate.
6907 2016-01-09 Jakub Jelinek <jakub@redhat.com>
6910 PR tree-optimization/69097
6911 * fold-const.h (expr_not_equal_to): New prototype.
6912 * fold-const.c: Include stringpool.h and tree-ssanames.h.
6913 (expr_not_equal_to): New function.
6914 * match.pd (X % -Y is the same as X % Y): Don't optimize
6915 unless X is known not to be equal to minimum or Y is known
6916 not to be equal to -1.
6917 * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
6918 fold TRUNC_MOD_EXPR if the second argument is not a power of two.
6919 (simplify_stmt_using_ranges): Adjust caller.
6920 (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
6921 substitute_and_fold.
6923 2016-01-09 Jan Hubicka <hubicka@ucw.cz>
6925 * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
6928 2016-01-08 Jakub Jelinek <jakub@redhat.com>
6930 PR tree-optimization/69167
6931 * gimple-fold.c (replace_stmt_with_simplification): Also punt if
6932 new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
6934 * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
6936 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
6937 Richard Biener <rguenther@suse.de>
6939 PR tree-optimization/68707
6940 * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
6941 instances that can be handled via vect_load_lanes.
6943 2016-01-08 Uros Bizjak <ubizjak@gmail.com>
6945 * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
6946 if we can't determine address equivalence.
6947 * alias.c (compare_base_decl): Update for changed return value of
6948 symtab_node::equal_address_to.
6950 2016-01-08 Jason Merrill <jason@redhat.com>
6954 * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
6955 * expr.c (store_field): Not here.
6956 * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
6957 call with TREE_ADDRESSABLE type.
6958 * tree-cfg.c (verify_gimple_call): Adjust.
6960 2016-01-08 Olivier Hainque <hainque@adacore.com>
6962 * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
6965 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
6967 * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
6968 (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
6969 (reduc_smin_v2sf): Rename to...
6970 (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
6971 (reduc_splus_v2sf): Rename to...
6972 (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
6974 2016-01-08 Jakub Jelinek <jakub@redhat.com>
6976 PR tree-optimization/69162
6977 * gimplify.c (gimplify_va_arg_expr): Encode original type of
6978 valist argument in another argument.
6979 (gimplify_modify_expr): Adjust for the above change. Cleanup.
6980 * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
6981 to determine the va_list type, build a MEM_REF instead of
6982 build_fold_indirect_ref.
6984 PR tree-optimization/69172
6985 * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
6988 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
6990 PR tree-optimization/67781
6991 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
6992 and cmpnop in two steps: first the ones not accessed in original
6993 gimple expression in a endian independent way and then the ones not
6994 accessed in the final result in an endian-specific way.
6996 2016-01-08 Jakub Jelinek <jakub@redhat.com>
6998 PR tree-optimization/69083
6999 * tree-vect-slp.c (vect_get_constant_vectors): For
7000 VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
7001 element type. If op is fold_convertible_p to vector_type's element
7002 type, use NOP_EXPR instead of VCE.
7004 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
7006 PR rtl-optimization/67778
7007 PR rtl-optimization/68634
7008 PR rtl-optimization/68909
7009 * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
7010 block from the stack until done with it. Remove a superfluous
7011 bitmap set. Remove a superfluous bitmap test.
7013 2016-01-07 Martin Sebor <msebor@redhat.com>
7016 * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
7017 constraint on the type of arguments.
7019 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
7021 * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
7022 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
7023 unaligned_access on the gcc_options set.
7024 * config/arm/arm.c (arm_option_override_internal): Use
7025 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
7027 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
7030 * config/i386/i386.c (ix86_frame_pointer_required): Enable
7031 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
7033 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
7036 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
7039 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
7040 depending on frame_pointer_needed before remaining integer and SSE
7041 registers are saved.
7043 2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
7046 * doc/extend.texi (Nvidia PDX Function Attributes): New section.
7048 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
7051 * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
7052 Use the "xBm" constraint.
7053 (float<sseintvecmodelower><mode>2<mask_name><round_name):
7055 (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
7056 (sse_cvtsi2ssq<round_name>): Likewise.
7057 (sse_cvtss2si<round_name>): Likewise.
7058 (sse_cvtss2siq<round_name>): Likewise.
7059 (sse2_cvtsi2sdq<round_name>): Likewise.
7060 (sse2_cvtsd2si<round_name>): Likewise.
7061 (sse2_cvtsd2siq<round_name>): Likewise.
7062 * config/i386/subst.md (round_nimm_scalar_predicate): New
7065 2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
7068 * varasm.c (make_decl_rtl): Mark invalid register vars as
7071 PR rtl-optimization/66206
7072 * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
7073 All callers changed.
7075 2016-01-07 Jakub Jelinek <jakub@redhat.com>
7077 PR tree-optimization/69141
7078 * tree-ssa-pre.c: Include langhooks.h.
7079 (eliminate_dom_walker::before_dom_children): Use
7080 lang_hooks.decl_printable_name instead of
7081 cgraph_node::get ()->name ().
7084 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
7085 it and DECL_ALIGN too.
7087 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
7089 * config/mips/mips-ftypes.def: Sort to lexicographical order.
7091 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
7094 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
7095 depending on frame_pointer_needed before remaining integer and SSE
7096 registers are saved.
7098 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7100 * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
7101 mode iterator with VSX_M2.
7102 (*p9_vecstore_<mode>): Likewise.
7103 (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
7104 (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
7105 (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
7106 (define_split for VSX_LE128 stores): Likewise.
7107 (define_peephole2 for TImode LE swaps): Likewise.
7108 (define_split for VSX_LE128 post-reload stores): Likewise.
7110 2016-01-06 Marek Polacek <polacek@redhat.com>
7113 * convert.c (convert_to_integer_1): Adjust call to
7114 ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
7115 * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
7116 EXPR instead of ARG.
7117 * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
7119 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
7122 * doc/extend.texi (RL78 Variable Attributes): New section.
7124 2016-01-05 Marek Polacek <polacek@redhat.com>
7127 * builtins.c (get_memmodel): Use expansion point location rather than
7128 the input location. Call warning_at rather than warning.
7129 (expand_builtin_atomic_compare_exchange): Likewise.
7130 (expand_builtin_atomic_load): Likewise.
7131 (expand_builtin_atomic_store): Likewise.
7132 (expand_builtin_atomic_clear): Likewise.
7134 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
7137 * config/i386/i386.c (ix86_expand_vector_logical_operator):
7138 Replace nonimmediate_operand with vector_operand.
7139 * config/i386/predicates.md (vector_operand): New predicate.
7140 (general_vector_operand): Replace nonimmediate_operand with
7142 * config/i386/sse.md: Replace nonimmediate_operand with
7143 vector_operand and m constraint with Bm constraint on SSE
7144 patterns with 16-byte memory operand.
7145 * config/i386/subst.md (round_nimm_predicate): Replace
7146 nonimmediate_operand with vector_operand.
7147 (round_saeonly_nimm_predicate): Likewise.
7148 (round_saeonly_nimm_scalar_predicate): New.
7150 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
7153 * config/i386/constraints.md (Bm): New constraint.
7154 * config/i386/predicates.md (vector_memory_operand): New
7156 * config/i386/sse.md: Replace xm with xBm in plusminus and
7159 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
7162 * doc/extend.texi (V850 Function Attributes): New section.
7163 (V850 Variable Attributes): New section.
7165 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
7168 * doc/extend.texi (MicroBlaze Function Attributes): Document
7169 interrupt_handler and fast_interrupt attributes.
7171 2016-01-05 Sergei Trofimovich <siarheit@google.com>
7174 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
7175 for local symbolic operands.
7176 * config/ia64/predicates.md (local_symbolic_operand64): New
7179 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7181 PR rtl-optimization/68651
7182 * combine.c (combine_simplify_rtx): Canonicalize x + x into
7185 2016-01-05 Nathan Sidwell <nathan@acm.org>
7187 * alias.c (compare_base_decls): Use symtab_node::get.
7189 2016-01-05 Nick Clifton <nickc@redhat.com>
7192 * ira-costs.c (copy_cost): Initialise the t_icode field of the
7193 secondary_reload_info structure.
7196 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
7197 decls if weak support is available.
7199 2016-01-04 Martin Sebor <msebor@redhat.com>
7201 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
7203 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
7205 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
7206 OPTION_MASK_P9_DFORM.
7208 * config/rs6000/constraints.md (wo constraint): New constraint for
7211 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
7213 (rs6000_init_hard_regno_mode_ok): Likewise.
7215 * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
7218 * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
7219 expanders not to have constraints. Add support for ISA 3.0 xxperm
7220 instruction. Add support for fusing xxlor with xxperm.
7221 (altivec_vperm_<mode>_internal): Likewise.
7222 (altivec_vperm_v8hiv16qi): Likewise.
7223 (altivec_vperm_<mode>v16q): Likewise.
7224 (altivec_vperm_<mode>_uns): Likewise.
7225 (vperm_v8hiv4si): Likewise.
7226 (vperm_v16qiv8hi): Likewise.
7228 * doc/md.texi (RS/6000 constraints): Document wo constraint.
7230 2016-01-04 Jakub Jelinek <jakub@redhat.com>
7232 Update copyright years.
7234 * gcc.c (process_command): Update copyright notice dates.
7235 * gcov-dump.c (print_version): Ditto.
7236 * gcov.c (print_version): Ditto.
7237 * gcov-tool.c (print_version): Ditto.
7238 * gengtype.c (create_file): Ditto.
7239 * doc/cpp.texi: Bump @copying's copyright year.
7240 * doc/cppinternals.texi: Ditto.
7241 * doc/gcc.texi: Ditto.
7242 * doc/gccint.texi: Ditto.
7243 * doc/gcov.texi: Ditto.
7244 * doc/install.texi: Ditto.
7245 * doc/invoke.texi: Ditto.
7247 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
7249 * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
7250 modes larger than TImode as TImode if NEON is not enabled.
7252 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
7255 * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
7256 mode for %f0-%f31 only if TARGET_FPU.
7258 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
7261 * config/sparc/sparc.c (scan_record_type): Take into account subfields
7262 to compute the PACKED_P predicate.
7263 (function_arg_record_value): Minor tweaks.
7265 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
7267 * doc/install.texi (--with-multilib-list): Describe the meaning of the
7268 option for arm*-*-* targets.
7270 2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
7272 * doc/extend.texi (Common Function Attributes): Move docs for
7273 MSP430-specific attributes to....
7274 (MSP430 Function Attributes): ...here. Delete the redundant
7275 entries and copy-edit the remaining text.
7276 (MSP430 Variable Attributes): Use uniform format for index
7277 entries and add a cross-reference to the corresponding function
7280 2016-01-03 Vladimír Čunát <vcunat@gmail.com>
7282 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
7284 (x86 Options): Likewise.
7286 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
7290 * extend.texi (Common Function Attributes) <no_stack_limit>: New.
7291 * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
7292 to corresponding attribute.
7294 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
7296 * doc/extend.texi (Common Function Attributes) <noplt>: Move
7297 to correct alphabetization of table. Copy-edit and correct
7299 <stack_protect>: Likewise.
7300 <target_clones>: Likewise.
7302 * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
7303 Correct punctuation.
7304 (Code Gen Options) <-fno-plt>: Copy-edit.
7306 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
7309 * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
7310 SI values. Explicitly convert SI to DI and vice-versa.
7312 2016-01-01 Jakub Jelinek <jakub@redhat.com>
7314 PR tree-optimization/69070
7315 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
7316 REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
7319 * ubsan.c (ubsan_instrument_float_cast): Call
7320 initialize_sanitizer_builtins.
7323 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
7325 Copyright (C) 2016 Free Software Foundation, Inc.
7327 Copying and distribution of this file, with or without modification,
7328 are permitted in any medium without royalty provided the copyright
7329 notice and this notice are preserved.