1e9351567162c7b2f1aaccf5a825e150401ee941
[gcc.git] / gcc / ChangeLog
1 2016-04-12 Martin Liska <mliska@suse.cz>
2
3 Revert
4 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
5
6 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
7 estimates here.
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.
13
14 2016-04-12 Tom de Vries <tom@codesourcery.com>
15
16 PR tree-optimization/68756
17 * graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
18 instead of new_name.
19
20 2016-04-12 Jakub Jelinek <jakub@redhat.com>
21
22 PR tree-optimization/70602
23 * tree-sra.c (generate_subtree_copies): Don't write anything into
24 constant pool decls.
25
26 * omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
27 regardless whether there are depend clauses or not.
28
29 2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
30
31 PR target/70381
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.
35
36 * doc/extend.texi (Additional Floating Types): Document PowerPC
37 __float128 restrictions.
38
39 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
40
41 PR target/70133
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
52 flags.
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.
57
58 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
59
60 PR target/70133
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,
68 rework.
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
74 to here.
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
86 flags.
87
88 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
89
90 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
91 AARCH64_FL_CRC.
92
93 2016-04-09 Tom de Vries <tom@codesourcery.com>
94
95 PR tree-optimization/68953
96 * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
97 first to last subscript.
98
99 2016-04-09 Jakub Jelinek <jakub@redhat.com>
100
101 PR tree-optimization/70586
102 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
103 for any calls.
104
105 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
106
107 PR lto/70289
108 PR ipa/70348
109 PR tree-optimization/70373
110 PR middle-end/70533
111 PR middle-end/70534
112 PR middle-end/70535
113 * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
114 clauses for acc parallel reductions as necessary. Error on those
115 that are private.
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
122 reductions.
123 * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
124
125 2016-04-08 Jakub Jelinek <jakub@redhat.com>
126
127 PR middle-end/70593
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.
131
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.
137
138 2016-04-08 Thomas Schwinge <thomas@codesourcery.com>
139
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.
147
148 2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com>
149
150 PR sanitizer/70541
151 * asan.c (instrument_derefs): If we get unknown location, extract it
152 with EXPR_LOCATION.
153 (maybe_instrument_call): Instrument gimple_call's arguments if needed.
154
155 2016-04-08 Tom de Vries <tom@codesourcery.com>
156
157 * omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
158 implicit firstprivate clause.
159
160 2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
161
162 PR target/70566
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.
167
168 2016-04-08 Alan Modra <amodra@gmail.com>
169
170 PR target/70117
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
175 limit.
176
177 2016-04-07 Jakub Jelinek <jakub@redhat.com>
178
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.
186
187 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
188
189 PR c/70436
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.
198
199 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
200
201 PR c/70436
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.
206
207 2016-04-06 Vladimir Makarov <vmakarov@redhat.com>
208
209 PR rtl-optimization/70398
210 * lra-constraints.c (process_address_1): Check zero scale and code
211 for reloading with zero scale.
212
213 2016-04-06 Uros Bizjak <ubizjak@gmail.com>
214
215 * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
216 (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
217
218 2016-04-06 Jakub Jelinek <jakub@redhat.com>
219
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
224 up to 128.
225
226 PR middle-end/70550
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.
235
236 2016-04-05 John David Anglin <danglin@gcc.gnu.org>
237
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.
241
242 2016-04-05 Jakub Jelinek <jakub@redhat.com>
243
244 PR c++/70336
245 * match.pd (nested int casts): Limit to GIMPLE.
246
247 2016-04-05 Jan Hubicka <hubicka@ucw.cz>
248
249 PR ipa/66223
250 * ipa-devirt.c (maybe_record_node): Fix comment; use
251 SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
252
253 2016-04-05 Jakub Jelinek <jakub@redhat.com>
254
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.
258
259 2016-04-05 Marc Glisse <marc.glisse@inria.fr>
260 Jakub Jelinek <jakub@redhat.com>
261
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.
265
266 2016-04-05 Zdenek Sojka <zsojka@seznam.cz>
267
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.
271
272 2016-04-05 Uros Bizjak <ubizjak@gmail.com>
273
274 PR target/70510
275 * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
276
277 2016-04-05 Richard Biener <rguenther@suse.de>
278
279 PR tree-optimization/70526
280 * tree-sra.c (build_ref_for_offset): Use prev_base to
281 extract the alias pointer type.
282
283 2016-04-05 Richard Biener <rguenther@suse.de>
284
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.
308
309 2016-04-05 Jakub Jelinek <jakub@redhat.com>
310
311 PR target/70525
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.
316
317 2016-04-05 Richard Biener <rguenther@suse.de>
318
319 PR middle-end/70499
320 * gimplify-me.c (gimple_regimplify_operands): Do not rewrite
321 non-register type temporaries into SSA.
322
323 2016-04-04 Jan Hubicka <hubicka@ucw.cz>
324
325 PR ipa/66223
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.
329
330 2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
331 Jakub Jelinek <jakub@redhat.com>
332
333 PR middle-end/70457
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
336 prototype.
337 * tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
338 Likewise.
339
340 2016-04-04 Richard Biener <rguenther@suse.de>
341
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.
347
348 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
349
350 PR ipa/68881
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.
355
356 2016-04-04 Martin Liska <mliska@suse.cz>
357
358 PR hsa/70402
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.
364
365 2016-04-03 Oleg Endo <olegendo@gcc.gnu.org>
366
367 PR target/70416
368 PR target/67391
369 * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
370 set, but not for SP_REG operands.
371
372 2016-04-02 Martin Sebor <msebor@redhat.com>
373
374 PR c++/67376
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.
379
380 2016-03-31 Evandro Menezes <e.menezes@samsung.com>
381
382 Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
383 the "Y" constraint (scalar FP 0.0 immediate).
384
385 * gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
386 Add the "const_double" to the list of operand constraints.
387
388 2016-04-01 Jakub Jelinek <jakub@redhat.com>
389
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
393 for the high word.
394
395 2016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
396
397 PR target/70404
398 * config/s390/s390.c (s390_expand_insv): Check for everything
399 constant instead of just VOIDmode stuff.
400
401 2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
402
403 PR target/70496
404 * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
405
406 2016-04-01 Nathan Sidwell <nathan@acm.org>
407
408 * tree.def (TRY_CATCH_EXPR): Correct documentation.
409
410 2016-03-31 Vladimir Makarov <vmakarov@redhat.com>
411
412 PR rtl-optimization/70461
413 * ira-color.c (allocno_copy_cost_saving): Use allocno class if it
414 is necessary.
415
416 2016-03-31 Martin Liska <mliska@suse.cz>
417
418 PR hsa/70399
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.
429
430 2016-03-31 Martin Liska <mliska@suse.cz>
431
432 PR hsa/70391
433 * hsa-gen.c (hsa_function_representation::update_dominance): New
434 function.
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.
453
454 2016-03-31 Martin Liska <mliska@suse.cz>
455
456 PR hsa/70391
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.
475
476 2016-03-31 Bin Cheng <bin.cheng@arm.com>
477
478 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
479 scratch field for goto case.
480
481 2016-03-31 James Greenhalgh <james.greenhalgh@arm.com>
482
483 * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
484
485 2016-03-31 Ilya Enkovich <enkovich.gnu@gmail.com>
486
487 PR target/70442
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.
491
492 2016-03-31 Nathan Sidwell <nathan@acm.org>
493
494 PR c++/70393
495 * varasm.c (output_constructor_regular_field): Flush bitfield earlier.
496 Assert we don't want to move backwards.
497
498 2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com>
499
500 PR target/70453
501 * config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
502
503 2016-03-31 Jakub Jelinek <jakub@redhat.com>
504
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.
510
511 2016-03-31 Martin Liska <mliska@suse.cz>
512
513 * passes.c (execute_one_pass): Do not call
514 todo_after for a discarded function.
515
516 2016-03-31 Bin Cheng <bin.cheng@arm.com>
517
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.
523
524 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
525
526 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
527 estimates here.
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.
533
534 2016-03-30 Richard Biener <rguenther@suse.de>
535
536 PR middle-end/70450
537 * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
538
539 2016-03-30 Jakub Jelinek <jakub@redhat.com>
540
541 PR target/70421
542 * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
543 in gen_blendm expander.
544
545 2016-03-30 Nick Clifton <nickc@redhat.com>
546
547 PR target/62254
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.
550
551 2016-03-30 H.J. Lu <hongjiu.lu@intel.com>
552
553 PR target/70439
554 * config/i386/i386.c (ix86_expand_epilogue): Properly check
555 conflict between DRAP register and __builtin_eh_return.
556
557 2016-03-30 Michael Matz <matz@suse.de>
558 Richard Biener <rguenther@suse.de>
559
560 PR ipa/12392
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.
569
570 2016-03-30 Mike Stump <mrs@gcc.gnu.org>
571
572 PR target/63890
573 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
574 and TARGET_MACHO.
575
576 2016-03-30 Patrick Palka <ppalka@gcc.gnu.org>
577
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).
581
582 2016-03-29 Jeff Law <law@redhat.com>
583
584 * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
585
586 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
587
588 * tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
589 to HOST_WIDE_INT.
590
591 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
592
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.
596
597 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
598
599 PR ipa/70283
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.
607
608 2016-03-29 Jakub Jelinek <jakub@redhat.com>
609
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
613 mode != result_mode.
614
615 PR c++/70353
616 * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
617
618 PR tree-optimization/70405
619 * ssa-iterators.h (num_imm_uses): Add missing braces.
620
621 2016-03-29 Vladimir Makarov <vmakarov@redhat.com>
622
623 PR rtl-optimization/68695
624 * ira-color.c (allocno_copy_cost_saving): New.
625 (improve_allocation): Use it.
626
627 2016-03-29 Richard Henderson <rth@redhat.com>
628
629 PR middle-end/70355
630 * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
631
632 2016-03-29 Richard Biener <rguenther@suse.de>
633
634 PR middle-end/70424
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.
640
641 2016-03-28 James Bowman <james.bowman@ftdichip.com>
642
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.
646
647 2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com>
648
649 PR target/70406
650 * config/i386/i386.md (define_split, andn): Fix modes.
651
652 2016-03-26 Richard Biener <rguenther@suse.de>
653 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
654
655 PR ipa/70366
656 * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
657 instead of
658 TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
659 as 2nd argument to cl_optimization_restore().
660
661 2016-03-25 Richard Henderson <rth@redhat.com>
662
663 PR target/70120
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.
667
668 2016-03-25 Alan Modra <amodra@gmail.com>
669
670 PR target/70052
671 * config/rs6000/constraints.md (j): Simplify.
672 * config/rs6000/predicates.md (easy_fp_constant): Exclude
673 decimal float 0.D.
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.
679
680 2016-03-24 Aldy Hernandez <aldyh@redhat.com>
681
682 * tree-ssa-propagate.c: Enhance docs for
683 SSA_PROP_NOT_INTERESTING.
684
685 2016-03-24 Aldy Hernandez <aldyh@redhat.com>
686
687 * doc/extend.texi: Fix typo in documentation to pure attribute.
688
689 2016-03-24 John David Anglin <danglin@gcc.gnu.org>
690
691 PR target/70319
692 * config/pa/pa.md (bswapdi2): Use a scratch register.
693
694 2016-03-24 Richard Henderson <rth@redhat.com>
695
696 PR middle-end/69845
697 * fold-const.c (extract_muldiv_1): Correct test for multiplication
698 overflow.
699
700 2016-03-24 Uros Bizjak <ubizjak@gmail.com>
701
702 * config/i386/i386.md (*anddi3_doubleword): Generate AND insn
703 using ix86_expand_binary_operator instead of gen_andsi3.
704
705 2016-03-24 Richard Biener <rguenther@suse.de>
706
707 PR tree-optimization/70396
708 * tree-vect-stmts.c (vectorizable_comparison): Use
709 get_vectype_for_scalar_type.
710
711 2016-03-24 Richard Biener <rguenther@suse.de>
712
713 PR middle-end/70370
714 * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
715 with register bases.
716
717 2016-03-24 Richard Biener <rguenther@suse.de>
718
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.
722
723 2016-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
724
725 PR target/70381
726 * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
727 -mfloat128 here.
728
729 2016-03-23 Marek Polacek <polacek@redhat.com>
730
731 PR c++/69884
732 * doc/invoke.texi: Document -Wignored-attributes.
733
734 2016-03-23 Bin Cheng <bin.cheng@arm.com>
735
736 PR tree-optimization/69042
737 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
738 parameter from 30 to 40.
739
740 2016-03-23 Bin Cheng <bin.cheng@arm.com>
741
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.
745
746 2016-03-23 Richard Biener <rguenther@suse.de>
747
748 PR middle-end/70251
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.
752
753 2016-03-23 Jeff Law <law@redhat.com>
754
755 PR tree-optimization/64058
756 * tree-ssa-coalesce.c (struct coalesce_pair): Add new field
757 CONFLICT_COUNT.
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
769 bitmap_count_bits.
770 (bitmap_count_bits): Use bitmap_count_bits_in_word.
771 * bitmap.h (bitmap_count_unique_bits): Declare it.
772
773 2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com>
774
775 PR target/69917
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.
779
780 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
781
782 * config/arm/arm1020e.md (1020call_op): Reduce reservation
783 duration.
784 (v10_fdivs): Likewise.
785 (v10_fdivd): Likewise.
786
787 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
788
789 PR driver/70132
790 * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
791 to not call fclose twice on file.
792
793 2016-03-23 Jakub Jelinek <jakub@redhat.com>
794
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.
799
800 PR target/70321
801 * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
802 Optimize TARGET_STV splitters, if high or low word of last argument
803 is 0 or -1.
804
805 2016-03-22 Jeff Law <law@redhat.com>
806
807 PR target/70232
808 tree-ssa-threadbackward.c
809 (fsm_find_control_statement_thread_paths): Correctly distinguish
810 between old style jump threads vs FSM jump threads.
811
812 2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
813
814 PR target/70302
815 * config/i386/i386.c (scalar_chain::convert_op): Support
816 uninitialized register usage case.
817
818 2016-03-22 Richard Biener <rguenther@suse.de>
819
820 PR middle-end/70251
821 * genmatch.c (gen_transform): Adjust last parameter to a three-state
822 int...
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.
831
832 2016-03-22 Anthony Green <green@moxielogic.com>
833
834 * config/moxie/moxiebox.h (CC1_SPEC): Define. Fix endianness
835 issue for moxiebox targets.
836 (CC1PLUS_SPEC): Ditto.
837
838 2016-03-22 Richard Biener <rguenther@suse.de>
839
840 PR middle-end/70333
841 * fold-const.c (extract_muldiv_1): Properly perform multiplication
842 in the wide type.
843
844 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
845
846 * config/i386/i386.c (def_builtin): Remove duplicated functionality.
847
848 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
849
850 PR target/70325
851 * config/i386/i386.c (def_builtin): Handle
852 OPTION_MASK_ISA_AVX512VL to be and-ed with other
853 bits.
854 (const struct builtin_description bdesc_special_args[]):
855 Remove duplicate ISA bits.
856
857 2016-03-22 Jakub Jelinek <jakub@redhat.com>
858
859 PR target/70329
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.
863
864 PR target/70300
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.
869
870 PR c++/70295
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).
874
875 2016-03-21 Jakub Jelinek <jakub@redhat.com>
876
877 PR middle-end/70326
878 * lra.c (restore_scratches): Ignore deleted insns.
879
880 2016-03-21 Marc Glisse <marc.glisse@inria.fr>
881 Jakub Jelinek <jakub@redhat.com>
882
883 PR tree-optimization/70317
884 * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
885 to HONOR_NANS.
886
887 2016-03-21 Uros Bizjak <ubizjak@gmail.com>
888
889 PR target/70327
890 * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
891 of ix86_expand_move.
892 (movoi): Ditto.
893 (movti): Use general_operand for operand 1 predicate.
894
895 2016-03-21 Martin Liska <mliska@suse.cz>
896
897 * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
898 insns.
899 (dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
900
901 2016-03-21 Martin Liska <mliska@suse.cz>
902
903 PR ipa/70306
904 * ipa-icf.c (sem_function::parse): Skip static
905 constructors and destructors.
906
907 2016-03-21 Jakub Jelinek <jakub@redhat.com>
908
909 PR target/70296
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.
914
915 2016-03-21 Thomas Schwinge <thomas@codesourcery.com>
916 Alexander Monakov <amonakov@ispras.ru>
917
918 * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
919 for the stabs debug format.
920
921 2016-03-21 Richard Biener <rguenther@suse.de>
922
923 PR tree-optimization/70310
924 * tree-vect-generic.c (expand_vector_condition): Fold the built
925 condition.
926
927 2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com>
928
929 PR target/70293
930 * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
931 Block third alternative for AVX-512VL target,
932
933 2016-03-21 Martin Liska <mliska@suse.cz>
934
935 PR hsa/70234
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.
941
942 2016-03-21 Richard Biener <rguenther@suse.de>
943
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.
948
949 2016-03-21 Andrey Belevantsev <abel@ispras.ru>
950
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.
954
955 2016-03-18 Jeff Law <law@redhat.com>
956
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.
963
964 2016-03-16 David Wohlferd <dw@LimeGreenSocks.com>
965 Bernd Schmidt <bschmidt@redhat.com>
966
967 * doc/extend.texi: Document more potential problems with basic asms.
968
969 2016-03-18 Bernd Schmidt <bschmidt@redhat.com>
970
971 PR rtl-optimization/70278
972 * lra-constraints.c (split_reg): Handle the case where biggest_mode is
973 VOIDmode.
974
975 2016-03-18 Jason Merrill <jason@redhat.com>
976
977 * calls.c (load_register_parameters): Fix zero size sibcall logic.
978
979 2016-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
980
981 * config/i386/sse.md: Use vpbroadcastq for broadcasting DF
982 values to 128b regs.
983
984 2016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com>
985
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.
990
991 2016-03-18 Tom de Vries <tom@codesourcery.com>
992
993 PR ipa/70269
994 * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
995
996 2016-03-18 Jakub Jelinek <jakub@redhat.com>
997
998 * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
999 instead of replace_rtx for DEBUG_INSNs.
1000
1001 2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1002
1003 * config/i386/znver1.md : Fix latencies of FP/SSE/AVX
1004 load type reservations.
1005
1006 2016-03-17 John David Anglin <danglin@gcc.gnu.org>
1007
1008 PR target/70188
1009 * config/pa/constraints.md: Revert 2015-02-13 change. Use
1010 define_constraint for "Q" and "T" constraints.
1011
1012 2016-03-17 Evandro Menezes <e.menezes@samsung.com>
1013
1014 Tweak the pipeline model for Exynos M1
1015
1016 * config/aarch64/aarch64.c (exynosm1_tunings): Enable weak prefetching
1017 model.
1018
1019 2016-03-17 David Malcolm <dmalcolm@redhat.com>
1020
1021 PR c/70264
1022 * diagnostic-show-locus.c (compatible_locations_p): Handle the case
1023 where one or both locations aren't within a line_map.
1024
1025 2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
1026
1027 PR driver/70192
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
1030 if it is -1.
1031
1032 2016-03-17 Joern Rennecke <joern.rennecke@embecosm.com>
1033
1034 * config/i386/i386.md (*movv4qicc_insn+1..36): Pass
1035 true as ALL_REGS argument to replace_rtx.
1036
1037 2016-03-17 Richard Biener <rguenther@suse.de>
1038
1039 PR debug/70271
1040 * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
1041 last.
1042
1043 2016-03-17 Jakub Jelinek <jakub@redhat.com>
1044
1045 PR target/70245
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
1049 equality.
1050 * config/i386/i386.md (mov + arithmetics with load peephole): Pass
1051 true as ALL_REGS argument to replace_rtx.
1052
1053 2016-03-17 Ilya Enkovich <enkovich.gnu@gmail.com>
1054
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.
1058
1059 2016-03-17 Nick Clifton <nickc@redhat.com>
1060
1061 PR target/70162
1062 * config/rx/rx.c (rx_print_integer): Print negative constants in
1063 decimal.
1064
1065 2016-03-17 Jakub Jelinek <jakub@redhat.com>
1066
1067 PR target/70261
1068 * rtlanal.c (replace_rtx): Revert 2016-03-16 change.
1069
1070 2016-03-16 Richard Henderson <rth@redhat.com>
1071 Richard Biener <rguenth@suse.de>
1072
1073 PR middle-end/70240
1074 PR middle-end/68215
1075 PR tree-opt/68714
1076 * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
1077 first operand as is_gimple_condexpr.
1078
1079 PR middle-end/70240
1080 PR middle-end/68215
1081 Revert r231575
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.
1092
1093 2016-03-16 Richard Henderson <rth@redhat.com>
1094
1095 PR target/70048
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.
1100
1101 2016-03-16 Jakub Jelinek <jakub@redhat.com>
1102 Richard Biener <rguenth@suse.de>
1103
1104 PR target/70245
1105 * rtlanal.c (replace_rtx): For REG, if from is a REG,
1106 return to even if only REGNO is equal, and assert
1107 mode is the same.
1108
1109 2016-03-11 Jeff Law <law@redhat.com>
1110
1111 PR rtl-optimization/70224
1112 * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
1113
1114 2016-03-16 Richard Henderson <rth@redhat.com>
1115
1116 PR middle-end/70199
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.
1129
1130 2016-03-16 Marek Polacek <polacek@redhat.com>
1131
1132 PR c/70093
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.
1137
1138 2016-03-16 Bin Cheng <bin.cheng@arm.com>
1139
1140 * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
1141 reporting malformed loop nest.
1142
1143 2016-03-16 Tom de Vries <tom@codesourcery.com>
1144
1145 PR lto/70187
1146 * ipa-devirt.c (possible_polymorphic_call_targets): Move
1147 nodes.length () == 1 test to before first nodes[0] access.
1148
1149 2016-03-16 Tom de Vries <tom@codesourcery.com>
1150
1151 PR tree-optimization/68715
1152 * graphite-scop-detection.c (scop_detection::merge_sese): Add missing
1153 single_pred_p test.
1154
1155 2016-03-16 Tom de Vries <tom@codesourcery.com>
1156
1157 PR tree-optimization/68809
1158 * graphite-scop-detection.c (same_close_phi_node): Test if result types
1159 are the same.
1160
1161 2016-03-16 Carlos O'Donell <carlos@redhat.com>
1162 Sandra Loosemore <sandra@codesourcery.com>
1163
1164 * doc/extend.texi (Common Function Attributes): Describe ifunc impact
1165 on leaf attribute. Mention ELF interposition problems.
1166
1167 2016-03-16 Alan Modra <amodra@gmail.com>
1168
1169 PR rtl-optimization/69195
1170 PR rtl-optimization/47992
1171 * ira.c (indirect_jump_optimize): Ignore artificial defs.
1172 Add comments.
1173
1174 2016-03-15 Eric Botcazou <ebotcazou@adacore.com>
1175
1176 PR bootstrap/69513
1177 * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
1178
1179 2016-03-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1180
1181 * config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
1182
1183 2016-03-15 Jakub Jelinek <jakub@redhat.com>
1184
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.
1189
1190 PR middle-end/70239
1191 * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
1192 of safe_grow.
1193
1194 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1195
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.
1199
1200 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1201
1202 PR target/66660
1203 * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
1204 to non-speculative when propagating trap bits.
1205
1206 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1207
1208 PR rtl-optimization/63384
1209 * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
1210 DEBUG_INSN_P insns.
1211
1212 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1213
1214 PR target/64411
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.
1223
1224 2016-03-15 Tom de Vries <tom@codesourcery.com>
1225
1226 PR ipa/70161
1227 * cgraph.c (cgraph_node::get_body): Save, reset and restore
1228 dump_file_name.
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
1232 transform.
1233
1234 2016-03-15 Segher Boessenkool <segher@kernel.crashing.org>
1235
1236 * genrecog.c (match_pattern_2): If pred is NULL don't call
1237 safe_predicate_mode on it.
1238
1239 2016-03-14 Jakub Jelinek <jakub@redhat.com>
1240
1241 PR middle-end/70219
1242 * lra-constraints.c (delete_move_and_clobber): Change assertion
1243 to also allow dregno == 0.
1244
1245 2016-03-14 Richard Henderson <rth@redhat.com>
1246
1247 PR tree-opt/68714
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
1252 on vectors.
1253
1254 2016-03-14 Bernd Schmidt <bschmidt@redhat.com>
1255
1256 PR target/70083
1257 * lra-lives.c (process_bb_lives): Also update biggest mode for hard
1258 regs.
1259 (lra_create_live_ranges_1): initialize hard register biggest_mode to
1260 VOIDmode.
1261 * lra-constraints.c (split_reg): For hard regs, try to find the
1262 biggest single-register mode used in the function.
1263
1264 2016-03-14 Richard Biener <rguenther@suse.de>
1265
1266 PR tree-optimization/56365
1267 * tree-ssa-phiopt.c (minmax_replacement): Handle alternate
1268 constants to compare against.
1269
1270 2016-03-14 Segher Boessenkool <segher@kernel.crashing.org>
1271
1272 PR target/70098
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.
1277
1278 2016-03-14 Tom de Vries <tom@codesourcery.com>
1279
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.
1283
1284 2016-03-13 Eric Botcazou <ebotcazou@adacore.com>
1285
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.
1295
1296 2016-03-12 Andrey Belevantsev <abel@ispras.ru>
1297
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.
1301
1302 2016-03-12 Vladimir Makarov <vmakarov@redhat.com>
1303
1304 PR target/69614
1305 * lra-constraints.c (delete_move_and_clobber): New.
1306 (remove_inheritance_pseudos): Use it.
1307
1308 2016-03-12 Eric Botcazou <ebotcazou@adacore.com>
1309
1310 PR ada/70017
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.
1315
1316 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1317
1318 PR target/70131
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.
1322
1323 2016-03-11 Bernd Schmidt <bschmidt@redhat.com>
1324
1325 PR target/70123
1326 * lra-remat.c (operand_to_remat): Disallow hard regs in the value t
1327 be rematerialized.
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.
1331
1332 2016-03-11 Jeff Law <law@redhat.com>
1333
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.
1338
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
1343 discovered.
1344 (compare_pairs): No longer sort on the elements in each pair.
1345 Instead break ties with the index of the coalesce pair.
1346
1347 2016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1348
1349 PR target/70002
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):
1355 New function.
1356 (aarch64_set_current_function): Rewrite using the above.
1357
1358 2016-03-11 Jakub Jelinek <jakub@redhat.com>
1359
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):
1367 Adjust callers.
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.
1371
1372 2016-03-11 Alan Lawrence <alan.lawrence@arm.com>
1373
1374 PR tree-optimization/70013
1375 * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
1376 for constant-pool entries.
1377
1378 2016-03-11 Jakub Jelinek <jakub@redhat.com>
1379
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.
1383
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
1387 for unknown codes.
1388
1389 2016-03-11 Ilya Enkovich <enkovich.gnu@gmail.com>
1390 Jakub Jelinek <jakub@redhat.com>
1391
1392 PR target/70160
1393 * config/i386/i386.c (scalar_chain::convert_reg): Skip uses
1394 of uninitialized values.
1395
1396 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1397
1398 * config/s390/s390.md ("trunctddd2"): Turn former define_insn into
1399 define_expand.
1400 ("*trunctddd2"): New pattern definition.
1401 ("trunctdsd2"): Set prep_for_short_prec rounding mode for the
1402 TD->DD truncation.
1403
1404 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1405
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
1412 numbers.
1413
1414 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1415
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
1430 file.
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
1436 nonmemory_operand.
1437
1438 2016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1439
1440 PR target/70168
1441 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
1442 Handle overlapping retval and newval.
1443
1444 2016-03-10 Nick Clifton <nickc@redhat.com>
1445
1446 PR target/7044
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.
1452
1453 2016-03-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1454
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.
1458
1459 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1460
1461 PR lto/69589
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.
1470
1471 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1472
1473 PR ipa/69630
1474 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
1475 on cxa_pure_virtual.
1476
1477 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1478
1479 PR lto/69589
1480 * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
1481
1482 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1483
1484 PR lto/69589
1485 * tree.c (need_assembler_name_p): Only record main variant type names.
1486
1487 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
1488
1489 PR target/70113.
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
1499 843419 is on.
1500 (aarch64_attributes): Handle fix-cortex-a53-843419.
1501 (aarch64_can_inline_p): Likewise.
1502 * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
1503
1504 2016-03-10 Alan Lawrence <alan.lawrence@arm.com>
1505 Jakub Jelinek <jakub@redhat.com>
1506
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.
1513
1514 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
1515
1516 * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
1517 aarch64-fusion-pairs.def and aarch64-tuning-flags.def
1518
1519 2016-03-10 Ilya Enkovich <enkovich.gnu@gmail.com>
1520
1521 * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
1522 has a proper number of elements.
1523
1524 2016-03-10 Alan Modra <amodra@gmail.com>
1525
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.
1534
1535 2016-03-10 Richard Biener <rguenther@suse.de>
1536
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.
1540
1541 2016-03-09 Jakub Jelinek <jakub@redhat.com>
1542
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.
1546
1547 PR target/70086
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.
1552
1553 PR tree-optimization/70127
1554 * fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
1555
1556 2016-03-09 David Malcolm <dmalcolm@redhat.com>
1557
1558 PR c/68473
1559 PR c++/70105
1560 * diagnostic-show-locus.c (compatible_locations_p): New function.
1561 (layout::layout): Sanitize ranges using compatible_locations_p.
1562
1563 2016-03-09 David Malcolm <dmalcolm@redhat.com>
1564
1565 PR c/68473
1566 PR c++/70105
1567 * diagnostic-show-locus.c (layout_range::layout_range): Replace
1568 location_range param with three const expanded_locations * and a
1569 bool.
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.
1581
1582 2016-03-09 Richard Biener <rguenther@suse.de>
1583 Jakub Jelinek <jakub@redhat.com>
1584
1585 PR tree-optimization/70138
1586 * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
1587 Also skip vect_double_reduction_def.
1588
1589 2016-03-09 Jakub Jelinek <jakub@redhat.com>
1590
1591 PR target/70049
1592 * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
1593 if the operand is "m".
1594
1595 2016-03-09 Nathan Sidwell <nathan@acm.org>
1596
1597 * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
1598
1599 2016-03-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1600
1601 * config/i386/i386.c (processor_target_table): Fix cost table
1602 intialization order for znver1.
1603
1604 2016-03-08 Jakub Jelinek <jakub@redhat.com>
1605
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.
1614
1615 2016-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1616
1617 * tree-ssa-math-opts.c: Fix typo in comment.
1618
1619 2016-03-08 Jakub Jelinek <jakub@redhat.com>
1620
1621 PR target/70110
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
1625 calls.
1626
1627 2016-03-07 Uros Bizjak <ubizjak@gmail.com>
1628
1629 PR target/70064
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.
1638
1639 2016-03-07 Martin Jambor <mjambor@suse.cz>
1640
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.
1652
1653 2016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
1654
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.
1659
1660 2016-03-07 Martin Sebor <msebor@redhat.com>
1661
1662 PR rtl-optimization/19705
1663 * doc/invoke.texi (Options That Control Optimization): Clarify
1664 -fno-branch-count-reg.
1665
1666 2016-02-26 Richard Biener <rguenther@suse.de>
1667 Jeff Law <law@redhat.com>
1668
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
1672 loop.
1673 * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
1674 Move after definition of loops_state_clear.
1675
1676 2016-03-07 Bin Cheng <bin.cheng@arm.com>
1677
1678 PR rtl-optimization/69052
1679 * rtlanal.c (commutative_operand_precedence): Set higher precedence
1680 to CONST_WIDE_INT.
1681
1682 2016-03-07 Tom de Vries <tom@codesourcery.com>
1683
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.
1688
1689 2016-03-07 Richard Biener <rguenther@suse.de>
1690
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.
1694
1695 2016-03-07 Nathan Sidwell <nathan@codesourcery.com>
1696
1697 PR middle-end/69916
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.
1704
1705 2016-03-07 Richard Henderson <rth@redhat.com>
1706
1707 PR rtl-opt/70061
1708 * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
1709 (insert_value_copy_on_edge): Likewise.
1710
1711 2016-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1712
1713 * config/arm/arm_neon.h: Show error if using with soft-float ABI.
1714
1715 2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1716
1717 PR target/62281
1718 * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
1719
1720 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
1721
1722 * config/i386/i386.c (znver1_cost): Fix Multiply cost.
1723
1724 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
1725
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.
1732
1733 2016-03-05 Jakub Jelinek <jakub@redhat.com>
1734
1735 PR c++/70084
1736 * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
1737 of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
1738 to the right type.
1739
1740 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
1741
1742 PR c/69973
1743 * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
1744
1745 PR rtl-optimization/69941
1746 * postreload.c (reload_combine_recognize_pattern): Ensure all uses of
1747 the reg share its mode.
1748
1749 2016-03-04 Jeff Law <law@redhat.com>
1750
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.
1755
1756 2016-03-05 Tom de Vries <tom@codesourcery.com>
1757
1758 * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
1759 construct in oacc routine. Check for oacc region in oacc routine.
1760
1761 2016-03-04 Jakub Jelinek <jakub@redhat.com>
1762
1763 PR target/70062
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.
1769
1770 PR target/70059
1771 * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
1772 <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
1773 fixes.
1774 (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands.
1775
1776 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
1777
1778 PR rtl-optimization/57676
1779 * lra-assigns.c (lra_assign): Guard test for maximum iterations
1780 with flag_checking.
1781
1782 2016-03-04 Ilya Enkovich <enkovich.gnu@gmail.com>
1783
1784 * tree-vect-patterns.c (search_type_for_mask): Handle
1785 comparison of booleans.
1786
1787 2016-03-04 Jakub Jelinek <jakub@redhat.com>
1788
1789 * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
1790 Fix @xref usage.
1791
1792 PR debug/69947
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.
1796
1797 2016-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1798
1799 PR rtl-optimization/69904
1800 * config/arm/arm.c (arm_cannot_copy_insn_p):
1801 Return true for load-exclusive instructions.
1802
1803 2016-03-03 Jakub Jelinek <jakub@redhat.com>
1804
1805 PR target/70021
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
1809 or mix thereof.
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.
1813
1814 2016-03-03 Marek Polacek <polacek@redhat.com>
1815
1816 PR middle-end/70050
1817 * match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
1818
1819 2016-03-03 Martin Liska <mliska@suse.cz>
1820
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.
1824
1825 2016-03-03 Richard Biener <rguenther@suse.de>
1826
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
1832 helper.
1833
1834 2016-03-03 Michael Collison <michael.collison@linaro.org>
1835
1836 PR target/70014
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.
1840
1841 2016-03-02 H.J. Lu <hongjiu.lu@intel.com>
1842
1843 * doc/tm.texi: Regenerated.
1844
1845 2016-03-02 Richard Henderson <rth@redhat.com>
1846
1847 PR rtl-opt/67145
1848 * simplify-rtx.c (simplify_plus_minus): Allow reassoc without
1849 simplification when all args are positive non-fixed registers.
1850
1851 2016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1852
1853 * target.def (lra_p): Specify that new ports should use LRA.
1854
1855 2016-03-02 Jakub Jelinek <jakub@redhat.com>
1856
1857 PR libgomp/69555
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.
1863
1864 2016-03-02 Tom de Vries <tom@codesourcery.com>
1865
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.
1870
1871 2016-03-02 Bin Cheng <bin.cheng@arm.com>
1872
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.
1877
1878 2016-03-02 Alan Modra <amodra@gmail.com>
1879
1880 PR ipa/69990
1881 * ipa-icf.c (sem_variable::merge): Do not merge an alias with
1882 larger alignment.
1883
1884 2016-03-02 Jakub Jelinek <jakub@redhat.com>
1885
1886 PR target/70028
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.
1890
1891 2016-03-02 Richard Biener <rguenther@suse.de>
1892
1893 * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
1894 GENERIC expressions in GIMPLE.
1895
1896 2016-03-02 Richard Biener <rguenther@suse.de>
1897
1898 * config/i386/i386.c (type_natural_mode): Fix typo.
1899
1900 2016-03-02 Nick Clifton <nickc@redhat.com>
1901
1902 * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
1903
1904 2016-03-02 Richard Biener <rguenther@suse.de>
1905 Uros Bizjak <ubizjak@gmail.com>
1906
1907 PR target/67278
1908 * config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
1909
1910 2016-03-02 Richard Biener <rguenther@suse.de>
1911
1912 PR middle-end/67278
1913 * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
1914
1915 2016-03-02 Marek Polacek <polacek@redhat.com>
1916
1917 PR c/67854
1918 * gimplify.c (gimplify_va_arg_expr): Use expanded location for the
1919 "is promoted to" warning.
1920
1921 2016-03-01 DJ Delorie <dj@redhat.com>
1922
1923 * config.gcc: Deprecate mep-*.
1924
1925 2016-03-01 Vladimir Makarov <vmakarov@redhat.com>
1926
1927 PR middle-end/70025
1928 * lra-constraints.c (regno_val_use_in): New.
1929 (match_reload): Use it instead of regno_use_in.
1930
1931 2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
1932
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.
1936
1937 2016-03-01 Jeff Law <law@redhat.com>
1938
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.
1943
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
1949 in the last block.
1950
1951 2016-03-01 Uros Bizjak <ubizjak@gmail.com>
1952
1953 PR target/70027
1954 * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
1955 asm dialect alternatives to explicit GOTPCREL calls.
1956
1957 2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
1958
1959 PR ada/70017
1960 * ira.c (do_reload): Issue warning for generic stack checking here...
1961 * reload1.c (reload): ...instead of here and streamline it.
1962
1963 2016-03-01 Nick Clifton <nickc@redhat.com>
1964
1965 * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
1966
1967 2016-03-01 Richard Biener <rguenther@suse.de>
1968
1969 PR tree-optimization/69983
1970 * tree-chrec.c (eq_evolutions_p): Handle conversions, compare
1971 types and fall back to operand_equal_p.
1972
1973 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1974
1975 Revert
1976 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1977
1978 * config/s390/constraints.md ("jm8"): New constraint.
1979 * config/s390/predicates.md ("const_int_8bitset_operand"): New
1980 predicate.
1981 * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
1982 into ...
1983 ("*setmem_long<setmem_and>"): New pattern.
1984 ("*setmem_long_31z", "*setmem_long_and_31z"): Merge
1985 into ...
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.
1989
1990
1991 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1992
1993 Revert
1994 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1995
1996 * gensupport.c (process_substs_on_one_elem): Split loop to
1997 complete mark_operands_used_in_match_dup on all expressions in the
1998 vector first.
1999 (adjust_operands_numbers): Inline into process_substs_on_one_elem
2000 and remove function.
2001
2002 2016-03-01 Richard Biener <rguenther@suse.de>
2003
2004 PR middle-end/70022
2005 * fold-const.c (fold_indirect_ref_1): Fix range checking for
2006 vector BIT_FIELD_REF extract.
2007
2008 2016-03-01 Richard Biener <rguenther@suse.de>
2009
2010 PR tree-optimization/69994
2011 * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
2012
2013 2016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com>
2014
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.
2019
2020 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2021
2022 * config/s390/s390.c (s390_decompose_address): Don't accept SImode
2023 anymore.
2024
2025 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2026
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
2033 selector.
2034 ("*vec_set<mode>_plus"): New pattern to support reg + const_int
2035 operands.
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.
2045
2046 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2047
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.
2052
2053 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2054
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.
2070
2071 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2072
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
2082 iterator.
2083
2084 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2085
2086 * config/s390/predicates.md (const_int_6bitset_operand): New
2087 predicate.
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
2091 ...
2092 ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
2093 * config/s390/subst.md: New file.
2094
2095 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2096
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
2100 attributes.
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.
2108
2109 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2110
2111 * gensupport.c (process_substs_on_one_elem): Split loop to
2112 complete mark_operands_used_in_match_dup on all expressions in the
2113 vector first.
2114 (adjust_operands_numbers): Inline into process_substs_on_one_elem
2115 and remove function.
2116
2117 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
2118
2119 PR target/69706
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.
2126
2127 2016-02-29 Jeff Law <law@redhat.com>
2128
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
2132 outside [0..1].
2133
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
2137 loop cleanups.
2138
2139 2016-02-29 Richard Biener <rguenther@suse.de>
2140
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
2145 nop conversions.
2146 (eliminate_plus_minus_pair): Use ops_equal_values_p
2147 (repropagate_negates): Do not use get_unary_op here.
2148
2149 2016-02-29 Martin Liska <mliska@suse.cz>
2150
2151 * system.h: Poison ENABLE_CHECKING macro.
2152
2153 2016-02-29 Martin Liska <mliska@suse.cz>
2154
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.
2159
2160 2016-02-19 Richard Biener <rguenther@suse.de>
2161
2162 PR tree-optimization/69980
2163 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
2164 permutation of those we need to keep.
2165
2166 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
2167
2168 PR target/69706
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
2180 in the first word.
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.
2200
2201 2016-02-29 Richard Biener <rguenther@suse.de>
2202
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
2207 defs properly.
2208
2209 2016-02-28 Eric Botcazou <ebotcazou@adacore.com>
2210
2211 * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
2212
2213 2016-02-27 Jeff Law <law@redhat.com>
2214
2215 Revert
2216 2016-02-26 Richard Biener <rguenther@suse.de>
2217 Jeff Law <law@redhat.com>
2218
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
2222 loop.
2223
2224 2016-02-27 Jakub Jelinek <jakub@redhat.com>
2225
2226 PR rtl-optimization/69896
2227 * tree-vect-generic.c (get_compute_type): Avoid single element
2228 vector types.
2229
2230 2016-02-26 Evandro Menezes <e.menezes@samsung.com>
2231
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.
2235
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.
2248
2249 2016-02-26 Jakub Jelinek <jakub@redhat.com>
2250
2251 PR target/69969
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.
2255
2256 2016-02-26 Joel Sherrill <joel@rtems.org>
2257
2258 * config.gcc: Add x86_64-*-rtems*.
2259 * gcc/config/i386/rtems-64.h: New file.
2260
2261 2016-02-26 Joel Sherrill <joel@rtems.org>
2262
2263 * config.gcc: Add aarch64-*-rtems*.
2264 * gcc/config/aarch64/rtems.h: New file.
2265
2266 2016-02-26 Segher Boessenkool <segher@kernel.crashing.org>
2267
2268 PR target/69946
2269 * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
2270 shift amount using %h. Add comment.
2271
2272 2016-02-26 Richard Biener <rguenther@suse.de>
2273 Jeff Law <law@redhat.com>
2274
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
2278 loop.
2279
2280 2016-02-26 Martin Jambor <mjambor@suse.cz>
2281
2282 PR middle-end/69920
2283 * tree-sra.c (sra_modify_assign): Do not remove loads of
2284 uninitialized aggregates to SSA_NAMEs.
2285
2286 2016-02-26 Richard Henderson <rth@redhat.com>
2287
2288 PR target/69709
2289 * config/s390/s390.md (risbg and risbgn splitters): Allocate new
2290 pseudo in case the target rtx matches the source of the left
2291 shift.
2292
2293 2016-02-26 Martin Jambor <mjambor@suse.cz>
2294
2295 PR hsa/69568
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
2299 loads.
2300 (gen_hsa_insns_for_store): Use hsa_type_packed_p.
2301 * hsa-brig.c (emit_basic_insn): Likewise.
2302
2303 2016-02-26 Martin Jambor <mjambor@suse.cz>
2304
2305 pr hsa/69674
2306 * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
2307 pointers.
2308 (gen_hsa_addr): Allow integer constants in TMR_INDEX2.
2309
2310 2016-02-26 Martin Jambor <mjambor@suse.cz>
2311
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.
2319
2320 2016-02-26 Martin Jambor <mjambor@suse.cz>
2321
2322 * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
2323 atomic operations in private segment.
2324
2325 2016-02-26 Martin Jambor <mjambor@suse.cz>
2326
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.
2331
2332 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2333
2334 PR target/69245
2335 * config/aarch64/aarch64.c (aarch64_set_current_function):
2336 Save/restore target globals when switching to
2337 target_option_default_node.
2338
2339 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2340
2341 PR target/69613
2342 * config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
2343 Return 0 if !SHIFT_COUNT_TRUNCATED.
2344
2345 2016-02-26 Jakub Jelinek <jakub@redhat.com>
2346 Eric Botcazou <ebotcazou@adacore.com>
2347
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.
2351
2352 2016-02-26 Martin Liska <mliska@suse.cz>
2353
2354 * doc/extend.texi: Mention clog10, clog10f an clog10l
2355 in Builtins section.
2356
2357 2016-02-26 Martin Liska <mliska@suse.cz>
2358
2359 * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
2360 CHECKING_P.
2361 (resolve_args_picking_1): Likewise.
2362 * dwarf2out.h (struct GTY): Likewise.
2363
2364 2016-02-26 Martin Liska <mliska@suse.cz>
2365
2366 * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
2367 with flag_checking.
2368 * hsa-regalloc.c (linear_scan_regalloc): Likewise.
2369
2370 2016-02-26 Markus Trippelsdorf <markus@trippelsdorf.de>
2371 Martin Liska <mliska@suse.cz>
2372
2373 * doc/install.texi: Mention --enable-valgrind-annotations.
2374
2375 2016-02-26 Richard Biener <rguenther@suse.de>
2376
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.
2381
2382 2016-02-25 Martin Liska <mliska@suse.cz>
2383
2384 PR middle-end/69919
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.
2389
2390 2016-02-25 Richard Biener <rguenther@suse.de>
2391
2392 PR tree-optimization/48795
2393 * tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
2394
2395 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
2396
2397 PR driver/68463
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.
2414
2415 2016-02-25 Jan Hubicka <hubicka@ucw.cz>
2416
2417 PR ipa/69630
2418 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
2419 on builtin_unreachable.
2420
2421 2016-02-25 Jakub Jelinek <jakub@redhat.com>
2422
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.
2428
2429 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2430
2431 PR debug/69705
2432 * dwarf2out.c (gen_variable_die): Work around buggy LTO
2433 - allow NULL decl for Fortran DW_TAG_common_block variables.
2434
2435 2016-02-24 Jason Merrill <jason@redhat.com>
2436
2437 * common.opt (flifetime-dse): Add -flifetime-dse=1.
2438
2439 2016-02-24 Richard Biener <rguenther@suse.de>
2440 Jakub Jelinek <jakub@redhat.com>
2441
2442 PR middle-end/69760
2443 * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
2444 conditionally executed ops to well-defined overflow behavior.
2445
2446 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2447
2448 PR middle-end/69915
2449 * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
2450 elements.
2451
2452 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2453
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
2459 callsite.
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.
2463
2464 2016-02-24 Richard Biener <rguenther@suse.de>
2465
2466 PR middle-end/68963
2467 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
2468 bogus check.
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.
2471
2472 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2473
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.
2481
2482 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2483
2484 PR target/69875
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.
2490
2491 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2492
2493 PR c/69918
2494 * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
2495 2 to 3.
2496
2497 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2498 Richard Biener <rguenth@suse.de>
2499
2500 PR middle-end/69909
2501 * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
2502 set_mem_attributes if tem is SSA_NAME which got expanded
2503 as a MEM.
2504
2505 2016-02-24 Richard Biener <rguenther@suse.de>
2506
2507 PR tree-optimization/69907
2508 * tree-vect-stmts.c (vectorizable_load): Check for gaps at the
2509 end of permutations for BB vectorization.
2510
2511 2016-02-24 Christian Bruel <christian.bruel@st.com>
2512
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.
2518 Fix comments.
2519
2520 2016-02-23 David Edelsohn <dje.gcc@gmail.com>
2521
2522 PR target/69810
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.
2528
2529 2016-02-23 Evandro Menezes <e.menezes@samsung.com>
2530
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}
2534 and AESMC pairs.
2535
2536 2016-02-23 Evandro Menezes <e.menezes@samsung.com>
2537
2538 * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
2539 series for reciprocal square root in Exynos M1.
2540
2541 2016-02-23 Martin Sebor <msebor@redhat.com>
2542
2543 PR c/69759
2544 * doc/extend.texi (Other Builtins): Document __builtin_alloca and
2545 __builtin_alloca_with_align.
2546
2547 2016-02-23 Richard Henderson <rth@redhat.com>
2548
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.
2557
2558 2016-02-23 Richard Biener <rguenther@suse.de>
2559
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.
2564
2565 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
2566
2567 * tree-parloops.c (create_parallel_loop, gen_parallel_loop)
2568 (parallelize_loops): In OpenACC kernels mode, set n_threads to
2569 zero.
2570 (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
2571 flag_openacc.
2572 * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
2573
2574 2016-02-23 Richard Biener <rguenther@suse.de>
2575
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.
2584
2585 2016-02-23 Jakub Jelinek <jakub@redhat.com>
2586
2587 PR c++/69902
2588 * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
2589 when inverting comparison.
2590
2591 PR c/69900
2592 * common.opt (Wunreachable-code): Add Warning flag.
2593
2594 2016-02-23 Mark Wielaard <mjw@redhat.com>
2595 Jakub Jelinek <jakub@redhat.com>
2596
2597 PR c/69911
2598 * cgraphunit.c (check_global_declaration): Check main_input_filename
2599 and DECL_SOURCE_FILE are not NULL.
2600
2601 2016-02-23 Martin Jambor <mjambor@suse.cz>
2602
2603 PR tree-optimization/69666
2604 * tree-sra.c (sra_modify_assign): Do not attempt to create
2605 default_def replacements for unscalarizable regions.
2606
2607 2016-02-20 Mark Wielaard <mjw@redhat.com>
2608
2609 PR c/28901
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.
2615
2616 2016-02-22 Jakub Jelinek <jakub@redhat.com>
2617
2618 PR target/69888
2619 * config/i386/i386.c (decide_alg): Ensure we don't recurse with
2620 identical arguments. Formatting and spelling fixes.
2621
2622 PR target/69885
2623 * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
2624 be specified.
2625
2626 PR target/69894
2627 PR target/69895
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.
2632
2633 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
2634
2635 * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
2636 and HImode registers.
2637
2638 2016-02-22 Richard Biener <rguenther@suse.de>
2639
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.
2645
2646 2016-02-22 Bin Cheng <bin.cheng@arm.com>
2647
2648 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
2649 min_profitable_estimate, rather than min_profitable_iters.
2650
2651 2016-02-22 Jakub Jelinek <jakub@redhat.com>
2652
2653 PR target/69885
2654 * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
2655 SImode for last match_operand.
2656
2657 2016-02-22 Martin Liska <mliska@suse.cz>
2658
2659 * hsa-gen.c (gen_hsa_clrsb): In case of zero value,
2660 return bitsize - 1 as the return value.
2661
2662 2016-02-22 Oleg Endo <olegendo@gcc.gnu.org>
2663
2664 PR target/69806
2665 PR target/54089
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.
2672
2673 2016-02-22 Richard Biener <rguenther@suse.de>
2674 Tom de Vries <tom@codesourcery.com>
2675
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.
2679
2680 2016-02-22 Tom de Vries <tom@codesourcery.com>
2681
2682 * gdbhooks.py (class DumpFn): Add and instantiate, adding command
2683 dump-fn.
2684
2685 2016-02-22 Richard Biener <rguenther@suse.de>
2686
2687 PR ipa/37448
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
2695 summary.
2696
2697 2016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de>
2698
2699 * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
2700 variable.
2701
2702 2016-02-19 Jakub Jelinek <jakub@redhat.com>
2703
2704 PR driver/69805
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.
2709
2710 2016-02-19 Jonathan Wakely <jwakely@redhat.com>
2711
2712 * doc/invoke.texi (C++ Dialect Options): Clarify interaction of
2713 -Wnarrowing with -std.
2714
2715 2016-02-19 Jakub Jelinek <jakub@redhat.com>
2716
2717 PR c++/69851
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
2722 fix.
2723
2724 PR middle-end/69838
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.
2728
2729 PR target/69820
2730 * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
2731 if TARGET_AVX512BW.
2732
2733 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2734
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.
2738
2739 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2740
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.
2745
2746 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2747
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.
2751
2752 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2753
2754 * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
2755
2756 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2757
2758 * config/s390/s390.c (s390_expand_vcond): Use the compare operand
2759 mode.
2760
2761 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2762
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.
2767
2768 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2769
2770 * config/s390/s390.md: Add missing output modifier for operand 1
2771 to print it as address properly.
2772
2773 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2774
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
2785 debug output.
2786 (s390_sched_init): Clear last_scheduled_unit_distance array.
2787 * config/s390/s390.md: Include 2964.md.
2788
2789 2016-02-18 Jakub Jelinek <jakub@redhat.com>
2790
2791 PR target/69671
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.
2797
2798 2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
2799
2800 PR target/68404
2801 * config/rs6000/predicates.md (fusion_gpr_addis): Revert
2802 2016-02-09 change.
2803
2804 * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
2805 earlyclobber from target. Use wF constraint for fused memory
2806 address.
2807 (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
2808
2809 2016-02-18 Jakub Jelinek <jakub@redhat.com>
2810 Martin Liska <mliska@suse.cz>
2811
2812 PR sanitizer/69863
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.
2818
2819 2016-02-18 Richard Biener <rguenther@suse.de>
2820
2821 PR middle-end/69553
2822 * fold-const.c (operand_equal_p): Properly compare offsets for
2823 IMAGPART_EXPR and ARRAY_REF.
2824
2825 2016-02-18 Nick Clifton <nickc@redhat.com>
2826
2827 PR target/62254
2828 PR target/69610
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
2833 it.
2834 (arm_reload_out_hi): Likewise.
2835
2836 2016-02-18 Richard Biener <rguenther@suse.de>
2837
2838 PR middle-end/69854
2839 * match.pd: Don't use fold_binary or fold_unary for folding
2840 constants.
2841
2842 2016-02-17 Jakub Jelinek <jakub@redhat.com>
2843
2844 PR c++/69850
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.
2849
2850 2016-02-17 Jonathan Wakely <jwakely@redhat.com>
2851
2852 * doc/extend.texi (C++ Attributes): Correct description of
2853 warn_unused type attribute.
2854
2855 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2856
2857 * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
2858 correct instruction.
2859
2860 2016-02-17 Richard Biener <rguenther@suse.de>
2861
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
2865 of successors.
2866 (bb_to_key): Use cached priority when available.
2867 (copy_bb): Initialize cached priority.
2868 (reorder_basic_blocks_software_trace_cache): Likewise.
2869
2870 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2871
2872 PR target/69161
2873 * config/aarch64/predicates.md (aarch64_comparison_operator_mode):
2874 New predicate.
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.
2885
2886 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2887
2888 PR target/69161
2889 * config/arm/predicates.md (arm_comparison_operator_mode):
2890 New predicate.
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.
2900
2901 2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
2902
2903 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
2904 Add missing return.
2905
2906 2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
2907
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.
2920
2921 2016-02-17 Nick Clifton <nickc@redhat.com>
2922
2923 * config/msp430/msp430.c (msp430_mcu_data): Sync with data from
2924 TI's devices.csv file as of March 2016.
2925
2926 2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
2927
2928 PR Target/48344
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.
2935
2936 2016-02-16 Jakub Jelinek <jakub@redhat.com>
2937
2938 PR c/69835
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.
2947
2948 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
2949
2950 * config/aarch64/aarch64.c (cortexa57_tunings): Remove
2951 AARCH64_EXTRA_TUNE_RECIP_SQRT.
2952
2953 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
2954
2955 * config/aarch64/aarch64.c (use_rsqrt_p): Always use software
2956 reciprocal sqrt for -mlow-precision-recip-sqrt.
2957
2958 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
2959 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2960
2961 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
2962 always use lane loads to construct non-constant vectors.
2963
2964 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
2965
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.
2970
2971 2016-02-16 Jakub Jelinek <jakub@redhat.com>
2972 Richard Biener <rguenther@suse.de>
2973
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):
2978 Formatting fix.
2979
2980 2016-02-16 Jakub Jelinek <jakub@redhat.com>
2981
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.
2986
2987 2016-02-16 Richard Biener <rguenther@suse.de>
2988
2989 PR tree-optimization/69776
2990 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
2991 sets from caller.
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.
2998
2999 2016-02-16 Bernd Schmidt <bschmidt@redhat.com>
3000
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.
3004
3005 2016-02-16 Claudiu Zissulescu <claziss@synopsys.com>
3006
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
3016 instructions.
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):
3041 Renamed.
3042 (adddf3, muldf3, subdf3): Removed.
3043 * config/arc/predicates.md (proper_comparison_operator): Recognize
3044 CC_FPU* modes.
3045 * config/arc/fpu.md: New file.
3046 * doc/invoke.texi (ARC Options): Document mfpu option.
3047
3048 2016-02-16 Richard Biener <rguenther@suse.de>
3049
3050 PR rtl-optimization/69291
3051 * ifcvt.c (noce_try_store_flag_constants): Re-instantiate
3052 noce_operand_ok check.
3053
3054 2016-02-16 Tom de Vries <tom@codesourcery.com>
3055
3056 PR lto/67709
3057 * omp-low.c (simd_clone_create): Remove call to
3058 symtab->call_cgraph_insertion_hooks.
3059
3060 2016-02-16 Jakub Jelinek <jakub@redhat.com>
3061
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
3068 up formatting.
3069
3070 2016-02-16 Richard Biener <rguenther@suse.de>
3071
3072 PR tree-optimization/69586
3073 * tree-vrp.c (register_edge_assert_for_2): Handle all integral
3074 types for conversion sources.
3075
3076 2016-02-16 Richard Biener <rguenther@suse.de>
3077
3078 PR middle-end/69801
3079 * fold-const.c (operand_equal_p): For COND_EXPR zero operand
3080 mask OEP_ADDRESS_OF.
3081
3082 2016-02-16 Alan Modra <amodra@gmail.com>
3083
3084 PR target/68973
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.
3088 (p8_mtvsrwz): New.
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
3093 changes.
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.
3098
3099 2016-02-15 Evandro Menezes <e.menezes@samsung.com>
3100
3101 Add support for the FCCMP insn types
3102
3103 * config/aarch64/aarch64.md (fccmp): Change insn type.
3104 (fccmpe): Likewise.
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.
3111 (fccmpd): Likewise.
3112
3113 2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
3114
3115 * alias.c (get_alias_set): Fix a typo in comment.
3116
3117 2016-02-15 Richard Biener <rguenther@suse.de>
3118
3119 PR tree-optimization/69595
3120 * match.pd: Complete range test simplification to true.
3121
3122 2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
3123
3124 PR rtl-optimization/69648
3125 * lra-constraints.c (update_ebb_live_info): Don't remove sets of
3126 pic_offset_table_rtx.
3127
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.
3131
3132 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
3133
3134 * config/s390/s390.c (s390_function_profiler): Add a new sequence
3135 for z900+ CPUs in 31-bit mode.
3136
3137 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
3138
3139 * common/config/s390/s390-common.c (s390_supports_split_stack):
3140 New function.
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
3148 vararg pointer.
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.
3166
3167 2016-02-15 Richard Biener <rguenther@suse.de>
3168
3169 PR tree-optimization/69783
3170 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
3171 Add trivially correct cases.
3172
3173 2016-02-15 Tom de Vries <tom@codesourcery.com>
3174
3175 PR lto/69655
3176 * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
3177 do_force_output.
3178 * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
3179
3180 2016-02-15 Richard Biener <rguenther@suse.de>
3181
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
3188 redundant stores.
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.
3192
3193 2016-02-14 John David Anglin <danglin@gcc.gnu.org>
3194
3195 * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
3196
3197 2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3198
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.
3206 (znver1_sseavx_fma,
3207 znver1_sseavx_fma_load,
3208 znver1_avx256_fma,
3209 znver1_avx256_fma_load): Fix pipe usage.
3210
3211 2016-02-14 Alan Modra <amodra@gmail.com>
3212
3213 PR target/68973
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.
3217
3218 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
3219
3220 PR target/67260
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.
3224
3225 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
3226
3227 PR target/67636
3228 PR target/64345
3229 * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
3230
3231 2016-02-12 Walter Lee <walt@tilera.com>
3232
3233 * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
3234 * config/tilegx/t-tilegx: Likewise.
3235
3236 2016-02-12 David Malcolm <dmalcolm@redhat.com>
3237
3238 PR other/69554
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"
3263 statements.
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.
3268
3269 2016-02-12 David Malcolm <dmalcolm@redhat.com>
3270
3271 PR driver/69779
3272 * gcc.c (driver::finalize): Fix cleanup of "specs".
3273
3274 2016-02-12 David Malcolm <dmalcolm@redhat.com>
3275
3276 PR driver/69265
3277 PR driver/69453
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.
3300
3301 2016-02-12 Jakub Jelinek <jakub@redhat.com>
3302
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.
3307
3308 2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com>
3309
3310 PR target/69729
3311 * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
3312 to correctly determine instrumentation thunks.
3313
3314 2016-02-12 Jakub Jelinek <jakub@redhat.com>
3315
3316 PR ipa/69241
3317 * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
3318 type by reference, force lhs on the call.
3319
3320 PR ipa/68672
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.
3327
3328 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
3329
3330 revert:
3331 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
3332
3333 PR middle-end/66726
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.
3338
3339 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
3340
3341 PR middle-end/66726
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.
3346
3347 2016-02-12 Jakub Jelinek <jakub@redhat.com>
3348
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.
3383 * expr.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.
3399
3400 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org>
3401
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.
3407
3408 2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3409
3410 * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
3411 New variable.
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.
3418
3419 2016-02-11 David Malcolm <dmalcolm@redhat.com>
3420
3421 PR plugins/69758
3422 * Makefile.in (PLUGIN_HEADERS): Add params.list.
3423
3424 2016-02-11 Jakub Jelinek <jakub@redhat.com>
3425
3426 PR target/65313
3427 * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
3428 -Wmaybe-uninitialized warning.
3429
3430 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
3431
3432 PR target/69713
3433 * config/sh/sh.md (casesi_worker_0): Add T_REG use.
3434
3435 2016-02-11 Richard Biener <rguenther@suse.de>
3436
3437 PR rtl-optimization/69291
3438 * ifcvt.c (noce_try_store_flag_constants): Do not allow
3439 subexpressions affected by changing the result.
3440
3441 2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
3442
3443 PR target/69148
3444 * lra-constraints.c (curr_insn_transform): Find in/out operands
3445 for secondary memory moves. Update dups.
3446
3447 2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
3448
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
3453 statements.
3454
3455 2016-02-10 Jakub Jelinek <jakub@redhat.com>
3456 Patrick Palka <ppalka@gcc.gnu.org>
3457
3458 PR ipa/69241
3459 PR c++/69649
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.
3466
3467 2016-02-10 Bin Cheng <bin.cheng@arm.com>
3468
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.
3472
3473 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
3474
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.
3487
3488 2016-02-10 Richard Biener <rguenther@suse.de>
3489
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.
3494
3495 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
3496
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.
3501
3502 2016-02-10 Eric Botcazou <ebotcazou@adacore.com>
3503
3504 * timevar.def (TV_PHASE_DBGINFO): Delete.
3505 (TV_PHASE_CHECK_DBGINFO): Likewise.
3506 * varpool.c (varpool_node::assemble_decl): Do not change timevar.
3507
3508 2016-02-10 Richard Biener <rguenther@suse.de>
3509
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.
3513
3514 2016-02-09 Andrew Pinski <apinski@cavium.com>
3515
3516 PR tree-opt/69282
3517 * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
3518 get_vcond_mask_icode returns false.
3519
3520 2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
3521
3522 PR target/68404
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.
3526
3527 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
3528
3529 PR target/68532
3530 * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
3531 order.
3532 * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
3533 endian.
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.
3542
3543 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
3544
3545 PR target/68532
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
3550 endian.
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.
3559
3560 2016-02-11 Alexandre Oliva <aoliva@redhat.com>
3561
3562 PR target/69634
3563 * regstat.c (regstat_bb_compute_calls_crossed): Disregard
3564 debug insns.
3565
3566 2016-02-09 Uros Bizjak <ubizjak@gmail.com>
3567
3568 * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
3569 truncate const_int operand 1 to QImode.
3570
3571 2016-02-09 Eric Botcazou <ebotcazou@adacore.com>
3572
3573 * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
3574 corresponding to an abnormal edge.
3575
3576 2016-02-09 Tom de Vries <tom@codesourcery.com>
3577
3578 PR tree-optimization/69599
3579 * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
3580 function.
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
3583 partition.
3584
3585 2016-02-09 Richard Biener <rguenther@suse.de>
3586
3587 PR tree-optimization/69715
3588 * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
3589 LHS on calls as non-rewritable.
3590
3591 2016-02-09 Tom de Vries <tom@codesourcery.com>
3592
3593 PR lto/69707
3594 * lto-wrapper.c (append_diag_options): New function.
3595 (compile_offload_image): Call append_diag_options.
3596
3597 2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
3598
3599 PR other/69722
3600 * doc/extend.texi (Flag Output Operands): Correct sectioning.
3601 Minor copy-edit to fix verb tenses.
3602
3603 2016-02-08 Jakub Jelinek <jakub@redhat.com>
3604
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.
3609
3610 2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com>
3611
3612 * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
3613 outdated section.
3614
3615 2016-02-08 Jason Merrill <jason@redhat.com>
3616
3617 PR c++/69631
3618 * convert.c (convert_to_integer_1): Check dofold on truncation
3619 distribution.
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.
3625
3626 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
3627
3628 PR target/60410
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.
3637
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
3646 bitmap.
3647
3648 2016-02-08 Richard Biener <rguenther@suse.de>
3649
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.
3654
3655 2016-02-08 Richard Biener <rguenther@suse.de>
3656 Jeff Law <law@redhat.com>
3657
3658 PR target/68273
3659 * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
3660 types for anonymous SSA names.
3661
3662 2016-02-08 Richard Biener <rguenther@suse.de>
3663
3664 PR rtl-optimization/69274
3665 * ira.c (ira_setup_alts): Do not change recog_data.operand order.
3666
3667 2016-02-08 Jeff Law <law@redhat.com>
3668
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.
3679
3680 2016-02-05 Jeff Law <law@redhat.com>
3681
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.
3690
3691 2016-02-05 Martin Sebor <msebor@redhat.com>
3692
3693 PR c++/69662
3694 * doc/invoke.texi: Update -Wplacement-new to take an optional
3695 argument.
3696
3697 2016-02-06 Richard Henderson <rth@redhat.com>
3698
3699 PR c/69643
3700 * tree.c (tree_nop_conversion_p): Do not strip casts into or
3701 out of non-standard address spaces.
3702
3703 2016-02-05 Jakub Jelinek <jakub@redhat.com>
3704
3705 PR rtl-optimization/69691
3706 * lra-eliminations.c (move_plus_up): Don't add the addend twice.
3707
3708 2016-02-05 Pat Haugen <pthaugen@us.ibm.com>
3709
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.
3714
3715 2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com>
3716
3717 PR target/69369
3718 Revert r232560:
3719 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
3720
3721 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
3722 instrumented_version.
3723
3724 2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com>
3725
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.
3736
3737 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3738
3739 * config/s390/s390.c (s390_register_info_set_ranges): Remove
3740 superfluous loops.
3741
3742 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
3743
3744 * doc/extend.texi: S/390: Correct some typos.
3745
3746 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3747
3748 * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
3749
3750 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3751
3752 PR target/69625
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
3756 its name.
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.
3769
3770 2016-02-05 Jakub Jelinek <jakub@redhat.com>
3771
3772 PR bootstrap/69677
3773 * config/i386/i386.c (convert_scalars_to_vector): Readd stack
3774 alignment fixes.
3775 (ix86_option_override_internal): Disable TARGET_STV even for
3776 -m{incoming,preferred}-stack-boundary=3.
3777
3778 2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3779
3780 * config.gcc: Mark deprecated rtems targets as obsolete.
3781
3782 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org>
3783
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.
3788
3789 2016-02-04 DJ Delorie <dj@redhat.com>
3790
3791 * config/msp430/msp430.c (msp430_start_function): Add function type.
3792
3793 2016-02-04 Jakub Jelinek <jakub@redhat.com>
3794
3795 PR fortran/69368
3796 * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
3797
3798 2016-02-04 Uros Bizjak <ubizjak@gmail.com>
3799
3800 PR rtl-optimization/69577
3801 Revert:
3802 2015-10-29 Richard Henderson <rth@redhat.com>
3803
3804 PR target/68124
3805 PR rtl-opt/67609
3806 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
3807 sse check to the exact conditions of PR 67609.
3808
3809 2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
3810
3811 PR target/69667
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.
3817
3818 2016-02-04 David Malcolm <dmalcolm@redhat.com>
3819
3820 * config/aarch64/cortex-a57-fma-steering.c
3821 (aarch64_register_fma_steering): Remove "static" from arguments
3822 to register_pass.
3823
3824 2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
3825
3826 PR target/69619
3827 * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
3828 twice when complex.
3829
3830 2016-02-04 Mike Frysinger <vapier@gentoo.org>
3831
3832 * doc/invoke.texi: Delete -mno-fma4.
3833
3834 2016-02-04 Richard Sandiford <richard.sandiford@arm.com>
3835
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
3839 definitions.
3840
3841 2016-02-04 Alan Lawrence <alan.lawrence@arm.com>
3842
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.
3952
3953 2016-02-04 Martin Liska <mliska@suse.cz>
3954
3955 PR sanitizer/69276
3956 * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
3957 that are gimple_store_p.
3958 (maybe_instrument_call): Likewise.
3959
3960 2016-02-04 Bin Cheng <bin.cheng@arm.com>
3961
3962 * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
3963 register scaling out of memory reference and comment why.
3964
3965 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3966
3967 PR target/65932
3968 PR target/67714
3969 * cse.c (cse_insn): Pass NULL to fold_rtx when initially
3970 folding the source of a SET.
3971
3972 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3973
3974 PR target/65932
3975 PR target/67714
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.
3978
3979 2016-02-04 Jim Wilson <jim.wilson@linaro.org>
3980
3981 PR target/65932
3982 PR target/67714
3983 * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
3984 HImode.
3985
3986 2016-02-04 Christian Bruel <christian.bruel@st.com>
3987
3988 * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
3989 * config/arm/arm.c (arm_set_current_function): Likewise.
3990
3991 2016-02-04 Jakub Jelinek <jakub@redhat.com>
3992 Ilya Enkovich <enkovich.gnu@gmail.com>
3993 H.J. Lu <hongjiu.lu@intel.com>
3994
3995 PR target/69454
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.
4001
4002 2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com>
4003
4004 * gcc/config/i386/x86-tune.def: Disable default prefetching
4005 for -march=znver1.
4006
4007 2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com>
4008 Vladimir Makarov <vmakarov@redhat.com>
4009
4010 PR target/69461
4011 * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
4012 in validating fused toc addresses.
4013
4014 2016-02-03 Jakub Jelinek <jakub@redhat.com>
4015
4016 PR c/69627
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.
4019
4020 PR target/69644
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.
4024
4025 2016-02-03 Vladimir Makarov <vmakarov@redhat.com>
4026 Alexandre Oliva <aoliva@redhat.com>
4027
4028 PR target/69461
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
4032 nothing.
4033
4034 2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com>
4035
4036 PR target/69118
4037 * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
4038 Fix target.
4039
4040 2016-02-02 Jakub Jelinek <jakub@redhat.com>
4041
4042 * wide-int.cc (canonize_uhwi): New function.
4043 (wi::divmod_internal): Use it.
4044
4045 2016-02-02 James Norris <jnorris@codesourcery.com
4046
4047 * gimplify.c (omp_notice_variable): Add usage check.
4048
4049 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
4050
4051 * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
4052 like LE, GE, LT, GT when emitting relational operator.
4053
4054 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
4055
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):
4063 Add parameter.
4064 * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
4065 Update target hook.
4066
4067 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
4068
4069 * config/aarch64/aarch64.c
4070 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
4071 (aarch64_ira_change_pseudo_allocno_class): New function.
4072
4073 2016-02-02 Uros Bizjak <ubizjak@gmail.com>
4074
4075 PR target/67032
4076 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
4077
4078 2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4079
4080 * config/avr/avr.c (avr_option_override): Set
4081 PARAM_ALLOW_STORE_DATA_RACES to 1.
4082
4083 2016-02-02 Richard Biener <rguenther@suse.de>
4084
4085 PR tree-optimization/69595
4086 * match.pd: Add range test simplifications to true/false.
4087
4088 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4089
4090 * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
4091 * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
4092 instead.
4093
4094 2016-02-02 Richard Biener <rguenther@suse.de>
4095
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.
4099
4100 2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
4101
4102 PR middle-end/68542
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.
4116
4117 2016-02-02 Alan Modra <amodra@gmail.com>
4118
4119 PR target/69548
4120 * config/rs6000/predicates.md (quad_int_reg_operand): Don't
4121 allow subregs.
4122
4123 2016-02-02 Alan Modra <amodra@gmail.com>
4124
4125 PR target/68662
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.
4133
4134 2016-02-01 Jakub Jelinek <jakub@redhat.com>
4135
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.
4141
4142 2016-02-01 Jeff Law <law@redhat.com>
4143
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.
4149
4150 2016-02-01 Jakub Jelinek <jakub@redhat.com>
4151
4152 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
4153 when count is incremented above limit, don't analyze further
4154 insns afterwards.
4155
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.
4159
4160 2016-02-01 Bin Cheng <bin.cheng@arm.com>
4161
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.
4166
4167 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4168
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
4179 possible.
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.
4185
4186 2016-02-01 Richard Biener <rguenther@suse.de>
4187
4188 PR middle-end/69556
4189 * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
4190
4191 2016-02-01 Richard Biener <rguenther@suse.de>
4192
4193 PR tree-optimization/69574
4194 * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
4195 of asserting return chrec_dont_know.
4196
4197 2016-02-01 Martin Liska <mliska@suse.cz>
4198
4199 * mem-stats-traits.h: Add copyright header.
4200 * mem-stats.h: Likewise.
4201
4202 2016-02-01 Richard Biener <rguenther@suse.de>
4203
4204 PR tree-optimization/69579
4205 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
4206 Do not propagate through abnormal PHI results.
4207
4208 2016-02-01 Eric Botcazou <ebotcazou@adacore.com>
4209
4210 * postreload.c (reload_cse_simplify): Remove dead code.
4211
4212 2016-02-01 Jakub Jelinek <jakub@redhat.com>
4213
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.
4217
4218 2016-02-01 Richard Henderson <rth@redhat.com>
4219
4220 PR rtl-opt/69535
4221 * combine.c (make_compound_operation): When looking through a
4222 subreg, make sure to re-extend to the width of the outer mode.
4223
4224 2016-01-30 Jakub Jelinek <jakub@redhat.com>
4225
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.
4233
4234 2016-01-29 Martin Jambor <mjambor@suse.cz>
4235
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.
4247
4248 2016-01-29 Sebastian Pop <s.pop@samsung.com>
4249
4250 * doc/install.texi: Document that isl-0.16 is supported.
4251
4252 2016-01-29 Vladimir Makarov <vmakarov@redhat.com>
4253
4254 PR target/69299
4255 * config/i386/constraints.md (Bm): Describe as special memory
4256 constraint.
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
4261 static vars.
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
4280 CT_SPECIAL_MEMORY.
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.
4285
4286 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
4287
4288 PR target/69530
4289 * lra-splill.c (lra_final_code_change): Revert r229087 by
4290 removing all sub-registers.
4291
4292 2016-01-29 Steve Ellcey <sellcey@imgtec.com>
4293
4294 PR target/65604
4295 * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
4296
4297 2016-01-29 Jakub Jelinek <jakub@redhat.com>
4298
4299 PR target/69551
4300 * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
4301 SSE1, copy target into the temporary reg first before recursing
4302 on it.
4303
4304 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
4305
4306 * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
4307 with vm.
4308
4309 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
4310
4311 * ginclude/stdarg.h: Test __cplusplus instead of
4312 __GXX_EXPERIMENTAL_CXX0X__.
4313
4314 2016-01-29 Richard Biener <rguenther@suse.de>
4315
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.
4320
4321 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4322
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.
4326
4327 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4328
4329 PR other/69006
4330 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
4331 trailing blank line from error message.
4332
4333 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
4334
4335 PR c++/69462
4336 * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
4337 for C++-11.
4338
4339 2016-01-29 Richard Biener <rguenther@suse.de>
4340
4341 PR middle-end/69537
4342 * match.pd: Allow all integral types when simplifying a
4343 widening or sign-changing conversion.
4344
4345 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4346
4347 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
4348 back to setting codegen_error to fail codegen.
4349
4350 2016-01-28 Uros Bizjak <ubizjak@gmail.com>
4351
4352 PR target/69459
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
4358 of C constraint.
4359
4360 2016-01-28 Steve Ellcey <sellcey@imgtec.com>
4361
4362 PR target/68400
4363 * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
4364
4365 2016-01-28 Jakub Jelinek <jakub@redhat.com>
4366
4367 PR middle-end/69542
4368 * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
4369 non-debug insns.
4370
4371 2016-01-28 Pat Haugen <pthaugen@us.ibm.com>
4372
4373 * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
4374 branches if using guessed profile.
4375
4376 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
4377
4378 * graphite-optimize-isl.c (optimize_isl): Fix dump.
4379
4380 2016-01-28 Richard Henderson <rth@redhat.com>
4381
4382 PR target/69305
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.
4409
4410 2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
4411
4412 * graphite-optimize-isl.c (optimize_isl): Print a different debug
4413 message when isl does not return a valid schedule.
4414
4415 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4416
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
4419 close by the defs.
4420
4421 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4422
4423 * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
4424 codegen_error_p.
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.
4436
4437 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4438
4439 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
4440 instead of setting codegen_error to fail codegen.
4441
4442 2016-01-28 Jason Merrill <jason@redhat.com>
4443
4444 * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
4445
4446 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
4447
4448 * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
4449 Remove CONST_INT_P check in CCMP cost calculation.
4450
4451 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
4452
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.
4461
4462 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
4463
4464 * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
4465 immediate as %1.
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.
4471
4472 2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com>
4473
4474 * tree-vect-stmts.c (vectorizable_comparison): Add
4475 NULL check for vectype.
4476
4477 2016-01-28 Richard Biener <rguenther@suse.de>
4478
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.
4482
4483 2016-01-28 Martin Liska <mliska@suse.cz>
4484
4485 PR pch/68758
4486 * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
4487 instead of ENABLE_VALGRIND_CHECKING.
4488
4489 2016-01-27 Richard Henderson <rth@redhat.com>
4490
4491 PR rtl-opt/69447
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.
4498
4499 2016-01-27 H.J. Lu <hongjiu.lu@intel.com>
4500
4501 PR target/68986
4502 * config/i386/i386.c (ix86_update_stack_boundary): Don't
4503 change stack_alignment_needed for __tls_get_addr call.
4504
4505 2016-01-27 Segher Boessenkool <segher@kernel.crashing.org>
4506
4507 * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
4508
4509 2016-01-27 Jeff Law <law@redhat.com>
4510
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.
4519
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.
4523
4524 2016-01-27 Jakub Jelinek <jakub@redhat.com>
4525
4526 PR lto/69254
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.
4533
4534 2016-01-27 Ian Lance Taylor <iant@google.com>
4535
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
4540 NULL.
4541
4542 2016-01-27 Uros Bizjak <ubizjak@gmail.com>
4543
4544 PR target/69512
4545 * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
4546 (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
4547
4548 2016-01-27 Thomas Klausner <wiz@NetBSD.org>
4549
4550 PR target/68380
4551 * configure.ac: NetBSD provides SSP in its C library.
4552 * configure: Updated.
4553
4554 2016-01-27 Richard Biener <rguenther@suse.de>
4555
4556 PR tree-optimization/69166
4557 * tree-vect-loop.c (vect_is_simple_reduction): Always check
4558 reduction code for commutativity / associativity.
4559
4560 2016-01-27 Martin Jambor <mjambor@suse.cz>
4561
4562 PR tree-optimization/69355
4563 * tree-sra.c (analyze_access_subtree): Correct hole detection when
4564 total_scalarization fails.
4565
4566 2016-01-27 David Edelsohn <dje.gcc@gmail.com>
4567
4568 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
4569 power9.
4570
4571 2016-01-27 Christian Bruel <christian.bruel@st.com>
4572
4573 PR target/69245
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.
4581
4582 2016-01-27 Martin Liska <mliska@suse.cz>
4583
4584 * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
4585 reference for an HSA kernel and its host function.
4586
4587 2016-01-27 Jakub Jelinek <jakub@redhat.com>
4588
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.
4592
4593 2016-01-27 Claudiu Zissulescu <claziss@synopsys.com>
4594
4595 * config/arc/predicates.md (proper_comparison_operator): Reject
4596 constant-constant comparison.
4597
4598 2016-01-26 Tom de Vries <tom@codesourcery.com>
4599
4600 PR tree-optimization/69110
4601 * tree-data-ref.c (initialize_data_dependence_relation): Handle
4602 DR_NUM_DIMENSIONS == 0.
4603
4604 2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com>
4605 Sebastian Pop <s.pop@samsung.com>
4606
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.
4610
4611 2016-01-26 Jason Merrill <jason@redhat.com>
4612
4613 PR c++/68782
4614 * tree.c (recompute_constructor_flags): Split out from
4615 build_constructor.
4616 (verify_constructor_flags): New.
4617 * tree.h: Declare them.
4618
4619 2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
4620
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.
4624
4625 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4626
4627 PR target/68662
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
4632 LCTOC1.
4633 (rs6000_elf_declare_function_name): Use toc_label_name instead of
4634 constructing LCTOC1.
4635
4636 2016-01-26 Martin Sebor <msebor@redhat.com>
4637
4638 PR other/69477
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.
4642
4643 2016-01-26 Richard Henderson <rth@redhat.com>
4644
4645 PR middle-end/60908
4646 * trans-mem.c (tm_region_init): Mark entry block as visited.
4647
4648 2016-01-26 David Malcolm <dmalcolm@redhat.com>
4649
4650 PR other/69006
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
4658 before a newline.
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.
4668
4669 2016-01-26 Michael Matz <matz@suse.de>
4670
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.
4675
4676 2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
4677
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.
4684
4685 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4686
4687 PR tree-optimization/69483
4688 * gimple-fold.c (canonicalize_constructor_val): Return NULL
4689 if base has error_mark_node type.
4690
4691 2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
4692
4693 PR target/68620
4694 * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
4695 * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
4696 New helper macros.
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.
4710
4711 2016-01-26 Nathan Sidwell <nathan@acm.org>
4712
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
4720 oacc_validate_dims.
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.
4726
4727 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4728
4729 PR lto/69254
4730 * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
4731 (append_compiler_options): Handle -fcilkplus.
4732 (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
4733
4734 2016-01-26 Nick Clifton <nickc@redhat.com>
4735
4736 PR target/66655
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.
4740
4741 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4742
4743 PR lto/69254
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.
4748
4749 2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
4750
4751 PR target/68986
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
4755 __tls_get_addr.
4756 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
4757 if __tls_get_addr is called.
4758
4759 2016-01-26 Christian Bruel <christian.bruel@st.com>
4760
4761 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
4762
4763 2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
4764
4765 * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
4766
4767 2016-01-26 Richard Biener <rguenther@suse.de>
4768
4769 PR middle-end/69467
4770 * match.pd: Guard X * CST CMP 0 pattern with single_use.
4771
4772 2016-01-26 Richard Biener <rguenther@suse.de>
4773
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
4777 to ...
4778 (move_computations_worker): This.
4779 (move_computations): Perform an RPO rather than a DOM walk.
4780
4781 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4782
4783 PR target/69442
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.
4789
4790 2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
4791
4792 PR target/67896
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.
4796
4797 2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
4798
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.
4806
4807 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
4808 Sebastian Pop <s.pop@samsung.com>
4809
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.
4843 (print_sese): 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.
4854 (nested_in): New.
4855 (loop_at): New.
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.
4899
4900 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
4901 Sebastian Pop <s.pop@samsung.com>
4902
4903 * Makefile.in: Set ISLVER in site.exp.
4904
4905 2016-01-25 Jakub Jelinek <jakub@redhat.com>
4906
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.
4910
4911 2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
4912
4913 * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
4914 the frame info after reload completed.
4915
4916 2016-01-25 Jeff Law <law@redhat.com>
4917
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.
4933
4934 2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4935
4936 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
4937 decl with __attribute__ ((unused)) annotation.
4938
4939 2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
4940
4941 PR target/69421
4942 * tree-vect-stmts.c (vectorizable_condition): Check vectype
4943 of operands is compatible with a statement vectype.
4944
4945 2016-01-25 Eric Botcazou <ebotcazou@adacore.com>
4946
4947 * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
4948 improve wording for mixed storage order support.
4949
4950 2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
4951
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.
4962
4963 2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
4964
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.
4981
4982 2016-01-25 Richard Biener <rguenther@suse.de>
4983
4984 PR lto/69393
4985 * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
4986 * tree-streamer-out.c (pack_ts_base_value_fields): Stream
4987 DECL_NAMELESS.
4988 * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
4989
4990 2016-01-25 Richard Biener <rguenther@suse.de>
4991
4992 PR tree-optimization/69376
4993 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
4994 flag.
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.
5002
5003 2016-01-25 Nick Clifton <nickc@redhat.com>
5004
5005 PR target/66655
5006 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
5007
5008 2016-01-23 Tom de Vries <tom@codesourcery.com>
5009
5010 PR tree-optimization/69426
5011 * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
5012 removed clobber.
5013
5014 2016-01-23 Jakub Jelinek <jakub@redhat.com>
5015
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.
5030
5031 * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
5032 directly instead of building a temporary tree.
5033
5034 PR bootstrap/69434
5035 * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
5036 remove <algorithm> include.
5037
5038 2016-01-22 Jakub Jelinek <jakub@redhat.com>
5039
5040 PR target/69432
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
5044 fixes.
5045 (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
5046 if dynamic_check != -1.
5047
5048 2016-01-21 Jeff Law <law@redhat.com>
5049
5050 PR middle-end/69347
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.
5055
5056 2016-01-22 Richard Henderson <rth@redhat.com>
5057
5058 PR target/69416
5059 * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
5060 (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
5061
5062 2016-01-22 Michael Matz <matz@suse.de>
5063
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
5070 INCLUDE_STRING.
5071 * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
5072
5073 * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
5074 * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
5075
5076 2016-01-22 Christian Bruel <christian.bruel@st.com>
5077
5078 PR target/68674
5079 * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
5080
5081 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5082
5083 PR target/69403
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.
5087
5088 2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org>
5089
5090 * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
5091
5092 2016-01-22 Christian Bruel <christian.bruel@st.com>
5093
5094 * config/arm/arm-c.c (arm_pragma_target_parse):
5095 Remove warn_builtin_macro_redefined overwrite.
5096
5097 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
5098
5099 * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
5100 flag_non_call_exceptions compatibility.
5101
5102 2016-01-22 Jakub Jelinek <jakub@redhat.com>
5103
5104 PR debug/66668
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.
5113
5114 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
5115
5116 * doc/extend.texi (scalar_storage_order type attribute): Document
5117 restriction on type punning and aliasing, and remove future tense.
5118
5119 2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
5120
5121 PR target/69252
5122 * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
5123 first stage.
5124
5125 2016-01-21 Jeff Law <law@redhat.com>
5126
5127 PR middle-end/69347
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
5133 vector.
5134
5135 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
5136
5137 * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
5138 Detangle.
5139 * configure: Regenerate.
5140
5141 2016-01-21 Pat Haugen <pthaugen@us.ibm.com>
5142
5143 * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
5144 * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
5145
5146 2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
5147
5148 PR middle-end/66178
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.
5155
5156 2016-01-21 Anton Blanchard <anton@samba.org>
5157 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5158
5159 PR target/63354
5160 * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
5161 #define.
5162 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
5163 function.
5164
5165 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
5166
5167 * config/microblaze/microblaze.c
5168 (get_branch_target): New.
5169 (insert_wic_for_ilb_runout): New.
5170 (insert_wic): 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.
5178
5179 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
5180
5181 * config/microblaze/microblaze.h
5182 (FIXED_REGISTERS): Update in macro.
5183 (CALL_USED_REGISTERS): Update in macro.
5184
5185 2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
5186
5187 PR rtl-optimization/68920
5188 * ifcvt.c (cond_move_process_if_block): Limit number of conditional
5189 moves.
5190
5191 2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
5192
5193 PR rtl-optimization/68990
5194 * lra-coalesce.c (lra_coalesce): Invalidate value for the result
5195 pseudo instead of inheritance ones.
5196
5197 2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5198 Nick Clifton <nickc@redhat.com>
5199
5200 PR target/69129
5201 PR target/69012
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.
5205
5206 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
5207
5208 * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
5209 label reference.
5210 * configure: Regenerate.
5211
5212 2016-01-21 Richard Biener <rguenther@suse.de>
5213
5214 * graphite-optimize-isl.c (get_schedule_map): Fix typo.
5215
5216 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
5217
5218 * config/s390/s390.c (s390_asm_declare_function_size): Add code
5219 to actually emit the .size directive.
5220
5221 2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
5222 Jakub Jelinek <jakub@redhat.com>
5223
5224 PR target/69187
5225 PR target/65624
5226 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
5227 args array size by one to avoid buffer overflow.
5228
5229 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
5230
5231 * config/s390/s390.md (pool_section_start): Use switch_to_section
5232 to select proper read-only data section instead of hardcoding
5233 .rodata.
5234 (pool_section_end): Use switch_to_section to match the above.
5235
5236 2016-01-21 Richard Biener <rguenther@suse.de>
5237
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.
5242
5243 2016-01-21 Jakub Jelinek <jakub@redhat.com>
5244
5245 PR c++/69355
5246 * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
5247 for bitsize instead of GET_MODE_PRECISION (mode).
5248
5249 2016-01-20 Martin Sebor <msebor@redhat.com>
5250
5251 PR c/52291
5252 * extend.texi (__sync Builtins): Clarify the semantics of
5253 __sync_fetch_and_OP built-ins on pointers.
5254 (__atomic Builtins): Same.
5255
5256 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5257 Sebastian Pop <s.pop@samsung.com>
5258
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.
5269
5270 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5271 Sebastian Pop <s.pop@samsung.com>
5272
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.
5276 (copy_def): Remove.
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.
5286
5287 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5288 Sebastian Pop <s.pop@samsung.com>
5289
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.
5294
5295 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5296 Sebastian Pop <s.pop@samsung.com>
5297
5298 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
5299 Discard unstructured if-then-else regions.
5300
5301 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5302 Sebastian Pop <s.pop@samsung.com>
5303
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.
5312
5313 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5314 Sebastian Pop <s.pop@samsung.com>
5315
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.
5319
5320 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5321 Sebastian Pop <s.pop@samsung.com>
5322
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.
5333
5334 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5335 Sebastian Pop <s.pop@samsung.com>
5336
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.
5342
5343 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5344 Sebastian Pop <s.pop@samsung.com>
5345
5346 * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
5347 isl_ast_node_mark.
5348
5349 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5350 Sebastian Pop <s.pop@samsung.com>
5351
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.
5355
5356 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5357 Sebastian Pop <s.pop@samsung.com>
5358
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.
5382
5383 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
5384
5385 * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
5386 requirements.
5387
5388 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
5389
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.
5399
5400 2016-01-21 Jakub Jelinek <jakub@redhat.com>
5401
5402 * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
5403 warning. Fix up formatting.
5404
5405 PR middle-end/67653
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.
5410
5411 2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
5412
5413 * config/rs6000/ppc-auxv.h: New file.
5414 * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
5415 (cpu_is): Likewise.
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.
5432
5433 2016-01-20 David Edelsohn <dje.gcc@gmail.com>
5434
5435 PR target/68609
5436 * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
5437 domain check.
5438 * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
5439 for V4SFmode.
5440
5441 2016-01-20 Richard Henderson <rth@redhat.com>
5442
5443 PR bootstrap/69343
5444 PR bootstrap/69339
5445 PR tree-opt/68964
5446 Revert:
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.
5451
5452 2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
5453
5454 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
5455 (arm_fp_ok): Likewise.
5456 (arm_fp): Likewise.
5457 (arm_crypto): Likewise.
5458
5459 2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
5460 Richard Biener <rguenther@suse.de>
5461
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.
5466
5467 2016-01-20 Richard Biener <rguenther@suse.de>
5468
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.
5476
5477 2016-01-20 Jeff Law <law@redhat.com>
5478
5479 PR target/25114
5480 * config/m68k/predicates.md (pow2_m1_operand): New predicate
5481 extracted from ...
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.
5486
5487 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
5488
5489 * doc/invoke.texi (Options Summary): Add '.' after @xref.
5490
5491 2016-01-19 Jeff Law <law@redhat.com>
5492
5493 PR middle-end/69347
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.
5497
5498 2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
5499
5500 * doc/lto.texi: Remove text that says only Gold has linker plugin
5501 support.
5502
5503 2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
5504
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
5512 modified_type_die.
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.
5532
5533 2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
5534
5535 * doc/standards.texi: Copy-editing for grammar, markup, and sentence
5536 flow throughout the file. Fix broken link to Objective-C 2.0
5537 documentation.
5538 * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
5539 errors.
5540
5541 2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5542
5543 * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
5544
5545 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5546
5547 PR ipa/66223
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.
5552
5553 2016-01-19 Richard Biener <rguenther@suse.de>
5554
5555 * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
5556 (get_memory_order): Likewise.
5557
5558 2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
5559
5560 * tree-vect-stmts.c (vectorizable_store): Check
5561 rhs vectype.
5562
5563 2016-01-19 David Malcolm <dmalcolm@redhat.com>
5564
5565 PR jit/68446
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.
5576
5577 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5578
5579 PR target/69135
5580 * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
5581 attribute to unconditional. Remove %? from output template.
5582
5583 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5584 Jiong Wang <jiong.wang@arm.com>
5585
5586 * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
5587 generated from different expand order.
5588
5589 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5590
5591 * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
5592 Add support for CCMP costing.
5593
5594 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5595
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.
5600 (fcmpe): Likewise.
5601 * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
5602 (aarch64_gen_ccmp_next): Add FP support.
5603
5604 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5605
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
5629 when bitcode is OR.
5630 * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
5631 * config/aarch64/predicates.md (ccmp_cc_register): Remove.
5632
5633 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5634
5635 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
5636 instrumented_version.
5637
5638 2016-01-19 Richard Biener <rguenther@suse.de>
5639
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.
5644
5645 2016-01-19 Jakub Jelinek <jakub@redhat.com>
5646
5647 PR debug/65779
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.
5657
5658 2016-01-19 Richard Biener <rguenther@suse.de>
5659
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.
5664
5665 2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
5666
5667 * ira.c (ira): Update regstat data if we deleted insns.
5668
5669 2016-01-19 Jakub Jelinek <jakub@redhat.com>
5670
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.
5676
5677 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5678
5679 PR lto/69133
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
5683 check.
5684
5685 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5686
5687 * lto-streamer-out.c (lto_output): Do not stream instrumentation
5688 thunks.
5689
5690 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5691
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.
5694
5695 2016-01-19 Martin Jambor <mjambor@suse.cz>
5696 Martin Liska <mliska@suse.cz>
5697 Michael Matz <matz@suse.de>
5698
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
5706 $enable_offloading.
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
5710 --with-hsa-kmt-lib.
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
5755 constructs.
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.
5822 * hsa.c: Likewise.
5823 * hsa.h: Likewise.
5824 * toplev.c (compile_file): Call hsa_output_brig.
5825 * hsa-regalloc.c: New file.
5826
5827 2016-01-18 Jeff Law <law@redhat.com>
5828
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.
5834
5835 * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
5836 test.
5837
5838 2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
5839
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
5847 new section.
5848 (Developer Options): New section incorporating moved options.
5849 * doc/cppopts.texi (-dM): Update cross-reference.
5850
5851 2016-01-18 Richard Henderson <rth@redhat.com>
5852
5853 PR target/69176
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.
5865
5866 2016-01-18 Richard Biener <rguenther@suse.de>
5867
5868 PR tree-optimization/69297
5869 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
5870 stmt at most once.
5871 (vect_bb_vectorization_profitable_p): Clear visited flag again.
5872
5873 2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
5874
5875 PR middle-end/68542
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
5885 valid type of VAL.
5886
5887 2016-01-18 Joseph Myers <joseph@codesourcery.com>
5888
5889 * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
5890 !TARGET_OCTEON.
5891
5892 2016-01-18 Richard Biener <rguenther@suse.de>
5893
5894 PR middle-end/69308
5895 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
5896
5897 2016-01-18 Tom de Vries <tom@codesourcery.com>
5898
5899 * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
5900
5901 2016-01-18 Tom de Vries <tom@codesourcery.com>
5902
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.
5921
5922 2016-01-18 Tom de Vries <tom@codesourcery.com>
5923
5924 * tree-parloops.c (pass_parallelize_loops::execute): Allow
5925 pass_parallelize_loops to be run outside the loop pipeline.
5926
5927 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
5928
5929 * tree-scalar-evolution.c (follow_copies_to_constant): New.
5930 (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
5931
5932 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
5933
5934 PR target/63679
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.
5939
5940 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
5941
5942 PR target/63679
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.
5955
5956 2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
5957
5958 * config/i386/i386.c (scalar_to_vector_candidate_p): Support
5959 andnot instruction.
5960 (scalar_chain::convert_op): Likewise.
5961 * config/i386/i386.md (*andndi3_doubleword): New.
5962
5963 2016-01-18 Richard Biener <rguenther@suse.de>
5964
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.
5968
5969 2016-01-18 Jakub Jelinek <jakub@redhat.com>
5970
5971 * haifa-sched.c (autopref_multipass_init): Work around
5972 -Wmaybe-uninitialized warning.
5973
5974 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
5975
5976 * config/arm/arm.c (thumb1_reorg): Check that the comparison is
5977 against the constant 0.
5978
5979 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5980
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.
5989
5990 2016-01-17 Jakub Jelinek <jakub@redhat.com>
5991
5992 * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
5993 -Wmaybe-uninitialized warning.
5994
5995 2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
5996
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.
6007
6008 2016-01-16 Tom de Vries <tom@codesourcery.com>
6009
6010 * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
6011
6012 2016-01-16 Tom de Vries <tom@codesourcery.com>
6013
6014 * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
6015
6016 2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
6017
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.
6022
6023 2016-01-15 David Malcolm <dmalcolm@redhat.com>
6024
6025 PR diagnostic/68899
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.
6029
6030 2016-01-15 Jeff Law <law@redhat.com>
6031
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.
6039
6040 2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
6041
6042 PR rtl-optimization/69030
6043 * lra-spills.c (remove_pseudos): Check nrefs and make the function
6044 returning bool.
6045 (spill_pseudos): Delete debug insn for dead pseudo.
6046 (lra_spill): Initiate spill_hard_reg and slots memory separately.
6047
6048 2016-01-15 Jiong Wang <jiong.wang@arm.com>
6049
6050 * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
6051 New.
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
6078 conversion.
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.
6101
6102 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6103
6104 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
6105 CSEL of zero_extended registers.
6106
6107 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6108
6109 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
6110 Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
6111
6112 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6113
6114 * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
6115 false when argument string is not found in the attributes table
6116 at all.
6117
6118 2016-01-15 David Edelsohn <dje.gcc@gmail.com>
6119
6120 PR target/68609
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
6124 precision estimate.
6125
6126 2016-01-15 Richard Biener <rguenther@suse.de>
6127
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.
6139
6140 2016-01-15 Richard Biener <rguenther@suse.de>
6141
6142 PR debug/69137
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
6147 if necessary.
6148
6149 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
6150
6151 * gimplify.c (oacc_default_clause): Decode reference and pointer
6152 types for both kernels and parallel regions.
6153
6154 2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
6155
6156 PR middle-end/69246
6157 * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
6158
6159 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
6160
6161 * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
6162 (convert_scalars_to_vector): Likewise.
6163
6164 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
6165
6166 * doc/extend.texi (Type Traits): Fix grammar.
6167
6168 2016-01-15 Martin Jambor <mjambor@suse.cz>
6169
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
6177 padding.
6178
6179 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
6180
6181 * config/s390/s390.opt (mmvcle): More verbose help text.
6182
6183 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
6184
6185 * config/s390/s390.opt: Add period to -mzvector option text.
6186
6187 2016-01-15 Richard Biener <rguenther@suse.de>
6188
6189 PR tree-optimization/68961
6190 * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
6191 of invariants in stores again.
6192
6193 2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
6194
6195 * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
6196
6197 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
6198
6199 * config/i386/i386.c (ix86_expand_branch): Don't split
6200 DI mode xor instruction to SI mode.
6201
6202 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
6203
6204 PR ipa/68148
6205 * ipa-icf.c (sem_function::merge): Virtual functions may become
6206 reachable even if they address is not taken and there are no
6207 idrect calls.
6208
6209 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
6210
6211 * lto-streamer-out.c (subtract_estimated_size): New function.
6212 (get_symbol_initial_value): Use it.
6213
6214 2016-01-15 Christian Bruel <christian.bruel@st.com>
6215
6216 PR target/65837
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.
6228
6229 2016-01-15 Richard Biener <rguenther@suse.de>
6230
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.
6236
6237 2016-01-14 Jeff Law <law@redhat.com>
6238
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.
6244
6245 2016-01-14 Richard Henderson <rth@redhat.com>
6246
6247 PR rtl-opt/69014
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.
6252
6253 2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6254
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.
6260
6261 2016-01-14 Jeff Law <law@redhat.com>
6262
6263 * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
6264 typo.
6265
6266 2016-01-14 Richard Henderson <rth@redhat.com>
6267
6268 PR c/69272
6269 PR tree-opt/68964
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.
6273
6274 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
6275
6276 * doc/loop.texi (Loop Analysis and Representation): Document
6277 loop_depth function.
6278
6279 2016-01-14 Tom de Vries <tom@codesourcery.com>
6280
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.
6286
6287 2016-01-14 Jakub Jelinek <jakub@redhat.com>
6288
6289 PR debug/69244
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.
6294
6295 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
6296
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.
6308
6309 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
6310
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.
6317
6318 2016-01-14 Jan Hubicka <hubicka@ucw.cz>
6319
6320 * alias.c (compare_base_symbol_refs): New function.
6321 (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
6322 it.
6323
6324 2016-01-14 Jakub Jelinek <jakub@redhat.com>
6325
6326 PR middle-end/68146
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
6336 in phis_to_revisit.
6337 (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
6338 in phis_to_revisit at the end.
6339
6340 2016-01-14 Richard Biener <rguenther@suse.de>
6341
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.
6346
6347 2016-01-14 Jakub Jelinek <jakub@redhat.com>
6348
6349 PR target/68269
6350 * combine.c (expand_field_assignment): Punt if compute_mode is
6351 unsupported scalar mode.
6352
6353 2016-01-14 Richard Biener <rguenther@suse.de>
6354
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.
6359
6360 2016-01-14 Jeff Law <law@redhat.com>
6361
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
6365 to the type of op0.
6366
6367 2016-01-13 Jan Hubicka <hubicka@ucw.cz>
6368
6369 PR ipa/66487
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.
6373
6374 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
6375
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.
6379 Update references.
6380
6381 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
6382
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.
6386
6387 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
6388
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.
6392
6393 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
6394
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.
6399
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.
6405
6406 * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
6407 (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
6408 functions
6409 (RS6000_BTM_COMMON): Likewise.
6410
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.
6423
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.
6427
6428 * doc/extend.texi (PowerPC Built-in Functions): Document
6429 __builtin_pack_ibm128 and __builtin_unpack_ibm128.
6430
6431 2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
6432
6433 PR c/66208
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.
6441
6442 2016-01-13 Jakub Jelinek <jakub@redhat.com>
6443
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.
6450
6451 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
6452
6453 * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
6454 effects.
6455
6456 2016-01-13 Richard Henderson <rth@redhat.com>
6457
6458 PR tree-opt/68964
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.
6467
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
6473 via target hook.
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.
6481
6482 2016-01-13 Uros Bizjak <ubizjak@gmail.com>
6483
6484 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
6485 TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
6486
6487 2016-01-13 Tom de Vries <tom@codesourcery.com>
6488
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.
6494
6495 2016-01-13 Yvan Roux <yvan.roux@linaro.org>
6496
6497 * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
6498 and "armv8.1-a+crc" entries.
6499
6500 2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
6501
6502 PR target/69228
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.
6515
6516 2016-01-13 Richard Biener <rguenther@suse.de>
6517
6518 PR tree-optimization/69013
6519 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
6520 Exchange assert for a test.
6521
6522 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6523
6524 PR target/69247
6525 * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
6526
6527 2016-01-13 Richard Biener <rguenther@suse.de>
6528
6529 PR tree-optimization/69242
6530 * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
6531 assert with a check.
6532
6533 2016-01-13 Richard Biener <rguenther@suse.de>
6534
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.
6538
6539 2016-01-12 Jeff Law <law@redhat.com>
6540
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
6548 needed.
6549
6550 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
6551
6552 * doc/invoke.texi (Spec Files): Move section down in file, past
6553 all command-line option descriptions.
6554
6555 2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6556
6557 PR middle-end/54809
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.
6563
6564 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
6565
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.
6571
6572 2016-01-12 Jeff Law <law@redhat.com>
6573
6574 * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
6575
6576 2016-01-12 Olivier Hainque <hainque@adacore.com>
6577
6578 * gcc.c (spec_undefvar_allowed): New global.
6579 (process_command): Set to true when running for --version or --help,
6580 alone or together.
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
6583 a fatal error.
6584
6585 2016-01-12 Bin Cheng <bin.cheng@arm.com>
6586
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".
6590
6591 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
6592
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.
6597
6598 2016-01-12 Christian Bruel <christian.bruel@st.com>
6599
6600 PR target/69180
6601 * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
6602 for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
6603
6604 2016-01-12 Jakub Jelinek <jakub@redhat.com>
6605
6606 PR target/69198
6607 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
6608 aligned_mem is properly set for AVX512-VL floating point masked
6609 stores.
6610
6611 PR target/69175
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.
6614
6615 2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
6616
6617 PR target/68456
6618 PR target/69226
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.
6624
6625 2016-01-12 Richard Biener <rguenther@suse.de>
6626
6627 PR tree-optimization/69053
6628 * tree-vect-loop.c (get_initial_def_for_reduction): Properly
6629 convert initial value for cond reductions.
6630
6631 2016-01-12 Richard Biener <rguenther@suse.de>
6632
6633 PR tree-optimization/69007
6634 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
6635 widen_sum after dot_prod and sad.
6636
6637 2016-01-12 Richard Biener <rguenther@suse.de>
6638
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.
6644
6645 2016-01-12 Richard Biener <rguenther@suse.de>
6646
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.
6658
6659 2016-01-12 Richard Biener <rguenther@suse.de>
6660
6661 PR tree-optimization/69174
6662 * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
6663 space.
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.
6667
6668 2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
6669
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
6689
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.
6701
6702 * config/i386/djgpp.c: New file. Add implementation of
6703 i386_djgpp_asm_named_section.
6704
6705 * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
6706
6707 * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
6708 Add rule for building djgpp.o.
6709
6710 2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6711
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.
6715
6716 2016-01-11 John David Anglin <danglin@gcc.gnu.org>
6717
6718 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
6719 reloads for other unsupported memory operands.
6720
6721 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
6722 Jim Wilson <jim.wilson@linaro.org>
6723
6724 PR target/69194
6725 * config/arm/arm-builtins.c (arm_expand_neon_args): Call
6726 copy_to_mode_reg instead of force_reg.
6727
6728 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
6729
6730 PR target/69225
6731 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
6732 TARGET_80387 is true.
6733
6734 2016-01-11 Jakub Jelinek <jakub@redhat.com>
6735
6736 PR target/69071
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.
6741
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.
6747
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.
6751 Formatting fix.
6752
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.
6758
6759 2016-01-11 Richard Biener <rguenther@suse.de>
6760
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.
6764
6765 2016-01-11 Uros Bizjak <ubizjak@gmail.com>
6766
6767 PR middle-end/68999
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.
6772
6773 2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6774
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.
6780
6781 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
6782
6783 * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
6784 (<avx512>_store<mode>_mask): Likewise.
6785
6786 2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
6787 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6788
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.
6797
6798 2016-01-11 Tom de Vries <tom@codesourcery.com>
6799
6800 PR tree-optimization/69069
6801 * tree-parloops.c (create_parallel_loop): Add missing phi args.
6802
6803 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
6804
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
6813 RTL if-conversion.
6814 * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
6815 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
6816 conditionl moves.
6817
6818 2016-01-11 Alexandre Oliva <aoliva@redhat.com>
6819
6820 PR bootstrap/69123
6821 * var-tracking.c (drop_overlapping_mem_locs): Operate on all
6822 onepart vars. Fix typo in comment. Fix reversed condition in
6823 unshare test.
6824 (dataflow_set_remove_mem_locs): Operate on all onepart vars.
6825
6826 PR bootstrap/69123
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.
6831
6832 2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
6833
6834 PR target/69010
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.
6840
6841 2016-01-11 Martin Jambor <mjambor@suse.cz>
6842
6843 PR ipa/69044
6844 * ipa-cp.c (estimate_local_effects): Do not clone for removal of
6845 useless parameters if we cannot change function signature.
6846
6847 2016-01-11 Martin Jambor <mjambor@suse.cz>
6848
6849 PR ipa/66616
6850 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
6851 flag.
6852
6853 2016-01-11 Tom de Vries <tom@codesourcery.com>
6854
6855 PR tree-optimization/69109
6856 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
6857 latch with phi.
6858
6859 2016-01-11 Tom de Vries <tom@codesourcery.com>
6860
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.
6864
6865 2016-01-11 Yury Gribov <y.gribov@samsung.com>
6866
6867 PR 67425
6868 * common.opt (frandom-seed): Fix parameter name.
6869 * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
6870
6871 2016-01-11 Tom de Vries <tom@codesourcery.com>
6872
6873 PR tree-optimization/69058
6874 * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
6875 not supported.
6876
6877 2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
6878
6879 * config/arc/arc.opt (mdiv-rem): Add period to the end.
6880 (mcode-density): Likewise.
6881
6882 2016-01-10 Tom de Vries <tom@codesourcery.com>
6883
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
6887 arg.
6888
6889 2016-01-10 Tom de Vries <tom@codesourcery.com>
6890
6891 PR tree-optimization/69039
6892 * tree-parloops.c (try_create_reduction_list): Only allow single exit
6893 phi for reduction.
6894
6895 2016-01-09 John David Anglin <danglin@gcc.gnu.org>
6896
6897 PR middle-end/68743
6898 * match.pd: Require target has function_c99_misc before doing
6899 truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
6900
6901 2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
6902
6903 * configure.ac (isl_options_set_schedule_serialize_sccs): Also
6904 use GMPINC.
6905 * configure: Regenerate.
6906
6907 2016-01-09 Jakub Jelinek <jakub@redhat.com>
6908
6909 PR middle-end/50865
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.
6922
6923 2016-01-09 Jan Hubicka <hubicka@ucw.cz>
6924
6925 * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
6926 w/o DECL_NAME.
6927
6928 2016-01-08 Jakub Jelinek <jakub@redhat.com>
6929
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
6933 ops[0] comparison.
6934 * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
6935
6936 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
6937 Richard Biener <rguenther@suse.de>
6938
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.
6942
6943 2016-01-08 Uros Bizjak <ubizjak@gmail.com>
6944
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.
6949
6950 2016-01-08 Jason Merrill <jason@redhat.com>
6951
6952 PR c++/68983
6953 PR c++/67557
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.
6959
6960 2016-01-08 Olivier Hainque <hainque@adacore.com>
6961
6962 * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
6963 libc_internal.
6964
6965 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
6966
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.
6973
6974 2016-01-08 Jakub Jelinek <jakub@redhat.com>
6975
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.
6983
6984 PR tree-optimization/69172
6985 * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
6986 gimple_build.
6987
6988 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
6989
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.
6995
6996 2016-01-08 Jakub Jelinek <jakub@redhat.com>
6997
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.
7003
7004 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
7005
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.
7012
7013 2016-01-07 Martin Sebor <msebor@redhat.com>
7014
7015 PR c/68966
7016 * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
7017 constraint on the type of arguments.
7018
7019 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
7020
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.
7026
7027 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
7028
7029 PR target/69140
7030 * config/i386/i386.c (ix86_frame_pointer_required): Enable
7031 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
7032
7033 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
7034
7035 Revert
7036 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
7037
7038 PR target/69140
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.
7042
7043 2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
7044
7045 PR 1078
7046 * doc/extend.texi (Nvidia PDX Function Attributes): New section.
7047
7048 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
7049
7050 PR target/69171
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):
7054 Likewise.
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
7063 predicate.
7064
7065 2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
7066
7067 PR middle-end/67639
7068 * varasm.c (make_decl_rtl): Mark invalid register vars as
7069 DECL_EXTERNAL.
7070
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.
7074
7075 2016-01-07 Jakub Jelinek <jakub@redhat.com>
7076
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 ().
7082
7083 PR middle-end/68960
7084 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
7085 it and DECL_ALIGN too.
7086
7087 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
7088
7089 * config/mips/mips-ftypes.def: Sort to lexicographical order.
7090
7091 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
7092
7093 PR target/69140
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.
7097
7098 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7099
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.
7109
7110 2016-01-06 Marek Polacek <polacek@redhat.com>
7111
7112 PR sanitizer/69099
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.
7118
7119 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
7120
7121 PR 1078
7122 * doc/extend.texi (RL78 Variable Attributes): New section.
7123
7124 2016-01-05 Marek Polacek <polacek@redhat.com>
7125
7126 PR c/69104
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.
7133
7134 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
7135
7136 PR target/68991
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
7141 vector_operand.
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.
7149
7150 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
7151
7152 PR target/68991
7153 * config/i386/constraints.md (Bm): New constraint.
7154 * config/i386/predicates.md (vector_memory_operand): New
7155 predicate.
7156 * config/i386/sse.md: Replace xm with xBm in plusminus and
7157 any_logic patterns.
7158
7159 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
7160
7161 PR 1078
7162 * doc/extend.texi (V850 Function Attributes): New section.
7163 (V850 Variable Attributes): New section.
7164
7165 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
7166
7167 PR 1078
7168 * doc/extend.texi (MicroBlaze Function Attributes): Document
7169 interrupt_handler and fast_interrupt attributes.
7170
7171 2016-01-05 Sergei Trofimovich <siarheit@google.com>
7172
7173 PR other/60465
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
7177 predicate.
7178
7179 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7180
7181 PR rtl-optimization/68651
7182 * combine.c (combine_simplify_rtx): Canonicalize x + x into
7183 x << 1.
7184
7185 2016-01-05 Nathan Sidwell <nathan@acm.org>
7186
7187 * alias.c (compare_base_decls): Use symtab_node::get.
7188
7189 2016-01-05 Nick Clifton <nickc@redhat.com>
7190
7191 PR target/68770
7192 * ira-costs.c (copy_cost): Initialise the t_icode field of the
7193 secondary_reload_info structure.
7194
7195 PR target/66655
7196 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
7197 decls if weak support is available.
7198
7199 2016-01-04 Martin Sebor <msebor@redhat.com>
7200
7201 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
7202
7203 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
7204
7205 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
7206 OPTION_MASK_P9_DFORM.
7207
7208 * config/rs6000/constraints.md (wo constraint): New constraint for
7209 ISA 3.0 (power9).
7210
7211 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
7212 for wo constraint.
7213 (rs6000_init_hard_regno_mode_ok): Likewise.
7214
7215 * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
7216 wo constraint.
7217
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.
7227
7228 * doc/md.texi (RS/6000 constraints): Document wo constraint.
7229
7230 2016-01-04 Jakub Jelinek <jakub@redhat.com>
7231
7232 Update copyright years.
7233
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.
7246
7247 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
7248
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.
7251
7252 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
7253
7254 PR target/69100
7255 * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
7256 mode for %f0-%f31 only if TARGET_FPU.
7257
7258 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
7259
7260 PR target/69072
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.
7264
7265 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
7266
7267 * doc/install.texi (--with-multilib-list): Describe the meaning of the
7268 option for arm*-*-* targets.
7269
7270 2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
7271
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
7278 attribute docs.
7279
7280 2016-01-03 Vladimír Čunát <vcunat@gmail.com>
7281
7282 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
7283 -finite-math typo.
7284 (x86 Options): Likewise.
7285
7286 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
7287
7288 PR 1078
7289
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.
7293
7294 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
7295
7296 * doc/extend.texi (Common Function Attributes) <noplt>: Move
7297 to correct alphabetization of table. Copy-edit and correct
7298 markup.
7299 <stack_protect>: Likewise.
7300 <target_clones>: Likewise.
7301 <simd>: Likewise.
7302 * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
7303 Correct punctuation.
7304 (Code Gen Options) <-fno-plt>: Copy-edit.
7305
7306 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
7307
7308 PR target/68917
7309 * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
7310 SI values. Explicitly convert SI to DI and vice-versa.
7311
7312 2016-01-01 Jakub Jelinek <jakub@redhat.com>
7313
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.
7317
7318 PR sanitizer/69055
7319 * ubsan.c (ubsan_instrument_float_cast): Call
7320 initialize_sanitizer_builtins.
7321
7322 PR target/69015
7323 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
7324 \f
7325 Copyright (C) 2016 Free Software Foundation, Inc.
7326
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.