]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
Fix record-shape escapes in pp_write_text_as_dot_label_to_stream
[thirdparty/gcc.git] / gcc / ChangeLog
1 2016-04-17 Tom de Vries <tom@codesourcery.com>
2
3 * pretty-print.c (pp_write_text_as_dot_label_to_stream): Classify chars
4 '{}<> ' as escape-for-record.
5
6 2016-04-17 Tom de Vries <tom@codesourcery.com>
7
8 * pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop
9 structure.
10
11 2016-04-17 Tom de Vries <tom@codesourcery.com>
12
13 PR other/70185
14 * tree-pass.h (class opt_pass): Remove graph_dump_initialized member.
15 * dumpfile.h (struct dump_file_info): Add graph_dump_initialized field.
16 * dumpfile.c (dump_files): Initialize graph_dump_initialized field.
17 * passes.c (finish_optimization_passes): Only call
18 finish_graph_dump_file if dfi->graph_dump_initialized.
19 (execute_function_dump, pass_init_dump_file): Use
20 dfi->graph_dump_initialized instead of pass->graph_dump_initialized.
21
22 2016-04-17 Tom de Vries <tom@codesourcery.com>
23
24 PR tree-optimization/70256
25 * tree-ssa-structalias.c (dump_varinfo, debug_varinfo, dump_varmap)
26 (debug_varmap): New function.
27
28 2016-04-17 Tom de Vries <tom@codesourcery.com>
29
30 PR other/70183
31 * passes.c (pass_manager::register_pass): Propagate pflags.
32
33 2016-04-17 Tom de Vries <tom@codesourcery.com>
34
35 PR other/68875
36 * pass_manager.h (TERMINATE_PASS_LIST): Add pass argument.
37 * passes.c (pass_manager::pass_manager): Declare and init p_start in
38 INSERT_PASSES_AFTER. Add pass parameter to TERMINATE_PASS_LIST, and
39 check if it's equal to p_start.
40 * passes.def: Add arguments to TERMINATE_PASS_LISTs.
41
42 2016-04-15 Jan Hubicka <jh@suse.cz>
43
44 PR ipa/70018
45 * cgraph.c (cgraph_set_const_flag_1): Only set as pure if
46 function does not bind to current def.
47 * ipa-pure-const.c (worse_state): Add FROM and TO parameters;
48 handle conservatively calls to functions that does not need to bind
49 to current def.
50 (check_call): Update call of worse_state.
51 (ignore_edge_for_nothrow): Update.
52 (ignore_edge_for_pure_const): Likewise.
53 (propagate_pure_const): Update calls to worse_state.
54 (skip_function_for_local_pure_const): Reformat comments.
55
56 2016-04-15 Jan Hubicka <jh@suse.cz>
57
58 PR ipa/70018
59 * cgraph.c (cgraph_node::get_availability): Add REF parameter.
60 (cgraph_node::function_symbol): Likewise.
61 (cgraph_node::function_or_virtual_thunk_symbol): Likewise.
62 * cgraph.h (symtab_node::get_availabbility): Add REF parameter.
63 (symtab_node::ultimate_alias_target): Add REF parameter.
64 (symtab_node::binds_to_current_def_p): Declare.
65 (symtab_node;:ultimate_alias_target_1): Add REF parameter.
66 (cgraph_node::function_symbol): Likewise.
67 (cgraph_node::function_or_virtual_thunk_symbol): Likewise.
68 (cgraph_node::get_availability): Likewise.
69 (cgraph_edge::binds_to_current_def_p): New inline function.
70 (varpool_node::get_availability): Add REF parameter.
71 (varpool_node::ultimate_alias_target): Likewise.
72 * symtab.c (symtab_node::ultimate_alias_target_1): Likewise.
73 (symtab_node::binds_to_current_def_p): Likewise.
74 * varpool.c (varpool_node::get_availability): Likewise.
75
76 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
77
78 PR target/70662
79 * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"):
80 Fix mode size check.
81
82 2016-04-15 Jakub Jelinek <jakub@redhat.com>
83
84 * BASE-VER: Set to 7.0.0.
85
86 2016-04-15 Alexander Monakov <amonakov@ispras.ru>
87
88 * config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
89
90 2016-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
91
92 * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
93 architecture revisions.
94
95 2016-04-15 Bernd Schmidt <bschmidt@redhat.com>
96
97 * config/i386/i386-protos.h (ix86_using_red_zone): Declare.
98 * config/i386/i386.c (ix86_using_red_zone): No longer static.
99 * config/i386/i386.md (stack decrement to push peepholes): Guard
100 with !x86_using_red_zone ().
101
102 2016-04-15 Jakub Jelinek <jakub@redhat.com>
103
104 PR c++/70675
105 * tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
106 to dump_generic_node.
107 (NIY): Pass also flags to do_niy.
108
109 2016-04-15 Thomas Schwinge <thomas@codesourcery.com>
110
111 * omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
112 (simd_clone_vector_of_formal_parm_types)
113 (simd_clone_clauses_extract, simd_clone_compute_base_data_type)
114 (simd_clone_mangle, simd_clone_create)
115 (simd_clone_adjust_return_type, create_tmp_simd_array)
116 (simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
117 (struct modify_stmt_info, ipa_simd_modify_stmt_ops)
118 (ipa_simd_modify_function_body, simd_clone_linear_addend)
119 (simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
120 (pass_data_omp_simd_clone, class pass_omp_simd_clone)
121 (pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move
122 into...
123 * omp-simd-clone.c: ... this new file.
124 (simd_clone_vector_of_formal_parm_types): Make it static.
125 * Makefile.in (OBJS): Add omp-simd-clone.o.
126
127 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
128
129 PR target/70662
130 * config/i386/sse.md: Use proper memory operand
131 modifiers.
132
133
134 2016-04-15 Richard Biener <rguenther@suse.de>
135 Alan Modra <amodra@gmail.com>
136
137 PR tree-optimization/70130
138 * tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
139 when alignment stays not the same and no not use the realign
140 scheme then.
141
142 2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
143
144 PR target/70669
145 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
146 direct move handlers for KFmode. Change TFmode handlers test from
147 FLOAT128_IEEE_P to FLOAT128_VECTOR_P.
148
149 2016-04-14 Jakub Jelinek <jakub@redhat.com>
150
151 PR c++/70594
152 * ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
153 * ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
154 (inlined_polymorphic_ctor_dtor_block_p): Use it.
155 * tree-ssa-live.c (remove_unused_scope_block_p): When
156 in_ctor_dtor_block, avoid discarding not just BLOCKs with
157 BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
158 block_ultimate_origin is FUNCTION_DECL.
159 (remove_unused_locals): If current_function_decl is
160 polymorphic_ctor_dtor_p, pass initial true to
161 remove_unused_scope_block_p' is_ctor_dtor_block.
162
163 2016-04-14 Martin Sebor <msebor@redhat.com>
164
165 PR c++/69517
166 PR c++/70019
167 PR c++/70588
168 * doc/extend.texi (Variable Length): Revert.
169
170 2016-04-14 Marek Polacek <polacek@redhat.com>
171 Jan Hubicka <hubicka@ucw.cz>
172
173 PR c++/70029
174 * tree.c (verify_type): Disable the canonical type of main variant
175 check.
176
177 2016-04-14 Jason Merrill <jason@redhat.com>
178
179 * cfgexpand.c, expr.c: Revert previous change.
180
181 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
182
183 PR middle-end/70643
184 * omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
185 when building a mem ref for the incoming reduction variable.
186
187 2016-04-14 Richard Biener <rguenther@suse.de>
188
189 PR tree-optimization/70614
190 * tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
191 loop if the evolution dropped to chrec_dont_know.
192 (interpret_condition_phi): Likewise.
193
194 2016-04-14 Richard Biener <rguenther@suse.de>
195
196 PR tree-optimization/70623
197 * tree-ssa-pre.c (changed_blocks): Make global ...
198 (compute_antic): ... local here. Move and fix worklist
199 handling here. Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
200 (compute_antic_aux): Add dumping for MAX assumed succs. Remove
201 worklist handling, dump when ANTIC_IN changed.
202 (compute_partial_antic_aux): Remove worklist handling.
203 (init_pre): Do not compute post dominators. Add a comment about
204 the CFG order chosen.
205 (fini_pre): Do not free post dominators.
206
207 2016-04-13 Martin Sebor <msebor@redhat.com>
208
209 PR c++/69517
210 PR c++/70019
211 PR c++/70588
212 * doc/extend.texi (Variable Length): Document C++ specifics.
213
214 2016-04-13 Jakub Jelinek <jakub@redhat.com>
215
216 PR c++/70641
217 * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
218 on all recursive call stmts. Return TODO_cleanup_cfg if any dead
219 eh edges have been purged.
220
221 PR c++/70594
222 * tree-sra.c (create_access_replacement,
223 get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
224 gets fancy name.
225 * tree-pretty-print.c (dump_fancy_name): New function.
226 (dump_decl_name, dump_generic_node): Use it.
227
228 2016-04-13 Jason Merrill <jason@redhat.com>
229
230 * cfgexpand.c (pass_expand::execute): Handle attribute "abi warning".
231 * expr.c (expand_expr_real_1): Likewise.
232
233 2016-04-13 Ilya Enkovich <ilya.enkovich@intel.com>
234
235 * config/i386/i386.md (kunpckhi): Swap operands.
236 (kunpcksi): Likewise.
237 (kunpckdi): Likewise.
238 * config/i386/sse.md (vec_pack_trunc_qi): Likewise.
239 (vec_pack_trunc_<mode>): Likewise.
240
241 2016-04-13 Jakub Jelinek <jakub@redhat.com>
242
243 PR debug/70628
244 * explow.c (convert_memory_address_addr_space_1): Formatting fix.
245
246 PR middle-end/70633
247 * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
248 gimplification turns some element into non-constant.
249
250 PR debug/70628
251 * rtl.h (convert_memory_address_addr_space_1): New prototype.
252 * explow.c (convert_memory_address_addr_space_1): No longer static,
253 add NO_EMIT argument and don't call convert_modes if true, pass
254 it down recursively, remove break after return.
255 (convert_memory_address_addr_space): Adjust caller.
256 * simplify-rtx.c (simplify_unary_operation_1): Call
257 convert_memory_address_addr_space_1 instead of convert_memory_address,
258 if it returns NULL, don't simplify.
259
260 2016-04-12 Eric Botcazou <ebotcazou@adacore.com>
261
262 PR target/70630
263 * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
264
265 2016-04-12 Jakub Jelinek <jakub@redhat.com>
266
267 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
268 Bump the upper SIMDLEN limits, so that if the return type or
269 characteristic type if the return type is void can be passed in
270 all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
271 allowed.
272
273 2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
274
275 PR target/70640
276 * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
277 Do not use "=" constraint on an input constraint.
278 (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
279 (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
280 (ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
281 generates (neg (abs ...)) instead of (abs ...).
282
283 2016-04-12 Jakub Jelinek <jakub@redhat.com>
284
285 PR rtl-optimization/70596
286 * lra-spills.c (spill_pseudos): Don't delete debug insns, instead
287 just invalidate LRA data and reset them. Adjust dump wording.
288
289 2016-04-12 Martin Liska <mliska@suse.cz>
290
291 Revert
292 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
293
294 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
295 estimates here.
296 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
297 max_loop_iterations_int.
298 (tree_unswitch_outer_loop): Likewise.
299 * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
300 * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
301
302 2016-04-12 Tom de Vries <tom@codesourcery.com>
303
304 PR tree-optimization/68756
305 * graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
306 instead of new_name.
307
308 2016-04-12 Jakub Jelinek <jakub@redhat.com>
309
310 PR tree-optimization/70602
311 * tree-sra.c (generate_subtree_copies): Don't write anything into
312 constant pool decls.
313
314 * omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
315 regardless whether there are depend clauses or not.
316
317 2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
318
319 PR target/70381
320 * config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
321 target attribute and pragma from changing the -mfloat128
322 and -mfloat128-hardware options.
323
324 * doc/extend.texi (Additional Floating Types): Document PowerPC
325 __float128 restrictions.
326
327 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
328
329 PR target/70133
330 * config/aarch64/driver-aarch64.c
331 (aarch64_get_extension_string_for_isa_flags): New.
332 (arch_extension): Rename to...
333 (aarch64_arch_extension): ...This.
334 (ext_to_feat_string): Rename to...
335 (aarch64_extensions): ...This.
336 (aarch64_core_data): Keep track of architecture extension flags.
337 (cpu_data): Rename to...
338 (aarch64_cpu_data): ...This.
339 (aarch64_arch_driver_info): Keep track of architecture extension
340 flags.
341 (get_arch_name_from_id): Rename to...
342 (get_arch_from_id): ...This, change return type.
343 (host_detect_local_cpu): Update and reformat for renames, handle
344 extensions through common infrastructure.
345
346 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
347
348 PR target/70133
349 * config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
350 track of a canonical flag name.
351 (all_extensions): Likewise.
352 (arch_to_arch_name): Also track extension flags enabled by the arch.
353 (all_architectures): Likewise.
354 (aarch64_parse_extension): Move to here.
355 (aarch64_get_extension_string_for_isa_flags): Take a new argument,
356 rework.
357 (aarch64_rewrite_selected_cpu): Update for above change.
358 * config/aarch64/aarch64-option-extensions.def: Rework the way flags
359 are handled, such that the single explicit value enabled by an
360 extension is kept seperate from the implicit values it also enables.
361 * config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
362 to here.
363 (aarch64_parse_extension): New.
364 * config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
365 here to config/aarch64/aarch64-protos.h.
366 (aarch64_parse_extension): Move from here to
367 common/config/aarch64/aarch64-common.c.
368 (aarch64_option_print): Update.
369 (aarch64_declare_function_name): Likewise.
370 (aarch64_start_file): Likewise.
371 * config/aarch64/driver-aarch64.c (arch_extension): Keep track of
372 the canonical flag for extensions.
373 * config.gcc (aarch64*-*-*): Extend regex for capturing extension
374 flags.
375
376 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
377
378 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
379 AARCH64_FL_CRC.
380
381 2016-04-09 Tom de Vries <tom@codesourcery.com>
382
383 PR tree-optimization/68953
384 * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
385 first to last subscript.
386
387 2016-04-09 Jakub Jelinek <jakub@redhat.com>
388
389 PR tree-optimization/70586
390 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
391 for any calls.
392
393 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
394
395 PR lto/70289
396 PR ipa/70348
397 PR tree-optimization/70373
398 PR middle-end/70533
399 PR middle-end/70534
400 PR middle-end/70535
401 * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
402 clauses for acc parallel reductions as necessary. Error on those
403 that are private.
404 * omp-low.c (scan_sharing_clauses): Don't install variables which
405 are used in acc parallel reductions.
406 (lower_rec_input_clauses): Remove dead code.
407 (lower_oacc_reductions): Add support for reference reductions.
408 (lower_reduction_clauses): Remove dead code.
409 (lower_omp_target): Don't remap variables appearing in acc parallel
410 reductions.
411 * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
412
413 2016-04-08 Jakub Jelinek <jakub@redhat.com>
414
415 PR middle-end/70593
416 * tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
417 with multiple SSA_NAME defs, force the outputs other than first
418 to be live before calling live_track_process_def on each output.
419
420 PR rtl-optimization/70574
421 * fwprop.c (forward_propagate_and_simplify): Don't add
422 REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
423 (try_fwprop_subst): Don't add REG_EQUAL note if there are any
424 paradoxical subregs within *loc.
425
426 2016-04-08 Thomas Schwinge <thomas@codesourcery.com>
427
428 * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
429 -ftree-parallelize-loops={0,1}.
430 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
431 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
432 * config/ia64/hpux.h (LIB_SPEC): Likewise.
433 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
434 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
435
436 2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com>
437
438 PR sanitizer/70541
439 * asan.c (instrument_derefs): If we get unknown location, extract it
440 with EXPR_LOCATION.
441 (maybe_instrument_call): Instrument gimple_call's arguments if needed.
442
443 2016-04-08 Tom de Vries <tom@codesourcery.com>
444
445 * omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
446 implicit firstprivate clause.
447
448 2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
449
450 PR target/70566
451 * config/arm/thumb2.md (tst + branch-> lsls + branch
452 peephole below *orsi_not_shiftsi_si): Require that condition
453 register is dead after the peephole.
454 (second peephole after the above): Likewise.
455
456 2016-04-08 Alan Modra <amodra@gmail.com>
457
458 PR target/70117
459 * builtins.c (fold_builtin_classify): For IBM extended precision,
460 look at just the high-order double to test for NaN.
461 (fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal
462 test just the high double for Inf but both doubles for subnormal
463 limit.
464
465 2016-04-07 Jakub Jelinek <jakub@redhat.com>
466
467 * cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
468 * omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
469 node->simdclone->mask_mode != VOIDmode masks.
470 (simd_clone_adjust_argument_types): Likewise. Move sc var definition
471 earlier, use it instead of node->simdclone.
472 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
473 Set clonei->mask_mode.
474
475 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
476
477 PR c/70436
478 * parser.c (cp_parser_iteration_statement): New parameter IF_P.
479 Pass it through to cp_parser_already_scoped_statement.
480 (cp_parser_already_scoped_statement): New parameter IF_P. Pass
481 it through to cp_parser_statement.
482 (cp_parser_statement): Pass IF_P through to
483 cp_parser_iteration_statement.
484 (cp_parser_pragma): Adjust call to
485 cp_parser_iteration_statement.
486
487 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
488
489 PR c/70436
490 * gimplify.c (gimplify_omp_ordered): Add explicit braces to
491 resolve a future -Wparentheses warning.
492 * omp-low.c (scan_sharing_clauses): Likewise.
493 * tree-parloops.c (eliminate_local_variables): Likewise.
494
495 2016-04-06 Vladimir Makarov <vmakarov@redhat.com>
496
497 PR rtl-optimization/70398
498 * lra-constraints.c (process_address_1): Check zero scale and code
499 for reloading with zero scale.
500
501 2016-04-06 Uros Bizjak <ubizjak@gmail.com>
502
503 * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
504 (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
505
506 2016-04-06 Jakub Jelinek <jakub@redhat.com>
507
508 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
509 Add support for AVX512F clones, include them by default for
510 exported OpenMP declare simd functions. For AVX2 allow simdlen 32
511 and use it if charasteric type is 8-bit, for AVX512F allow simdlen
512 up to 128.
513
514 PR middle-end/70550
515 * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
516 * gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
517 firstprivate clauses.
518 * omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
519 OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
520 (lower_omp_target): Set TREE_NO_WARNING for
521 non-addressable possibly uninitialized vars which are copied into
522 addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
523
524 2016-04-05 John David Anglin <danglin@gcc.gnu.org>
525
526 * config/pa/predicates.md (integer_store_memory_operand): Accept
527 REG+D operands with a large offset when reload_in_progress is true.
528 (floating_point_store_memory_operand): Likewise.
529
530 2016-04-05 Jakub Jelinek <jakub@redhat.com>
531
532 PR c++/70336
533 * match.pd (nested int casts): Limit to GIMPLE.
534
535 2016-04-05 Jan Hubicka <hubicka@ucw.cz>
536
537 PR ipa/66223
538 * ipa-devirt.c (maybe_record_node): Fix comment; use
539 SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
540
541 2016-04-05 Jakub Jelinek <jakub@redhat.com>
542
543 PR rtl-optimization/70542
544 * ree.c (add_removable_extension): For VECTOR_MODE_P punt
545 if there are any uses other than insn or debug insns.
546
547 2016-04-05 Marc Glisse <marc.glisse@inria.fr>
548 Jakub Jelinek <jakub@redhat.com>
549
550 PR tree-optimization/70509
551 * simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
552 Shift HOST_WIDE_INT_1U instead of 1.
553
554 2016-04-05 Zdenek Sojka <zsojka@seznam.cz>
555
556 PR tree-optimization/70509
557 * tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
558 of the vector base type for index.
559
560 2016-04-05 Uros Bizjak <ubizjak@gmail.com>
561
562 PR target/70510
563 * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
564
565 2016-04-05 Richard Biener <rguenther@suse.de>
566
567 PR tree-optimization/70526
568 * tree-sra.c (build_ref_for_offset): Use prev_base to
569 extract the alias pointer type.
570
571 2016-04-05 Richard Biener <rguenther@suse.de>
572
573 * dse.c (struct store_info): Remove alias_set member.
574 (struct read_info_type): Likewise.
575 (clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
576 spill_deleted, clear_alias_set_lookup): Remove.
577 (get_group_info): Remove dead base == NULL_RTX case.
578 (dse_step0): Remove initialization of removed variables.
579 (delete_dead_store_insn): Reomve alias set dumping.
580 (free_read_records): Remove alias_set handling.
581 (canon_address): Remove alias_set_out parameter.
582 (record_store): Remove spill_alias_set, it's always zero.
583 (check_mem_read_rtx): Likewise.
584 (dse_step2): Rename from ...
585 (dse_step2_nospill): ... this. Adjust.
586 (scan_stores): Rename from ...
587 (scan_stores_nospill): ... this.
588 (scan_reads): Rename from ...
589 (scan_reads_nospill): ... this.
590 (scan_stores_spill, scan_reads_spill): Remove.
591 (dse_step3_scan): Remove for_spills argument which is always false.
592 (dse_step3): Likewise.
593 (dse_step5): Rename from ...
594 (dse_step5_nospill): ... this. Remove alias_set handling.
595 (rest_of_handle_dse): Adjust.
596
597 2016-04-05 Jakub Jelinek <jakub@redhat.com>
598
599 PR target/70525
600 * config/i386/sse.md (*andnot<mode>3): Simplify assertions.
601 Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
602 V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
603 (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
604
605 2016-04-05 Richard Biener <rguenther@suse.de>
606
607 PR middle-end/70499
608 * gimplify-me.c (gimple_regimplify_operands): Do not rewrite
609 non-register type temporaries into SSA.
610
611 2016-04-04 Jan Hubicka <hubicka@ucw.cz>
612
613 PR ipa/66223
614 * ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
615 calls when sanitizing.
616 (possible_polymorphic_call_target_p): Fix formatting.
617
618 2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
619 Jakub Jelinek <jakub@redhat.com>
620
621 PR middle-end/70457
622 * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
623 to ensure a call statement is compatible with a built-in's
624 prototype.
625 * tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
626 Likewise.
627
628 2016-04-04 Richard Biener <rguenther@suse.de>
629
630 PR rtl-optimization/70484
631 * rtl.h (canon_output_dependence): Declare.
632 * alias.c (canon_output_dependence): New function.
633 * dse.c (record_store): Use canon_output_dependence rather
634 than canon_true_dependence.
635
636 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
637
638 PR ipa/68881
639 * cgraph.h (symtab_node::copy_visibility_from): New function.
640 * symtab.c (symtab_node::copy_visibility_from): New function.
641 * ipa-visibility.c (optimize_weakref): New function.
642 (function_and_variable_visibility): Use it.
643
644 2016-04-04 Martin Liska <mliska@suse.cz>
645
646 PR hsa/70402
647 * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
648 value that is really in range handled by SBR instruction.
649 * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
650 * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
651 * hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
652
653 2016-04-03 Oleg Endo <olegendo@gcc.gnu.org>
654
655 PR target/70416
656 PR target/67391
657 * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
658 set, but not for SP_REG operands.
659
660 2016-04-02 Martin Sebor <msebor@redhat.com>
661
662 PR c++/67376
663 * fold-const.c (maybe_nonzero_address): New function.
664 (fold_comparison): Call it. Fold equality and relational
665 expressions involving null pointers.
666 (tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
667
668 2016-03-31 Evandro Menezes <e.menezes@samsung.com>
669
670 Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
671 the "Y" constraint (scalar FP 0.0 immediate).
672
673 * gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
674 Add the "const_double" to the list of operand constraints.
675
676 2016-04-01 Jakub Jelinek <jakub@redhat.com>
677
678 PR rtl-optimization/70467
679 * config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
680 If low word of the last operand is 0, just emit addition/subtraction
681 for the high word.
682
683 2016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
684
685 PR target/70404
686 * config/s390/s390.c (s390_expand_insv): Check for everything
687 constant instead of just VOIDmode stuff.
688
689 2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
690
691 PR target/70496
692 * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
693
694 2016-04-01 Nathan Sidwell <nathan@acm.org>
695
696 * tree.def (TRY_CATCH_EXPR): Correct documentation.
697
698 2016-03-31 Vladimir Makarov <vmakarov@redhat.com>
699
700 PR rtl-optimization/70461
701 * ira-color.c (allocno_copy_cost_saving): Use allocno class if it
702 is necessary.
703
704 2016-03-31 Martin Liska <mliska@suse.cz>
705
706 PR hsa/70399
707 * hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
708 a tree value or an immediate integer value to a buffer
709 that is eventually copied to a BRIG section.
710 (emit_immediate_operand): Call the function here.
711 * hsa-dump.c (dump_hsa_immed): Remove checking assert.
712 * hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
713 of class' fields that are removed.
714 (hsa_op_immed::~hsa_op_immed): Remove deinitialization.
715 * hsa.h (class hsa_op_immed): Remove m_brig_repr and
716 m_brig_repr_size fields.
717
718 2016-03-31 Martin Liska <mliska@suse.cz>
719
720 PR hsa/70391
721 * hsa-gen.c (hsa_function_representation::update_dominance): New
722 function.
723 (convert_addr_to_flat_segment): Likewise.
724 (gen_hsa_memory_set): New alignment argument.
725 (gen_hsa_ctor_assignment): Likewise.
726 (gen_hsa_insns_for_single_assignment): Provide alignment
727 to gen_hsa_ctor_assignment.
728 (gen_hsa_insns_for_direct_call): Add new argument.
729 (expand_lhs_of_string_op): New function.
730 (expand_string_operation_builtin): Likewise.
731 (expand_memory_copy): New function.
732 (expand_memory_set): New function.
733 (gen_hsa_insns_for_call): Use HOST_WIDE_INT.
734 (convert_switch_statements): Change signature.
735 (generate_hsa): Use a return value of the function.
736 (pass_gen_hsail::execute): Do not call
737 convert_switch_statements here.
738 * hsa-regalloc.c (hsa_regalloc): Call update_dominance.
739 * hsa.h (hsa_function_representation::m_modified_cfg): New flag.
740 (hsa_function_representation::update_dominance): New function.
741
742 2016-03-31 Martin Liska <mliska@suse.cz>
743
744 PR hsa/70391
745 * hsa-brig.c (emit_directive_variable): Emit alignment
746 according to hsa_symbol::m_align.
747 * hsa-dump.c (hsa_byte_alignment): Move the function to another file.
748 (dump_hsa_symbol): Dump alignment of HSA symbols.
749 * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
750 (gen_hsa_addr_with_align): New function.
751 (hsa_bitmemref_alignment): Use newly added function.
752 (gen_hsa_insns_for_load): Likewise.
753 (gen_hsa_insns_for_store): Likewise.
754 (gen_hsa_memory_copy): New argument added.
755 (gen_hsa_insns_for_single_assignment): Respect
756 alignment for assignments processed via gen_hsa_memory_copy.
757 (gen_hsa_insns_for_direct_call): Likewise.
758 (gen_hsa_insns_for_return): Likewise.
759 (gen_function_def_parameters): Set default alignment.
760 * hsa.c (hsa_object_alignment): New function.
761 (hsa_byte_alignment): Pasted function.
762 * hsa.h (hsa_symbol::m_align): New field.
763
764 2016-03-31 Bin Cheng <bin.cheng@arm.com>
765
766 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
767 scratch field for goto case.
768
769 2016-03-31 James Greenhalgh <james.greenhalgh@arm.com>
770
771 * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
772
773 2016-03-31 Ilya Enkovich <enkovich.gnu@gmail.com>
774
775 PR target/70442
776 * config/i386/i386.c (scalar_chain::convert_op): Fix description.
777 (scalar_chain::convert_insn): Call convert_op for reg
778 moves to handle undefined registers.
779
780 2016-03-31 Nathan Sidwell <nathan@acm.org>
781
782 PR c++/70393
783 * varasm.c (output_constructor_regular_field): Flush bitfield earlier.
784 Assert we don't want to move backwards.
785
786 2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com>
787
788 PR target/70453
789 * config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
790
791 2016-03-31 Jakub Jelinek <jakub@redhat.com>
792
793 PR rtl-optimization/70460
794 * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
795 with operand from REG_LABEL_OPERAND, instead substitute
796 SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
797 Don't do anything for REG_NON_LOCAL_GOTO jumps.
798
799 2016-03-31 Martin Liska <mliska@suse.cz>
800
801 * passes.c (execute_one_pass): Do not call
802 todo_after for a discarded function.
803
804 2016-03-31 Bin Cheng <bin.cheng@arm.com>
805
806 * tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
807 (no_cost, infinite_cost): Initialize the new field.
808 (get_computation_cost_at): Record setup cost.
809 (determine_use_iv_cost_address): Skip cost computation for sub
810 uses if we can estimate it without losing accuracy.
811
812 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
813
814 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
815 estimates here.
816 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
817 max_loop_iterations_int.
818 (tree_unswitch_outer_loop): Likewise.
819 * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
820 * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
821
822 2016-03-30 Richard Biener <rguenther@suse.de>
823
824 PR middle-end/70450
825 * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
826
827 2016-03-30 Jakub Jelinek <jakub@redhat.com>
828
829 PR target/70421
830 * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
831 in gen_blendm expander.
832
833 2016-03-30 Nick Clifton <nickc@redhat.com>
834
835 PR target/62254
836 * config/arm/arm.c (arm_reload_out_hi): Add code to handle the
837 case where we are already provided with an SImode SUBREG.
838
839 2016-03-30 H.J. Lu <hongjiu.lu@intel.com>
840
841 PR target/70439
842 * config/i386/i386.c (ix86_expand_epilogue): Properly check
843 conflict between DRAP register and __builtin_eh_return.
844
845 2016-03-30 Michael Matz <matz@suse.de>
846 Richard Biener <rguenther@suse.de>
847
848 PR ipa/12392
849 * ipa-polymorphic-call.c (struct type_change_info): Change
850 speculative to an unsigned allowing to limit the work we do.
851 (csftc_abort_walking_p): New inline function..
852 (check_stmt_for_type_change): Limit the number of may-defs
853 skipped for speculative devirtualization to
854 max-speculative-devirt-maydefs.
855 * params.def (max-speculative-devirt-maydefs): New param.
856 * doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
857
858 2016-03-30 Mike Stump <mrs@gcc.gnu.org>
859
860 PR target/63890
861 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
862 and TARGET_MACHO.
863
864 2016-03-30 Patrick Palka <ppalka@gcc.gnu.org>
865
866 PR tree-optimization/59124
867 * tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
868 where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).
869
870 2016-03-29 Jeff Law <law@redhat.com>
871
872 * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
873
874 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
875
876 * tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
877 to HOST_WIDE_INT.
878
879 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
880
881 * config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
882 * config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
883 gcrt0.o if linking dynamically.
884
885 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
886
887 PR ipa/70283
888 * ipa-devirt.c (methods_equal_p): New function.
889 (compare_virtual_tables): Use it.
890 * cgraph.h (symbol_table::symbol_suffix_separator): Declare.
891 * cgraphclones.c (clone_function_name_1): Use
892 symbol_table::symbol_suffix_separator.
893 * coverage.c (build_var): Likewise.
894 * symtab.c (symbol_table::symbol_suffix_separator): New.
895
896 2016-03-29 Jakub Jelinek <jakub@redhat.com>
897
898 PR rtl-optimization/70429
899 * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
900 (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
901 mode != result_mode.
902
903 PR c++/70353
904 * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
905
906 PR tree-optimization/70405
907 * ssa-iterators.h (num_imm_uses): Add missing braces.
908
909 2016-03-29 Vladimir Makarov <vmakarov@redhat.com>
910
911 PR rtl-optimization/68695
912 * ira-color.c (allocno_copy_cost_saving): New.
913 (improve_allocation): Use it.
914
915 2016-03-29 Richard Henderson <rth@redhat.com>
916
917 PR middle-end/70355
918 * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
919
920 2016-03-29 Richard Biener <rguenther@suse.de>
921
922 PR middle-end/70424
923 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
924 use alignment returned by get_pointer_alignment_1 if it is
925 bigger than BITS_PER_UNIT.
926 * builtins.c (get_pointer_alignment_1): Do not return true
927 for alignment extracted from SSA info.
928
929 2016-03-28 James Bowman <james.bowman@ftdichip.com>
930
931 * config/ft32/ft32.opt (mnodiv): New.
932 * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
933 * doc/invoke.texi (FT32 Options -mnodiv): New.
934
935 2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com>
936
937 PR target/70406
938 * config/i386/i386.md (define_split, andn): Fix modes.
939
940 2016-03-26 Richard Biener <rguenther@suse.de>
941 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
942
943 PR ipa/70366
944 * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
945 instead of
946 TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
947 as 2nd argument to cl_optimization_restore().
948
949 2016-03-25 Richard Henderson <rth@redhat.com>
950
951 PR target/70120
952 * config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
953 * config/aarch64/aarch64-protos.h: Declare it.
954 * config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
955
956 2016-03-25 Alan Modra <amodra@gmail.com>
957
958 PR target/70052
959 * config/rs6000/constraints.md (j): Simplify.
960 * config/rs6000/predicates.md (easy_fp_constant): Exclude
961 decimal float 0.D.
962 * config/rs6000/rs6000.md (zero_fp): New mode_attr.
963 (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
964 mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
965 in all constraint alternatives.
966 (movtd_64bit_nodm): Delete "j" constraint alternative.
967
968 2016-03-24 Aldy Hernandez <aldyh@redhat.com>
969
970 * tree-ssa-propagate.c: Enhance docs for
971 SSA_PROP_NOT_INTERESTING.
972
973 2016-03-24 Aldy Hernandez <aldyh@redhat.com>
974
975 * doc/extend.texi: Fix typo in documentation to pure attribute.
976
977 2016-03-24 John David Anglin <danglin@gcc.gnu.org>
978
979 PR target/70319
980 * config/pa/pa.md (bswapdi2): Use a scratch register.
981
982 2016-03-24 Richard Henderson <rth@redhat.com>
983
984 PR middle-end/69845
985 * fold-const.c (extract_muldiv_1): Correct test for multiplication
986 overflow.
987
988 2016-03-24 Uros Bizjak <ubizjak@gmail.com>
989
990 * config/i386/i386.md (*anddi3_doubleword): Generate AND insn
991 using ix86_expand_binary_operator instead of gen_andsi3.
992
993 2016-03-24 Richard Biener <rguenther@suse.de>
994
995 PR tree-optimization/70396
996 * tree-vect-stmts.c (vectorizable_comparison): Use
997 get_vectype_for_scalar_type.
998
999 2016-03-24 Richard Biener <rguenther@suse.de>
1000
1001 PR middle-end/70370
1002 * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
1003 with register bases.
1004
1005 2016-03-24 Richard Biener <rguenther@suse.de>
1006
1007 PR tree-optimization/70372
1008 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
1009 build_all_ones_cst to also handle vector types correctly.
1010
1011 2016-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
1012
1013 PR target/70381
1014 * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
1015 -mfloat128 here.
1016
1017 2016-03-23 Marek Polacek <polacek@redhat.com>
1018
1019 PR c++/69884
1020 * doc/invoke.texi: Document -Wignored-attributes.
1021
1022 2016-03-23 Bin Cheng <bin.cheng@arm.com>
1023
1024 PR tree-optimization/69042
1025 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
1026 parameter from 30 to 40.
1027
1028 2016-03-23 Bin Cheng <bin.cheng@arm.com>
1029
1030 PR tree-optimization/69042
1031 * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
1032 for use with constant offset stripped in base.
1033
1034 2016-03-23 Richard Biener <rguenther@suse.de>
1035
1036 PR middle-end/70251
1037 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
1038 mode compatibility check.
1039 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
1040
1041 2016-03-23 Jeff Law <law@redhat.com>
1042
1043 PR tree-optimization/64058
1044 * tree-ssa-coalesce.c (struct coalesce_pair): Add new field
1045 CONFLICT_COUNT.
1046 (struct ssa_conflicts): Move up earlier in the file.
1047 (conflicts_, var_map_): New static variables.
1048 (initialize_conflict_count): New function to initialize the
1049 CONFLICT_COUNT field for each conflict pair.
1050 (compare_pairs): Lazily initialize the conflict count and use it
1051 as the first tie-breaker.
1052 (sort_coalesce_list): Add new arguments conflicts, map. Initialize
1053 and wipe conflicts_ and map_ around the call to qsort. Remove
1054 special case for 2 coalesce pairs.
1055 * bitmap.c (bitmap_count_unique_bits): New function.
1056 (bitmap_count_bits_in_word): New function, extracted from
1057 bitmap_count_bits.
1058 (bitmap_count_bits): Use bitmap_count_bits_in_word.
1059 * bitmap.h (bitmap_count_unique_bits): Declare it.
1060
1061 2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com>
1062
1063 PR target/69917
1064 * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
1065 transparent alias chain for decl assembler name.
1066 * config/sol2.c (solaris_assemble_visibility): Likewise.
1067
1068 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1069
1070 * config/arm/arm1020e.md (1020call_op): Reduce reservation
1071 duration.
1072 (v10_fdivs): Likewise.
1073 (v10_fdivd): Likewise.
1074
1075 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1076
1077 PR driver/70132
1078 * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
1079 to not call fclose twice on file.
1080
1081 2016-03-23 Jakub Jelinek <jakub@redhat.com>
1082
1083 PR tree-optimization/70354
1084 * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
1085 oprnd0 is wider than oprnd1 and there is a cast from the wider
1086 type to oprnd1, mask it with the mask of the narrower type.
1087
1088 PR target/70321
1089 * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
1090 Optimize TARGET_STV splitters, if high or low word of last argument
1091 is 0 or -1.
1092
1093 2016-03-22 Jeff Law <law@redhat.com>
1094
1095 PR target/70232
1096 tree-ssa-threadbackward.c
1097 (fsm_find_control_statement_thread_paths): Correctly distinguish
1098 between old style jump threads vs FSM jump threads.
1099
1100 2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
1101
1102 PR target/70302
1103 * config/i386/i386.c (scalar_chain::convert_op): Support
1104 uninitialized register usage case.
1105
1106 2016-03-22 Richard Biener <rguenther@suse.de>
1107
1108 PR middle-end/70251
1109 * genmatch.c (gen_transform): Adjust last parameter to a three-state
1110 int...
1111 (capture::gen_transform): ... to change behavior when substituting
1112 a condition into cond or not-cond expr context.
1113 (dt_simplify::gen_1): Adjust.
1114 * gimple-match-head.c: Include gimplify.h for unshare_expr.
1115 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
1116 last change and instead change to
1117 A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
1118 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
1119
1120 2016-03-22 Anthony Green <green@moxielogic.com>
1121
1122 * config/moxie/moxiebox.h (CC1_SPEC): Define. Fix endianness
1123 issue for moxiebox targets.
1124 (CC1PLUS_SPEC): Ditto.
1125
1126 2016-03-22 Richard Biener <rguenther@suse.de>
1127
1128 PR middle-end/70333
1129 * fold-const.c (extract_muldiv_1): Properly perform multiplication
1130 in the wide type.
1131
1132 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
1133
1134 * config/i386/i386.c (def_builtin): Remove duplicated functionality.
1135
1136 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
1137
1138 PR target/70325
1139 * config/i386/i386.c (def_builtin): Handle
1140 OPTION_MASK_ISA_AVX512VL to be and-ed with other
1141 bits.
1142 (const struct builtin_description bdesc_special_args[]):
1143 Remove duplicate ISA bits.
1144
1145 2016-03-22 Jakub Jelinek <jakub@redhat.com>
1146
1147 PR target/70329
1148 * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
1149 d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i]
1150 in a way that works also for AVX512BW.
1151
1152 PR target/70300
1153 * config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
1154 instead of source if operands[1] is xmm16 and above and
1155 !TARGET_AVX512VL. Use avx512f_vec_dupv16sf_1 instead of
1156 vec_interleave_lowv4sf if we need to unpack xmm16 and above.
1157
1158 PR c++/70295
1159 * gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
1160 on assign if (*from_p) is a comparison, set it to
1161 TREE_NO_WARNING (*from_p).
1162
1163 2016-03-21 Jakub Jelinek <jakub@redhat.com>
1164
1165 PR middle-end/70326
1166 * lra.c (restore_scratches): Ignore deleted insns.
1167
1168 2016-03-21 Marc Glisse <marc.glisse@inria.fr>
1169 Jakub Jelinek <jakub@redhat.com>
1170
1171 PR tree-optimization/70317
1172 * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
1173 to HONOR_NANS.
1174
1175 2016-03-21 Uros Bizjak <ubizjak@gmail.com>
1176
1177 PR target/70327
1178 * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
1179 of ix86_expand_move.
1180 (movoi): Ditto.
1181 (movti): Use general_operand for operand 1 predicate.
1182
1183 2016-03-21 Martin Liska <mliska@suse.cz>
1184
1185 * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
1186 insns.
1187 (dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
1188
1189 2016-03-21 Martin Liska <mliska@suse.cz>
1190
1191 PR ipa/70306
1192 * ipa-icf.c (sem_function::parse): Skip static
1193 constructors and destructors.
1194
1195 2016-03-21 Jakub Jelinek <jakub@redhat.com>
1196
1197 PR target/70296
1198 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
1199 function-like macro, peek following token(s) if it is followed
1200 by CPP_OPEN_PAREN token with optional padding in between, and
1201 if not, don't treat it like a macro.
1202
1203 2016-03-21 Thomas Schwinge <thomas@codesourcery.com>
1204 Alexander Monakov <amonakov@ispras.ru>
1205
1206 * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
1207 for the stabs debug format.
1208
1209 2016-03-21 Richard Biener <rguenther@suse.de>
1210
1211 PR tree-optimization/70310
1212 * tree-vect-generic.c (expand_vector_condition): Fold the built
1213 condition.
1214
1215 2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com>
1216
1217 PR target/70293
1218 * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
1219 Block third alternative for AVX-512VL target,
1220
1221 2016-03-21 Martin Liska <mliska@suse.cz>
1222
1223 PR hsa/70234
1224 * hsa-brig.c (emit_function_directives): Mark unemitted
1225 global variables for emission.
1226 * hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
1227 (get_symbol_for_decl): Likewise.
1228 * hsa.h (struct hsa_symbol): New flag.
1229
1230 2016-03-21 Richard Biener <rguenther@suse.de>
1231
1232 PR tree-optimization/70288
1233 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
1234 we do not estimate unsimplified all-constant conditionals or
1235 switches as optimized away.
1236
1237 2016-03-21 Andrey Belevantsev <abel@ispras.ru>
1238
1239 PR rtl-optimization/69102
1240 * sched-deps.c (sched_analyze_insn): Do not set last_args_size field
1241 when we have a readonly dependency context.
1242
1243 2016-03-18 Jeff Law <law@redhat.com>
1244
1245 PR rtl-optimization/70263
1246 * ira.c (memref_used_between_p): Assert we found END in the insn chain.
1247 (update_equiv_regs): When trying to move a store to after the insn
1248 that sets the source of the store, make sure the store occurs after
1249 the insn that sets the source of the store. When successful note
1250 the REG_EQUIV note created in the dump file.
1251
1252 2016-03-16 David Wohlferd <dw@LimeGreenSocks.com>
1253 Bernd Schmidt <bschmidt@redhat.com>
1254
1255 * doc/extend.texi: Document more potential problems with basic asms.
1256
1257 2016-03-18 Bernd Schmidt <bschmidt@redhat.com>
1258
1259 PR rtl-optimization/70278
1260 * lra-constraints.c (split_reg): Handle the case where biggest_mode is
1261 VOIDmode.
1262
1263 2016-03-18 Jason Merrill <jason@redhat.com>
1264
1265 * calls.c (load_register_parameters): Fix zero size sibcall logic.
1266
1267 2016-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
1268
1269 * config/i386/sse.md: Use vpbroadcastq for broadcasting DF
1270 values to 128b regs.
1271
1272 2016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com>
1273
1274 PR tree-optimization/70252
1275 * tree-vect-stmts.c (supportable_widening_operation): Check resulting
1276 boolean vector has a proper number of elements.
1277 (supportable_narrowing_operation): Likewise.
1278
1279 2016-03-18 Tom de Vries <tom@codesourcery.com>
1280
1281 PR ipa/70269
1282 * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
1283
1284 2016-03-18 Jakub Jelinek <jakub@redhat.com>
1285
1286 * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
1287 instead of replace_rtx for DEBUG_INSNs.
1288
1289 2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1290
1291 * config/i386/znver1.md : Fix latencies of FP/SSE/AVX
1292 load type reservations.
1293
1294 2016-03-17 John David Anglin <danglin@gcc.gnu.org>
1295
1296 PR target/70188
1297 * config/pa/constraints.md: Revert 2015-02-13 change. Use
1298 define_constraint for "Q" and "T" constraints.
1299
1300 2016-03-17 Evandro Menezes <e.menezes@samsung.com>
1301
1302 Tweak the pipeline model for Exynos M1
1303
1304 * config/aarch64/aarch64.c (exynosm1_tunings): Enable weak prefetching
1305 model.
1306
1307 2016-03-17 David Malcolm <dmalcolm@redhat.com>
1308
1309 PR c/70264
1310 * diagnostic-show-locus.c (compatible_locations_p): Handle the case
1311 where one or both locations aren't within a line_map.
1312
1313 2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
1314
1315 PR driver/70192
1316 * opts.c (finish_options): Don't set flag_pie to the default if
1317 -fpic, -fPIC, -fno-pic or -fno-PIC is used. Set flag_pic to 0
1318 if it is -1.
1319
1320 2016-03-17 Joern Rennecke <joern.rennecke@embecosm.com>
1321
1322 * config/i386/i386.md (*movv4qicc_insn+1..36): Pass
1323 true as ALL_REGS argument to replace_rtx.
1324
1325 2016-03-17 Richard Biener <rguenther@suse.de>
1326
1327 PR debug/70271
1328 * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
1329 last.
1330
1331 2016-03-17 Jakub Jelinek <jakub@redhat.com>
1332
1333 PR target/70245
1334 * rtl.h (replace_rtx): Add ALL_REGS argument.
1335 * rtlanal.c (replace_rtx): Likewise. If true, use REGNO
1336 equality and assert mode is the same, instead of just rtx pointer
1337 equality.
1338 * config/i386/i386.md (mov + arithmetics with load peephole): Pass
1339 true as ALL_REGS argument to replace_rtx.
1340
1341 2016-03-17 Ilya Enkovich <enkovich.gnu@gmail.com>
1342
1343 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
1344 for boolean vector with vector mode only.
1345 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
1346
1347 2016-03-17 Nick Clifton <nickc@redhat.com>
1348
1349 PR target/70162
1350 * config/rx/rx.c (rx_print_integer): Print negative constants in
1351 decimal.
1352
1353 2016-03-17 Jakub Jelinek <jakub@redhat.com>
1354
1355 PR target/70261
1356 * rtlanal.c (replace_rtx): Revert 2016-03-16 change.
1357
1358 2016-03-16 Richard Henderson <rth@redhat.com>
1359 Richard Biener <rguenth@suse.de>
1360
1361 PR middle-end/70240
1362 PR middle-end/68215
1363 PR tree-opt/68714
1364 * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
1365 first operand as is_gimple_condexpr.
1366
1367 PR middle-end/70240
1368 PR middle-end/68215
1369 Revert r231575
1370 2015-12-11 Eric Botcazou <ebotcazou@adacore.com>
1371 * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
1372 Do not gimplify the result.
1373 (do_unop): Adjust call to tree_vec_extract.
1374 (do_binop): Likewise.
1375 (do_compare): Likewise.
1376 (do_plus_minus): Likewise.
1377 (do_negate): Likewise.
1378 (expand_vector_condition): Likewise.
1379 (do_cond): Likewise.
1380
1381 2016-03-16 Richard Henderson <rth@redhat.com>
1382
1383 PR target/70048
1384 * config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
1385 (aarch64_classify_address): Use it.
1386 (aarch64_legitimize_address): Force all subexpressions of PLUS
1387 into registers. Simplify as (sfp+const)+reg or (reg+reg)+const.
1388
1389 2016-03-16 Jakub Jelinek <jakub@redhat.com>
1390 Richard Biener <rguenth@suse.de>
1391
1392 PR target/70245
1393 * rtlanal.c (replace_rtx): For REG, if from is a REG,
1394 return to even if only REGNO is equal, and assert
1395 mode is the same.
1396
1397 2016-03-11 Jeff Law <law@redhat.com>
1398
1399 PR rtl-optimization/70224
1400 * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
1401
1402 2016-03-16 Richard Henderson <rth@redhat.com>
1403
1404 PR middle-end/70199
1405 * function.h (struct function): Add has_forced_label_in_static.
1406 * gimplify.c (force_labels_r): Set it.
1407 * lto-streamer-in.c (input_struct_function_base): Read it.
1408 * lto-streamer-out.c (output_struct_function_base): Write it.
1409 * tree-inline.c (has_label_address_in_static_1): Remove.
1410 (copy_forbidden): Remove fndecl parameter; test
1411 has_forced_label_in_static.
1412 (inline_forbidden_p): Update call to copy_forbidden.
1413 (tree_versionable_function_p): Likewise.
1414 * ipa-chkp.c (chkp_instrumentable_p): Likewise.
1415 (chkp_versioning): Likewise.
1416 * tree-inline.h (copy_forbidden): Update decl.
1417
1418 2016-03-16 Marek Polacek <polacek@redhat.com>
1419
1420 PR c/70093
1421 * cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
1422 function being thunked if the result type doesn't have fixed size.
1423 * gimplify.c (gimplify_modify_expr): Also set LHS if the result type
1424 doesn't have fixed size.
1425
1426 2016-03-16 Bin Cheng <bin.cheng@arm.com>
1427
1428 * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
1429 reporting malformed loop nest.
1430
1431 2016-03-16 Tom de Vries <tom@codesourcery.com>
1432
1433 PR lto/70187
1434 * ipa-devirt.c (possible_polymorphic_call_targets): Move
1435 nodes.length () == 1 test to before first nodes[0] access.
1436
1437 2016-03-16 Tom de Vries <tom@codesourcery.com>
1438
1439 PR tree-optimization/68715
1440 * graphite-scop-detection.c (scop_detection::merge_sese): Add missing
1441 single_pred_p test.
1442
1443 2016-03-16 Tom de Vries <tom@codesourcery.com>
1444
1445 PR tree-optimization/68809
1446 * graphite-scop-detection.c (same_close_phi_node): Test if result types
1447 are the same.
1448
1449 2016-03-16 Carlos O'Donell <carlos@redhat.com>
1450 Sandra Loosemore <sandra@codesourcery.com>
1451
1452 * doc/extend.texi (Common Function Attributes): Describe ifunc impact
1453 on leaf attribute. Mention ELF interposition problems.
1454
1455 2016-03-16 Alan Modra <amodra@gmail.com>
1456
1457 PR rtl-optimization/69195
1458 PR rtl-optimization/47992
1459 * ira.c (indirect_jump_optimize): Ignore artificial defs.
1460 Add comments.
1461
1462 2016-03-15 Eric Botcazou <ebotcazou@adacore.com>
1463
1464 PR bootstrap/69513
1465 * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
1466
1467 2016-03-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1468
1469 * config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
1470
1471 2016-03-15 Jakub Jelinek <jakub@redhat.com>
1472
1473 PR rtl-optimization/70222
1474 * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
1475 optimization if mode is different from result_mode, queue up masking
1476 of the result in outer_op. Formatting fix.
1477
1478 PR middle-end/70239
1479 * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
1480 of safe_grow.
1481
1482 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1483
1484 PR rtl-optimization/69032
1485 * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
1486 looping backwards over basic block insns.
1487
1488 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1489
1490 PR target/66660
1491 * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
1492 to non-speculative when propagating trap bits.
1493
1494 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1495
1496 PR rtl-optimization/63384
1497 * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
1498 DEBUG_INSN_P insns.
1499
1500 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
1501
1502 PR target/64411
1503 * sched-deps.c (get_implicit_reg_pending_clobbers): New function,
1504 factored out from ...
1505 (sched_analyze_insn): ... here.
1506 * sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
1507 * sel-sched-ir.c (setup_id_implicit_regs): New function, use
1508 get_implicit_reg_pending_clobbers in it.
1509 (setup_id_reg_sets): Use setup_id_implicit_regs.
1510 (deps_init_id): Ditto.
1511
1512 2016-03-15 Tom de Vries <tom@codesourcery.com>
1513
1514 PR ipa/70161
1515 * cgraph.c (cgraph_node::get_body): Save, reset and restore
1516 dump_file_name.
1517 * passes.c (execute_one_ipa_transform_pass): Add missing argument to
1518 execute_function_dump.
1519 (execute_one_pass): Don't dump function if it will be dumped after ipa
1520 transform.
1521
1522 2016-03-15 Segher Boessenkool <segher@kernel.crashing.org>
1523
1524 * genrecog.c (match_pattern_2): If pred is NULL don't call
1525 safe_predicate_mode on it.
1526
1527 2016-03-14 Jakub Jelinek <jakub@redhat.com>
1528
1529 PR middle-end/70219
1530 * lra-constraints.c (delete_move_and_clobber): Change assertion
1531 to also allow dregno == 0.
1532
1533 2016-03-14 Richard Henderson <rth@redhat.com>
1534
1535 PR tree-opt/68714
1536 * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
1537 (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
1538 (reassociate_bb): Use optimize_vec_cond_expr; avoid
1539 optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
1540 on vectors.
1541
1542 2016-03-14 Bernd Schmidt <bschmidt@redhat.com>
1543
1544 PR target/70083
1545 * lra-lives.c (process_bb_lives): Also update biggest mode for hard
1546 regs.
1547 (lra_create_live_ranges_1): initialize hard register biggest_mode to
1548 VOIDmode.
1549 * lra-constraints.c (split_reg): For hard regs, try to find the
1550 biggest single-register mode used in the function.
1551
1552 2016-03-14 Richard Biener <rguenther@suse.de>
1553
1554 PR tree-optimization/56365
1555 * tree-ssa-phiopt.c (minmax_replacement): Handle alternate
1556 constants to compare against.
1557
1558 2016-03-14 Segher Boessenkool <segher@kernel.crashing.org>
1559
1560 PR target/70098
1561 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
1562 *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
1563 (define_split for the GPR case): Use int_reg_operand instead of
1564 gpc_reg_operand for the output.
1565
1566 2016-03-14 Tom de Vries <tom@codesourcery.com>
1567
1568 PR tree-optimization/70045
1569 * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
1570 create_empty_if_region_on_edge argument.
1571
1572 2016-03-13 Eric Botcazou <ebotcazou@adacore.com>
1573
1574 * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
1575 (STACK_CHECK_PROTECT): Likewise.
1576 * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
1577 (STACK_CHECK_PROTECT): Likewise.
1578 * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
1579 (STACK_CHECK_PROTECT): Likewise.
1580 * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
1581 * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
1582 (STACK_CHECK_PROTECT): Likewise.
1583
1584 2016-03-12 Andrey Belevantsev <abel@ispras.ru>
1585
1586 PR rtl-optimization/69307
1587 * sel-sched.c (choose_best_pseudo_reg): Properly check for hard
1588 registers in modes that span more than one register.
1589
1590 2016-03-12 Vladimir Makarov <vmakarov@redhat.com>
1591
1592 PR target/69614
1593 * lra-constraints.c (delete_move_and_clobber): New.
1594 (remove_inheritance_pseudos): Use it.
1595
1596 2016-03-12 Eric Botcazou <ebotcazou@adacore.com>
1597
1598 PR ada/70017
1599 * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
1600 the libcall is LCT_THROW.
1601 * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
1602 for the checking routine.
1603
1604 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1605
1606 PR target/70131
1607 * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
1608 optimization if we have direct move.
1609 (roundu32<mode>2_fprs): Likewise.
1610
1611 2016-03-11 Bernd Schmidt <bschmidt@redhat.com>
1612
1613 PR target/70123
1614 * lra-remat.c (operand_to_remat): Disallow hard regs in the value t
1615 be rematerialized.
1616 (reg_overlap_for_remat_p): Renamed from input_regno_present_p.
1617 Arguments swapped. All callers changed. Take reg_renumber into
1618 account, and Calculate and compare register ranges for hard regs.
1619
1620 2016-03-11 Jeff Law <law@redhat.com>
1621
1622 PR tree-optimization/70190
1623 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1624 Handle cases where we can not extract the taken edge, even though we
1625 found a constant value.
1626
1627 PR tree-optimization/64058
1628 * tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
1629 (num_coalesce_pairs): Move up earlier in file.
1630 (find_coalesce_pair): Initialize the INDEX field for each pair
1631 discovered.
1632 (compare_pairs): No longer sort on the elements in each pair.
1633 Instead break ties with the index of the coalesce pair.
1634
1635 2016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1636
1637 PR target/70002
1638 * config/aarch64/aarch64-protos.h
1639 (aarch64_save_restore_target_globals): New prototype.
1640 * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
1641 Call the above when popping pragma.
1642 * config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
1643 New function.
1644 (aarch64_set_current_function): Rewrite using the above.
1645
1646 2016-03-11 Jakub Jelinek <jakub@redhat.com>
1647
1648 PR tree-optimization/70177
1649 * gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
1650 (extract_ops_from_tree): ... this. In the 2 argument
1651 overload remove _1 suffix.
1652 * gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
1653 (extract_ops_from_tree): ... this.
1654 * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
1655 Adjust callers.
1656 * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
1657 * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
1658 extract_ops_from_tree instead of 2 operand one.
1659
1660 2016-03-11 Alan Lawrence <alan.lawrence@arm.com>
1661
1662 PR tree-optimization/70013
1663 * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
1664 for constant-pool entries.
1665
1666 2016-03-11 Jakub Jelinek <jakub@redhat.com>
1667
1668 PR rtl-optimization/70174
1669 * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
1670 followed by gen_lowpart on force_reg instead of just gen_lowpart.
1671
1672 PR tree-optimization/70169
1673 * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
1674 LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable
1675 for unknown codes.
1676
1677 2016-03-11 Ilya Enkovich <enkovich.gnu@gmail.com>
1678 Jakub Jelinek <jakub@redhat.com>
1679
1680 PR target/70160
1681 * config/i386/i386.c (scalar_chain::convert_reg): Skip uses
1682 of uninitialized values.
1683
1684 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1685
1686 * config/s390/s390.md ("trunctddd2"): Turn former define_insn into
1687 define_expand.
1688 ("*trunctddd2"): New pattern definition.
1689 ("trunctdsd2"): Set prep_for_short_prec rounding mode for the
1690 TD->DD truncation.
1691
1692 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1693
1694 * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
1695 definitions for BFP and DFP rounding modes.
1696 ("fixuns_truncdddi2", "fixuns_trunctddi2")
1697 ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
1698 ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
1699 ("fix_trunctf<mode>2"): Use the new constants instead of magic
1700 numbers.
1701
1702 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1703
1704 * config/s390/constraints.md: Adjust comment.
1705 ("Y"): Adjust comment. Rename s390_decompose_shift_count to
1706 s390_decompose_addrstyle_without_index.
1707 * config/s390/predicates.md (shift_count_or_setmem_operand):
1708 Rename to setmem_operand.
1709 * config/s390/s390-protos.h
1710 (s390_decompose_shift_count): Rename to
1711 s390_decompose_addrstyle_without_index.
1712 * config/s390/s390.c (s390_decompose_shift_count)
1713 (s390_mem_constraint, print_shift_count_operand)
1714 (print_operand_address, print_operand): Rename
1715 s390_decompose_shift_count to
1716 s390_decompose_addrstyle_without_index and rename
1717 print_shift_count_operand to print_addrstyle_operand troughout the
1718 file.
1719 * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
1720 ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
1721 Rename shift_count_or_setmem_operand to setmem_operand.
1722 * config/s390/vx-builtins.md ("vec_insert<mode>")
1723 ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
1724 nonmemory_operand.
1725
1726 2016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1727
1728 PR target/70168
1729 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
1730 Handle overlapping retval and newval.
1731
1732 2016-03-10 Nick Clifton <nickc@redhat.com>
1733
1734 PR target/7044
1735 * config/aarch64/aarch64.c
1736 (aarch64_override_options_after_change_1): When forcing
1737 flag_omit_frame_pointer to be true, use a special value that can
1738 be detected if this function is called again, thus preventing
1739 flag_omit_leaf_frame_pointer from being forced to be false.
1740
1741 2016-03-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1742
1743 * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
1744 Set x_flag_omit_leaf_frame_pointer when handling
1745 -momit-leaf-frame-pointer.
1746
1747 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1748
1749 PR lto/69589
1750 * cgraph.c (cgraph_node::dump): Dump split_part and
1751 indirect_call_target.
1752 * cgraph.h (cgraph_node): Add indirect_call_target flag.
1753 * ipa.c (has_addr_references_p): Cleanup.
1754 (is_indirect_call_target_p): New.
1755 (walk_polymorphic_call_targets): Do not mark virtuals that may be
1756 called indirectly as local.
1757 (symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
1758
1759 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1760
1761 PR ipa/69630
1762 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
1763 on cxa_pure_virtual.
1764
1765 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1766
1767 PR lto/69589
1768 * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
1769
1770 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
1771
1772 PR lto/69589
1773 * tree.c (need_assembler_name_p): Only record main variant type names.
1774
1775 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
1776
1777 PR target/70113.
1778 * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
1779 Always define to 0 or 1.
1780 (TARGET_FIX_ERR_A53_843419): New macro.
1781 * config/aarch64/aarch64-elf-raw.h
1782 (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
1783 * config/aarch64/aarch64-linux.h: Likewise.
1784 * config/aarch64/aarch64.c
1785 (aarch64_override_options_after_change_1): Do not default
1786 aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
1787 843419 is on.
1788 (aarch64_attributes): Handle fix-cortex-a53-843419.
1789 (aarch64_can_inline_p): Likewise.
1790 * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
1791
1792 2016-03-10 Alan Lawrence <alan.lawrence@arm.com>
1793 Jakub Jelinek <jakub@redhat.com>
1794
1795 * common.opt (funconstrained-commons, flag_unconstrained_commons): New.
1796 * tree.c (array_at_struct_end_p): Do not limit to size of decl for
1797 DECL_COMMONS if flag_unconstrained_commons is set.
1798 * tree-dfa.c (get_ref_base_and_extent): Likewise.
1799 * doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
1800 (funconstrained-commons): Document.
1801
1802 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
1803
1804 * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
1805 aarch64-fusion-pairs.def and aarch64-tuning-flags.def
1806
1807 2016-03-10 Ilya Enkovich <enkovich.gnu@gmail.com>
1808
1809 * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
1810 has a proper number of elements.
1811
1812 2016-03-10 Alan Modra <amodra@gmail.com>
1813
1814 PR rtl-optimization/69195
1815 PR rtl-optimization/47992
1816 * ira.c (recorded_label_ref): Delete.
1817 (update_equiv_regs): Return void.
1818 (indirect_jump_optimize): New function.
1819 (ira): Call indirect_jump_optimize and delete_trivially_dead_insns
1820 before regstat_compute_ri. Don't rebuild_jump_labels here.
1821 Delete update_regstat.
1822
1823 2016-03-10 Richard Biener <rguenther@suse.de>
1824
1825 PR tree-optimization/70128
1826 * tree-ssa-structalias.c (set_uids_in_ptset): Set
1827 vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
1828
1829 2016-03-09 Jakub Jelinek <jakub@redhat.com>
1830
1831 PR tree-optimization/70152
1832 * tree-sra.c (replace_removed_params_ssa_names): Copy over
1833 SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
1834
1835 PR target/70086
1836 * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
1837 instead of gen_sse2_loadlpd.
1838 * config/i386/sse.md (*vec_concatv2df): Rename to...
1839 (vec_concatv2df): ... this.
1840
1841 PR tree-optimization/70127
1842 * fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
1843
1844 2016-03-09 David Malcolm <dmalcolm@redhat.com>
1845
1846 PR c/68473
1847 PR c++/70105
1848 * diagnostic-show-locus.c (compatible_locations_p): New function.
1849 (layout::layout): Sanitize ranges using compatible_locations_p.
1850
1851 2016-03-09 David Malcolm <dmalcolm@redhat.com>
1852
1853 PR c/68473
1854 PR c++/70105
1855 * diagnostic-show-locus.c (layout_range::layout_range): Replace
1856 location_range param with three const expanded_locations * and a
1857 bool.
1858 (layout::layout): Replace call to
1859 rich_location::lazily_expand_location with get_expanded_location.
1860 Extract the range and perform location expansion here, passing
1861 the results to the layout_range ctor.
1862 * diagnostic.c (source_range::debug): Delete.
1863 * diagnostic.h (diagnostic_expand_location): Reimplement in terms
1864 of rich_location::get_expanded_location.
1865 * gcc-rich-location.c (get_range_for_expr): Delete.
1866 (gcc_rich_location::add_expr): Reimplement to avoid the
1867 rich_location::add_range overload that took a location_range,
1868 passing a location_t instead.
1869
1870 2016-03-09 Richard Biener <rguenther@suse.de>
1871 Jakub Jelinek <jakub@redhat.com>
1872
1873 PR tree-optimization/70138
1874 * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
1875 Also skip vect_double_reduction_def.
1876
1877 2016-03-09 Jakub Jelinek <jakub@redhat.com>
1878
1879 PR target/70049
1880 * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
1881 if the operand is "m".
1882
1883 2016-03-09 Nathan Sidwell <nathan@acm.org>
1884
1885 * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
1886
1887 2016-03-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
1888
1889 * config/i386/i386.c (processor_target_table): Fix cost table
1890 intialization order for znver1.
1891
1892 2016-03-08 Jakub Jelinek <jakub@redhat.com>
1893
1894 * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
1895 - becuase -> because.
1896 * ipa-reference.c (ignore_module_statics): Likewise.
1897 * cgraph.c (cgraph_node::get_body): Likewise.
1898 * ipa-inline.c (early_inliner): Likewise.
1899 * ipa-devirt.c (types_same_for_odr): Likewise.
1900 * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
1901 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
1902
1903 2016-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1904
1905 * tree-ssa-math-opts.c: Fix typo in comment.
1906
1907 2016-03-08 Jakub Jelinek <jakub@redhat.com>
1908
1909 PR target/70110
1910 * config/i386/i386.c (scalar_chain::make_vector_copies,
1911 scalar_chain::convert_reg): Call end_sequence in between
1912 get_insns and emit_conversion_insns rather than after both
1913 calls.
1914
1915 2016-03-07 Uros Bizjak <ubizjak@gmail.com>
1916
1917 PR target/70064
1918 * config/i386/i386.h (machine_function): Add
1919 pc_thunk_call_expanded flag.
1920 (ix86_pc_thunk_call_expanded): New define.
1921 * config/i386/i386.md (set_got, set_got_labelled): New expanders.
1922 (*set_got): Rename insn pattern from set_got.
1923 (*set_got_labelled): Rename inst pattern from set_got_labelled.
1924 * config/i386/i386.c (ix86_compute_frame_layout): Use
1925 ix86_pc_thunk_call_expanded to prevent red-zone.
1926
1927 2016-03-07 Martin Jambor <mjambor@suse.cz>
1928
1929 * hsa.h (hsa_get_ctor_statements): Declare.
1930 (hsa_get_dtor_statements): Likewise.
1931 (hsa_get_kernel_dispatch_type): Likewise.
1932 * hsa.c (hsa_get_ctor_statements): New function.
1933 (hsa_get_dtor_statements): Likewise.
1934 (hsa_get_kernel_dispatch_type): Likewise.
1935 * hsa-brig.c (hsa_cdtor_statements): Removed.
1936 (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
1937 hsa_get_dtor_statements.
1938 * hsa-gen.c (hsa_kernel_dispatch_type): Removed.
1939 (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
1940
1941 2016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
1942
1943 * config/arm/arm-cores.def (cortex-r8): New.
1944 * config/arm/arm-tables.opt (cortex-r8): Regenerate.
1945 * config/arm/arm-tune.md: Likewise.
1946 * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values.
1947
1948 2016-03-07 Martin Sebor <msebor@redhat.com>
1949
1950 PR rtl-optimization/19705
1951 * doc/invoke.texi (Options That Control Optimization): Clarify
1952 -fno-branch-count-reg.
1953
1954 2016-02-26 Richard Biener <rguenther@suse.de>
1955 Jeff Law <law@redhat.com>
1956
1957 PR tree-optimization/69740
1958 * cfghooks.c (remove_edge): Request loop fixups if we delete
1959 an edge that might turn an irreducible loop into a natural
1960 loop.
1961 * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
1962 Move after definition of loops_state_clear.
1963
1964 2016-03-07 Bin Cheng <bin.cheng@arm.com>
1965
1966 PR rtl-optimization/69052
1967 * rtlanal.c (commutative_operand_precedence): Set higher precedence
1968 to CONST_WIDE_INT.
1969
1970 2016-03-07 Tom de Vries <tom@codesourcery.com>
1971
1972 PR tree-optimization/70116
1973 * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
1974 is_tm_ending stmts and ubsan/asan internal functions.
1975 (find_duplicate): Use it. Don't test is_tm_ending here.
1976
1977 2016-03-07 Richard Biener <rguenther@suse.de>
1978
1979 PR tree-optimization/70115
1980 * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
1981 (propagate_constants_for_unrolling): Use replace_uses_by.
1982
1983 2016-03-07 Nathan Sidwell <nathan@codesourcery.com>
1984
1985 PR middle-end/69916
1986 * omp-low.c (struct oacc_loop): Add ifns.
1987 (new_oacc_loop_raw): Initialize it.
1988 (finish_oacc_loop): Clear mask & flags if no ifns.
1989 (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
1990 (oacc_loop_xform_loop): Add ifns arg & adjust.
1991 (oacc_loop_process): Adjust oacc_loop_xform_loop call.
1992
1993 2016-03-07 Richard Henderson <rth@redhat.com>
1994
1995 PR rtl-opt/70061
1996 * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
1997 (insert_value_copy_on_edge): Likewise.
1998
1999 2016-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2000
2001 * config/arm/arm_neon.h: Show error if using with soft-float ABI.
2002
2003 2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2004
2005 PR target/62281
2006 * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
2007
2008 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
2009
2010 * config/i386/i386.c (znver1_cost): Fix Multiply cost.
2011
2012 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
2013
2014 Fix sseimul type attribute.
2015 * config/i386/znver1.md
2016 (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
2017 znver1_sseimul_avx256_load) : Fix the type attribute.
2018 (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
2019 pipe usage and latency.
2020
2021 2016-03-05 Jakub Jelinek <jakub@redhat.com>
2022
2023 PR c++/70084
2024 * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
2025 of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
2026 to the right type.
2027
2028 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
2029
2030 PR c/69973
2031 * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
2032
2033 PR rtl-optimization/69941
2034 * postreload.c (reload_combine_recognize_pattern): Ensure all uses of
2035 the reg share its mode.
2036
2037 2016-03-04 Jeff Law <law@redhat.com>
2038
2039 PR tree-optimization/69196
2040 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
2041 If the both SSA_NAMEs are anonymous, then consider them unassociated
2042 and include the PHI in the statement count.
2043
2044 2016-03-05 Tom de Vries <tom@codesourcery.com>
2045
2046 * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
2047 construct in oacc routine. Check for oacc region in oacc routine.
2048
2049 2016-03-04 Jakub Jelinek <jakub@redhat.com>
2050
2051 PR target/70062
2052 * config/i386/i386.c (decide_alg): Add RECUR argument. Revert
2053 2016-02-22 changes, instead don't recurse if RECUR is already true.
2054 Don't change *dynamic_check if RECUR. Adjust recursive caller
2055 to pass true to the new argument.
2056 (ix86_expand_set_or_movmem): Adjust decide_alg caller.
2057
2058 PR target/70059
2059 * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
2060 <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
2061 fixes.
2062 (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands.
2063
2064 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
2065
2066 PR rtl-optimization/57676
2067 * lra-assigns.c (lra_assign): Guard test for maximum iterations
2068 with flag_checking.
2069
2070 2016-03-04 Ilya Enkovich <enkovich.gnu@gmail.com>
2071
2072 * tree-vect-patterns.c (search_type_for_mask): Handle
2073 comparison of booleans.
2074
2075 2016-03-04 Jakub Jelinek <jakub@redhat.com>
2076
2077 * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
2078 Fix @xref usage.
2079
2080 PR debug/69947
2081 * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
2082 all other ops that have dw_val_class_die_ref operands,
2083 and DW_OP_GNU_entry_value.
2084
2085 2016-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2086
2087 PR rtl-optimization/69904
2088 * config/arm/arm.c (arm_cannot_copy_insn_p):
2089 Return true for load-exclusive instructions.
2090
2091 2016-03-03 Jakub Jelinek <jakub@redhat.com>
2092
2093 PR target/70021
2094 * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
2095 argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
2096 the pattern no matter if it is used just by non-pattern, pattern
2097 or mix thereof.
2098 (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
2099 * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
2100 oprnd1 def_stmt is in pattern, don't look through it.
2101
2102 2016-03-03 Marek Polacek <polacek@redhat.com>
2103
2104 PR middle-end/70050
2105 * match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
2106
2107 2016-03-03 Martin Liska <mliska@suse.cz>
2108
2109 PR tree-optimization/70043
2110 * tree-vect-loop.c (optimize_mask_stores): Move iterator to
2111 previous statement if we see a debug statement.
2112
2113 2016-03-03 Richard Biener <rguenther@suse.de>
2114
2115 PR tree-optimization/55936
2116 * tree-vrp.c (compare_name_with_value): Add use_equiv_p
2117 parameter and guard unsafe equivalence use.
2118 (vrp_evaluate_conditional_warnv_with_ops): Always use
2119 safe equivalences but not via the quadratic compare_names
2120 helper.
2121
2122 2016-03-03 Michael Collison <michael.collison@linaro.org>
2123
2124 PR target/70014
2125 * config/arm/arm.md (*subsi3_carryin_const): Change predicate
2126 for operand 1 to s_register_operand. Change predicate for operand
2127 2 to arm_not_immediate_operand.
2128
2129 2016-03-02 H.J. Lu <hongjiu.lu@intel.com>
2130
2131 * doc/tm.texi: Regenerated.
2132
2133 2016-03-02 Richard Henderson <rth@redhat.com>
2134
2135 PR rtl-opt/67145
2136 * simplify-rtx.c (simplify_plus_minus): Allow reassoc without
2137 simplification when all args are positive non-fixed registers.
2138
2139 2016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2140
2141 * target.def (lra_p): Specify that new ports should use LRA.
2142
2143 2016-03-02 Jakub Jelinek <jakub@redhat.com>
2144
2145 PR libgomp/69555
2146 * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
2147 gimplify_type_sizes the type they refer to.
2148 (omp_notice_variable): Handle reference vars to VLAs.
2149 * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
2150 reference to VLA decls in the second pass instead of first pass.
2151
2152 2016-03-02 Tom de Vries <tom@codesourcery.com>
2153
2154 PR tree-optimization/68659
2155 * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
2156 new_expr == NULL_TREE.
2157 (get_new_name): Handle ADDR_EXPR.
2158
2159 2016-03-02 Bin Cheng <bin.cheng@arm.com>
2160
2161 PR rtl-optimization/69052
2162 * loop-invariant.c (canonicalize_address): New function.
2163 (inv_can_prop_to_addr_use): Check validity of address expression
2164 which is canonicalized by above function.
2165
2166 2016-03-02 Alan Modra <amodra@gmail.com>
2167
2168 PR ipa/69990
2169 * ipa-icf.c (sem_variable::merge): Do not merge an alias with
2170 larger alignment.
2171
2172 2016-03-02 Jakub Jelinek <jakub@redhat.com>
2173
2174 PR target/70028
2175 * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
2176 (*movhi_internal): Put mask moves from and to memory separately
2177 from moves from/to GPRs.
2178
2179 2016-03-02 Richard Biener <rguenther@suse.de>
2180
2181 * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
2182 GENERIC expressions in GIMPLE.
2183
2184 2016-03-02 Richard Biener <rguenther@suse.de>
2185
2186 * config/i386/i386.c (type_natural_mode): Fix typo.
2187
2188 2016-03-02 Nick Clifton <nickc@redhat.com>
2189
2190 * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
2191
2192 2016-03-02 Richard Biener <rguenther@suse.de>
2193 Uros Bizjak <ubizjak@gmail.com>
2194
2195 PR target/67278
2196 * config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
2197
2198 2016-03-02 Richard Biener <rguenther@suse.de>
2199
2200 PR middle-end/67278
2201 * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
2202
2203 2016-03-02 Marek Polacek <polacek@redhat.com>
2204
2205 PR c/67854
2206 * gimplify.c (gimplify_va_arg_expr): Use expanded location for the
2207 "is promoted to" warning.
2208
2209 2016-03-01 DJ Delorie <dj@redhat.com>
2210
2211 * config.gcc: Deprecate mep-*.
2212
2213 2016-03-01 Vladimir Makarov <vmakarov@redhat.com>
2214
2215 PR middle-end/70025
2216 * lra-constraints.c (regno_val_use_in): New.
2217 (match_reload): Use it instead of regno_use_in.
2218
2219 2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
2220
2221 PR rtl-optimization/70007
2222 * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
2223 references present in REG_EQUAL notes attached to non-SET patterns.
2224
2225 2016-03-01 Jeff Law <law@redhat.com>
2226
2227 PR tree-optimization/69196
2228 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
2229 Appropriately clamp the number of statements to copy when the
2230 thread path does not traverse a loop backedge.
2231
2232 PR tree-optimization/69196
2233 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
2234 Do count some PHIs in the thread path against the insn count. Decrease
2235 final statement count by one as the control statement in the last
2236 block will get removed. Remove special cased code for handling PHIs
2237 in the last block.
2238
2239 2016-03-01 Uros Bizjak <ubizjak@gmail.com>
2240
2241 PR target/70027
2242 * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
2243 asm dialect alternatives to explicit GOTPCREL calls.
2244
2245 2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
2246
2247 PR ada/70017
2248 * ira.c (do_reload): Issue warning for generic stack checking here...
2249 * reload1.c (reload): ...instead of here and streamline it.
2250
2251 2016-03-01 Nick Clifton <nickc@redhat.com>
2252
2253 * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
2254
2255 2016-03-01 Richard Biener <rguenther@suse.de>
2256
2257 PR tree-optimization/69983
2258 * tree-chrec.c (eq_evolutions_p): Handle conversions, compare
2259 types and fall back to operand_equal_p.
2260
2261 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2262
2263 Revert
2264 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2265
2266 * config/s390/constraints.md ("jm8"): New constraint.
2267 * config/s390/predicates.md ("const_int_8bitset_operand"): New
2268 predicate.
2269 * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
2270 into ...
2271 ("*setmem_long<setmem_and>"): New pattern.
2272 ("*setmem_long_31z", "*setmem_long_and_31z"): Merge
2273 into ...
2274 ("*setmem_long_31z<setmem_and>"): New pattern.
2275 * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
2276 New substitution rules with the required attributes.
2277
2278
2279 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2280
2281 Revert
2282 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2283
2284 * gensupport.c (process_substs_on_one_elem): Split loop to
2285 complete mark_operands_used_in_match_dup on all expressions in the
2286 vector first.
2287 (adjust_operands_numbers): Inline into process_substs_on_one_elem
2288 and remove function.
2289
2290 2016-03-01 Richard Biener <rguenther@suse.de>
2291
2292 PR middle-end/70022
2293 * fold-const.c (fold_indirect_ref_1): Fix range checking for
2294 vector BIT_FIELD_REF extract.
2295
2296 2016-03-01 Richard Biener <rguenther@suse.de>
2297
2298 PR tree-optimization/69994
2299 * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
2300
2301 2016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com>
2302
2303 PR tree-optimization/69956
2304 * tree-vect-stmts.c (supportable_widening_operation): Support
2305 multi-step conversion of boolean vectors.
2306 (supportable_narrowing_operation): Likewise.
2307
2308 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2309
2310 * config/s390/s390.c (s390_decompose_address): Don't accept SImode
2311 anymore.
2312
2313 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2314
2315 * config/s390/subst.md (DSI_VI): New mode iterator.
2316 ("addr_style_op_subst"): Use DSI_VI instead of DSI.
2317 * config/s390/vector.md ("vec_set<mode>"): Move expander before
2318 the insn definition.
2319 ("*vec_set<mode>"): Change predicate and add alternative to
2320 support only either register or const_int operands as element
2321 selector.
2322 ("*vec_set<mode>_plus"): New pattern to support reg + const_int
2323 operands.
2324 ("vec_extract<mode>"): New expander.
2325 ("*vec_extract<mode>"): New insn definition supporting reg and
2326 const_int element selectors.
2327 ("*vec_extract<mode>_plus"): New insn definition supporting
2328 reg+const_int element selectors.
2329 ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
2330 following expander+insn definition.
2331 ("<vec_shifts_name><mode>3"): New expander.
2332 ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
2333
2334 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2335
2336 * config/s390/s390.md ("*tabort_1"): Change predicate to
2337 nonmemory_operand. Add a second alternative to cover
2338 register as well as const int operands.
2339 ("*tabort_1_plus"): New pattern definition.
2340
2341 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2342
2343 * config/s390/s390.md ("*ashrdi3_cc_31")
2344 ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
2345 ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
2346 Merge insn definitions into ...
2347 ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
2348 New pattern definition.
2349 ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
2350 ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
2351 ("*ashr<mode>3_and"): Merge insn definitions into ...
2352 ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
2353 New pattern definition.
2354 * config/s390/subst.md ("addr_style_op_cc_subst")
2355 ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
2356 substitutions patterns plus attributes.
2357 Add ashiftrt to SUBST iterator.
2358
2359 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2360
2361 * config/s390/s390.md ("<shift><mode>3"): Change predicate of
2362 op2 to nonmemory_operand.
2363 ("*<shift>di3_31", "*<shift>di3_31_and"):
2364 Merge into single pattern definition ...
2365 ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
2366 ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
2367 pattern definition ...
2368 ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
2369 * config/s390/subst.md: Add ashift and lshiftrt to SUBST
2370 iterator.
2371
2372 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2373
2374 * config/s390/predicates.md (const_int_6bitset_operand): New
2375 predicate.
2376 * config/s390/s390.md: Include subst.md.
2377 ("rotl<mode>3"): New expander.
2378 ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
2379 ...
2380 ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
2381 * config/s390/subst.md: New file.
2382
2383 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2384
2385 * config/s390/s390.md ("op_type", "atype", "length" attributes):
2386 Remove RRR type. It doesn't really exist.
2387 ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
2388 attributes.
2389 ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
2390 ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
2391 ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
2392 ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
2393 ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
2394 ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
2395 `enabled' attribute.
2396
2397 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2398
2399 * gensupport.c (process_substs_on_one_elem): Split loop to
2400 complete mark_operands_used_in_match_dup on all expressions in the
2401 vector first.
2402 (adjust_operands_numbers): Inline into process_substs_on_one_elem
2403 and remove function.
2404
2405 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
2406
2407 PR target/69706
2408 * config/sparc/sparc.c (NWORDS_UP): Rename to...
2409 (CEIL_NWORDS): ...this. Use CEIL macro.
2410 (compute_fp_layout): Adjust to above renaming.
2411 (function_arg_union_value): Likewise.
2412 (sparc_arg_partial_bytes): Likewise.
2413 (sparc_function_arg_advance): Likewise.
2414
2415 2016-02-29 Jeff Law <law@redhat.com>
2416
2417 PR tree-optimization/70005
2418 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
2419 where an object with a boolean range is compared against a value
2420 outside [0..1].
2421
2422 PR tree-optimization/69999
2423 * gimple-ssa-split-paths.c (split_paths): When duplicating a block
2424 with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
2425 loop cleanups.
2426
2427 2016-02-29 Richard Biener <rguenther@suse.de>
2428
2429 PR tree-optimization/69994
2430 * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
2431 (get_unary_op): Look through nop conversions.
2432 (ops_equal_values_p): New function, look for equality diregarding
2433 nop conversions.
2434 (eliminate_plus_minus_pair): Use ops_equal_values_p
2435 (repropagate_negates): Do not use get_unary_op here.
2436
2437 2016-02-29 Martin Liska <mliska@suse.cz>
2438
2439 * system.h: Poison ENABLE_CHECKING macro.
2440
2441 2016-02-29 Martin Liska <mliska@suse.cz>
2442
2443 * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
2444 is presented in dump flags.
2445 * hsa-regalloc.c (linear_scan_regalloc): Likewise.
2446 (hsa_regalloc): Likewise.
2447
2448 2016-02-19 Richard Biener <rguenther@suse.de>
2449
2450 PR tree-optimization/69980
2451 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
2452 permutation of those we need to keep.
2453
2454 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
2455
2456 PR target/69706
2457 * config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
2458 (NWORDS_UP): ...this
2459 (init_cumulative_args): Minor tweaks.
2460 (sparc_promote_function_mode): Likewise.
2461 (scan_record_type): Delete.
2462 (traverse_record_type): New function template.
2463 (classify_data_t): New structure type.
2464 (classify_registers): New inline function.
2465 (function_arg_slotno): In 64-bit mode, bail out early if FP slots are
2466 exhausted. Instantiate traverse_record_type on classify_registers and
2467 deal with the case of a structure passed in slot #15 with no FP field
2468 in the first word.
2469 (assign_data_t): New structure type.
2470 (compute_int_layout): New static function.
2471 (compute_fp_layout): Likewise.
2472 (count_registers): New inline function.
2473 (assign_int_registers): New static function.
2474 (assign_fp_registers): Likewise.
2475 (assign_registers): New inline function.
2476 (function_arg_record_value_1): Delete.
2477 (function_arg_record_value_2): Likewise.
2478 (function_arg_record_value_3): Likewise.
2479 (function_arg_record_value): Adjust to above changes. Instantiate
2480 traverse_record_type on count_registers to first count the number of
2481 registers to be used and then on assign_registers to assign them.
2482 (function_arg_union_value): Adjust to above renaming.
2483 (sparc_function_arg_1); Minor tweaks. Remove commented out code.
2484 (sparc_arg_partial_bytes): Adjust to above renaming. Deal with the
2485 case of a structure passed in slot #15
2486 (sparc_function_arg_advance): Likewise.
2487 (function_arg_padding): Minor tweak.
2488
2489 2016-02-29 Richard Biener <rguenther@suse.de>
2490
2491 PR tree-optimization/69720
2492 * tree-vect-loop.c (get_initial_def_for_reduction): Avoid
2493 the adjustment_def path for possibly vectorized defs.
2494 (vect_create_epilog_for_reduction): Handle vectorized initial
2495 defs properly.
2496
2497 2016-02-28 Eric Botcazou <ebotcazou@adacore.com>
2498
2499 * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
2500
2501 2016-02-27 Jeff Law <law@redhat.com>
2502
2503 Revert
2504 2016-02-26 Richard Biener <rguenther@suse.de>
2505 Jeff Law <law@redhat.com>
2506
2507 PR tree-optimization/69740
2508 * cfghooks.c (remove_edge): Request loop fixups if we delete
2509 an edge that might turn an irreducible loop into a natural
2510 loop.
2511
2512 2016-02-27 Jakub Jelinek <jakub@redhat.com>
2513
2514 PR rtl-optimization/69896
2515 * tree-vect-generic.c (get_compute_type): Avoid single element
2516 vector types.
2517
2518 2016-02-26 Evandro Menezes <e.menezes@samsung.com>
2519
2520 Rename the AArch64 tuning option and related functions to enable the
2521 Newton series for the reciprocal square root to reflect its
2522 approximative characteristic.
2523
2524 * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
2525 function to "aarch64_emit_approx_rsqrt".
2526 * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
2527 AARCH64_EXTRA_TUNE_APPROX_RSQRT.
2528 * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
2529 (xgene1_tunings): Likewise.
2530 (use_rsqrt_p): Likewise.
2531 (aarch64_emit_swrsqrt): Use new function name.
2532 * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
2533 * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
2534 text explaining this option.
2535 * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
2536
2537 2016-02-26 Jakub Jelinek <jakub@redhat.com>
2538
2539 PR target/69969
2540 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
2541 complain about -mallow-movmisalign without -mvsx if
2542 TARGET_ALLOW_MOVMISALIGN was not set explicitly.
2543
2544 2016-02-26 Joel Sherrill <joel@rtems.org>
2545
2546 * config.gcc: Add x86_64-*-rtems*.
2547 * gcc/config/i386/rtems-64.h: New file.
2548
2549 2016-02-26 Joel Sherrill <joel@rtems.org>
2550
2551 * config.gcc: Add aarch64-*-rtems*.
2552 * gcc/config/aarch64/rtems.h: New file.
2553
2554 2016-02-26 Segher Boessenkool <segher@kernel.crashing.org>
2555
2556 PR target/69946
2557 * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
2558 shift amount using %h. Add comment.
2559
2560 2016-02-26 Richard Biener <rguenther@suse.de>
2561 Jeff Law <law@redhat.com>
2562
2563 PR tree-optimization/69740
2564 * cfghooks.c (remove_edge): Request loop fixups if we delete
2565 an edge that might turn an irreducible loop into a natural
2566 loop.
2567
2568 2016-02-26 Martin Jambor <mjambor@suse.cz>
2569
2570 PR middle-end/69920
2571 * tree-sra.c (sra_modify_assign): Do not remove loads of
2572 uninitialized aggregates to SSA_NAMEs.
2573
2574 2016-02-26 Richard Henderson <rth@redhat.com>
2575
2576 PR target/69709
2577 * config/s390/s390.md (risbg and risbgn splitters): Allocate new
2578 pseudo in case the target rtx matches the source of the left
2579 shift.
2580
2581 2016-02-26 Martin Jambor <mjambor@suse.cz>
2582
2583 PR hsa/69568
2584 * hsa.h (hsa_type_packed_p): Declare.
2585 * hsa.c (hsa_type_packed_p): New function.
2586 * hsa-gen.c (mem_type_for_type): Use unsigned type for packed
2587 loads.
2588 (gen_hsa_insns_for_store): Use hsa_type_packed_p.
2589 * hsa-brig.c (emit_basic_insn): Likewise.
2590
2591 2016-02-26 Martin Jambor <mjambor@suse.cz>
2592
2593 pr hsa/69674
2594 * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
2595 pointers.
2596 (gen_hsa_addr): Allow integer constants in TMR_INDEX2.
2597
2598 2016-02-26 Martin Jambor <mjambor@suse.cz>
2599
2600 * hsa.h (is_a_helper): New overload for hsa_op_immed for
2601 hsa_op_with_type operands.
2602 (hsa_unsigned_type_for_type): Declare.
2603 * hsa.c (hsa_unsigned_type_for_type): New function.
2604 * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
2605 (gen_hsa_insns_for_operation_assignment): Satisfy constrains of
2606 the finalizer. Do not emit extra move.
2607
2608 2016-02-26 Martin Jambor <mjambor@suse.cz>
2609
2610 * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
2611 atomic operations in private segment.
2612
2613 2016-02-26 Martin Jambor <mjambor@suse.cz>
2614
2615 * omp-low.c (grid_find_ungridifiable_statement): Store problematic
2616 statements to wi->info. Also disallow omp simd constructs.
2617 (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
2618 for not gridifying. Dump special string for omp_for.
2619
2620 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2621
2622 PR target/69245
2623 * config/aarch64/aarch64.c (aarch64_set_current_function):
2624 Save/restore target globals when switching to
2625 target_option_default_node.
2626
2627 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2628
2629 PR target/69613
2630 * config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
2631 Return 0 if !SHIFT_COUNT_TRUNCATED.
2632
2633 2016-02-26 Jakub Jelinek <jakub@redhat.com>
2634 Eric Botcazou <ebotcazou@adacore.com>
2635
2636 PR rtl-optimization/69891
2637 * dse.c (scan_insn): If we can't figure out memset arguments
2638 or they are non-constant, call clear_rhs_from_active_local_stores.
2639
2640 2016-02-26 Martin Liska <mliska@suse.cz>
2641
2642 * doc/extend.texi: Mention clog10, clog10f an clog10l
2643 in Builtins section.
2644
2645 2016-02-26 Martin Liska <mliska@suse.cz>
2646
2647 * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
2648 CHECKING_P.
2649 (resolve_args_picking_1): Likewise.
2650 * dwarf2out.h (struct GTY): Likewise.
2651
2652 2016-02-26 Martin Liska <mliska@suse.cz>
2653
2654 * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
2655 with flag_checking.
2656 * hsa-regalloc.c (linear_scan_regalloc): Likewise.
2657
2658 2016-02-26 Markus Trippelsdorf <markus@trippelsdorf.de>
2659 Martin Liska <mliska@suse.cz>
2660
2661 * doc/install.texi: Mention --enable-valgrind-annotations.
2662
2663 2016-02-26 Richard Biener <rguenther@suse.de>
2664
2665 PR tree-optimization/69551
2666 * tree-ssa-structalias.c (get_constraint_for_ssa_var): When
2667 looking through aliases adjust DECL_PT_UID to refer to the
2668 ultimate alias target.
2669
2670 2016-02-25 Martin Liska <mliska@suse.cz>
2671
2672 PR middle-end/69919
2673 * alloc-pool.c (after_memory_report): New variable.
2674 * alloc-pool.h (base_pool_allocator ::release): Do not use
2675 the infrastructure if after_memory_report.
2676 * toplev.c (toplev::main): Mark after memory report.
2677
2678 2016-02-25 Richard Biener <rguenther@suse.de>
2679
2680 PR tree-optimization/48795
2681 * tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
2682
2683 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
2684
2685 PR driver/68463
2686 * config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if
2687 offloading is enabled and -fopenacc or -fopenmp is specified.
2688 (CRTOFFLOADEND): Likewise.
2689 (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
2690 (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
2691 * lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
2692 (offload_objects_file_name): New static var.
2693 (tool_cleanup): Remove offload_objects_file_name file.
2694 (find_offloadbeginend): Replace with ...
2695 (find_crtoffloadtable): ... this.
2696 (run_gcc): Remove offload_argc and offload_argv.
2697 Get offload_objects_file_name from -foffload-objects=... option.
2698 Read names of object files with offload from this file, pass them to
2699 compile_images_for_offload_targets. Don't call find_offloadbeginend and
2700 don't pass offloadbegin and offloadend to the linker. Don't pass
2701 offload non-LTO files to the linker, because now they're not claimed.
2702
2703 2016-02-25 Jan Hubicka <hubicka@ucw.cz>
2704
2705 PR ipa/69630
2706 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
2707 on builtin_unreachable.
2708
2709 2016-02-25 Jakub Jelinek <jakub@redhat.com>
2710
2711 PR rtl-optimization/69896
2712 * regcprop.c: Include cfgrtl.h.
2713 (copyprop_hardreg_forward_1): If noop_p insn uses narrower
2714 than remembered mode, either delete it (if noop_move_p), or
2715 treat like copy_p but not noop_p instruction.
2716
2717 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2718
2719 PR debug/69705
2720 * dwarf2out.c (gen_variable_die): Work around buggy LTO
2721 - allow NULL decl for Fortran DW_TAG_common_block variables.
2722
2723 2016-02-24 Jason Merrill <jason@redhat.com>
2724
2725 * common.opt (flifetime-dse): Add -flifetime-dse=1.
2726
2727 2016-02-24 Richard Biener <rguenther@suse.de>
2728 Jakub Jelinek <jakub@redhat.com>
2729
2730 PR middle-end/69760
2731 * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
2732 conditionally executed ops to well-defined overflow behavior.
2733
2734 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2735
2736 PR middle-end/69915
2737 * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
2738 elements.
2739
2740 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2741
2742 PR rtl-optimization/69886
2743 * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
2744 argument. Use it when checking validity of set instructions.
2745 (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
2746 (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
2747 callsite.
2748 * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
2749 * store-motion.c (find_moveable_store): Update
2750 can_assign_to_reg_without_clobbers_p callsite.
2751
2752 2016-02-24 Richard Biener <rguenther@suse.de>
2753
2754 PR middle-end/68963
2755 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
2756 bogus check.
2757 (record_nonwrapping_iv): Do not fall back to the low/high bound
2758 for non-constant IV bases if the stmt is not always executed.
2759
2760 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2761
2762 * config/arm/arm-cores.def (cortex-a32): New entry.
2763 * config/arm/arm-tables.opt: Regenerate.
2764 * config/arm/arm-tune.md: Regenerate.
2765 * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
2766 * config/arm/t-aprofile: Handle mcpu=cortex-a32.
2767 * doc/invoke.texi (ARM Options): Document cortex-a32 as value
2768 for -mcpu and -mtune.
2769
2770 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2771
2772 PR target/69875
2773 * config/arm/arm.h (TARGET_HAVE_LPAE): Define.
2774 * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
2775 * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
2776 (atomic_loaddi_1): Delete.
2777 (atomic_loaddi): Rewrite expander using the above changes.
2778
2779 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2780
2781 PR c/69918
2782 * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
2783 2 to 3.
2784
2785 2016-02-24 Jakub Jelinek <jakub@redhat.com>
2786 Richard Biener <rguenth@suse.de>
2787
2788 PR middle-end/69909
2789 * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
2790 set_mem_attributes if tem is SSA_NAME which got expanded
2791 as a MEM.
2792
2793 2016-02-24 Richard Biener <rguenther@suse.de>
2794
2795 PR tree-optimization/69907
2796 * tree-vect-stmts.c (vectorizable_load): Check for gaps at the
2797 end of permutations for BB vectorization.
2798
2799 2016-02-24 Christian Bruel <christian.bruel@st.com>
2800
2801 * config/arm/arm-c.c (arm_option_override): Initialize
2802 target_option_current_node.
2803 * config/arm/arm.c (arm_pragma_target_parse): Replace
2804 build_target_option_node call by target_option_current_node.
2805 Set target_option_current_node.
2806 Fix comments.
2807
2808 2016-02-23 David Edelsohn <dje.gcc@gmail.com>
2809
2810 PR target/69810
2811 * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
2812 define_insn_and_split to define_insn.
2813 (zero_extendqi<mode>2_dot2): Same.
2814 (extendqi<mode>2_dot): Same.
2815 (extendqi<mode>2_dot2): Same.
2816
2817 2016-02-23 Evandro Menezes <e.menezes@samsung.com>
2818
2819 * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
2820 and add bypass for AES{D,E} and AESMC pairs.
2821 * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
2822 and AESMC pairs.
2823
2824 2016-02-23 Evandro Menezes <e.menezes@samsung.com>
2825
2826 * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
2827 series for reciprocal square root in Exynos M1.
2828
2829 2016-02-23 Martin Sebor <msebor@redhat.com>
2830
2831 PR c/69759
2832 * doc/extend.texi (Other Builtins): Document __builtin_alloca and
2833 __builtin_alloca_with_align.
2834
2835 2016-02-23 Richard Henderson <rth@redhat.com>
2836
2837 * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
2838 (ix86_register_pragmas): Remove __seg_tls.
2839 * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
2840 * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
2841 (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
2842 (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
2843 (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
2844 * doc/extend.texi (__seg_tls): Remove item.
2845
2846 2016-02-23 Richard Biener <rguenther@suse.de>
2847
2848 * alloc-pool.h (struct allocation_object): Make id member
2849 conditional on CHECKING_P again.
2850 (get_instance): Adjust.
2851 (base_pool_allocator): Likewise.
2852
2853 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
2854
2855 * tree-parloops.c (create_parallel_loop, gen_parallel_loop)
2856 (parallelize_loops): In OpenACC kernels mode, set n_threads to
2857 zero.
2858 (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
2859 flag_openacc.
2860 * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
2861
2862 2016-02-23 Richard Biener <rguenther@suse.de>
2863
2864 * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
2865 * bitmap.h (struct bitmap_usage): Likewise.
2866 (bitmap_move): Declare.
2867 * bitmap.c (register_overhead): Take size_t argument.
2868 (bitmap_move): New function.
2869 * df-problems.c (df_rd_transfer_function): Use bitmap_move
2870 to properly account overhead.
2871 * tree.c (free_node): Use tree_size.
2872
2873 2016-02-23 Jakub Jelinek <jakub@redhat.com>
2874
2875 PR c++/69902
2876 * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
2877 when inverting comparison.
2878
2879 PR c/69900
2880 * common.opt (Wunreachable-code): Add Warning flag.
2881
2882 2016-02-23 Mark Wielaard <mjw@redhat.com>
2883 Jakub Jelinek <jakub@redhat.com>
2884
2885 PR c/69911
2886 * cgraphunit.c (check_global_declaration): Check main_input_filename
2887 and DECL_SOURCE_FILE are not NULL.
2888
2889 2016-02-23 Martin Jambor <mjambor@suse.cz>
2890
2891 PR tree-optimization/69666
2892 * tree-sra.c (sra_modify_assign): Do not attempt to create
2893 default_def replacements for unscalarizable regions.
2894
2895 2016-02-20 Mark Wielaard <mjw@redhat.com>
2896
2897 PR c/28901
2898 * cgraphunit.c (check_global_declaration): Check level of
2899 warn_unused_const_variable and main_input_filename.
2900 * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
2901 (-Wunused-variable): For C implies -Wunused-const-variable=1.
2902 (-Wunused-const-variable): Explain levels 1 and 2.
2903
2904 2016-02-22 Jakub Jelinek <jakub@redhat.com>
2905
2906 PR target/69888
2907 * config/i386/i386.c (decide_alg): Ensure we don't recurse with
2908 identical arguments. Formatting and spelling fixes.
2909
2910 PR target/69885
2911 * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
2912 be specified.
2913
2914 PR target/69894
2915 PR target/69895
2916 * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
2917 and m68k-devices.def.
2918 * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
2919 * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
2920
2921 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
2922
2923 * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
2924 and HImode registers.
2925
2926 2016-02-22 Richard Biener <rguenther@suse.de>
2927
2928 PR tree-optimization/69882
2929 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
2930 preserve permutations present because of gaps.
2931 (vect_supported_load_permutation_p): Always continue checking
2932 permutations after vect_attempt_slp_rearrange_stmts.
2933
2934 2016-02-22 Bin Cheng <bin.cheng@arm.com>
2935
2936 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
2937 min_profitable_estimate, rather than min_profitable_iters.
2938
2939 2016-02-22 Jakub Jelinek <jakub@redhat.com>
2940
2941 PR target/69885
2942 * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
2943 SImode for last match_operand.
2944
2945 2016-02-22 Martin Liska <mliska@suse.cz>
2946
2947 * hsa-gen.c (gen_hsa_clrsb): In case of zero value,
2948 return bitsize - 1 as the return value.
2949
2950 2016-02-22 Oleg Endo <olegendo@gcc.gnu.org>
2951
2952 PR target/69806
2953 PR target/54089
2954 * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
2955 Handle negative shift counts.
2956 * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
2957 force_reg on the shift constant.
2958 (lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d.
2959 (lshrsi3_d): Handle negative shift counts.
2960
2961 2016-02-22 Richard Biener <rguenther@suse.de>
2962 Tom de Vries <tom@codesourcery.com>
2963
2964 * graph.c: Include dumpfile.h.
2965 (print_graph_cfg): Split into three overloads.
2966 * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
2967
2968 2016-02-22 Tom de Vries <tom@codesourcery.com>
2969
2970 * gdbhooks.py (class DumpFn): Add and instantiate, adding command
2971 dump-fn.
2972
2973 2016-02-22 Richard Biener <rguenther@suse.de>
2974
2975 PR ipa/37448
2976 * ipa-inline-transform.c (inline_call): When not updating
2977 overall summaries adjust self size by the growth estimate.
2978 * ipa-inline.c (inline_to_all_callers_1): Add to the callers
2979 hash-set, do not update overall summaries here. Renamed from ...
2980 (inline_to_all_callers): ... this which is now wrapping the
2981 above and performing delayed overall summary update.
2982 (early_inline_small_functions): Delay updating of the overall
2983 summary.
2984
2985 2016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de>
2986
2987 * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
2988 variable.
2989
2990 2016-02-19 Jakub Jelinek <jakub@redhat.com>
2991
2992 PR driver/69805
2993 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
2994 :%* in %:gt() argument.
2995 (greater_than_spec_func): Adjust for expecting only numbers,
2996 if there are more than two numbers, compare the last two.
2997
2998 2016-02-19 Jonathan Wakely <jwakely@redhat.com>
2999
3000 * doc/invoke.texi (C++ Dialect Options): Clarify interaction of
3001 -Wnarrowing with -std.
3002
3003 2016-02-19 Jakub Jelinek <jakub@redhat.com>
3004
3005 PR c++/69851
3006 * expr.c (store_field): Don't use bit-field path if exp is
3007 COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
3008 different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
3009 and the assignment can be performed by bitwise copy. Formatting
3010 fix.
3011
3012 PR middle-end/69838
3013 * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
3014 call copy_reg_eh_region_note_forward on before and/or after sequences
3015 and remove note from insn if it no longer can throw.
3016
3017 PR target/69820
3018 * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
3019 if TARGET_AVX512BW.
3020
3021 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3022
3023 * config/s390/vector.md: Add missing commutative operand markers
3024 to the patterns which qualify for one.
3025 * config/s390/vx-builtins.md: Likewise.
3026
3027 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3028
3029 * config/s390/vector.md (VI, VI_QHS): Add single element vector
3030 types to mode iterators.
3031 (vec_double): ... and mode attribute.
3032 * config/s390/vx-builtins.md (non_vec_int): Likewise.
3033
3034 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3035
3036 * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
3037 Change the predicate of op2 from nonimmediate to general and let
3038 reload fix it if necessary.
3039
3040 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3041
3042 * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
3043
3044 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3045
3046 * config/s390/s390.c (s390_expand_vcond): Use the compare operand
3047 mode.
3048
3049 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3050
3051 * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
3052 * config/s390/s390.c (s390_expand_vec_movstr): New function.
3053 * config/s390/s390.md ("movstr<P:mode>"): Call
3054 s390_expand_vec_movstr.
3055
3056 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3057
3058 * config/s390/s390.md: Add missing output modifier for operand 1
3059 to print it as address properly.
3060
3061 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3062
3063 * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
3064 * config/s390/2964.md: New file.
3065 * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
3066 of insn grouping attributes depending on the CPU level.
3067 (s390_get_unit_mask): New function.
3068 (s390_sched_score): Remove the OOO from the scheduling macros.
3069 Add loop to calculate a score for the instruction mix.
3070 (s390_sched_reorder): Likewise plus improve debug output.
3071 (s390_sched_variable_issue): Rename macros as above. Calculate
3072 the unit distances after actually scheduling an insn. Improve
3073 debug output.
3074 (s390_sched_init): Clear last_scheduled_unit_distance array.
3075 * config/s390/s390.md: Include 2964.md.
3076
3077 2016-02-18 Jakub Jelinek <jakub@redhat.com>
3078
3079 PR target/69671
3080 * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
3081 *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
3082 *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
3083 *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
3084 *avx512f_<code>v8div16qi2_mask_1): New insns.
3085
3086 2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3087
3088 PR target/68404
3089 * config/rs6000/predicates.md (fusion_gpr_addis): Revert
3090 2016-02-09 change.
3091
3092 * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
3093 earlyclobber from target. Use wF constraint for fused memory
3094 address.
3095 (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
3096
3097 2016-02-18 Jakub Jelinek <jakub@redhat.com>
3098 Martin Liska <mliska@suse.cz>
3099
3100 PR sanitizer/69863
3101 * cfgexpand.c (asan_sanitize_stack_p): New function.
3102 (partition_stack_vars): Use the function.
3103 (expand_stack_vars): Likewise.
3104 (defer_stack_allocation): Likewise.
3105 (expand_used_vars): Likewise.
3106
3107 2016-02-18 Richard Biener <rguenther@suse.de>
3108
3109 PR middle-end/69553
3110 * fold-const.c (operand_equal_p): Properly compare offsets for
3111 IMAGPART_EXPR and ARRAY_REF.
3112
3113 2016-02-18 Nick Clifton <nickc@redhat.com>
3114
3115 PR target/62254
3116 PR target/69610
3117 * config/arm/arm.c (arm_option_override_internal): Disable
3118 interworking if the target does not support thumb instructions.
3119 (arm_reload_in_hi): Handle the case where a register to register
3120 move needs reloading because there is no simple pattern to handle
3121 it.
3122 (arm_reload_out_hi): Likewise.
3123
3124 2016-02-18 Richard Biener <rguenther@suse.de>
3125
3126 PR middle-end/69854
3127 * match.pd: Don't use fold_binary or fold_unary for folding
3128 constants.
3129
3130 2016-02-17 Jakub Jelinek <jakub@redhat.com>
3131
3132 PR c++/69850
3133 * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
3134 on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
3135 * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
3136 warn on gimple_no_warning_p statements.
3137
3138 2016-02-17 Jonathan Wakely <jwakely@redhat.com>
3139
3140 * doc/extend.texi (C++ Attributes): Correct description of
3141 warn_unused type attribute.
3142
3143 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3144
3145 * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
3146 correct instruction.
3147
3148 2016-02-17 Richard Biener <rguenther@suse.de>
3149
3150 PR rtl-optimization/69609
3151 * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
3152 (find_traces_1_round): When ending a trace update cached priority
3153 of successors.
3154 (bb_to_key): Use cached priority when available.
3155 (copy_bb): Initialize cached priority.
3156 (reorder_basic_blocks_software_trace_cache): Likewise.
3157
3158 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3159
3160 PR target/69161
3161 * config/aarch64/predicates.md (aarch64_comparison_operator_mode):
3162 New predicate.
3163 (aarch64_comparison_operator): Break overly long line into two.
3164 (aarch64_comparison_operation): Likewise.
3165 * config/aarch64/aarch64.md (cstorecc4): Use
3166 aarch64_comparison_operator_mode instead of
3167 aarch64_comparison_operator.
3168 (cstore<mode>4): Likewise.
3169 (aarch64_cstore<mode>): Likewise.
3170 (*cstoresi_insn_uxtw): Likewise.
3171 (cstore<mode>_neg): Likewise.
3172 (*cstoresi_neg_uxtw): Likewise.
3173
3174 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3175
3176 PR target/69161
3177 * config/arm/predicates.md (arm_comparison_operator_mode):
3178 New predicate.
3179 * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
3180 instead of arm_comparison_operator.
3181 (*mov_negscc): Likewise.
3182 (*mov_notscc): Likewise.
3183 * config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
3184 (*thumb2_mov_negscc): Likewise.
3185 (*thumb2_mov_negscc_strict_it): Likewise.
3186 (*thumb2_mov_notscc): Likewise.
3187 (*thumb2_mov_notscc_strict_it): Likewise.
3188
3189 2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
3190
3191 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
3192 Add missing return.
3193
3194 2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
3195
3196 * config/visium/visium.c (machine_libfunc_index): New enum.
3197 (machine_libfuncs): New structure.
3198 (visium_libfuncs): New static variable.
3199 (TARGET_INIT_LIBFUNCS): Define to...
3200 (visium_init_libfuncs): ...this. New function.
3201 (expand_block_move_4): Use the appropriate libfunc.
3202 (expand_block_move_2): Likewise.
3203 (expand_block_move_1): Likewise.
3204 (expand_block_set_4): Likewise.
3205 (expand_block_set_2): Likewise.
3206 (expand_block_set_1): Likewise.
3207 (visium_trampoline_init): Likewise.
3208
3209 2016-02-17 Nick Clifton <nickc@redhat.com>
3210
3211 * config/msp430/msp430.c (msp430_mcu_data): Sync with data from
3212 TI's devices.csv file as of March 2016.
3213
3214 2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
3215
3216 PR Target/48344
3217 * opts-global.c (handle_common_deferred_options): Introduce and
3218 initialize two global variables to remember command-line options
3219 specifying a stack-limiting register.
3220 * opts.h: Add extern declarations of the two new global variables.
3221 * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
3222 variable based on the values of the two new global variables.
3223
3224 2016-02-16 Jakub Jelinek <jakub@redhat.com>
3225
3226 PR c/69835
3227 * common.opt (Wnonnull-compare): New warning.
3228 * doc/invoke.texi (-Wnonnull): Remove text about comparison
3229 of arguments against NULL.
3230 (-Wnonnull-compare): Document.
3231 * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
3232 * tree-pass.h (make_pass_warn_nonnull_compare): Declare.
3233 * passes.def (pass_warn_nonnull_compare): Add.
3234 * gimple-ssa-nonnull-compare.c: New file.
3235
3236 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
3237
3238 * config/aarch64/aarch64.c (cortexa57_tunings): Remove
3239 AARCH64_EXTRA_TUNE_RECIP_SQRT.
3240
3241 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
3242
3243 * config/aarch64/aarch64.c (use_rsqrt_p): Always use software
3244 reciprocal sqrt for -mlow-precision-recip-sqrt.
3245
3246 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
3247 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3248
3249 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
3250 always use lane loads to construct non-constant vectors.
3251
3252 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
3253
3254 * config/aarch64/aarch64.md
3255 (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
3256 constraints for operand 3.
3257 (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
3258
3259 2016-02-16 Jakub Jelinek <jakub@redhat.com>
3260 Richard Biener <rguenther@suse.de>
3261
3262 PR tree-optimization/69820
3263 * tree-vect-patterns.c (type_conversion_p): Return false if
3264 *orig_type is unsigned single precision or boolean.
3265 (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
3266 Formatting fix.
3267
3268 2016-02-16 Jakub Jelinek <jakub@redhat.com>
3269
3270 PR rtl-optimization/69764
3271 PR rtl-optimization/69771
3272 * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
3273 op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
3274
3275 2016-02-16 Richard Biener <rguenther@suse.de>
3276
3277 PR tree-optimization/69776
3278 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
3279 sets from caller.
3280 (indirect_refs_may_alias_p): Likewise.
3281 (refs_may_alias_p_1): Pass alias sets as from ao_ref.
3282 * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
3283 according to tbaa_p.
3284 * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
3285 (optimize_stmt): For redundant store discovery do not allow tbaa.
3286
3287 2016-02-16 Bernd Schmidt <bschmidt@redhat.com>
3288
3289 PR tree-optimization/69714
3290 * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
3291 Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
3292
3293 2016-02-16 Claudiu Zissulescu <claziss@synopsys.com>
3294
3295 * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
3296 * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
3297 (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
3298 * config/arc/arc.c (arc_init): Check FPU options.
3299 (get_arc_condition_code): Handle new CC_FPU* modes.
3300 (arc_select_cc_mode): Likewise.
3301 (arc_conditional_register_usage): Allow 64 bit datum into even-odd
3302 register pair only. Allow access for ARCv2 accumulator.
3303 (gen_compare_reg): Whenever we have FPU support use FPU compare
3304 instructions.
3305 (arc_reorg): Don't generate brcc insns when FPU compare
3306 instructions are involved.
3307 * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
3308 (TARGET_OPTFPE): Add condition when ARC EM can use optimized
3309 floating point emulation.
3310 (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
3311 (REVERSE_CONDITION): Add new CC_FPU* modes.
3312 (TARGET_FP_SP_BASE): Define.
3313 (TARGET_FP_DP_BASE): Likewise.
3314 (TARGET_FP_SP_FUSED): Likewise.
3315 (TARGET_FP_DP_FUSED): Likewise.
3316 (TARGET_FP_SP_CONV): Likewise.
3317 (TARGET_FP_DP_CONV): Likewise.
3318 (TARGET_FP_SP_SQRT): Likewise.
3319 (TARGET_FP_DP_SQRT): Likewise.
3320 (TARGET_FP_DP_AX): Likewise.
3321 * config/arc/arc.md (ARCV2_ACC): New constant.
3322 (type): New fpu type attribute.
3323 (SDF): Conditional iterator.
3324 (cstore<mode>, cbranch<mode>): Change expand condition.
3325 (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
3326 handles FPU/FPX cases as well.
3327 * config/arc/arc.opt (mfpu): New option.
3328 * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
3329 Renamed.
3330 (adddf3, muldf3, subdf3): Removed.
3331 * config/arc/predicates.md (proper_comparison_operator): Recognize
3332 CC_FPU* modes.
3333 * config/arc/fpu.md: New file.
3334 * doc/invoke.texi (ARC Options): Document mfpu option.
3335
3336 2016-02-16 Richard Biener <rguenther@suse.de>
3337
3338 PR rtl-optimization/69291
3339 * ifcvt.c (noce_try_store_flag_constants): Re-instantiate
3340 noce_operand_ok check.
3341
3342 2016-02-16 Tom de Vries <tom@codesourcery.com>
3343
3344 PR lto/67709
3345 * omp-low.c (simd_clone_create): Remove call to
3346 symtab->call_cgraph_insertion_hooks.
3347
3348 2016-02-16 Jakub Jelinek <jakub@redhat.com>
3349
3350 PR tree-optimization/69802
3351 * tree-ssa-reassoc.c (update_range_test): If op is
3352 SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
3353 op == 1 test of precision 1 integral op, otherwise handle
3354 that case as op itself. Fix up formatting.
3355 (optimize_range_tests_to_bit_test, optimize_range_tests): Fix
3356 up formatting.
3357
3358 2016-02-16 Richard Biener <rguenther@suse.de>
3359
3360 PR tree-optimization/69586
3361 * tree-vrp.c (register_edge_assert_for_2): Handle all integral
3362 types for conversion sources.
3363
3364 2016-02-16 Richard Biener <rguenther@suse.de>
3365
3366 PR middle-end/69801
3367 * fold-const.c (operand_equal_p): For COND_EXPR zero operand
3368 mask OEP_ADDRESS_OF.
3369
3370 2016-02-16 Alan Modra <amodra@gmail.com>
3371
3372 PR target/68973
3373 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
3374 (p8_mtvsrd_df, p8_mtvsrd_sf): New.
3375 (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
3376 (p8_mtvsrwz): New.
3377 (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
3378 (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
3379 (p8_fmrgow_<mode>): Likewise.
3380 (reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above
3381 changes.
3382 (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
3383 (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
3384 to use movdi_internal64. Remove op0_di.
3385 * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
3386
3387 2016-02-15 Evandro Menezes <e.menezes@samsung.com>
3388
3389 Add support for the FCCMP insn types
3390
3391 * config/aarch64/aarch64.md (fccmp): Change insn type.
3392 (fccmpe): Likewise.
3393 * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
3394 * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
3395 * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
3396 * config/arm/xgene1.md (xgene1_fcmp): Likewise.
3397 * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
3398 * config/arm/types.md (fccmps): Add new insn type.
3399 (fccmpd): Likewise.
3400
3401 2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
3402
3403 * alias.c (get_alias_set): Fix a typo in comment.
3404
3405 2016-02-15 Richard Biener <rguenther@suse.de>
3406
3407 PR tree-optimization/69595
3408 * match.pd: Complete range test simplification to true.
3409
3410 2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
3411
3412 PR rtl-optimization/69648
3413 * lra-constraints.c (update_ebb_live_info): Don't remove sets of
3414 pic_offset_table_rtx.
3415
3416 PR rtl-optimization/69752
3417 * ira.c (update_equiv_regs): When looking for more than a single SET,
3418 also take other side effects into account.
3419
3420 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
3421
3422 * config/s390/s390.c (s390_function_profiler): Add a new sequence
3423 for z900+ CPUs in 31-bit mode.
3424
3425 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
3426
3427 * common/config/s390/s390-common.c (s390_supports_split_stack):
3428 New function.
3429 (TARGET_SUPPORTS_SPLIT_STACK): New macro.
3430 * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
3431 * config/s390/s390.c (struct machine_function): New field
3432 split_stack_varargs_pointer.
3433 (s390_register_info): Mark r12 as clobbered if it'll be used as temp
3434 in s390_emit_prologue.
3435 (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
3436 vararg pointer.
3437 (morestack_ref): New global.
3438 (SPLIT_STACK_AVAILABLE): New macro.
3439 (s390_expand_split_stack_prologue): New function.
3440 (s390_live_on_entry): New function.
3441 (s390_va_start): Use split-stack vararg pointer if appropriate.
3442 (s390_asm_file_end): Emit the split-stack note sections.
3443 (TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
3444 * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
3445 (UNSPECV_SPLIT_STACK_CALL): New unspec.
3446 (UNSPECV_SPLIT_STACK_DATA): New unspec.
3447 (split_stack_prologue): New expand.
3448 (split_stack_space_check): New expand.
3449 (split_stack_data): New insn.
3450 (split_stack_call): New expand.
3451 (split_stack_call_*): New insn.
3452 (split_stack_cond_call): New expand.
3453 (split_stack_cond_call_*): New insn.
3454
3455 2016-02-15 Richard Biener <rguenther@suse.de>
3456
3457 PR tree-optimization/69783
3458 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
3459 Add trivially correct cases.
3460
3461 2016-02-15 Tom de Vries <tom@codesourcery.com>
3462
3463 PR lto/69655
3464 * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
3465 do_force_output.
3466 * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
3467
3468 2016-02-15 Richard Biener <rguenther@suse.de>
3469
3470 PR tree-optimization/69776
3471 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
3472 * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
3473 indicate whether we can use TBAA to disambiguate against stores.
3474 Use alias-set zero if not.
3475 (visit_reference_op_store): Do not use TBAA when looking up
3476 redundant stores.
3477 * tree-ssa-pre.c (compute_avail): Use TBAA here.
3478 (eliminate_dom_walker::before_dom_children): But not when looking
3479 up redundant stores.
3480
3481 2016-02-14 John David Anglin <danglin@gcc.gnu.org>
3482
3483 * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
3484
3485 2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3486
3487 * config/i386/znver1.md
3488 (znver1_pop, znver1_pop_mem,
3489 znver1_load_imov_double_store,
3490 znver1_load_imov_direct_store,
3491 znver1_load_imov_direct_load,
3492 znver1_load_imov_double_load): Add new.
3493 (znver1_insn, znver1_insn_load): Add icmov type.
3494 (znver1_sseavx_fma,
3495 znver1_sseavx_fma_load,
3496 znver1_avx256_fma,
3497 znver1_avx256_fma_load): Fix pipe usage.
3498
3499 2016-02-14 Alan Modra <amodra@gmail.com>
3500
3501 PR target/68973
3502 * reloads.c (find_reloads_address_1): For pre/post-inc/dec
3503 with an invalid hard reg, reload just the reg not the entire
3504 pre/post-inc/dec address expression.
3505
3506 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
3507
3508 PR target/67260
3509 * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
3510 fixed R1_REG scratch reg.
3511 (sibcall_value_pcrel_fdpic): Likewise.
3512
3513 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
3514
3515 PR target/67636
3516 PR target/64345
3517 * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
3518
3519 2016-02-12 Walter Lee <walt@tilera.com>
3520
3521 * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
3522 * config/tilegx/t-tilegx: Likewise.
3523
3524 2016-02-12 David Malcolm <dmalcolm@redhat.com>
3525
3526 PR other/69554
3527 * diagnostic-show-locus.c (struct line_span): New struct.
3528 (layout::get_first_line): Delete.
3529 (layout::get_last_line): Delete.
3530 (layout::get_num_line_spans): New member function.
3531 (layout::get_line_span): Likewise.
3532 (layout::print_heading_for_line_span_index_p): Likewise.
3533 (layout::get_expanded_location): Likewise.
3534 (layout::calculate_line_spans): Likewise.
3535 (layout::m_first_line): Delete.
3536 (layout::m_last_line): Delete.
3537 (layout::m_line_spans): New field.
3538 (layout::layout): Update comment. Replace m_first_line and
3539 m_last_line with m_line_spans, replacing their initialization
3540 with a call to calculate_line_spans.
3541 (diagnostic_show_locus): When printing source lines and
3542 annotations, rather than looping over a single span
3543 of lines, instead loop over each line_span within
3544 the layout, with an inner loop over the lines within them.
3545 Call the context's start_span callback when changing line spans.
3546 * diagnostic.c (diagnostic_initialize): Initialize start_span.
3547 (diagnostic_build_prefix): Break out the building of the location
3548 part of the string into...
3549 (diagnostic_get_location_text): ...this new function, rewriting
3550 it from nested ternary expressions to a sequence of "if"
3551 statements.
3552 (default_diagnostic_start_span_fn): New function.
3553 * diagnostic.h (diagnostic_start_span_fn): New typedef.
3554 (diagnostic_context::start_span): New field.
3555 (default_diagnostic_start_span_fn): New prototype.
3556
3557 2016-02-12 David Malcolm <dmalcolm@redhat.com>
3558
3559 PR driver/69779
3560 * gcc.c (driver::finalize): Fix cleanup of "specs".
3561
3562 2016-02-12 David Malcolm <dmalcolm@redhat.com>
3563
3564 PR driver/69265
3565 PR driver/69453
3566 * gcc.c (driver::driver): Initialize m_option_suggestions.
3567 (driver::~driver): Clean up m_option_suggestions.
3568 (suggest_option): Convert to...
3569 (driver::suggest_option): ...this, and split out into
3570 driver::build_option_suggestions and find_closest_string.
3571 (driver::build_option_suggestions): New function, from
3572 first half of suggest_option. Special-case
3573 OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
3574 the sanitizer_opts array. For options of enum types, add the
3575 various enum values to the candidate strings.
3576 (driver::handle_unrecognized_options): Remove "const".
3577 * gcc.h (driver::handle_unrecognized_options): Likewise.
3578 (driver::build_option_suggestions): New decl.
3579 (driver::suggest_option): New decl.
3580 (driver::m_option_suggestions): New field.
3581 * opts-common.c (add_misspelling_candidates): New function.
3582 * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
3583 and make non-static.
3584 * opts.h (sanitizer_opts): New array decl.
3585 (add_misspelling_candidates): New function decl.
3586 * spellcheck.c (find_closest_string): New function.
3587 * spellcheck.h (find_closest_string): New function decl.
3588
3589 2016-02-12 Jakub Jelinek <jakub@redhat.com>
3590
3591 PR rtl-optimization/69764
3592 PR rtl-optimization/69771
3593 * optabs.c (expand_binop_directly): For shift_optab_p, force
3594 convert_modes with VOIDmode if xop1 has VOIDmode.
3595
3596 2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com>
3597
3598 PR target/69729
3599 * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
3600 to correctly determine instrumentation thunks.
3601
3602 2016-02-12 Jakub Jelinek <jakub@redhat.com>
3603
3604 PR ipa/69241
3605 * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
3606 type by reference, force lhs on the call.
3607
3608 PR ipa/68672
3609 * ipa-split.c (split_function): Don't compute/use main_part_return_p.
3610 Compute retval and retbnd early in all cases if split_part_return_p
3611 and return_bb is not EXIT. Remove all clobber stmts and reset
3612 all debug stmts that refer to SSA_NAMEs defined in split part,
3613 except if it is retval, in that case replace the old retval with the
3614 lhs of the call to the split part.
3615
3616 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
3617
3618 revert:
3619 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
3620
3621 PR middle-end/66726
3622 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
3623 whose result is used in PHI.
3624 (maybe_optimize_range_tests): Likewise.
3625 (final_range_test_p): Likweise.
3626
3627 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
3628
3629 PR middle-end/66726
3630 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
3631 whose result is used in PHI.
3632 (maybe_optimize_range_tests): Likewise.
3633 (final_range_test_p): Likweise.
3634
3635 2016-02-12 Jakub Jelinek <jakub@redhat.com>
3636
3637 * cgraph.c: Spelling fixes - behaviour -> behavior and
3638 neighbour -> neighbor.
3639 * target.def: Likewise.
3640 * sel-sched.c: Likewise.
3641 * config/mips/mips.c: Likewise.
3642 * config/arc/arc.md: Likewise.
3643 * config/arm/cortex-a57.md: Likewise.
3644 * config/arm/arm.c: Likewise.
3645 * config/arm/neon.md: Likewise.
3646 * config/arm/arm-c.c: Likewise.
3647 * config/vms/vms-c.c: Likewise.
3648 * config/s390/s390.c: Likewise.
3649 * config/i386/znver1.md: Likewise.
3650 * config/i386/i386.c: Likewise.
3651 * config/ia64/hpux-unix2003.h: Likewise.
3652 * config/msp430/msp430.md: Likewise.
3653 * config/rx/rx.c: Likewise.
3654 * config/rx/rx.md: Likewise.
3655 * config/aarch64/aarch64-simd.md: Likewise.
3656 * config/aarch64/aarch64.c: Likewise.
3657 * config/nvptx/nvptx.c: Likewise.
3658 * config/bfin/bfin.c: Likewise.
3659 * config/cris/cris.opt: Likewise.
3660 * config/rs6000/rs6000.c: Likewise.
3661 * target.h: Likewise.
3662 * spellcheck.c: Likewise.
3663 * ira-build.c: Likewise.
3664 * tree-inline.c: Likewise.
3665 * builtins.c: Likewise.
3666 * lra-constraints.c: Likewise.
3667 * explow.c: Likewise.
3668 * hwint.h: Likewise.
3669 * targhooks.c: Likewise.
3670 * tree-vect-data-refs.c: Likewise.
3671 * expr.c: Likewise.
3672 * doc/tm.texi: Likewise.
3673 * doc/extend.texi: Likewise.
3674 * doc/install.texi: Likewise.
3675 * doc/md.texi: Likewise.
3676 * tree-ssa-tail-merge.c: Likewise.
3677 * sched-int.h: Likewise.
3678 * match.pd: Likewise.
3679 * sched-ebb.c: Likewise.
3680 * target.def (omit_struct_return_reg): Likewise.
3681 * gimple-ssa-isolate-paths.c: Likewise.
3682 (find_implicit_erroneous_behaviour): Renamed to...
3683 (find_implicit_erroneous_behavior): ... this.
3684 (find_explicit_erroneous_behaviour): Renamed to...
3685 (find_explicit_erroneous_behavior): ... this.
3686 (gimple_ssa_isolate_erroneous_paths): Adjust caller.
3687
3688 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org>
3689
3690 PR rtl-optimization/64682
3691 PR rtl-optimization/69567
3692 PR rtl-optimization/69737
3693 * combine.c (distribute_notes) <REG_DEAD>: If the register is set
3694 in I2 as well, just lose it.
3695
3696 2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3697
3698 * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
3699 New variable.
3700 (aarch64_last_printed_tune_string): Likewise.
3701 (aarch64_declare_function_name): Only output .arch assembler
3702 directive if it will be different from the previously output
3703 directive. Same for .tune comment but only if -dA is set.
3704 (aarch64_start_file): New function.
3705 (TARGET_ASM_FILE_START): Define.
3706
3707 2016-02-11 David Malcolm <dmalcolm@redhat.com>
3708
3709 PR plugins/69758
3710 * Makefile.in (PLUGIN_HEADERS): Add params.list.
3711
3712 2016-02-11 Jakub Jelinek <jakub@redhat.com>
3713
3714 PR target/65313
3715 * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
3716 -Wmaybe-uninitialized warning.
3717
3718 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
3719
3720 PR target/69713
3721 * config/sh/sh.md (casesi_worker_0): Add T_REG use.
3722
3723 2016-02-11 Richard Biener <rguenther@suse.de>
3724
3725 PR rtl-optimization/69291
3726 * ifcvt.c (noce_try_store_flag_constants): Do not allow
3727 subexpressions affected by changing the result.
3728
3729 2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
3730
3731 PR target/69148
3732 * lra-constraints.c (curr_insn_transform): Find in/out operands
3733 for secondary memory moves. Update dups.
3734
3735 2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
3736
3737 PR tree-optimization/69652
3738 * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
3739 to nested loop, did source re-formatting, skip debug statements,
3740 add check on statement with volatile operand, remove dead scalar
3741 statements.
3742
3743 2016-02-10 Jakub Jelinek <jakub@redhat.com>
3744 Patrick Palka <ppalka@gcc.gnu.org>
3745
3746 PR ipa/69241
3747 PR c++/69649
3748 * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
3749 calls if the return type is TREE_ADDRESSABLE.
3750 * cgraphunit.c (cgraph_node::expand_thunk): Likewise.
3751 * ipa-split.c (split_function): Fix doubled "we" in comment.
3752 Use void return type for the split part even if
3753 !split_point->split_part_set_retval.
3754
3755 2016-02-10 Bin Cheng <bin.cheng@arm.com>
3756
3757 PR tree-optimization/68021
3758 * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
3759 when computing the value of biv cand by itself.
3760
3761 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
3762
3763 * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
3764 (cortexa57_tunings): Likewise.
3765 (cortexa72_tunings): Likewise.
3766 (arch_macro_fusion_pair_p): Add support for AES fusion.
3767 * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
3768 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
3769 Allow virtual registers before reload so early scheduling works.
3770 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
3771 correct latency and pipeline.
3772 (cortex_a57_crypto_complex): Likewise.
3773 (cortex_a57_crypto_xor): Likewise.
3774 (define_bypass): Add AES bypass.
3775
3776 2016-02-10 Richard Biener <rguenther@suse.de>
3777
3778 PR tree-optimization/69726
3779 * passes.def: Add DCE pass before late uninit.
3780 * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
3781 really fixup if-conversions job.
3782
3783 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
3784
3785 * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
3786 (arm_cortex_a57_tune): Likewise.
3787 (aarch_macro_fusion_pair_p): Add support for AES fusion.
3788 * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
3789
3790 2016-02-10 Eric Botcazou <ebotcazou@adacore.com>
3791
3792 * timevar.def (TV_PHASE_DBGINFO): Delete.
3793 (TV_PHASE_CHECK_DBGINFO): Likewise.
3794 * varpool.c (varpool_node::assemble_decl): Do not change timevar.
3795
3796 2016-02-10 Richard Biener <rguenther@suse.de>
3797
3798 PR tree-optimization/69719
3799 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
3800 Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
3801
3802 2016-02-09 Andrew Pinski <apinski@cavium.com>
3803
3804 PR tree-opt/69282
3805 * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
3806 get_vcond_mask_icode returns false.
3807
3808 2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
3809
3810 PR target/68404
3811 * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
3812 an ADDIS that adds a pointer to a large constant that sets the
3813 upper16 bits with a load operation.
3814
3815 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
3816
3817 PR target/68532
3818 * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
3819 order.
3820 * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
3821 endian.
3822 (vzipq_s16): Likewise.
3823 (vzipq_s32): Likewise.
3824 (vzipq_f32): Likewise.
3825 (vzipq_u8): Likewise.
3826 (vzipq_u16): Likewise.
3827 (vzipq_u32): Likewise.
3828 (vzipq_p8): Likewise.
3829 (vzipq_p16): Likewise.
3830
3831 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
3832
3833 PR target/68532
3834 * config/arm/arm.c (neon_endian_lane_map): New function.
3835 (neon_vector_pair_endian_lane_map): New function.
3836 (arm_evpc_neon_vuzp): Allow for big endian lane order.
3837 * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
3838 endian.
3839 (vuzpq_s16): Likewise.
3840 (vuzpq_s32): Likewise.
3841 (vuzpq_f32): Likewise.
3842 (vuzpq_u8): Likewise.
3843 (vuzpq_u16): Likewise.
3844 (vuzpq_u32): Likewise.
3845 (vuzpq_p8): Likewise.
3846 (vuzpq_p16): Likewise.
3847
3848 2016-02-11 Alexandre Oliva <aoliva@redhat.com>
3849
3850 PR target/69634
3851 * regstat.c (regstat_bb_compute_calls_crossed): Disregard
3852 debug insns.
3853
3854 2016-02-09 Uros Bizjak <ubizjak@gmail.com>
3855
3856 * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
3857 truncate const_int operand 1 to QImode.
3858
3859 2016-02-09 Eric Botcazou <ebotcazou@adacore.com>
3860
3861 * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
3862 corresponding to an abnormal edge.
3863
3864 2016-02-09 Tom de Vries <tom@codesourcery.com>
3865
3866 PR tree-optimization/69599
3867 * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
3868 function.
3869 (find_func_aliases_for_builtin_call, find_func_clobbers)
3870 (ipa_pta_execute): Handle case that foo and foo._0 are not in same lto
3871 partition.
3872
3873 2016-02-09 Richard Biener <rguenther@suse.de>
3874
3875 PR tree-optimization/69715
3876 * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
3877 LHS on calls as non-rewritable.
3878
3879 2016-02-09 Tom de Vries <tom@codesourcery.com>
3880
3881 PR lto/69707
3882 * lto-wrapper.c (append_diag_options): New function.
3883 (compile_offload_image): Call append_diag_options.
3884
3885 2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
3886
3887 PR other/69722
3888 * doc/extend.texi (Flag Output Operands): Correct sectioning.
3889 Minor copy-edit to fix verb tenses.
3890
3891 2016-02-08 Jakub Jelinek <jakub@redhat.com>
3892
3893 PR tree-optimization/69209
3894 * ipa-split.c (split_function): If split part is not
3895 returning retval, retval has gimple type but is not
3896 gimple value, force it into a SSA_NAME first.
3897
3898 2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com>
3899
3900 * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
3901 outdated section.
3902
3903 2016-02-08 Jason Merrill <jason@redhat.com>
3904
3905 PR c++/69631
3906 * convert.c (convert_to_integer_1): Check dofold on truncation
3907 distribution.
3908 (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
3909 (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
3910 Rename from *_nofold.
3911 * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
3912 (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
3913
3914 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
3915
3916 PR target/60410
3917 * tree.c (build_common_tree_nodes): Remove short_double argument.
3918 All callers changed.
3919 * tree.h (build_common_tree_nodes): Adjust declaration.
3920 * doc/invoke.texi (-fshort-double): Remove documentation.
3921 * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
3922 MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
3923 * lto-wrapper.c (merge_and_complain, append_compiler_options)
3924 (append_linker_options): Don't handle OPT_fshort_double.
3925
3926 PR rtl-optimization/68730
3927 * lra-remat.c (insn_to_cand_activation): New static variable.
3928 (lra_remat): Allocate and free it.
3929 (create_cand): New arg activation. Initialize a field in
3930 insn_to_cand_activation if it is nonnull.
3931 (create_cands): Pass the activation insn to create_cand when making
3932 a candidate involving an output reload. Reorganize code a little.
3933 (do_remat): Keep track of active status of candidates in a separate
3934 bitmap.
3935
3936 2016-02-08 Richard Biener <rguenther@suse.de>
3937
3938 PR tree-optimization/69719
3939 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
3940 Properly use absolute of the difference of the two offsets to
3941 compare or adjust the segment length.
3942
3943 2016-02-08 Richard Biener <rguenther@suse.de>
3944 Jeff Law <law@redhat.com>
3945
3946 PR target/68273
3947 * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
3948 types for anonymous SSA names.
3949
3950 2016-02-08 Richard Biener <rguenther@suse.de>
3951
3952 PR rtl-optimization/69274
3953 * ira.c (ira_setup_alts): Do not change recog_data.operand order.
3954
3955 2016-02-08 Jeff Law <law@redhat.com>
3956
3957 PR tree-optimization/65917
3958 * tree-ssa-dom.c (record_temporary_equivalences): Record both
3959 equivalences from if (x == y) style conditionals.
3960 (loop_depth_of_name): Remove.
3961 (record_equality): Remove loop depth check.
3962 * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
3963 (const_and_copies::record_const_or_copy_raw): New member function.
3964 * tree-ssa-scopedtables.c
3965 (const_and_copies::record_const_or_copy_raw): New, factored out of
3966 (const_and_copies::record_const_or_copy): Call new member function.
3967
3968 2016-02-05 Jeff Law <law@redhat.com>
3969
3970 PR tree-optimization/68541
3971 * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
3972 (count_stmts_in_block): New function.
3973 (poor_ifcvt_candidate_code): Likewise.
3974 (is_feasible_trace): Add some heuristics to determine when path
3975 splitting is profitable.
3976 (find_block_to_duplicate_for_splitting_paths): Make sure the graph
3977 is a diamond with a single exit.
3978
3979 2016-02-05 Martin Sebor <msebor@redhat.com>
3980
3981 PR c++/69662
3982 * doc/invoke.texi: Update -Wplacement-new to take an optional
3983 argument.
3984
3985 2016-02-06 Richard Henderson <rth@redhat.com>
3986
3987 PR c/69643
3988 * tree.c (tree_nop_conversion_p): Do not strip casts into or
3989 out of non-standard address spaces.
3990
3991 2016-02-05 Jakub Jelinek <jakub@redhat.com>
3992
3993 PR rtl-optimization/69691
3994 * lra-eliminations.c (move_plus_up): Don't add the addend twice.
3995
3996 2016-02-05 Pat Haugen <pthaugen@us.ibm.com>
3997
3998 * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
3999 * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
4000 (*ieee128_mfvsrd_64bit): Likewise.
4001 (*ieee128_mfvsrd_32bit): Likewise.
4002
4003 2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com>
4004
4005 PR target/69369
4006 Revert r232560:
4007 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
4008
4009 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
4010 instrumented_version.
4011
4012 2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com>
4013
4014 * doc/invoke.texi (Optimize Options): In table of --param options
4015 rename second occurrence of tracer-min-branch-ratio to
4016 tracer-min-branch-probability, rename
4017 tracer-min-branch-ratio-feedback to
4018 tracer-min-branch-probability-feedback and clarify description,
4019 rename sched-spec-state-edge-prob-cutoff to
4020 sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
4021 to selsched-insns-to-rename, rename lto-minpartition to
4022 lto-min-partition, delete reorder-blocks-duplicate and
4023 reorder-blocks-duplicate-feedback.
4024
4025 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4026
4027 * config/s390/s390.c (s390_register_info_set_ranges): Remove
4028 superfluous loops.
4029
4030 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
4031
4032 * doc/extend.texi: S/390: Correct some typos.
4033
4034 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4035
4036 * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
4037
4038 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4039
4040 PR target/69625
4041 * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
4042 (s390_register_info_gprtofpr): Use new macros above.
4043 (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
4044 its name.
4045 (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
4046 its name. Adjust restore and save gpr ranges.
4047 (s390_register_info_set_ranges): New function.
4048 (s390_register_info): Use new macros above. Call
4049 s390_register_info_set_ranges.
4050 (s390_optimize_register_info): Likewise.
4051 (s390_hard_regno_rename_ok): Use new macros.
4052 (s390_hard_regno_scratch_ok): Likewise.
4053 (s390_emit_epilogue): Likewise.
4054 (s390_can_use_return_insn): Likewise.
4055 (s390_optimize_prologue): Likewise.
4056 * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
4057
4058 2016-02-05 Jakub Jelinek <jakub@redhat.com>
4059
4060 PR bootstrap/69677
4061 * config/i386/i386.c (convert_scalars_to_vector): Readd stack
4062 alignment fixes.
4063 (ix86_option_override_internal): Disable TARGET_STV even for
4064 -m{incoming,preferred}-stack-boundary=3.
4065
4066 2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4067
4068 * config.gcc: Mark deprecated rtems targets as obsolete.
4069
4070 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org>
4071
4072 PR rtl-optimization/64682
4073 PR rtl-optimization/69567
4074 * combine.c (distribute_notes) <REG_DEAD>: Place the death note
4075 before I2 only if the register is both used and set in I2.
4076
4077 2016-02-04 DJ Delorie <dj@redhat.com>
4078
4079 * config/msp430/msp430.c (msp430_start_function): Add function type.
4080
4081 2016-02-04 Jakub Jelinek <jakub@redhat.com>
4082
4083 PR fortran/69368
4084 * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
4085
4086 2016-02-04 Uros Bizjak <ubizjak@gmail.com>
4087
4088 PR rtl-optimization/69577
4089 Revert:
4090 2015-10-29 Richard Henderson <rth@redhat.com>
4091
4092 PR target/68124
4093 PR rtl-opt/67609
4094 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
4095 sse check to the exact conditions of PR 67609.
4096
4097 2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
4098
4099 PR target/69667
4100 * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
4101 instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
4102 not allowed into the traditional Altivec registers.
4103 (movtd_64bit_nodm): Likewise.
4104 (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
4105
4106 2016-02-04 David Malcolm <dmalcolm@redhat.com>
4107
4108 * config/aarch64/cortex-a57-fma-steering.c
4109 (aarch64_register_fma_steering): Remove "static" from arguments
4110 to register_pass.
4111
4112 2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
4113
4114 PR target/69619
4115 * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
4116 twice when complex.
4117
4118 2016-02-04 Mike Frysinger <vapier@gentoo.org>
4119
4120 * doc/invoke.texi: Delete -mno-fma4.
4121
4122 2016-02-04 Richard Sandiford <richard.sandiford@arm.com>
4123
4124 PR rtl-optimization/69577
4125 * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
4126 (find_subregs_of_mode): Update accordingly. Iterate over partial
4127 definitions.
4128
4129 2016-02-04 Alan Lawrence <alan.lawrence@arm.com>
4130
4131 * config/arm/arm-protos.h (neon_reinterpret): Remove.
4132 * config/arm/arm.c (neon_reinterpret): Remove.
4133 * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
4134 vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
4135 vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
4136 vreinterpretti): Remove.
4137 * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
4138 neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
4139 neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
4140 neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
4141 neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
4142 neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
4143 * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
4144 vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
4145 vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
4146 vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
4147 vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
4148 vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
4149 vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
4150 vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
4151 vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
4152 vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
4153 vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
4154 vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
4155 vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
4156 vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
4157 vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
4158 vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
4159 vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
4160 vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
4161 vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
4162 vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
4163 vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
4164 vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
4165 vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
4166 vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
4167 vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
4168 vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
4169 vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
4170 vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
4171 vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
4172 vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
4173 vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
4174 vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
4175 vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
4176 vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
4177 vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
4178 vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
4179 vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
4180 vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
4181 vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
4182 vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
4183 vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
4184 vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
4185 vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
4186 vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
4187 vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
4188 vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
4189 vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
4190 vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
4191 vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
4192 vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
4193 vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
4194 vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
4195 vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
4196 vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
4197 vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
4198 vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
4199 vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
4200 vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
4201 vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
4202 vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
4203 vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
4204 vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
4205 vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
4206 vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
4207 vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
4208 vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
4209 vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
4210 vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
4211 vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
4212 vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
4213 vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
4214 vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
4215 vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
4216 vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
4217 vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
4218 vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
4219 vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
4220 vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
4221 vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
4222 vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
4223 vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
4224 vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
4225 vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
4226 vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
4227 vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
4228 vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
4229 vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
4230 vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
4231 vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
4232 vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
4233 vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
4234 vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
4235 vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
4236 vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
4237 vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
4238 vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
4239 vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
4240
4241 2016-02-04 Martin Liska <mliska@suse.cz>
4242
4243 PR sanitizer/69276
4244 * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
4245 that are gimple_store_p.
4246 (maybe_instrument_call): Likewise.
4247
4248 2016-02-04 Bin Cheng <bin.cheng@arm.com>
4249
4250 * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
4251 register scaling out of memory reference and comment why.
4252
4253 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4254
4255 PR target/65932
4256 PR target/67714
4257 * cse.c (cse_insn): Pass NULL to fold_rtx when initially
4258 folding the source of a SET.
4259
4260 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4261
4262 PR target/65932
4263 PR target/67714
4264 * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
4265 the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
4266
4267 2016-02-04 Jim Wilson <jim.wilson@linaro.org>
4268
4269 PR target/65932
4270 PR target/67714
4271 * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
4272 HImode.
4273
4274 2016-02-04 Christian Bruel <christian.bruel@st.com>
4275
4276 * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
4277 * config/arm/arm.c (arm_set_current_function): Likewise.
4278
4279 2016-02-04 Jakub Jelinek <jakub@redhat.com>
4280 Ilya Enkovich <enkovich.gnu@gmail.com>
4281 H.J. Lu <hongjiu.lu@intel.com>
4282
4283 PR target/69454
4284 * config/i386/i386.c (convert_scalars_to_vector): Remove
4285 stack alignment fixes.
4286 (ix86_option_override_internal): Disable TARGET_STV if stack
4287 might not be aligned enough.
4288 (ix86_minimum_alignment): Assert that TARGET_STV is false.
4289
4290 2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com>
4291
4292 * gcc/config/i386/x86-tune.def: Disable default prefetching
4293 for -march=znver1.
4294
4295 2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com>
4296 Vladimir Makarov <vmakarov@redhat.com>
4297
4298 PR target/69461
4299 * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
4300 in validating fused toc addresses.
4301
4302 2016-02-03 Jakub Jelinek <jakub@redhat.com>
4303
4304 PR c/69627
4305 * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
4306 range->m_caret fields if range->m_show_caret_p is false.
4307
4308 PR target/69644
4309 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
4310 Force oldval into register if it does not satisfy reg_or_short_operand
4311 predicate. Fix up formatting.
4312
4313 2016-02-03 Vladimir Makarov <vmakarov@redhat.com>
4314 Alexandre Oliva <aoliva@redhat.com>
4315
4316 PR target/69461
4317 * lra-constraints.c (simplify_operand_subreg): Check additionally
4318 address validity after potential reloading.
4319 (process_address_1): Check insns validity. In case of failure do
4320 nothing.
4321
4322 2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com>
4323
4324 PR target/69118
4325 * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
4326 Fix target.
4327
4328 2016-02-02 Jakub Jelinek <jakub@redhat.com>
4329
4330 * wide-int.cc (canonize_uhwi): New function.
4331 (wi::divmod_internal): Use it.
4332
4333 2016-02-02 James Norris <jnorris@codesourcery.com
4334
4335 * gimplify.c (omp_notice_variable): Add usage check.
4336
4337 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
4338
4339 * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
4340 like LE, GE, LT, GT when emitting relational operator.
4341
4342 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
4343
4344 * ira-costs.c (find_costs_and_classes): Add extra argument.
4345 * target.def (ira_change_pseudo_allocno_class): Add parameter.
4346 * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
4347 * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
4348 * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
4349 Add best_class parameter, and return it if not ALL_REGS.
4350 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
4351 Add parameter.
4352 * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
4353 Update target hook.
4354
4355 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
4356
4357 * config/aarch64/aarch64.c
4358 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
4359 (aarch64_ira_change_pseudo_allocno_class): New function.
4360
4361 2016-02-02 Uros Bizjak <ubizjak@gmail.com>
4362
4363 PR target/67032
4364 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
4365
4366 2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4367
4368 * config/avr/avr.c (avr_option_override): Set
4369 PARAM_ALLOW_STORE_DATA_RACES to 1.
4370
4371 2016-02-02 Richard Biener <rguenther@suse.de>
4372
4373 PR tree-optimization/69595
4374 * match.pd: Add range test simplifications to true/false.
4375
4376 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4377
4378 * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
4379 * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
4380 instead.
4381
4382 2016-02-02 Richard Biener <rguenther@suse.de>
4383
4384 PR tree-optimization/69606
4385 * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
4386 info on the result before moving a stmt.
4387
4388 2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
4389
4390 PR middle-end/68542
4391 * config/i386/i386.c (ix86_expand_branch): Add support for conditional
4392 branch with vector comparison.
4393 * config/i386/sse.md (VI48_AVX): New mode iterator.
4394 (define_expand "cbranch<mode>4): Add support for conditional branch
4395 with vector comparison.
4396 * tree-vect-loop.c (optimize_mask_stores): New function.
4397 * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
4398 has_mask_store field of vect_info.
4399 * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
4400 vectorized loops having masked stores after vec_info destroy.
4401 * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
4402 correspondent macros.
4403 (optimize_mask_stores): Add prototype.
4404
4405 2016-02-02 Alan Modra <amodra@gmail.com>
4406
4407 PR target/69548
4408 * config/rs6000/predicates.md (quad_int_reg_operand): Don't
4409 allow subregs.
4410
4411 2016-02-02 Alan Modra <amodra@gmail.com>
4412
4413 PR target/68662
4414 * config/rs6000/rs6000.c (need_toc_init): New var, set it
4415 whenever toc_label_name used.
4416 (rs6000_file_start): Don't set up toc section here,
4417 (rs6000_output_function_epilogue): do so here instead,
4418 (rs6000_xcoff_file_start): and here.
4419 * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
4420 (load_toc_aix_di): Likewise.
4421
4422 2016-02-01 Jakub Jelinek <jakub@redhat.com>
4423
4424 PR rtl-optimization/69592
4425 * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
4426 (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
4427 (num_sign_bit_copies_binary_arith_p): New inline function.
4428 (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
4429
4430 2016-02-01 Jeff Law <law@redhat.com>
4431
4432 PR tree-optimization/69580
4433 * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
4434 * tree-ssa-threadbackward.c
4435 (fsm_find_control_statement_thread_paths): Do not try to walk
4436 through large PHI nodes.
4437
4438 2016-02-01 Jakub Jelinek <jakub@redhat.com>
4439
4440 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
4441 when count is incremented above limit, don't analyze further
4442 insns afterwards.
4443
4444 * omp-low.c (oacc_parse_default_dims): Avoid
4445 -Wsign-compare warning, make sure value fits into int
4446 rather than just unsigned int.
4447
4448 2016-02-01 Bin Cheng <bin.cheng@arm.com>
4449
4450 PR tree-optimization/67921
4451 * fold-const.c (split_tree): New parameters. Convert pointer
4452 type variable part to proper type before negating.
4453 (fold_binary_loc): Pass new arguments to split_tree.
4454
4455 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4456
4457 * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
4458 (nvptx_goacc_validate_dims): Extend to handle global defaults.
4459 * target.def (OACC_VALIDATE_DIMS): Extend documentation.
4460 * doc/tm.texti: Rebuilt.
4461 * doc/invoke.texi (fopenacc-dim): Document.
4462 * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
4463 (append_compiler_options): Likewise.
4464 * omp-low.c (oacc_default_dims, oacc_min_dims): New.
4465 (oacc_parse_default_dims): New.
4466 (oacc_validate_dims): Add USED arg. Select non-unity default when
4467 possible.
4468 (oacc_loop_fixed_partitions): Return mask of used partitions.
4469 (oacc_loop_auto_partitions): Emit dump info.
4470 (oacc_loop_partition): Return mask of used partitions.
4471 (execute_oacc_device_lower): Parse default dimension arg. Adjust
4472 loop partitioning and validation calls.
4473
4474 2016-02-01 Richard Biener <rguenther@suse.de>
4475
4476 PR middle-end/69556
4477 * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
4478
4479 2016-02-01 Richard Biener <rguenther@suse.de>
4480
4481 PR tree-optimization/69574
4482 * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
4483 of asserting return chrec_dont_know.
4484
4485 2016-02-01 Martin Liska <mliska@suse.cz>
4486
4487 * mem-stats-traits.h: Add copyright header.
4488 * mem-stats.h: Likewise.
4489
4490 2016-02-01 Richard Biener <rguenther@suse.de>
4491
4492 PR tree-optimization/69579
4493 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
4494 Do not propagate through abnormal PHI results.
4495
4496 2016-02-01 Eric Botcazou <ebotcazou@adacore.com>
4497
4498 * postreload.c (reload_cse_simplify): Remove dead code.
4499
4500 2016-02-01 Jakub Jelinek <jakub@redhat.com>
4501
4502 PR rtl-optimization/69570
4503 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
4504 if there is more than one set, not if there is a single set.
4505
4506 2016-02-01 Richard Henderson <rth@redhat.com>
4507
4508 PR rtl-opt/69535
4509 * combine.c (make_compound_operation): When looking through a
4510 subreg, make sure to re-extend to the width of the outer mode.
4511
4512 2016-01-30 Jakub Jelinek <jakub@redhat.com>
4513
4514 PR tree-optimization/69546
4515 * wide-int.cc (wi::divmod_internal): For unsigned division
4516 where both operands fit into uhwi, if o1 is 1 and o0 has
4517 msb set, if divident_prec is larger than bits per hwi,
4518 clear another quotient word and return 2 instead of 1.
4519 Similarly for remainder with msb in HWI set, if dividend_prec
4520 is larger than bits per hwi.
4521
4522 2016-01-29 Martin Jambor <mjambor@suse.cz>
4523
4524 * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
4525 Use short lowercase names.
4526 (get_memory_order): Mask with MEMMODEL_BASE_MASK. Support
4527 MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
4528 acq_rel one. Protect warning agains segfaults if
4529 get_memory_order_name returns NULL.
4530 (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
4531 with release semantics. Do not warn if get_memory_order already did.
4532 (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
4533 semantics. Fix check for relaxed or acquire semantics. Do not warn
4534 if get_memory_order already did.
4535
4536 2016-01-29 Sebastian Pop <s.pop@samsung.com>
4537
4538 * doc/install.texi: Document that isl-0.16 is supported.
4539
4540 2016-01-29 Vladimir Makarov <vmakarov@redhat.com>
4541
4542 PR target/69299
4543 * config/i386/constraints.md (Bm): Describe as special memory
4544 constraint.
4545 * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
4546 * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
4547 * genpreds.c (struct constraint_data): Add is_special_memory.
4548 (have_special_memory_constraints, special_memory_start): New
4549 static vars.
4550 (special_memory_end): Ditto.
4551 (add_constraint): Add new arg is_special_memory. Add code to
4552 process its true value. Update have_special_memory_constraints.
4553 (process_define_constraint): Pass the new arg.
4554 (process_define_register_constraint): Ditto.
4555 (choose_enum_order): Process special memory.
4556 (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
4557 function insn_extra_special_memory_constraint.
4558 (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
4559 * gensupport.c (process_rtx): Process
4560 DEFINE_SPECIAL_MEMORY_CONSTRAINT.
4561 * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
4562 * ira-lives.c (single_reg_class): Use
4563 insn_extra_special_memory_constraint.
4564 * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
4565 * lra-constraints.c (process_alt_operands): Ditto.
4566 (curr_insn_transform): Use insn_extra_special_memory_constraint.
4567 * recog.c (asm_operand_ok, preprocess_constraints): Process
4568 CT_SPECIAL_MEMORY.
4569 * reload.c (find_reloads): Ditto.
4570 * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
4571 * stmt.c (parse_input_constraint): Use
4572 insn_extra_special_memory_constraint.
4573
4574 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
4575
4576 PR target/69530
4577 * lra-splill.c (lra_final_code_change): Revert r229087 by
4578 removing all sub-registers.
4579
4580 2016-01-29 Steve Ellcey <sellcey@imgtec.com>
4581
4582 PR target/65604
4583 * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
4584
4585 2016-01-29 Jakub Jelinek <jakub@redhat.com>
4586
4587 PR target/69551
4588 * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
4589 SSE1, copy target into the temporary reg first before recursing
4590 on it.
4591
4592 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
4593
4594 * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
4595 with vm.
4596
4597 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
4598
4599 * ginclude/stdarg.h: Test __cplusplus instead of
4600 __GXX_EXPERIMENTAL_CXX0X__.
4601
4602 2016-01-29 Richard Biener <rguenther@suse.de>
4603
4604 PR tree-optimization/69547
4605 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
4606 Do not mark clobbers necessary.
4607 (mark_all_reaching_defs_necessary_1): Likewise.
4608
4609 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4610
4611 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
4612 declaration name with %qs and print it in both error messages.
4613 Also fix indentation.
4614
4615 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4616
4617 PR other/69006
4618 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
4619 trailing blank line from error message.
4620
4621 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
4622
4623 PR c++/69462
4624 * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
4625 for C++-11.
4626
4627 2016-01-29 Richard Biener <rguenther@suse.de>
4628
4629 PR middle-end/69537
4630 * match.pd: Allow all integral types when simplifying a
4631 widening or sign-changing conversion.
4632
4633 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4634
4635 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
4636 back to setting codegen_error to fail codegen.
4637
4638 2016-01-28 Uros Bizjak <ubizjak@gmail.com>
4639
4640 PR target/69459
4641 * config/i386/constraints.md (C): Only accept constant zero operand.
4642 (BC): New constraint.
4643 * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
4644 instead of C constraint.
4645 * doc/md.texi (Machine Constraints): Update description
4646 of C constraint.
4647
4648 2016-01-28 Steve Ellcey <sellcey@imgtec.com>
4649
4650 PR target/68400
4651 * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
4652
4653 2016-01-28 Jakub Jelinek <jakub@redhat.com>
4654
4655 PR middle-end/69542
4656 * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
4657 non-debug insns.
4658
4659 2016-01-28 Pat Haugen <pthaugen@us.ibm.com>
4660
4661 * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
4662 branches if using guessed profile.
4663
4664 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
4665
4666 * graphite-optimize-isl.c (optimize_isl): Fix dump.
4667
4668 2016-01-28 Richard Henderson <rth@redhat.com>
4669
4670 PR target/69305
4671 * config/aarch64/aarch64-modes.def (CC_Cmode): New
4672 * config/aarch64/aarch64-protos.h: Update.
4673 * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
4674 (aarch64_select_cc_mode): Add check for use of CC_Cmode.
4675 (aarch64_get_condition_code_1): Handle CC_Cmode.
4676 * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
4677 (*add<mode>3_compareC_cconly_imm): New.
4678 (*add<mode>3_compareC_cconly): New.
4679 (*add<mode>3_compareC_imm): New.
4680 (add<mode>3_compareC): New.
4681 (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
4682 to be first. Use aarch64_carry_operation.
4683 (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
4684 (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
4685 (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
4686 (subti3): Use subdi3_compare1.
4687 (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
4688 (sub<mode>3_compare1): New.
4689 (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
4690 (*sub<mode>3_carryin): Use aarch64_borrow_operation.
4691 (*subsi3_carryin_uxtw): Likewise.
4692 (*ngc<mode>, *ngcsi_uxtw): Likewise.
4693 (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
4694 * config/aarch64/iterators.md (DWI): New.
4695 * config/aarch64/predicates.md (aarch64_carry_operation): New.
4696 (aarch64_borrow_operation): New.
4697
4698 2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
4699
4700 * graphite-optimize-isl.c (optimize_isl): Print a different debug
4701 message when isl does not return a valid schedule.
4702
4703 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4704
4705 * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
4706 Remove comments from class declarations: they are already in the code
4707 close by the defs.
4708
4709 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4710
4711 * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
4712 codegen_error_p.
4713 (ternary_op_to_tree): Same.
4714 (unary_op_to_tree): Same.
4715 (nary_op_to_tree): Same.
4716 (gcc_expression_from_isl_expr_op): Same.
4717 (gcc_expression_from_isl_expression): Same.
4718 (graphite_create_new_loop): Same.
4719 (graphite_create_new_loop_guard): Same.
4720 (build_iv_mapping): Same.
4721 (graphite_create_new_guard): Same.
4722 (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
4723 (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
4724
4725 2016-01-28 Sebastian Pop <s.pop@samsung.com>
4726
4727 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
4728 instead of setting codegen_error to fail codegen.
4729
4730 2016-01-28 Jason Merrill <jason@redhat.com>
4731
4732 * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
4733
4734 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
4735
4736 * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
4737 Remove CONST_INT_P check in CCMP cost calculation.
4738
4739 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
4740
4741 * config/aarch64/aarch64.c (generic_vector_cost):
4742 Set vec_permute_cost.
4743 (cortexa57_vector_cost): Likewise.
4744 (exynosm1_vector_cost): Likewise.
4745 (xgene1_vector_cost): Likewise.
4746 (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
4747 * config/aarch64/aarch64-protos.h (cpu_vector_cost):
4748 Add vec_permute_cost entry.
4749
4750 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
4751
4752 * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
4753 immediate as %1.
4754 (add<mode>3_compare0): Likewise.
4755 (addsi3_compare0_uxtw): Likewise.
4756 (add<mode>3nr_compare0): Likewise.
4757 (compare_neg<mode>): Likewise.
4758 (<optab><mode>3): Likewise.
4759
4760 2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com>
4761
4762 * tree-vect-stmts.c (vectorizable_comparison): Add
4763 NULL check for vectype.
4764
4765 2016-01-28 Richard Biener <rguenther@suse.de>
4766
4767 PR tree-optimization/69466
4768 * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
4769 Account for PHIs we couldn't duplicate.
4770
4771 2016-01-28 Martin Liska <mliska@suse.cz>
4772
4773 PR pch/68758
4774 * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
4775 instead of ENABLE_VALGRIND_CHECKING.
4776
4777 2016-01-27 Richard Henderson <rth@redhat.com>
4778
4779 PR rtl-opt/69447
4780 * lra-remat.c (subreg_regs): New.
4781 (dump_candidates_and_remat_bb_data): Dump it.
4782 (operand_to_remat): Reject if operand in subreg_regs.
4783 (set_bb_regs): Collect subreg_regs.
4784 (lra_remat): Init and free subreg_regs. Compute
4785 calculate_local_reg_remat_bb_data before create_cands.
4786
4787 2016-01-27 H.J. Lu <hongjiu.lu@intel.com>
4788
4789 PR target/68986
4790 * config/i386/i386.c (ix86_update_stack_boundary): Don't
4791 change stack_alignment_needed for __tls_get_addr call.
4792
4793 2016-01-27 Segher Boessenkool <segher@kernel.crashing.org>
4794
4795 * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
4796
4797 2016-01-27 Jeff Law <law@redhat.com>
4798
4799 PR tree-optimization/68398
4800 PR tree-optimization/69196
4801 * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
4802 (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
4803 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
4804 Only count PHIs in the last block in the path. The others will
4805 const/copy propagate away. Add heuristic to allow more irreducible
4806 subloops to be created when it is likely profitable to do so.
4807
4808 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
4809 Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL
4810 check from within the loop. Use gsi_next_nondebug rather than gsi_next.
4811
4812 2016-01-27 Jakub Jelinek <jakub@redhat.com>
4813
4814 PR lto/69254
4815 * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
4816 END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
4817 * asan.c (DEF_BUILTIN_STUB): Temporarily define.
4818 * tree-streamer-in.c: Include asan.h.
4819 (streamer_get_builtin_tree): For builtins in sanitizer
4820 range call initialize_sanitizer_builtins and retry.
4821
4822 2016-01-27 Ian Lance Taylor <iant@google.com>
4823
4824 * common.opt (fkeep-gc-roots-live): New undocumented option.
4825 * tree-ssa-loop-ivopts.c (add_candidate_1): If
4826 -fkeep-gc-roots-live, skip pointers.
4827 (add_iv_candidate_for_biv): Handle add_candidate_1 returning
4828 NULL.
4829
4830 2016-01-27 Uros Bizjak <ubizjak@gmail.com>
4831
4832 PR target/69512
4833 * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
4834 (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
4835
4836 2016-01-27 Thomas Klausner <wiz@NetBSD.org>
4837
4838 PR target/68380
4839 * configure.ac: NetBSD provides SSP in its C library.
4840 * configure: Updated.
4841
4842 2016-01-27 Richard Biener <rguenther@suse.de>
4843
4844 PR tree-optimization/69166
4845 * tree-vect-loop.c (vect_is_simple_reduction): Always check
4846 reduction code for commutativity / associativity.
4847
4848 2016-01-27 Martin Jambor <mjambor@suse.cz>
4849
4850 PR tree-optimization/69355
4851 * tree-sra.c (analyze_access_subtree): Correct hole detection when
4852 total_scalarization fails.
4853
4854 2016-01-27 David Edelsohn <dje.gcc@gmail.com>
4855
4856 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
4857 power9.
4858
4859 2016-01-27 Christian Bruel <christian.bruel@st.com>
4860
4861 PR target/69245
4862 * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
4863 Move arm_reset_previous_fndecl and set_target_option_current_node in
4864 the conditional part. Call save_restore_target_globals.
4865 * config/arm/arm.c (arm_set_current_function):
4866 Refactor to better support #pragma target and attribute mix.
4867 Call save_restore_target_globals.
4868 * config/arm/arm-protos.h (save_restore_target_globals): New function.
4869
4870 2016-01-27 Martin Liska <mliska@suse.cz>
4871
4872 * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
4873 reference for an HSA kernel and its host function.
4874
4875 2016-01-27 Jakub Jelinek <jakub@redhat.com>
4876
4877 PR tree-optimization/69399
4878 * wide-int.h (wi::lrshift): For larger precisions, only
4879 use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
4880
4881 2016-01-27 Claudiu Zissulescu <claziss@synopsys.com>
4882
4883 * config/arc/predicates.md (proper_comparison_operator): Reject
4884 constant-constant comparison.
4885
4886 2016-01-26 Tom de Vries <tom@codesourcery.com>
4887
4888 PR tree-optimization/69110
4889 * tree-data-ref.c (initialize_data_dependence_relation): Handle
4890 DR_NUM_DIMENSIONS == 0.
4891
4892 2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com>
4893 Sebastian Pop <s.pop@samsung.com>
4894
4895 * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
4896 isl_ast_op_cond and isl_ast_op_select.
4897 (gcc_expression_from_isl_expr_op): Same.
4898
4899 2016-01-26 Jason Merrill <jason@redhat.com>
4900
4901 PR c++/68782
4902 * tree.c (recompute_constructor_flags): Split out from
4903 build_constructor.
4904 (verify_constructor_flags): New.
4905 * tree.h: Declare them.
4906
4907 2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
4908
4909 PR rtl-optimization/69217
4910 * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
4911 are no TYPE_FIELDS set for the record type.
4912
4913 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4914
4915 PR target/68662
4916 * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
4917 toc_label_name unconditionally.
4918 (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
4919 SYMBOL_REF string. Use toc_label_name instead of constructing
4920 LCTOC1.
4921 (rs6000_elf_declare_function_name): Use toc_label_name instead of
4922 constructing LCTOC1.
4923
4924 2016-01-26 Martin Sebor <msebor@redhat.com>
4925
4926 PR other/69477
4927 * doc/extend.texi (Common Type Attributes): Move text that talks about
4928 attribute packed from attribute aligned to the section discussing
4929 the former attribute for clarity.
4930
4931 2016-01-26 Richard Henderson <rth@redhat.com>
4932
4933 PR middle-end/60908
4934 * trans-mem.c (tm_region_init): Mark entry block as visited.
4935
4936 2016-01-26 David Malcolm <dmalcolm@redhat.com>
4937
4938 PR other/69006
4939 * diagnostic-show-locus.c (layout::print_source_line): Replace
4940 call to pp_newline with call to layout::print_newline.
4941 (layout::print_annotation_line): Likewise.
4942 (layout::move_to_column): Likewise.
4943 (layout::print_any_fixits): After printing any fixits, print a
4944 trailing newline, if necessary.
4945 (layout::print_newline): New method, resetting any colorization
4946 before a newline.
4947 (diagnostic_show_locus): Move the pp_newline to before the
4948 early bailout. Remove dummy block enclosing the layout instance.
4949 * diagnostic.c (default_diagnostic_finalizer): Replace invocation
4950 of pp_newline_and_flush with pp_flush.
4951 (diagnostic_append_note): Delete use of pp_newline.
4952 (diagnostic_append_note_at_rich_loc): Delete.
4953 * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
4954 * pretty-print.h (output_buffer_append_r): Reset buff->line_length
4955 when newline characters are added to the buffer.
4956
4957 2016-01-26 Michael Matz <matz@suse.de>
4958
4959 * configure.ac (ac_cv_std_swap_in_utility): New test.
4960 * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
4961 * configure: Regenerate.
4962 * config.in: Regenerate.
4963
4964 2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
4965
4966 * config/arc/arc.md (cstoresi4): Force operand into register.
4967 (arcset<code>): Fix predicate.
4968 (arcsetltu): Likewise.
4969 (arcsetgeu): Likewise.
4970 (arcsethi): Likewise.
4971 (arcsetls): Likewise.
4972
4973 2016-01-26 Jakub Jelinek <jakub@redhat.com>
4974
4975 PR tree-optimization/69483
4976 * gimple-fold.c (canonicalize_constructor_val): Return NULL
4977 if base has error_mark_node type.
4978
4979 2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
4980
4981 PR target/68620
4982 * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
4983 * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
4984 New helper macros.
4985 (vget_lane_f16): Handle big-endian.
4986 (vgetq_lane_f16): Likewise.
4987 (vset_lane_f16): Likewise.
4988 (vsetq_lane_f16): Likewise.
4989 * config/arm/iterators.md (VQXMOV): Add V8HF.
4990 (VDQ): Add V4HF and V8HF.
4991 (V_reg): Handle V4HF and V8HF.
4992 (Is_float_mode): Likewise.
4993 * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
4994 neon_vdup_nv8hf): New patterns.
4995 (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
4996 Use VD_LANE iterator.
4997 (neon_vld1_dup<mode>): Use VQ2 iterator.
4998
4999 2016-01-26 Nathan Sidwell <nathan@acm.org>
5000
5001 * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
5002 (set_oacc_fn_attrib): Add IS_KERNEL arg.
5003 * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
5004 (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
5005 (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
5006 (oacc_validate_dims): Add LEVEL arg, don't return level.
5007 (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
5008 oacc_validate_dims.
5009 (execute_oacc_device_lower): Adjust, add more dump output.
5010 * tree-ssa-loop.c (gate_oacc_kernels): Use
5011 oacc_fn_attrib_kernels_p.
5012 * tree-parloops.c (create_parallel_loop): Adjust
5013 set_oacc_fn_attrib call.
5014
5015 2016-01-26 Jakub Jelinek <jakub@redhat.com>
5016
5017 PR lto/69254
5018 * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
5019 (append_compiler_options): Handle -fcilkplus.
5020 (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
5021
5022 2016-01-26 Nick Clifton <nickc@redhat.com>
5023
5024 PR target/66655
5025 * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
5026 been marked as DECL_ONE_ONLY but we do not the means to make it
5027 so, then do not allow it to bind locally.
5028
5029 2016-01-26 Jakub Jelinek <jakub@redhat.com>
5030
5031 PR lto/69254
5032 * opts.h (parse_sanitizer_options): New prototype.
5033 * opts.c (sanitizer_opts): New array.
5034 (parse_sanitizer_options): New function.
5035 (common_handle_option): Use parse_sanitizer_options.
5036
5037 2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
5038
5039 PR target/68986
5040 * config/i386/i386.c (ix86_compute_frame_layout): Move stack
5041 alignment adjustment to ...
5042 (ix86_update_stack_boundary): Here. Don't over-align stack for
5043 __tls_get_addr.
5044 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
5045 if __tls_get_addr is called.
5046
5047 2016-01-26 Christian Bruel <christian.bruel@st.com>
5048
5049 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
5050
5051 2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
5052
5053 * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
5054
5055 2016-01-26 Richard Biener <rguenther@suse.de>
5056
5057 PR middle-end/69467
5058 * match.pd: Guard X * CST CMP 0 pattern with single_use.
5059
5060 2016-01-26 Richard Biener <rguenther@suse.de>
5061
5062 PR tree-optimization/69452
5063 * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
5064 (move_computations_dom_walker::before_dom_children): Rename
5065 to ...
5066 (move_computations_worker): This.
5067 (move_computations): Perform an RPO rather than a DOM walk.
5068
5069 2016-01-26 Jakub Jelinek <jakub@redhat.com>
5070
5071 PR target/69442
5072 * combine.c (combine_instructions): For REG_EQUAL note with
5073 SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
5074 to the underlying register.
5075 * doc/rtl.texi (REG_EQUAL): Document the behavior of
5076 REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
5077
5078 2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
5079
5080 PR target/67896
5081 * config/aarch64/aarch64-builtins.c
5082 (aarch64_init_simd_builtin_types): Do not set structural
5083 equality to __Poly{8,16,64,128}_t types.
5084
5085 2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
5086
5087 PR tree-optimization/69400
5088 * wide-int.cc (wi_pack): Take the precision as argument and
5089 perform canonicalization here rather than in the callers.
5090 Use the main loop to handle all full-width HWIs. Add a
5091 zero HWI if in_len isn't a full result.
5092 (wi::divmod_internal): Update accordingly.
5093 (wi::mul_internal): Likewise. Simplify.
5094
5095 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
5096 Sebastian Pop <s.pop@samsung.com>
5097
5098 * graphite-poly.c (apply_poly_transforms): Simplify.
5099 (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
5100 (print_isl_map): Same.
5101 (print_isl_union_map): Same.
5102 (print_isl_schedule): New.
5103 (debug_isl_schedule): New.
5104 * graphite-dependences.c (scop_get_reads): Do not call
5105 isl_union_map_add_map that is undocumented isl functionality.
5106 (scop_get_must_writes): Same.
5107 (scop_get_may_writes): Same.
5108 (scop_get_original_schedule): Remove.
5109 (scop_get_dependences): Do not call isl_union_map_compute_flow that
5110 is deprecated in isl 0.15. Instead, use isl_union_access_* interface.
5111 (compute_deps): Remove.
5112 * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
5113 (debug_schedule_ast): New.
5114 (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
5115 set_separate_option.
5116 (graphite_regenerate_ast_isl): Add dump.
5117 (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
5118 from scop->transformed_schedule.
5119 (graphite_regenerate_ast_isl): Add more dump.
5120 * graphite-optimize-isl.c (optimize_isl): Set
5121 scop->transformed_schedule. Check whether schedules are equal.
5122 (apply_poly_transforms): Move here.
5123 * graphite-poly.c (apply_poly_transforms): ... from here.
5124 (free_poly_bb): Static.
5125 (free_scop): Static.
5126 (pbb_number_of_iterations_at_time): Remove.
5127 (print_isl_ast): New.
5128 (debug_isl_ast): New.
5129 (debug_scop_pbb): New.
5130 * graphite-scop-detection.c (print_edge): Move.
5131 (print_sese): Move.
5132 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
5133 (build_scop_scattering): Remove.
5134 (create_pw_aff_from_tree): Assert instead of bailing out.
5135 (add_condition_to_pbb): Remove unused code, do not fail.
5136 (add_conditions_to_domain): Same.
5137 (add_conditions_to_constraints): Remove.
5138 (build_scop_context): New.
5139 (add_iter_domain_dimension): New.
5140 (build_iteration_domains): Initialize pbb->iterators.
5141 Call add_conditions_to_domain.
5142 (nested_in): New.
5143 (loop_at): New.
5144 (index_outermost_in_loop): New.
5145 (index_pbb_in_loop): New.
5146 (outermost_pbb_in): New.
5147 (add_in_sequence): New.
5148 (add_outer_projection): New.
5149 (outer_projection_mupa): New.
5150 (add_loop_schedule): New.
5151 (build_schedule_pbb): New.
5152 (build_schedule_loop): New.
5153 (embed_in_surrounding_loops): New.
5154 (build_schedule_loop_nest): New.
5155 (build_original_schedule): New.
5156 (build_poly_scop): Call build_original_schedule.
5157 * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
5158 (free_poly_dr): Remove.
5159 (struct poly_bb): Add iterators. Remove schedule, transformed, saved.
5160 (free_poly_bb): Remove.
5161 (debug_loop_vec): Remove.
5162 (print_isl_ast): Declare.
5163 (debug_isl_ast): Declare.
5164 (scop_do_interchange): Remove.
5165 (scop_do_strip_mine): Remove.
5166 (scop_do_block): Remove.
5167 (flatten_all_loops): Remove.
5168 (optimize_isl): Remove.
5169 (pbb_number_of_iterations_at_time): Remove.
5170 (debug_scop_pbb): Declare.
5171 (print_schedule_ast): Declare.
5172 (debug_schedule_ast): Declare.
5173 (struct scop): Remove schedule. Add original_schedule,
5174 transformed_schedule.
5175 (free_gimple_poly_bb): Remove.
5176 (print_generated_program): Remove.
5177 (debug_generated_program): Remove.
5178 (unify_scattering_dimensions): Remove.
5179 * sese.c (print_edge): ... here.
5180 (print_sese): ... here.
5181 (debug_edge): ... here.
5182 (debug_sese): ... here.
5183 * sese.h (print_edge): Declare.
5184 (print_sese): Declare.
5185 (dump_edge): Declare.
5186 (dump_sese): Declare.
5187
5188 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
5189 Sebastian Pop <s.pop@samsung.com>
5190
5191 * Makefile.in: Set ISLVER in site.exp.
5192
5193 2016-01-25 Jakub Jelinek <jakub@redhat.com>
5194
5195 * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
5196 DECL_VALUE_EXPR of new_var even for the non-array case. Look
5197 through DECL_VALUE_EXPR for expansion.
5198
5199 2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
5200
5201 * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
5202 the frame info after reload completed.
5203
5204 2016-01-25 Jeff Law <law@redhat.com>
5205
5206 PR tree-optimization/69196
5207 PR tree-optimization/68398
5208 * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
5209 tree-ssa-threadupdate.c.
5210 (determine_bb_domination_status): Prototype
5211 * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
5212 (determine_bb_domination_status): No longer static.
5213 (valid_jump_thread_path): Remove code to detect characteristics
5214 of the jump thread path not associated with correctness.
5215 * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
5216 Correct test for thread path length. Count PHIs for real operands as
5217 statements that need to be copied. Do not count ASSERT_EXPRs.
5218 Look at all the blocks in the thread path. Compute and selectively
5219 filter thread paths based on threading through the latch, threading
5220 a multiway branch or crossing a multiway branch.
5221
5222 2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5223
5224 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
5225 decl with __attribute__ ((unused)) annotation.
5226
5227 2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
5228
5229 PR target/69421
5230 * tree-vect-stmts.c (vectorizable_condition): Check vectype
5231 of operands is compatible with a statement vectype.
5232
5233 2016-01-25 Eric Botcazou <ebotcazou@adacore.com>
5234
5235 * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
5236 improve wording for mixed storage order support.
5237
5238 2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
5239
5240 * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
5241 (vcvt_u64_f64): Likewise.
5242 (vcvta_s64_f64): Likewise.
5243 (vcvta_u64_f64): Likewise.
5244 (vcvtm_s64_f64): Likewise.
5245 (vcvtm_u64_f64): Likewise.
5246 (vcvtn_s64_f64): Likewise.
5247 (vcvtn_u64_f64): Likewise.
5248 (vcvtp_s64_f64): Likewise.
5249 (vcvtp_u64_f64): Likewise.
5250
5251 2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
5252
5253 * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
5254 (arc_init): Check validity mll64 option.
5255 (arc_save_restore): Use double load/store instruction.
5256 (arc_expand_movmem): Likewise.
5257 (arc_split_move): Don't split if we have double load/store
5258 instructions. Returns a boolean.
5259 (arc_process_double_reg_moves): Change function to return boolean
5260 instead of a sequence of instructions.
5261 (arc_dwarf_register_span): New function.
5262 * config/arc/arc-protos.h (arc_split_move): Change prototype.
5263 * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
5264 * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
5265 (*movdf_insn): Likewise.
5266 * config/arc/arc.opt (mll64): New option.
5267 * config/arc/predicates.md (even_register_operand): New predicate.
5268 * doc/invoke.texi (ARC Options): Add mll64 documentation.
5269
5270 2016-01-25 Richard Biener <rguenther@suse.de>
5271
5272 PR lto/69393
5273 * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
5274 * tree-streamer-out.c (pack_ts_base_value_fields): Stream
5275 DECL_NAMELESS.
5276 * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
5277
5278 2016-01-25 Richard Biener <rguenther@suse.de>
5279
5280 PR tree-optimization/69376
5281 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
5282 flag.
5283 (VN_INFO_ANTI_RANGE_P): New inline.
5284 (VN_INFO_RANGE_TYPE): Likewise.
5285 * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
5286 SSA_NAME_ANTI_RANGE_P.
5287 (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
5288 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
5289 Properly query VN_INFO_RANGE_TYPE.
5290
5291 2016-01-25 Nick Clifton <nickc@redhat.com>
5292
5293 PR target/66655
5294 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
5295
5296 2016-01-23 Tom de Vries <tom@codesourcery.com>
5297
5298 PR tree-optimization/69426
5299 * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
5300 removed clobber.
5301
5302 2016-01-23 Jakub Jelinek <jakub@redhat.com>
5303
5304 * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
5305 "the the" with "the" in the comments.
5306 * ipa-devirt.c (build_type_inheritance_graph,
5307 update_type_inheritance_graph): Likewise.
5308 * tree.c (build_function_type_list_1): Likewise.
5309 * cfgloopmanip.c (scale_loop_profile): Likewise.
5310 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
5311 * gimple-ssa-split-paths.c
5312 (find_block_to_duplicate_for_splitting_paths): Likewise.
5313 * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
5314 * expr.c (convert_move): Likewise.
5315 * var-tracking.c (vt_stack_adjustments): Likewise.
5316 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
5317 * tree-vrp.c (test_for_singularity): Likewise.
5318
5319 * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
5320 directly instead of building a temporary tree.
5321
5322 PR bootstrap/69434
5323 * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
5324 remove <algorithm> include.
5325
5326 2016-01-22 Jakub Jelinek <jakub@redhat.com>
5327
5328 PR target/69432
5329 * config/i386/i386.c: Include dojump.h.
5330 (expand_small_movmem_or_setmem,
5331 expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
5332 fixes.
5333 (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
5334 if dynamic_check != -1.
5335
5336 2016-01-21 Jeff Law <law@redhat.com>
5337
5338 PR middle-end/69347
5339 * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
5340 record_temporary_equivalences. Rewritten to avoid unnecessary calls
5341 into dominated_by_p.
5342 (cprop_into_successor_phis): Avoid unnecessary tests.
5343
5344 2016-01-22 Richard Henderson <rth@redhat.com>
5345
5346 PR target/69416
5347 * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
5348 (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
5349
5350 2016-01-22 Michael Matz <matz@suse.de>
5351
5352 * system.h (string, algorithm): Include only conditionally.
5353 (new): Include always under C++.
5354 * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
5355 * final.c (toplevel): Ditto.
5356 * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
5357 * genconditions.c (write_header): Make gencondmd.c define
5358 INCLUDE_STRING.
5359 * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
5360
5361 * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
5362 * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
5363
5364 2016-01-22 Christian Bruel <christian.bruel@st.com>
5365
5366 PR target/68674
5367 * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
5368
5369 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5370
5371 PR target/69403
5372 * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
5373 define_insn_and_split. Ensure operands[1] and operands[0] do not
5374 get assigned the same register.
5375
5376 2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org>
5377
5378 * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
5379
5380 2016-01-22 Christian Bruel <christian.bruel@st.com>
5381
5382 * config/arm/arm-c.c (arm_pragma_target_parse):
5383 Remove warn_builtin_macro_redefined overwrite.
5384
5385 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
5386
5387 * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
5388 flag_non_call_exceptions compatibility.
5389
5390 2016-01-22 Jakub Jelinek <jakub@redhat.com>
5391
5392 PR debug/66668
5393 * dwarf2out.c (add_child_die_after): New function.
5394 (dwarf_qual_info_t): New type.
5395 (dwarf_qual_info): New variable.
5396 (qualified_die_p): New function.
5397 (modified_type_die): For -fdebug-types-section, ensure
5398 canonical order of qualifiers. Put qualified DIEs adjacent
5399 to the corresponding non-qualified type DIE and search there
5400 for existing qualified DIEs.
5401
5402 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
5403
5404 * doc/extend.texi (scalar_storage_order type attribute): Document
5405 restriction on type punning and aliasing, and remove future tense.
5406
5407 2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
5408
5409 PR target/69252
5410 * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
5411 first stage.
5412
5413 2016-01-21 Jeff Law <law@redhat.com>
5414
5415 PR middle-end/69347
5416 * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
5417 useless call to record_temporary_equivalences.
5418 * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
5419 allocate 10 slots in the bb_path vector and let it grow as needed.
5420 (fsm_find_control_statement_thread_paths): Similarly for the next_path
5421 vector.
5422
5423 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
5424
5425 * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
5426 Detangle.
5427 * configure: Regenerate.
5428
5429 2016-01-21 Pat Haugen <pthaugen@us.ibm.com>
5430
5431 * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
5432 * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
5433
5434 2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
5435
5436 PR middle-end/66178
5437 * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
5438 drop EXPAND_INITIALIZER.
5439 * rtl.h (contains_symbolic_reference_p): Declare.
5440 * rtlanal.c (contains_symbolic_reference_p): New function.
5441 * simplify-rtx.c (simplify_binary_operation_1): Don't turn
5442 a subtraction into a NOT if symbolic constants are involved.
5443
5444 2016-01-21 Anton Blanchard <anton@samba.org>
5445 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5446
5447 PR target/63354
5448 * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
5449 #define.
5450 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
5451 function.
5452
5453 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
5454
5455 * config/microblaze/microblaze.c
5456 (get_branch_target): New.
5457 (insert_wic_for_ilb_runout): New.
5458 (insert_wic): New.
5459 (microblaze_machine_dependent_reorg): New.
5460 (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
5461 * config/microblaze/microblaze.md
5462 (UNSPEC_IPREFETCH): Define.
5463 (iprefetch): New pattern
5464 * config/microblaze/microblaze.opt
5465 (mxl-prefetch): New flag.
5466
5467 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
5468
5469 * config/microblaze/microblaze.h
5470 (FIXED_REGISTERS): Update in macro.
5471 (CALL_USED_REGISTERS): Update in macro.
5472
5473 2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
5474
5475 PR rtl-optimization/68920
5476 * ifcvt.c (cond_move_process_if_block): Limit number of conditional
5477 moves.
5478
5479 2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
5480
5481 PR rtl-optimization/68990
5482 * lra-coalesce.c (lra_coalesce): Invalidate value for the result
5483 pseudo instead of inheritance ones.
5484
5485 2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
5486 Nick Clifton <nickc@redhat.com>
5487
5488 PR target/69129
5489 PR target/69012
5490 * config/mips/mips.c (mips_compute_frame_info): Initialise
5491 args_size and hard_frame_pointer_offset fields of the frame
5492 structure before calling mips_global_pointer.
5493
5494 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
5495
5496 * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
5497 label reference.
5498 * configure: Regenerate.
5499
5500 2016-01-21 Richard Biener <rguenther@suse.de>
5501
5502 * graphite-optimize-isl.c (get_schedule_map): Fix typo.
5503
5504 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
5505
5506 * config/s390/s390.c (s390_asm_declare_function_size): Add code
5507 to actually emit the .size directive.
5508
5509 2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
5510 Jakub Jelinek <jakub@redhat.com>
5511
5512 PR target/69187
5513 PR target/65624
5514 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
5515 args array size by one to avoid buffer overflow.
5516
5517 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
5518
5519 * config/s390/s390.md (pool_section_start): Use switch_to_section
5520 to select proper read-only data section instead of hardcoding
5521 .rodata.
5522 (pool_section_end): Use switch_to_section to match the above.
5523
5524 2016-01-21 Richard Biener <rguenther@suse.de>
5525
5526 PR tree-optimization/69378
5527 * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
5528 (set_ssa_val_to): Use it for dominance checks taking into
5529 account not executable edges.
5530
5531 2016-01-21 Jakub Jelinek <jakub@redhat.com>
5532
5533 PR c++/69355
5534 * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
5535 for bitsize instead of GET_MODE_PRECISION (mode).
5536
5537 2016-01-20 Martin Sebor <msebor@redhat.com>
5538
5539 PR c/52291
5540 * extend.texi (__sync Builtins): Clarify the semantics of
5541 __sync_fetch_and_OP built-ins on pointers.
5542 (__atomic Builtins): Same.
5543
5544 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5545 Sebastian Pop <s.pop@samsung.com>
5546
5547 * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
5548 (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
5549 (is_valid_rename): Same.
5550 (translate_isl_ast_to_gimple::get_rename): Same.
5551 (translate_isl_ast_to_gimple::rename_all_uses): Same.
5552 (translate_isl_ast_to_gimple::rename_uses): Same.
5553 (get_new_name): Check for close_phi nodes.
5554 (copy_loop_phi_args): Use phi_node_kind.
5555 (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
5556 (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
5557
5558 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5559 Sebastian Pop <s.pop@samsung.com>
5560
5561 Revert commit r229783.
5562 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
5563 Remove use of parameter_rename_map.
5564 (copy_def): Remove.
5565 (copy_internal_parameters): Remove.
5566 (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
5567 * sese.c (new_sese_info): Do not initialize parameter_rename_map.
5568 (free_sese_info): Do not free parameter_rename_map.
5569 (set_rename): Do not use parameter_rename_map.
5570 (rename_uses): Update call to set_rename.
5571 (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
5572 * sese.h (parameter_rename_map_t): Remove.
5573 (struct sese_info_t): Remove field parameter_rename_map.
5574
5575 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5576 Sebastian Pop <s.pop@samsung.com>
5577
5578 * graphite-isl-ast-to-gimple.c: Fix comment.
5579 * graphite-scop-detection.c (defined_in_loop_p): New.
5580 (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
5581 names defined in loop.
5582
5583 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5584 Sebastian Pop <s.pop@samsung.com>
5585
5586 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
5587 Discard unstructured if-then-else regions.
5588
5589 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5590 Sebastian Pop <s.pop@samsung.com>
5591
5592 * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
5593 (cleanup_loop_iter_dom): Remove.
5594 (build_loop_iteration_domains): Remove.
5595 (build_scop_context): Remove.
5596 (build_scop_iteration_domain): Remove.
5597 (add_loop_constraints): New.
5598 (build_iteration_domains): New.
5599 (build_poly_scop): Call build_iteration_domains.
5600
5601 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5602 Sebastian Pop <s.pop@samsung.com>
5603
5604 * graphite-scop-detection.c
5605 (scop_detection::harmful_loop_in_region): Free dom and loops.
5606 (scop_detection::loop_body_is_valid_scop): Free bbs.
5607
5608 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5609 Sebastian Pop <s.pop@samsung.com>
5610
5611 * graphite-scop-detection.c (record_loop_in_sese): New.
5612 (gather_bbs::before_dom_children): Call record_loop_in_sese.
5613 (build_scops): Remove call to build_sese_loop_nests.
5614 * sese.c (sese_record_loop): Remove.
5615 (build_sese_loop_nests): Remove.
5616 (new_sese_info): Remove region->loops.
5617 (free_sese_info): Same.
5618 * sese.h (sese_contains_loop): Same.
5619 (build_sese_loop_nests): Remove.
5620 (sese_contains_loop): Remove.
5621
5622 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5623 Sebastian Pop <s.pop@samsung.com>
5624
5625 * graphite-scop-detection.c (loop_is_valid_scop): Renamed
5626 loop_is_valid_in_scop.
5627 (scop_detection::harmful_stmt_in_region): Renamed
5628 harmful_loop_in_region.
5629 Call loop_is_valid_in_scop.
5630
5631 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5632 Sebastian Pop <s.pop@samsung.com>
5633
5634 * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
5635 isl_ast_node_mark.
5636
5637 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5638 Sebastian Pop <s.pop@samsung.com>
5639
5640 * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
5641 * graphite.h (struct poly_bb): Remove field is_reduction.
5642 (PBB_IS_REDUCTION): Remove.
5643
5644 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
5645 Sebastian Pop <s.pop@samsung.com>
5646
5647 * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
5648 (add_pdr_constraints): Same.
5649 (scop_get_reads): Same.
5650 (scop_get_must_writes): Same.
5651 (scop_get_may_writes): Same.
5652 (scop_get_original_schedule): Same.
5653 (extend_schedule): Same.
5654 (apply_schedule_on_deps): Same.
5655 (carries_deps): Same.
5656 (compute_deps): Same.
5657 (scop_get_dependences): Same.
5658 * graphite-isl-ast-to-gimple.c
5659 (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
5660 * graphite-optimize-isl.c (get_schedule_for_band): Same.
5661 (get_schedule_for_band_list): Same.
5662 (get_schedule_map): Same.
5663 (apply_schedule_map_to_scop): Same.
5664 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
5665 (build_loop_iteration_domains): Same.
5666 (add_condition_to_pbb): Same.
5667 (add_param_constraints): Same.
5668 (pdr_add_memory_accesses): Same.
5669 (pdr_add_data_dimensions): Same.
5670
5671 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
5672
5673 * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
5674 requirements.
5675
5676 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
5677
5678 * common.opt (feliminate-dwarf2-dups): Replace references to
5679 "DWARF 2" with just "DWARF".
5680 * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
5681 * doc/extend.texi: Likewise.
5682 * doc/cpp.texi: Likewise.
5683 * doc/invoke.texi: Likewise.
5684 (Option Summary): Add -gdwarf to list of Debugging Options.
5685 (Debugging Options): Document -gdwarf.
5686 * doc/contrib.texi: Spell "DWARF" like that.
5687
5688 2016-01-21 Jakub Jelinek <jakub@redhat.com>
5689
5690 * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
5691 warning. Fix up formatting.
5692
5693 PR middle-end/67653
5694 * gimplify.c (gimplify_asm_expr): Warn if it is too late to
5695 attempt to mark memory input operand addressable and
5696 call prepare_gimple_addressable in that case. Don't adjust
5697 input_location for diagnostics, use error_at instead.
5698
5699 2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
5700
5701 * config/rs6000/ppc-auxv.h: New file.
5702 * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
5703 (cpu_is): Likewise.
5704 (cpu_supports): Likewise.
5705 * config/rs6000/rs6000.c: include "ppc-auxv.h".
5706 (cpu_is_info): New variable.
5707 (cpu_supports_info): Likewise.
5708 (tcb_verification_symbol): Likewise.
5709 (cpu_builtin_p): Likewise.
5710 (cpu_expand_builtin): New function.
5711 (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
5712 (rs6000_init_builtins): Likewise.
5713 (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
5714 * config/rs6000/rs6000.h (TLS_REGNUM): New define.
5715 * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
5716 * configure: Regenerate.
5717 * config.in: Likewise.
5718 * doc/extend.texi (PowerPC Built-in Functions): Document
5719 __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
5720
5721 2016-01-20 David Edelsohn <dje.gcc@gmail.com>
5722
5723 PR target/68609
5724 * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
5725 domain check.
5726 * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
5727 for V4SFmode.
5728
5729 2016-01-20 Richard Henderson <rth@redhat.com>
5730
5731 PR bootstrap/69343
5732 PR bootstrap/69339
5733 PR tree-opt/68964
5734 Revert:
5735 * tree.c (tm_define_builtin): New.
5736 (find_tm_vector_type): New.
5737 (build_tm_vector_builtins): New.
5738 (build_common_builtin_nodes): Call it.
5739
5740 2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
5741
5742 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
5743 (arm_fp_ok): Likewise.
5744 (arm_fp): Likewise.
5745 (arm_crypto): Likewise.
5746
5747 2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
5748 Richard Biener <rguenther@suse.de>
5749
5750 PR tree-optimization/69328
5751 * tree-vect-stmts.c (vect_is_simple_cond): Check compared
5752 vectors have same number of elements.
5753 (vectorizable_condition): Fix masked version recognition.
5754
5755 2016-01-20 Richard Biener <rguenther@suse.de>
5756
5757 PR tree-optimization/69345
5758 * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
5759 (VN_INFO_PTR_INFO): Likewise.
5760 * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
5761 info when it is equal between non-dominating SSA names.
5762 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
5763 Make sure to look at original SSA infos.
5764
5765 2016-01-20 Jeff Law <law@redhat.com>
5766
5767 PR target/25114
5768 * config/m68k/predicates.md (pow2_m1_operand): New predicate
5769 extracted from ...
5770 (reg_or_pow2_m1_operand): Call pow2_m1_operand.
5771 (pc_or_label_operand): New predicate.
5772 * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
5773 tests for small integers that are 2^n - 1.
5774
5775 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
5776
5777 * doc/invoke.texi (Options Summary): Add '.' after @xref.
5778
5779 2016-01-19 Jeff Law <law@redhat.com>
5780
5781 PR middle-end/69347
5782 * tree-ssa-threadbackwards.c
5783 (fsm_find_control_statement_thread_paths): Do not try to lookup
5784 FSM paths for SSA_NAMEs appearing in abnormal PHIs.
5785
5786 2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
5787
5788 * doc/lto.texi: Remove text that says only Gold has linker plugin
5789 support.
5790
5791 2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
5792
5793 * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
5794 (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
5795 the DIE accordingly.
5796 (modified_type_die): Add REVERSE parameter and pass it recursively,
5797 as well as to base_type_die. Adjust presence check accordingly.
5798 (base_type_for_mode): Adjust call to modified_type_die.
5799 (add_type_attribute): Add REVERSE parameter and pass it to
5800 modified_type_die.
5801 (generic_parameter_die): Adjust call to add_type_attribute.
5802 (add_scalar_info): Likewise.
5803 (add_subscript_info): Likewise.
5804 (gen_array_type_die): Likewise.
5805 (gen_descr_array_type_die): Likewise.
5806 (gen_entry_point_die): Likewise.
5807 (gen_enumeration_type_die): Likewise.
5808 (gen_formal_parameter_die): Likewise.
5809 (gen_subprogram_die): Likewise.
5810 (gen_variable_die ): Likewise.
5811 (gen_const_die): Likewise.
5812 (gen_field_die): Likewise.
5813 (gen_pointer_type_die): Likewise.
5814 (gen_reference_type_die): Likewise.
5815 (gen_ptr_to_mbr_type_die): Likewise.
5816 (gen_inheritance_die): Likewise.
5817 (gen_subroutine_type_die): Likewise.
5818 (gen_typedef_die): Likewise.
5819 (force_type_die): Adjust call to modified_type_die.
5820
5821 2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
5822
5823 * doc/standards.texi: Copy-editing for grammar, markup, and sentence
5824 flow throughout the file. Fix broken link to Objective-C 2.0
5825 documentation.
5826 * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
5827 errors.
5828
5829 2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5830
5831 * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
5832
5833 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5834
5835 PR ipa/66223
5836 * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
5837 (maybe_record_node): Record cxa_pure_virtual as the only possible
5838 target if there are not ohter candidates.
5839 (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
5840
5841 2016-01-19 Richard Biener <rguenther@suse.de>
5842
5843 * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
5844 (get_memory_order): Likewise.
5845
5846 2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
5847
5848 * tree-vect-stmts.c (vectorizable_store): Check
5849 rhs vectype.
5850
5851 2016-01-19 David Malcolm <dmalcolm@redhat.com>
5852
5853 PR jit/68446
5854 * gcc.c (driver::decode_argv): Add call to
5855 init_opts_obstack before init_options_struct.
5856 * opts.c (init_opts_obstack): Remove idempotency.
5857 (init_options_struct): Replace call to init_opts_obstack
5858 with a gcc_assert to verify that it has already been called.
5859 * toplev.c (toplev::main): Add call to init_opts_obstack before
5860 calls to init_options_struct.
5861 (toplev::finalize): Move cleanup of opts_obstack next to
5862 cleanup of save_decoded_options, clearing the latter, and
5863 save_decoded_options_count.
5864
5865 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5866
5867 PR target/69135
5868 * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
5869 attribute to unconditional. Remove %? from output template.
5870
5871 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5872 Jiong Wang <jiong.wang@arm.com>
5873
5874 * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
5875 generated from different expand order.
5876
5877 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5878
5879 * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
5880 Add support for CCMP costing.
5881
5882 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5883
5884 * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
5885 * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
5886 (fccmpe<mode>): Likewise.
5887 (fcmp): Rename to fcmp and globalize pattern.
5888 (fcmpe): Likewise.
5889 * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
5890 (aarch64_gen_ccmp_next): Add FP support.
5891
5892 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
5893
5894 * target.def (gen_ccmp_first): Update documentation.
5895 (gen_ccmp_next): Likewise.
5896 * doc/tm.texi (gen_ccmp_first): Update documentation.
5897 (gen_ccmp_next): Likewise.
5898 * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
5899 expand_ccmp_expr_1. Improve comments.
5900 * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
5901 (ccmp_ior<mode>): Remove pattern.
5902 (cmp<mode>): Remove expand.
5903 (cmp): Globalize pattern.
5904 (cstorecc4): Use cc_register.
5905 (mov<mode>cc): Remove ccmp_cc_register check.
5906 * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
5907 Simplify after removal of CC_DNE/* modes.
5908 (aarch64_ccmp_mode_to_code): Remove.
5909 (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
5910 In 'k' case use integer as condition.
5911 (aarch64_nzcv_codes): Remove inverted cases.
5912 (aarch64_code_to_ccmode): Remove.
5913 (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
5914 comparison with CC register to be used in folowing CCMP/branch/CSEL.
5915 (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
5916 pattern. Return the comparison with CC register. Invert conditions
5917 when bitcode is OR.
5918 * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
5919 * config/aarch64/predicates.md (ccmp_cc_register): Remove.
5920
5921 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5922
5923 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
5924 instrumented_version.
5925
5926 2016-01-19 Richard Biener <rguenther@suse.de>
5927
5928 PR tree-optimization/69336
5929 * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
5930 handled components with get_ref_base_and_extent.
5931 (equal_mem_array_ref_p): Adjust.
5932
5933 2016-01-19 Jakub Jelinek <jakub@redhat.com>
5934
5935 PR debug/65779
5936 * shrink-wrap.c: Include valtrack.h.
5937 (move_insn_for_shrink_wrap): Add DEBUG argument. If
5938 MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
5939 in between insn and where it will be moved to. Call
5940 dead_debug_insert_temp.
5941 (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
5942 first and dead_debug_local_finish at the end.
5943 For uses and defs bitmap, handle all regs in between REGNO and
5944 END_REGNO, not just the first one.
5945
5946 2016-01-19 Richard Biener <rguenther@suse.de>
5947
5948 PR tree-optimization/69352
5949 * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
5950 (equal_mem_array_ref_p): Constrain size and max size properly.
5951 Compare the reverse flag.
5952
5953 2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
5954
5955 * ira.c (ira): Update regstat data if we deleted insns.
5956
5957 2016-01-19 Jakub Jelinek <jakub@redhat.com>
5958
5959 PR rtl-optimization/68955
5960 PR rtl-optimization/64557
5961 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
5962 here. Fix up formatting.
5963 * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
5964
5965 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5966
5967 PR lto/69133
5968 * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
5969 assume that the node has body.
5970 * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
5971 check.
5972
5973 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5974
5975 * lto-streamer-out.c (lto_output): Do not stream instrumentation
5976 thunks.
5977
5978 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5979
5980 * symtab.c (symtab_node::asm_name): Do not call printable name directly.
5981 (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
5982
5983 2016-01-19 Martin Jambor <mjambor@suse.cz>
5984 Martin Liska <mliska@suse.cz>
5985 Michael Matz <matz@suse.de>
5986
5987 * Makefile.in (OBJS): Add new source files.
5988 (GTFILES): Add hsa.c.
5989 * common.opt (disable_hsa): New variable.
5990 (-Whsa): New warning.
5991 * config.in (ENABLE_HSA): New.
5992 * configure.ac: Treat hsa differently from other accelerators.
5993 (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
5994 $enable_offloading.
5995 (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
5996 * doc/install.texi (Configuration): Document --with-hsa-runtime,
5997 --with-hsa-runtime-include, --with-hsa-runtime-lib and
5998 --with-hsa-kmt-lib.
5999 * doc/invoke.texi (-Whsa): Document.
6000 (hsa-gen-debug-stores): Likewise.
6001 * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
6002 to invoke offload compiler for hsa acclerator.
6003 * opts.c (common_handle_option): Determine whether HSA offloading
6004 should be performed.
6005 * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
6006 * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
6007 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
6008 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
6009 * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
6010 * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
6011 GF_OMP_FOR_KIND_GRID_LOOP.
6012 (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
6013 (pp_gimple_stmt_1): Likewise.
6014 * gimple-walk.c (walk_gimple_stmt): Likewise.
6015 * gimple.c (gimple_build_omp_grid_body): New function.
6016 (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
6017 * gimple.def (GIMPLE_OMP_GRID_BODY): New.
6018 * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
6019 GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
6020 GF_OMP_TEAMS_GRID_PHONY.
6021 (gimple_statement_omp_single_layout): Updated comments.
6022 (gimple_build_omp_grid_body): New function.
6023 (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
6024 (gimple_omp_for_grid_phony): New function.
6025 (gimple_omp_for_set_grid_phony): Likewise.
6026 (gimple_omp_parallel_grid_phony): Likewise.
6027 (gimple_omp_parallel_set_grid_phony): Likewise.
6028 (gimple_omp_teams_grid_phony): Likewise.
6029 (gimple_omp_teams_set_grid_phony): Likewise.
6030 (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
6031 * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
6032 (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
6033 (BUILT_IN_GOMP_TARGET): Updated type.
6034 * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
6035 (adjust_for_condition): New function.
6036 (get_omp_for_step_from_incr): Likewise.
6037 (extract_omp_for_data): Moved parts to adjust_for_condition and
6038 get_omp_for_step_from_incr.
6039 (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
6040 (fixup_child_record_type): Bail out if receiver_decl is NULL.
6041 (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
6042 (scan_omp_parallel): Do not create child functions for phony
6043 constructs.
6044 (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
6045 (scan_omp_1_op): Checking assert we are not remapping to
6046 ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
6047 (parallel_needs_hsa_kernel_p): New function.
6048 (expand_parallel_call): Register apprpriate parallel child
6049 functions as HSA kernels.
6050 (grid_launch_attributes_trees): New type.
6051 (grid_attr_trees): New variable.
6052 (grid_create_kernel_launch_attr_types): New function.
6053 (grid_insert_store_range_dim): Likewise.
6054 (grid_get_kernel_launch_attributes): Likewise.
6055 (get_target_argument_identifier_1): Likewise.
6056 (get_target_argument_identifier): Likewise.
6057 (get_target_argument_value): Likewise.
6058 (push_target_argument_according_to_value): Likewise.
6059 (get_target_arguments): Likewise.
6060 (expand_omp_target): Call get_target_arguments instead of looking
6061 up for teams and thread limit.
6062 (grid_expand_omp_for_loop): New function.
6063 (grid_arg_decl_map): New type.
6064 (grid_remap_kernel_arg_accesses): New function.
6065 (grid_expand_target_kernel_body): New function.
6066 (expand_omp): Call it.
6067 (lower_omp_for): Do not emit phony constructs.
6068 (lower_omp_taskreg): Do not emit phony constructs but create for them
6069 a temporary variable receiver_decl.
6070 (lower_omp_taskreg): Do not emit phony constructs.
6071 (lower_omp_teams): Likewise.
6072 (lower_omp_grid_body): New function.
6073 (lower_omp_1): Call it.
6074 (grid_reg_assignment_to_local_var_p): New function.
6075 (grid_seq_only_contains_local_assignments): Likewise.
6076 (grid_find_single_omp_among_assignments_1): Likewise.
6077 (grid_find_single_omp_among_assignments): Likewise.
6078 (grid_find_ungridifiable_statement): Likewise.
6079 (grid_target_follows_gridifiable_pattern): Likewise.
6080 (grid_remap_prebody_decls): Likewise.
6081 (grid_copy_leading_local_assignments): Likewise.
6082 (grid_process_kernel_body_copy): Likewise.
6083 (grid_attempt_target_gridification): Likewise.
6084 (grid_gridify_all_targets_stmt): Likewise.
6085 (grid_gridify_all_targets): Likewise.
6086 (execute_lower_omp): Call grid_gridify_all_targets.
6087 (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
6088 * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
6089 (tree_omp_clause): Added union field dimension.
6090 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
6091 * tree.c (omp_clause_num_ops): Added number of arguments of
6092 OMP_CLAUSE__GRIDDIM_.
6093 (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
6094 (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
6095 * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
6096 (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
6097 (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
6098 (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
6099 * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
6100 * tree-pass.h (make_pass_gen_hsail): Declare.
6101 (make_pass_ipa_hsa): Likewise.
6102 * ipa-hsa.c: New file.
6103 * lto-section-in.c (lto_section_name): Add hsa section name.
6104 * lto-streamer.h (lto_section_type): Add hsa section.
6105 * timevar.def (TV_IPA_HSA): New.
6106 * hsa-brig-format.h: New file.
6107 * hsa-brig.c: New file.
6108 * hsa-dump.c: Likewise.
6109 * hsa-gen.c: Likewise.
6110 * hsa.c: Likewise.
6111 * hsa.h: Likewise.
6112 * toplev.c (compile_file): Call hsa_output_brig.
6113 * hsa-regalloc.c: New file.
6114
6115 2016-01-18 Jeff Law <law@redhat.com>
6116
6117 PR tree-optimization/69320
6118 * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
6119 ranged object, do nothing if the RHS constant is not [0..1].
6120 (optimize_stmt): Comparing a boolean ranged object against a
6121 constant outside [0..1] results in a compile-time constant.
6122
6123 * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
6124 test.
6125
6126 2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
6127
6128 * doc/invoke.texi (Invoking GCC): Add new section to menu.
6129 (Option Summary): Update to reflect new section and moved options.
6130 (C++ Dialect Options): Move -fstats to new section.
6131 (Debugging Options): Move all dump, statistics, and other GCC
6132 developer options to new section. Rewrite section introduction
6133 and re-order remaining options to put the more basic ones first.
6134 (Optimization Options): Move -fira-verbose and -flto-report* to
6135 new section.
6136 (Developer Options): New section incorporating moved options.
6137 * doc/cppopts.texi (-dM): Update cross-reference.
6138
6139 2016-01-18 Richard Henderson <rth@redhat.com>
6140
6141 PR target/69176
6142 * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
6143 operands to pseudo only if CSE is expected. Split long immediate
6144 operands only after reload, and for the stack pointer.
6145 (*add<GPI>3_pluslong): Remove.
6146 (*addsi3_aarch64, *adddi3_aarch64): Merge into...
6147 (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
6148 (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
6149 (*add<GPI>3 peepholes): New.
6150 (*add<GPI>3 splitters): New.
6151 * config/aarch64/constraints.md (Upl): New.
6152 * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
6153
6154 2016-01-18 Richard Biener <rguenther@suse.de>
6155
6156 PR tree-optimization/69297
6157 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
6158 stmt at most once.
6159 (vect_bb_vectorization_profitable_p): Clear visited flag again.
6160
6161 2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
6162
6163 PR middle-end/68542
6164 * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
6165 of mixind vector and scalar types.
6166 (fold_relational_const): Add handling of vector
6167 comparison with boolean result.
6168 * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
6169 comparison of vector operands with boolean result for EQ/NE only.
6170 (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
6171 (verify_gimple_cond): Likewise.
6172 * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
6173 valid type of VAL.
6174
6175 2016-01-18 Joseph Myers <joseph@codesourcery.com>
6176
6177 * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
6178 !TARGET_OCTEON.
6179
6180 2016-01-18 Richard Biener <rguenther@suse.de>
6181
6182 PR middle-end/69308
6183 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
6184
6185 2016-01-18 Tom de Vries <tom@codesourcery.com>
6186
6187 * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
6188
6189 2016-01-18 Tom de Vries <tom@codesourcery.com>
6190
6191 * omp-low.c (set_oacc_fn_attrib): Make extern.
6192 * omp-low.h (set_oacc_fn_attrib): Declare.
6193 * tree-parloops.c (struct reduction_info): Add reduc_addr field.
6194 (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
6195 (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
6196 Add and handle function parameter oacc_kernels_p.
6197 (find_reduc_addr, get_omp_data_i_param): New function.
6198 (ref_conflicts_with_region, oacc_entry_exit_ok_1)
6199 (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
6200 (parallelize_loops): Add and handle function parameter oacc_kernels_p.
6201 Calculate dominance info. Skip loops that are not in a kernels region
6202 in oacc_kernels_p mode. Skip inner loops of parallelized loops.
6203 (pass_parallelize_loops::execute): Call parallelize_loops with
6204 oacc_kernels_p argument.
6205 (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
6206 New member function.
6207 (pass_parallelize_loops::bool oacc_kernels_p): New member var.
6208 * passes.def: Add argument to pass_parallelize_loops instantation.
6209
6210 2016-01-18 Tom de Vries <tom@codesourcery.com>
6211
6212 * tree-parloops.c (pass_parallelize_loops::execute): Allow
6213 pass_parallelize_loops to be run outside the loop pipeline.
6214
6215 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
6216
6217 * tree-scalar-evolution.c (follow_copies_to_constant): New.
6218 (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
6219
6220 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
6221
6222 PR target/63679
6223 * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
6224 using get_ref_base_and_extent.
6225 (equal_mem_array_ref_p): New.
6226 (hashable_expr_equal_p): Add call to previous.
6227
6228 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
6229
6230 PR target/63679
6231 * tree-sra.c (disqualified_constants, constant_decl_p): New.
6232 (sra_initialize): Allocate disqualified_constants.
6233 (sra_deinitialize): Free disqualified_constants.
6234 (disqualify_candidate): Update disqualified_constants when appropriate.
6235 (create_access): Scan for constant-pool entries as we go along.
6236 (scalarizable_type_p): Add check against type_contains_placeholder_p.
6237 (maybe_add_sra_candidate): Allow constant-pool entries.
6238 (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
6239 (initialize_constant_pool_replacements): New.
6240 (sra_modify_assign): Avoid mangling assignments created by previous,
6241 and don't generate writes into constant pool.
6242 (sra_modify_function_body): Call initialize_constant_pool_replacements.
6243
6244 2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
6245
6246 * config/i386/i386.c (scalar_to_vector_candidate_p): Support
6247 andnot instruction.
6248 (scalar_chain::convert_op): Likewise.
6249 * config/i386/i386.md (*andndi3_doubleword): New.
6250
6251 2016-01-18 Richard Biener <rguenther@suse.de>
6252
6253 PR tree-optimization/69170
6254 * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
6255 building a vector from scalar results of a pattern stmt.
6256
6257 2016-01-18 Jakub Jelinek <jakub@redhat.com>
6258
6259 * haifa-sched.c (autopref_multipass_init): Work around
6260 -Wmaybe-uninitialized warning.
6261
6262 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
6263
6264 * config/arm/arm.c (thumb1_reorg): Check that the comparison is
6265 against the constant 0.
6266
6267 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6268
6269 PR tree-optimization/68799
6270 * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
6271 look up phi candidates in the statement-candidate map.
6272 (phi_add_costs): Likewise.
6273 (record_phi_increments): Likewise.
6274 (phi_incr_cost): Likewise.
6275 (ncd_with_phi): Likewise.
6276 (all_phi_incrs_profitable): Likewise.
6277
6278 2016-01-17 Jakub Jelinek <jakub@redhat.com>
6279
6280 * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
6281 -Wmaybe-uninitialized warning.
6282
6283 2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
6284
6285 * doc/invoke.texi (Invoking GCC): Add new section to menu.
6286 (Option Summary): Update to reflect new section and moved options.
6287 (C++ Dialect Options): Move -fvtable-verify and related options.
6288 (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
6289 and profiling-related options.
6290 (Optimization Options): Move profile generation options and
6291 -fstack-protector and related options.
6292 (Instrumentation Options): New section incorporating moved options.
6293 (Code Generation Options): Move -finstrument-functions and
6294 related options, -fstack-check, -fstack-limit*, and -fbounds-check.
6295
6296 2016-01-16 Tom de Vries <tom@codesourcery.com>
6297
6298 * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
6299
6300 2016-01-16 Tom de Vries <tom@codesourcery.com>
6301
6302 * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
6303
6304 2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
6305
6306 * hash-table.h (hash_table::empty): Turn into an inline wrapper
6307 that checks whether the table is already empty. Rename the
6308 original implementation to...
6309 (hash_table::empty_slot): ...this new private function.
6310
6311 2016-01-15 David Malcolm <dmalcolm@redhat.com>
6312
6313 PR diagnostic/68899
6314 * diagnostic-show-locus.c (layout::print_source_line): Move x
6315 offset of line until after call to
6316 get_line_width_without_trailing_whitespace.
6317
6318 2016-01-15 Jeff Law <law@redhat.com>
6319
6320 PR tree-optimization/69270
6321 * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
6322 tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
6323 * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
6324 * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
6325 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
6326 ssa_name_has_boolean_range and constant_boolean_node.
6327
6328 2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
6329
6330 PR rtl-optimization/69030
6331 * lra-spills.c (remove_pseudos): Check nrefs and make the function
6332 returning bool.
6333 (spill_pseudos): Delete debug insn for dead pseudo.
6334 (lra_spill): Initiate spill_hard_reg and slots memory separately.
6335
6336 2016-01-15 Jiong Wang <jiong.wang@arm.com>
6337
6338 * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
6339 New.
6340 (TYPES_UNOPUS): Likewise.
6341 * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
6342 builtin type, from UNOP to UNOPUS.
6343 (lbtruncuv4sf): Likewise.
6344 (lbtruncuv2df): Likewise.
6345 (lrounduv2sf): Likewise.
6346 (lrounduv4sf): Likewise.
6347 (lrounduv2df): Likewise.
6348 (lroundusf): Likewise.
6349 (lroundusf): Likewise.
6350 (lceiluv2sf): Likewise.
6351 (lceiluv4sf): Likewise.
6352 (lceiluv2df): Likewise.
6353 (lceilusf): Likewise.
6354 (lceiludf): Likewise.
6355 (lflooruv2sf): Likewise.
6356 (lflooruv4sf): Likewise.
6357 (lflooruv2df): Likewise.
6358 (lfloorusf): Likewise.
6359 (lfloorudf): Likewise.
6360 (lfrintnuv2sf): Likewise.
6361 (lfrintnuv4sf): Likewise.
6362 (lfrintnuv2df): Likewise.
6363 (lfrintnusf): Likewise.
6364 (lfrintnudf): Likewise.
6365 * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
6366 conversion.
6367 (vcvtq_u32_f32): Likewise.
6368 (vcvtq_u64_f64): Likewise.
6369 (vcvta_u32_f32): Likewise.
6370 (vcvtaq_u32_f32): Likewise.
6371 (vcvtaq_u64_f64): Likewise.
6372 (vcvtm_u32_f32): Likewise.
6373 (vcvtmq_u32_f32): Likewise.
6374 (vcvtmq_u64_f64): Likewise.
6375 (vcvtn_u32_f32): Likwise.
6376 (vcvtnq_u32_f32): Likewise.
6377 (vcvtnq_u64_f64): Likewise.
6378 (vcvtp_u32_f32): Likewise.
6379 (vcvtpq_u32_f32): Likewise.
6380 (vcvtpq_u64_f64): Likewise.
6381 (vcvtmd_u64_f64): Likewise.
6382 (vcvtms_u32_f32): Likewise.
6383 (vcvtad_u64_f64): Likewise.
6384 (vcvtas_u32_f32): Likewise.
6385 (vcvtnd_u64_f64): Likewise.
6386 (vcvtns_u32_f32): Likewise.
6387 (vcvtpd_u64_f64): Likewise.
6388 (vcvtps_u32_f32): Likewise.
6389
6390 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6391
6392 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
6393 CSEL of zero_extended registers.
6394
6395 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6396
6397 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
6398 Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
6399
6400 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6401
6402 * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
6403 false when argument string is not found in the attributes table
6404 at all.
6405
6406 2016-01-15 David Edelsohn <dje.gcc@gmail.com>
6407
6408 PR target/68609
6409 * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
6410 (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
6411 * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
6412 precision estimate.
6413
6414 2016-01-15 Richard Biener <rguenther@suse.de>
6415
6416 PR tree-optimization/66856
6417 * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
6418 * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
6419 (vect_create_new_slp_node): Increment stmt reference count.
6420 (vect_get_and_check_slp_defs): Make sure stmts are nor already in
6421 an SLP tree before swapping operands.
6422 (vect_build_slp_tree): Likewise.
6423 (destroy_bb_vec_info): Free stmt info after SLP instances.
6424 * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
6425 * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
6426 (STMT_VINFO_NUM_SLP_USES): New macro.
6427
6428 2016-01-15 Richard Biener <rguenther@suse.de>
6429
6430 PR debug/69137
6431 * dwarf2out.c (add_linkage_name_raw): New function split out from ...
6432 (add_linkage_name): ... here.
6433 (gen_typedef_die): Use add_linkage_name_raw instead of
6434 add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
6435 if necessary.
6436
6437 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
6438
6439 * gimplify.c (oacc_default_clause): Decode reference and pointer
6440 types for both kernels and parallel regions.
6441
6442 2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
6443
6444 PR middle-end/69246
6445 * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
6446
6447 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
6448
6449 * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
6450 (convert_scalars_to_vector): Likewise.
6451
6452 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
6453
6454 * doc/extend.texi (Type Traits): Fix grammar.
6455
6456 2016-01-15 Martin Jambor <mjambor@suse.cz>
6457
6458 * tree-inline.c (remap_decl): Use existing dclarations if
6459 remapping a type and prevent_decl_creation_for_types.
6460 (replace_locals_stmt): Do an initial remapping of non-VLA typed
6461 decls first. Do real remapping with
6462 prevent_decl_creation_for_types set.
6463 * tree-inline.h (copy_body_data): New field
6464 prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
6465 padding.
6466
6467 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
6468
6469 * config/s390/s390.opt (mmvcle): More verbose help text.
6470
6471 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
6472
6473 * config/s390/s390.opt: Add period to -mzvector option text.
6474
6475 2016-01-15 Richard Biener <rguenther@suse.de>
6476
6477 PR tree-optimization/68961
6478 * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
6479 of invariants in stores again.
6480
6481 2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
6482
6483 * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
6484
6485 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
6486
6487 * config/i386/i386.c (ix86_expand_branch): Don't split
6488 DI mode xor instruction to SI mode.
6489
6490 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
6491
6492 PR ipa/68148
6493 * ipa-icf.c (sem_function::merge): Virtual functions may become
6494 reachable even if they address is not taken and there are no
6495 idrect calls.
6496
6497 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
6498
6499 * lto-streamer-out.c (subtract_estimated_size): New function.
6500 (get_symbol_initial_value): Use it.
6501
6502 2016-01-15 Christian Bruel <christian.bruel@st.com>
6503
6504 PR target/65837
6505 * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
6506 (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
6507 (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
6508 use add_builtin_function_ext_scope instead of add_builtin_function.
6509 (neon_set_p, neon_crypto_set_p): Remove.
6510 (arm_init_builtins): Always call arm_init_neon_builtins and
6511 arm_init_crypto_builtins.
6512 (arm_expand_builtin): Check that builtins are allowed for the arch.
6513 * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
6514 * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
6515 arm_init_neon_builtins call.
6516
6517 2016-01-15 Richard Biener <rguenther@suse.de>
6518
6519 PR tree-optimization/69117
6520 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
6521 * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
6522 of the leader conservatively.
6523 (free_scc_vn): Restore original SSA name infos.
6524
6525 2016-01-14 Jeff Law <law@redhat.com>
6526
6527 PR tree-optimization/69270
6528 * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
6529 single bit of precision, verify it's also unsigned.
6530 (record_edge_info): Use constant_boolean_node rather than fold_convert
6531 to convert boolean_true/boolean_false to the right type.
6532
6533 2016-01-14 Richard Henderson <rth@redhat.com>
6534
6535 PR rtl-opt/69014
6536 * loop-doloop.c (record_reg_sets): New.
6537 (doloop_optimize): Reject the transform if the sequence
6538 clobbers registers live at the end of the loop block.
6539 (doloop_optimize_loops): Enable df_live if needed.
6540
6541 2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6542
6543 * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
6544 * gcc/config/rs6000/rs6000.c: Likewise.
6545 * gcc/config/rs6000/rs6000.h: Likewise.
6546 * gcc/config/rs6000/rs6000.md: Likewise.
6547 * gcc/doc/extend.texi: Likewsie.
6548
6549 2016-01-14 Jeff Law <law@redhat.com>
6550
6551 * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
6552 typo.
6553
6554 2016-01-14 Richard Henderson <rth@redhat.com>
6555
6556 PR c/69272
6557 PR tree-opt/68964
6558 * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
6559 * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
6560 instead of builtin_decl_declared_p to test for declaration.
6561
6562 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
6563
6564 * doc/loop.texi (Loop Analysis and Representation): Document
6565 loop_depth function.
6566
6567 2016-01-14 Tom de Vries <tom@codesourcery.com>
6568
6569 PR tree-optimization/68773
6570 * omp-low.c (expand_omp_target): Don't set force_output.
6571 * varpool.c (varpool_node::get_create): Same.
6572 * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
6573 offload_funcs with force_output.
6574
6575 2016-01-14 Jakub Jelinek <jakub@redhat.com>
6576
6577 PR debug/69244
6578 * lra-eliminations.c (move_plus_up): Don't change anything if either
6579 the outer or inner subreg mode is not MODE_INT.
6580 * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
6581 integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
6582
6583 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
6584
6585 * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
6586 reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
6587 reduc_uplus_@var{m}): Remove.
6588 * expr.c (expand_expr_real_2): Remove expansion path for
6589 reduc_[us](min|max|plus) optabs.
6590 * optabs-tree.c (scalar_reduc_to_vector): Remove.
6591 * optabs-tree.h (scalar_reduc_to_vector): Remove.
6592 * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
6593 reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
6594 * tree-vect-loop.c (vectorizable_reduction): Remove test for
6595 reduc_[us](min|max|plus) optabs.
6596
6597 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
6598
6599 * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
6600 (reduc_plus_scal_v2sf): New.
6601 (reduc_smax_v2sf): Rename to...
6602 (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
6603 (reduc_smin_v2sf): Rename to...
6604 (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
6605
6606 2016-01-14 Jan Hubicka <hubicka@ucw.cz>
6607
6608 * alias.c (compare_base_symbol_refs): New function.
6609 (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
6610 it.
6611
6612 2016-01-14 Jakub Jelinek <jakub@redhat.com>
6613
6614 PR middle-end/68146
6615 PR tree-optimization/69155
6616 * tree-complex.c: Include cfganal.h.
6617 (phis_to_revisit): New variable.
6618 (extract_component): Add phiarg_p argument. Assert that returned
6619 SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
6620 (update_phi_components): Partly rewrite to use loop over real/imag
6621 components instead of code duplication. If extract_component returns
6622 SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
6623 create_tmp_reg into the PHI node instead, and mention the phi triplet
6624 in phis_to_revisit.
6625 (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
6626 in phis_to_revisit at the end.
6627
6628 2016-01-14 Richard Biener <rguenther@suse.de>
6629
6630 PR tree-optimization/68060
6631 * tree-vect-loop.c (vect_is_simple_reduction): Check the
6632 outer loop reduction is only used in the inner loop before
6633 detecting a double reduction.
6634
6635 2016-01-14 Jakub Jelinek <jakub@redhat.com>
6636
6637 PR target/68269
6638 * combine.c (expand_field_assignment): Punt if compute_mode is
6639 unsupported scalar mode.
6640
6641 2016-01-14 Richard Biener <rguenther@suse.de>
6642
6643 PR tree-optimization/66856
6644 * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
6645 SLP node only if it built successfully.
6646 (vect_analyze_slp_instance): Adjust.
6647
6648 2016-01-14 Jeff Law <law@redhat.com>
6649
6650 PR tree-optimization/69270
6651 * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
6652 (record_edge_info): Use it. Convert boolean_{true,false}_node
6653 to the type of op0.
6654
6655 2016-01-13 Jan Hubicka <hubicka@ucw.cz>
6656
6657 PR ipa/66487
6658 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
6659 use block_ultimate_origin
6660 (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
6661
6662 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
6663
6664 * doc/invoke.texi (Submodel Options): Rename section to
6665 "Machine-Dependent Options" to better reflect its content.
6666 Rewrite introductory text to remove archaic CPU names.
6667 Update references.
6668
6669 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
6670
6671 * doc/invoke.texi (Code Gen Options): Move section up in file,
6672 before target-specific options. Update menu and option summary
6673 to reflect the new section ordering.
6674
6675 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
6676
6677 * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
6678 (C++ Dialect Options): Add cross-reference to -std option.
6679 * doc/standards.texi (C++ Language): Document C++14 support.
6680
6681 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
6682
6683 * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
6684 for pack/unpack functions for __ibm128.
6685 (PACK_IF): Likewise.
6686 (UNPACK_IF): Likewise.
6687
6688 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
6689 support for __ibm128 pack/unpack functions.
6690 (rs6000_invalid_builtin): Likewise.
6691 (rs6000_init_builtins): Likewise.
6692 (rs6000_opt_masks): Likewise.
6693
6694 * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
6695 (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
6696 functions
6697 (RS6000_BTM_COMMON): Likewise.
6698
6699 * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
6700 (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
6701 disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
6702 128-bit floating point. Add support for the double values to be
6703 in Altivec registers for TF/IF packing and unpacking, but restrict
6704 TD packing sub-fields to be FPR registers. Don't allow overlapped
6705 register support for packing. Allow pack inputs to be memory
6706 locations. Don't build generator functions for unpack<mode>_dm
6707 and unpack<mode>_nodm.
6708 (unpack<mode>_dm): Likewise.
6709 (unpack<mode>_nodm): Likewise.
6710 (pack<mode>): Likewise.
6711
6712 * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
6713 built-in functions to pack/unpack explicit __ibm128 values.
6714 (__builtin_unpack_ibm128): Likewise.
6715
6716 * doc/extend.texi (PowerPC Built-in Functions): Document
6717 __builtin_pack_ibm128 and __builtin_unpack_ibm128.
6718
6719 2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
6720
6721 PR c/66208
6722 * c-common.c (check_function_nonnull): Remove unnecessary declaration.
6723 Add new arg loc and pass it down as context.
6724 (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
6725 to the location to use for the warning.
6726 (check_function_arguments): New arg loc. All callers changed. Pass
6727 it to check_function_nonnull.
6728 * c-common.h (check_function_arguments): Adjust declaration.
6729
6730 2016-01-13 Jakub Jelinek <jakub@redhat.com>
6731
6732 PR tree-optimization/69156
6733 * gimple.c (validate_type): Removed.
6734 (gimple_builtin_call_types_compatible_p): Use
6735 useless_type_conversion_p instead of validate_type.
6736 * value-prof.c (gimple_stringop_fixed_value): Fold
6737 icall_size to correct type.
6738
6739 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
6740
6741 * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
6742 effects.
6743
6744 2016-01-13 Richard Henderson <rth@redhat.com>
6745
6746 PR tree-opt/68964
6747 * target.def (builtin_tm_load, builtin_tm_store): Remove.
6748 * config/i386/i386.c (ix86_builtin_tm_load): Remove.
6749 (ix86_builtin_tm_store): Remove.
6750 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
6751 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
6752 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
6753 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
6754 * doc/tm.texi: Rebuild.
6755
6756 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
6757 (BUILT_IN_TM_MEMCPY_RTWN): New.
6758 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
6759 fallback from vector to integer helpers.
6760 (build_tm_load): Handle vector types directly, instead of
6761 via target hook.
6762 (build_tm_store): Likewise.
6763 (expand_assign_tm): Prepare for register types not handled by
6764 the above. Copy them to memory and use memcpy.
6765 * tree.c (tm_define_builtin): New.
6766 (find_tm_vector_type): New.
6767 (build_tm_vector_builtins): New.
6768 (build_common_builtin_nodes): Call it.
6769
6770 2016-01-13 Uros Bizjak <ubizjak@gmail.com>
6771
6772 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
6773 TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
6774
6775 2016-01-13 Tom de Vries <tom@codesourcery.com>
6776
6777 PR tree-optimization/69169
6778 * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
6779 handled_struct_type param.
6780 (create_variable_info_for, intra_create_variable_infos): Call
6781 create_variable_info_for_1 with extra arg.
6782
6783 2016-01-13 Yvan Roux <yvan.roux@linaro.org>
6784
6785 * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
6786 and "armv8.1-a+crc" entries.
6787
6788 2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
6789
6790 PR target/69228
6791 * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
6792 Change first operand predicate from register_or_constm1_operand
6793 to register_operand.
6794 (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
6795 (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
6796 (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
6797 (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
6798 (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
6799 (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
6800 (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
6801 * config/i386/i386.c (ix86_expand_builtin): Remove first operand
6802 comparison with constm1_rtx from vec_prefetch_gen part.
6803
6804 2016-01-13 Richard Biener <rguenther@suse.de>
6805
6806 PR tree-optimization/69013
6807 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
6808 Exchange assert for a test.
6809
6810 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6811
6812 PR target/69247
6813 * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
6814
6815 2016-01-13 Richard Biener <rguenther@suse.de>
6816
6817 PR tree-optimization/69242
6818 * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
6819 assert with a check.
6820
6821 2016-01-13 Richard Biener <rguenther@suse.de>
6822
6823 PR tree-optimization/69186
6824 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
6825 Properly guard vect_update_misalignment_for_peel call.
6826
6827 2016-01-12 Jeff Law <law@redhat.com>
6828
6829 PR tree-optimization/pr67755
6830 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
6831 "need_profile_correction".
6832 (thread_block_1): Initialize new field to false by default. If we
6833 have multiple thread paths through a common joiner to different
6834 final targets, then set new field to true.
6835 (compute_path_counts): Only do count adjustment when it's really
6836 needed.
6837
6838 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
6839
6840 * doc/invoke.texi (Spec Files): Move section down in file, past
6841 all command-line option descriptions.
6842
6843 2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6844
6845 PR middle-end/54809
6846 * doc/gty.texi: Remove documentation of mark_hook.
6847 * gengtype.c (struct write_types_data): Remove code to support
6848 mark_hook attribute.
6849 (walk_type): Likewise.
6850 (write_func_for_structure): Likewise.
6851
6852 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
6853
6854 * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
6855 Directory Options, and -specs= to Overall Options.
6856 (Overall Options): Adjust similarly. Reorder to group related
6857 options together. Make -specs= cross-reference the spec file details.
6858 (Directory Options): Adjust similarly.
6859
6860 2016-01-12 Jeff Law <law@redhat.com>
6861
6862 * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
6863
6864 2016-01-12 Olivier Hainque <hainque@adacore.com>
6865
6866 * gcc.c (spec_undefvar_allowed): New global.
6867 (process_command): Set to true when running for --version or --help,
6868 alone or together.
6869 (getenv_spec_function): When the variable is not defined, use the
6870 variable name as the variable value if we're allowed not to issue
6871 a fatal error.
6872
6873 2016-01-12 Bin Cheng <bin.cheng@arm.com>
6874
6875 PR tree-optimization/68911
6876 * tree-vrp.c (adjust_range_with_scev): Check overflow in range
6877 information computed for expression "init + nit * step".
6878
6879 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
6880
6881 * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
6882 about name of GCC executable. Remove deleted node from menu.
6883 (Directory Options) <-B>: Remove cross-reference to deleted node.
6884 (Target Options): Delete section.
6885
6886 2016-01-12 Christian Bruel <christian.bruel@st.com>
6887
6888 PR target/69180
6889 * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
6890 for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
6891
6892 2016-01-12 Jakub Jelinek <jakub@redhat.com>
6893
6894 PR target/69198
6895 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
6896 aligned_mem is properly set for AVX512-VL floating point masked
6897 stores.
6898
6899 PR target/69175
6900 * ifcvt.c (cond_exec_process_if_block): When removing the last
6901 insn from then_bb, remove also any possible barriers that follow it.
6902
6903 2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
6904
6905 PR target/68456
6906 PR target/69226
6907 * config/i386/iamcu.h (SIZE_TYPE): New macro.
6908 (PTRDIFF_TYPE): Likewise.
6909 (WCHAR_TYPE): Likewise.
6910 (WCHAR_TYPE_SIZE): Likewise.
6911 (STDINT_LONG32): Likewise.
6912
6913 2016-01-12 Richard Biener <rguenther@suse.de>
6914
6915 PR tree-optimization/69053
6916 * tree-vect-loop.c (get_initial_def_for_reduction): Properly
6917 convert initial value for cond reductions.
6918
6919 2016-01-12 Richard Biener <rguenther@suse.de>
6920
6921 PR tree-optimization/69007
6922 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
6923 widen_sum after dot_prod and sad.
6924
6925 2016-01-12 Richard Biener <rguenther@suse.de>
6926
6927 PR tree-optimization/69168
6928 * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
6929 pattern stmt SLP type.
6930 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
6931 end up unused so cope with that case.
6932
6933 2016-01-12 Richard Biener <rguenther@suse.de>
6934
6935 PR tree-optimization/69157
6936 * tree-vect-stmts.c (vectorizable_mask_load_store): Check
6937 stmts def type only during analyze phase.
6938 (vectorizable_call): Likewise.
6939 (vectorizable_simd_clone_call): Likewise.
6940 (vectorizable_conversion): Likewise.
6941 (vectorizable_assignment): Likewise.
6942 (vectorizable_shift): Likewise.
6943 (vectorizable_operation): Likewise.
6944 (vectorizable_store): Likewise.
6945 (vectorizable_load): Likewise.
6946
6947 2016-01-12 Richard Biener <rguenther@suse.de>
6948
6949 PR tree-optimization/69174
6950 * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
6951 space.
6952 (vectorizable_load): Properly compute the number of loads needed
6953 for permuted strided SLP loads and do not spuriously assign
6954 to SLP_TREE_VEC_STMTS.
6955
6956 2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
6957
6958 * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
6959 (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
6960 (MD_EXEC_PREFIX): Remove.
6961 (MD_STARTFILE_PREFIX) Removee.
6962 (FILE_NAME_ABSOLUTE_P): Remove.
6963 (CPP_SPEC): Do not read macros from sys/version.h.
6964 (LINK_COMMAND_SPEC): Remove.
6965 (LOCAL_INCLUDE_DIR): Remove.
6966 (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
6967 (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
6968 (POST_LINK_SPEC): Define to invoke stubify after linker
6969 (LIBSTDCXX): Remove define
6970 (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
6971 (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
6972 (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
6973 (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
6974 (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
6975 (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
6976 (i386_djgpp_asm_named_section): Add propotype of new procedure
6977
6978 * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
6979 (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
6980 (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
6981 in config/i386/djgpp.h).
6982 (STANDARD_STARTFILE_PREFIX_2): Define identical to
6983 STANDARD_STARTFILE_PREFIX_1.
6984 (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
6985 (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
6986 installation errors.
6987 (MAX_OFILE_ALIGNMENT): Define to 128.
6988 (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
6989
6990 * config/i386/djgpp.c: New file. Add implementation of
6991 i386_djgpp_asm_named_section.
6992
6993 * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
6994
6995 * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
6996 Add rule for building djgpp.o.
6997
6998 2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6999
7000 * config/rs6000/rs6000.c (v2df_reduction_p): New function.
7001 (rtx_is_swappable_p): Reductions are swappable.
7002 (insn_is_swappable_p): V2DF reductions are swappable.
7003
7004 2016-01-11 John David Anglin <danglin@gcc.gnu.org>
7005
7006 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
7007 reloads for other unsupported memory operands.
7008
7009 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
7010 Jim Wilson <jim.wilson@linaro.org>
7011
7012 PR target/69194
7013 * config/arm/arm-builtins.c (arm_expand_neon_args): Call
7014 copy_to_mode_reg instead of force_reg.
7015
7016 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
7017
7018 PR target/69225
7019 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
7020 TARGET_80387 is true.
7021
7022 2016-01-11 Jakub Jelinek <jakub@redhat.com>
7023
7024 PR target/69071
7025 * lra-eliminations.c (move_plus_up): Only move plus up
7026 if subreg of the constant can be simplified into constant
7027 and use the simplified subreg of the constant instead of
7028 the original constant.
7029
7030 * fold-const.c (fold_convertible_p): Don't return true
7031 for conversion of VECTOR_TYPE to same sized integral type.
7032 (fold_convert_loc): Fix up formatting. Fold conversion of
7033 VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
7034 instead of NOP_EXPR.
7035
7036 PR tree-optimization/69214
7037 * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
7038 innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
7039 Formatting fix.
7040
7041 PR tree-optimization/69207
7042 * tree-vect-slp.c (vect_get_constant_vectors): For
7043 VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
7044 fold_convertible_p to vector_type's element type, and always
7045 use VCE for non-VECTOR_BOOLEAN_TYPE_P.
7046
7047 2016-01-11 Richard Biener <rguenther@suse.de>
7048
7049 PR tree-optimization/69173
7050 * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
7051 fixup the cycle if all stmts are in a pattern.
7052
7053 2016-01-11 Uros Bizjak <ubizjak@gmail.com>
7054
7055 PR middle-end/68999
7056 * alias.c (base_alias_check): Move check for addresses with
7057 alignment ANDs before the call for compare_base_decls.
7058 (memrefs_conflict_p): Return -1 for different decls
7059 that went through alignment adjustments.
7060
7061 2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7062
7063 PR rtl-optimization/68796
7064 * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
7065 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
7066 and QImode comparisons against zero with CC_NZmode.
7067 * config/aarch64/iterators.md (short_mask): New mode_attr.
7068
7069 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
7070
7071 * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
7072 (<avx512>_store<mode>_mask): Likewise.
7073
7074 2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
7075 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7076
7077 PR rtl-optimization/68841
7078 * ifcvt.c (struct noce_if_info): Add orig_x field.
7079 (bbs_ok_for_cmove_arith): Add to_rename parameter.
7080 Don't record conflicts on to_rename if it's present.
7081 Allow memory destinations in sets.
7082 (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
7083 blocks, passing orig_x to the checks.
7084 (noce_process_if_block): Set if_info->orig_x appropriately.
7085
7086 2016-01-11 Tom de Vries <tom@codesourcery.com>
7087
7088 PR tree-optimization/69069
7089 * tree-parloops.c (create_parallel_loop): Add missing phi args.
7090
7091 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
7092
7093 PR rtl-optimization/68920
7094 * config/i386/i386.c (ix86_option_override_internal): Restrict number
7095 of conditional moves for RTL if-conversion to 1 for
7096 TARGET_ONE_IF_CONV_INSN.
7097 * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
7098 * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
7099 * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
7100 parameter to restirct number of conditional moves for
7101 RTL if-conversion.
7102 * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
7103 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
7104 conditionl moves.
7105
7106 2016-01-11 Alexandre Oliva <aoliva@redhat.com>
7107
7108 PR bootstrap/69123
7109 * var-tracking.c (drop_overlapping_mem_locs): Operate on all
7110 onepart vars. Fix typo in comment. Fix reversed condition in
7111 unshare test.
7112 (dataflow_set_remove_mem_locs): Operate on all onepart vars.
7113
7114 PR bootstrap/69123
7115 * var-tracking.c (dump_onepart_variable_differences): New.
7116 (dataflow_set_different): If a detailed dump is requested,
7117 delay early returns and dump differences between onepart
7118 variables present before and after, and added variables.
7119
7120 2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
7121
7122 PR target/69010
7123 * expr.c (expand_expr_real_1): For boolean vector constants
7124 with a scalar mode use const_scalar_mask_from_tree.
7125 (const_scalar_mask_from_tree): New.
7126 * optabs.c (expand_vec_cond_mask_expr): Use mask mode
7127 assigned to a mask type to handle constants.
7128
7129 2016-01-11 Martin Jambor <mjambor@suse.cz>
7130
7131 PR ipa/69044
7132 * ipa-cp.c (estimate_local_effects): Do not clone for removal of
7133 useless parameters if we cannot change function signature.
7134
7135 2016-01-11 Martin Jambor <mjambor@suse.cz>
7136
7137 PR ipa/66616
7138 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
7139 flag.
7140
7141 2016-01-11 Tom de Vries <tom@codesourcery.com>
7142
7143 PR tree-optimization/69109
7144 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
7145 latch with phi.
7146
7147 2016-01-11 Tom de Vries <tom@codesourcery.com>
7148
7149 PR tree-optimization/69108
7150 * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
7151 res is not used in a phi.
7152
7153 2016-01-11 Yury Gribov <y.gribov@samsung.com>
7154
7155 PR 67425
7156 * common.opt (frandom-seed): Fix parameter name.
7157 * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
7158
7159 2016-01-11 Tom de Vries <tom@codesourcery.com>
7160
7161 PR tree-optimization/69058
7162 * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
7163 not supported.
7164
7165 2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
7166
7167 * config/arc/arc.opt (mdiv-rem): Add period to the end.
7168 (mcode-density): Likewise.
7169
7170 2016-01-10 Tom de Vries <tom@codesourcery.com>
7171
7172 PR tree-optimization/69062
7173 * tree-parloops.c (loop_has_phi_with_address_arg): New function.
7174 (parallelize_loops): Don't paralelize loop that has phi with address
7175 arg.
7176
7177 2016-01-10 Tom de Vries <tom@codesourcery.com>
7178
7179 PR tree-optimization/69039
7180 * tree-parloops.c (try_create_reduction_list): Only allow single exit
7181 phi for reduction.
7182
7183 2016-01-09 John David Anglin <danglin@gcc.gnu.org>
7184
7185 PR middle-end/68743
7186 * match.pd: Require target has function_c99_misc before doing
7187 truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
7188
7189 2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
7190
7191 * configure.ac (isl_options_set_schedule_serialize_sccs): Also
7192 use GMPINC.
7193 * configure: Regenerate.
7194
7195 2016-01-09 Jakub Jelinek <jakub@redhat.com>
7196
7197 PR middle-end/50865
7198 PR tree-optimization/69097
7199 * fold-const.h (expr_not_equal_to): New prototype.
7200 * fold-const.c: Include stringpool.h and tree-ssanames.h.
7201 (expr_not_equal_to): New function.
7202 * match.pd (X % -Y is the same as X % Y): Don't optimize
7203 unless X is known not to be equal to minimum or Y is known
7204 not to be equal to -1.
7205 * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
7206 fold TRUNC_MOD_EXPR if the second argument is not a power of two.
7207 (simplify_stmt_using_ranges): Adjust caller.
7208 (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
7209 substitute_and_fold.
7210
7211 2016-01-09 Jan Hubicka <hubicka@ucw.cz>
7212
7213 * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
7214 w/o DECL_NAME.
7215
7216 2016-01-08 Jakub Jelinek <jakub@redhat.com>
7217
7218 PR tree-optimization/69167
7219 * gimple-fold.c (replace_stmt_with_simplification): Also punt if
7220 new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
7221 ops[0] comparison.
7222 * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
7223
7224 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
7225 Richard Biener <rguenther@suse.de>
7226
7227 PR tree-optimization/68707
7228 * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
7229 instances that can be handled via vect_load_lanes.
7230
7231 2016-01-08 Uros Bizjak <ubizjak@gmail.com>
7232
7233 * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
7234 if we can't determine address equivalence.
7235 * alias.c (compare_base_decl): Update for changed return value of
7236 symtab_node::equal_address_to.
7237
7238 2016-01-08 Jason Merrill <jason@redhat.com>
7239
7240 PR c++/68983
7241 PR c++/67557
7242 * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
7243 * expr.c (store_field): Not here.
7244 * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
7245 call with TREE_ADDRESSABLE type.
7246 * tree-cfg.c (verify_gimple_call): Adjust.
7247
7248 2016-01-08 Olivier Hainque <hainque@adacore.com>
7249
7250 * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
7251 libc_internal.
7252
7253 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
7254
7255 * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
7256 (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
7257 (reduc_smin_v2sf): Rename to...
7258 (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
7259 (reduc_splus_v2sf): Rename to...
7260 (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
7261
7262 2016-01-08 Jakub Jelinek <jakub@redhat.com>
7263
7264 PR tree-optimization/69162
7265 * gimplify.c (gimplify_va_arg_expr): Encode original type of
7266 valist argument in another argument.
7267 (gimplify_modify_expr): Adjust for the above change. Cleanup.
7268 * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
7269 to determine the va_list type, build a MEM_REF instead of
7270 build_fold_indirect_ref.
7271
7272 PR tree-optimization/69172
7273 * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
7274 gimple_build.
7275
7276 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
7277
7278 PR tree-optimization/67781
7279 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
7280 and cmpnop in two steps: first the ones not accessed in original
7281 gimple expression in a endian independent way and then the ones not
7282 accessed in the final result in an endian-specific way.
7283
7284 2016-01-08 Jakub Jelinek <jakub@redhat.com>
7285
7286 PR tree-optimization/69083
7287 * tree-vect-slp.c (vect_get_constant_vectors): For
7288 VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
7289 element type. If op is fold_convertible_p to vector_type's element
7290 type, use NOP_EXPR instead of VCE.
7291
7292 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
7293
7294 PR rtl-optimization/67778
7295 PR rtl-optimization/68634
7296 PR rtl-optimization/68909
7297 * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
7298 block from the stack until done with it. Remove a superfluous
7299 bitmap set. Remove a superfluous bitmap test.
7300
7301 2016-01-07 Martin Sebor <msebor@redhat.com>
7302
7303 PR c/68966
7304 * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
7305 constraint on the type of arguments.
7306
7307 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
7308
7309 * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
7310 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
7311 unaligned_access on the gcc_options set.
7312 * config/arm/arm.c (arm_option_override_internal): Use
7313 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
7314
7315 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
7316
7317 PR target/69140
7318 * config/i386/i386.c (ix86_frame_pointer_required): Enable
7319 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
7320
7321 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
7322
7323 Revert
7324 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
7325
7326 PR target/69140
7327 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
7328 depending on frame_pointer_needed before remaining integer and SSE
7329 registers are saved.
7330
7331 2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
7332
7333 PR 1078
7334 * doc/extend.texi (Nvidia PDX Function Attributes): New section.
7335
7336 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
7337
7338 PR target/69171
7339 * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
7340 Use the "xBm" constraint.
7341 (float<sseintvecmodelower><mode>2<mask_name><round_name):
7342 Likewise.
7343 (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
7344 (sse_cvtsi2ssq<round_name>): Likewise.
7345 (sse_cvtss2si<round_name>): Likewise.
7346 (sse_cvtss2siq<round_name>): Likewise.
7347 (sse2_cvtsi2sdq<round_name>): Likewise.
7348 (sse2_cvtsd2si<round_name>): Likewise.
7349 (sse2_cvtsd2siq<round_name>): Likewise.
7350 * config/i386/subst.md (round_nimm_scalar_predicate): New
7351 predicate.
7352
7353 2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
7354
7355 PR middle-end/67639
7356 * varasm.c (make_decl_rtl): Mark invalid register vars as
7357 DECL_EXTERNAL.
7358
7359 PR rtl-optimization/66206
7360 * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
7361 All callers changed.
7362
7363 2016-01-07 Jakub Jelinek <jakub@redhat.com>
7364
7365 PR tree-optimization/69141
7366 * tree-ssa-pre.c: Include langhooks.h.
7367 (eliminate_dom_walker::before_dom_children): Use
7368 lang_hooks.decl_printable_name instead of
7369 cgraph_node::get ()->name ().
7370
7371 PR middle-end/68960
7372 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
7373 it and DECL_ALIGN too.
7374
7375 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
7376
7377 * config/mips/mips-ftypes.def: Sort to lexicographical order.
7378
7379 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
7380
7381 PR target/69140
7382 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
7383 depending on frame_pointer_needed before remaining integer and SSE
7384 registers are saved.
7385
7386 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7387
7388 * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
7389 mode iterator with VSX_M2.
7390 (*p9_vecstore_<mode>): Likewise.
7391 (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
7392 (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
7393 (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
7394 (define_split for VSX_LE128 stores): Likewise.
7395 (define_peephole2 for TImode LE swaps): Likewise.
7396 (define_split for VSX_LE128 post-reload stores): Likewise.
7397
7398 2016-01-06 Marek Polacek <polacek@redhat.com>
7399
7400 PR sanitizer/69099
7401 * convert.c (convert_to_integer_1): Adjust call to
7402 ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
7403 * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
7404 EXPR instead of ARG.
7405 * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
7406
7407 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
7408
7409 PR 1078
7410 * doc/extend.texi (RL78 Variable Attributes): New section.
7411
7412 2016-01-05 Marek Polacek <polacek@redhat.com>
7413
7414 PR c/69104
7415 * builtins.c (get_memmodel): Use expansion point location rather than
7416 the input location. Call warning_at rather than warning.
7417 (expand_builtin_atomic_compare_exchange): Likewise.
7418 (expand_builtin_atomic_load): Likewise.
7419 (expand_builtin_atomic_store): Likewise.
7420 (expand_builtin_atomic_clear): Likewise.
7421
7422 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
7423
7424 PR target/68991
7425 * config/i386/i386.c (ix86_expand_vector_logical_operator):
7426 Replace nonimmediate_operand with vector_operand.
7427 * config/i386/predicates.md (vector_operand): New predicate.
7428 (general_vector_operand): Replace nonimmediate_operand with
7429 vector_operand.
7430 * config/i386/sse.md: Replace nonimmediate_operand with
7431 vector_operand and m constraint with Bm constraint on SSE
7432 patterns with 16-byte memory operand.
7433 * config/i386/subst.md (round_nimm_predicate): Replace
7434 nonimmediate_operand with vector_operand.
7435 (round_saeonly_nimm_predicate): Likewise.
7436 (round_saeonly_nimm_scalar_predicate): New.
7437
7438 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
7439
7440 PR target/68991
7441 * config/i386/constraints.md (Bm): New constraint.
7442 * config/i386/predicates.md (vector_memory_operand): New
7443 predicate.
7444 * config/i386/sse.md: Replace xm with xBm in plusminus and
7445 any_logic patterns.
7446
7447 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
7448
7449 PR 1078
7450 * doc/extend.texi (V850 Function Attributes): New section.
7451 (V850 Variable Attributes): New section.
7452
7453 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
7454
7455 PR 1078
7456 * doc/extend.texi (MicroBlaze Function Attributes): Document
7457 interrupt_handler and fast_interrupt attributes.
7458
7459 2016-01-05 Sergei Trofimovich <siarheit@google.com>
7460
7461 PR other/60465
7462 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
7463 for local symbolic operands.
7464 * config/ia64/predicates.md (local_symbolic_operand64): New
7465 predicate.
7466
7467 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7468
7469 PR rtl-optimization/68651
7470 * combine.c (combine_simplify_rtx): Canonicalize x + x into
7471 x << 1.
7472
7473 2016-01-05 Nathan Sidwell <nathan@acm.org>
7474
7475 * alias.c (compare_base_decls): Use symtab_node::get.
7476
7477 2016-01-05 Nick Clifton <nickc@redhat.com>
7478
7479 PR target/68770
7480 * ira-costs.c (copy_cost): Initialise the t_icode field of the
7481 secondary_reload_info structure.
7482
7483 PR target/66655
7484 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
7485 decls if weak support is available.
7486
7487 2016-01-04 Martin Sebor <msebor@redhat.com>
7488
7489 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
7490
7491 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
7492
7493 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
7494 OPTION_MASK_P9_DFORM.
7495
7496 * config/rs6000/constraints.md (wo constraint): New constraint for
7497 ISA 3.0 (power9).
7498
7499 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
7500 for wo constraint.
7501 (rs6000_init_hard_regno_mode_ok): Likewise.
7502
7503 * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
7504 wo constraint.
7505
7506 * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
7507 expanders not to have constraints. Add support for ISA 3.0 xxperm
7508 instruction. Add support for fusing xxlor with xxperm.
7509 (altivec_vperm_<mode>_internal): Likewise.
7510 (altivec_vperm_v8hiv16qi): Likewise.
7511 (altivec_vperm_<mode>v16q): Likewise.
7512 (altivec_vperm_<mode>_uns): Likewise.
7513 (vperm_v8hiv4si): Likewise.
7514 (vperm_v16qiv8hi): Likewise.
7515
7516 * doc/md.texi (RS/6000 constraints): Document wo constraint.
7517
7518 2016-01-04 Jakub Jelinek <jakub@redhat.com>
7519
7520 Update copyright years.
7521
7522 * gcc.c (process_command): Update copyright notice dates.
7523 * gcov-dump.c (print_version): Ditto.
7524 * gcov.c (print_version): Ditto.
7525 * gcov-tool.c (print_version): Ditto.
7526 * gengtype.c (create_file): Ditto.
7527 * doc/cpp.texi: Bump @copying's copyright year.
7528 * doc/cppinternals.texi: Ditto.
7529 * doc/gcc.texi: Ditto.
7530 * doc/gccint.texi: Ditto.
7531 * doc/gcov.texi: Ditto.
7532 * doc/install.texi: Ditto.
7533 * doc/invoke.texi: Ditto.
7534
7535 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
7536
7537 * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
7538 modes larger than TImode as TImode if NEON is not enabled.
7539
7540 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
7541
7542 PR target/69100
7543 * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
7544 mode for %f0-%f31 only if TARGET_FPU.
7545
7546 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
7547
7548 PR target/69072
7549 * config/sparc/sparc.c (scan_record_type): Take into account subfields
7550 to compute the PACKED_P predicate.
7551 (function_arg_record_value): Minor tweaks.
7552
7553 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
7554
7555 * doc/install.texi (--with-multilib-list): Describe the meaning of the
7556 option for arm*-*-* targets.
7557
7558 2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
7559
7560 * doc/extend.texi (Common Function Attributes): Move docs for
7561 MSP430-specific attributes to....
7562 (MSP430 Function Attributes): ...here. Delete the redundant
7563 entries and copy-edit the remaining text.
7564 (MSP430 Variable Attributes): Use uniform format for index
7565 entries and add a cross-reference to the corresponding function
7566 attribute docs.
7567
7568 2016-01-03 Vladimír Čunát <vcunat@gmail.com>
7569
7570 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
7571 -finite-math typo.
7572 (x86 Options): Likewise.
7573
7574 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
7575
7576 PR 1078
7577
7578 * extend.texi (Common Function Attributes) <no_stack_limit>: New.
7579 * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
7580 to corresponding attribute.
7581
7582 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
7583
7584 * doc/extend.texi (Common Function Attributes) <noplt>: Move
7585 to correct alphabetization of table. Copy-edit and correct
7586 markup.
7587 <stack_protect>: Likewise.
7588 <target_clones>: Likewise.
7589 <simd>: Likewise.
7590 * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
7591 Correct punctuation.
7592 (Code Gen Options) <-fno-plt>: Copy-edit.
7593
7594 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
7595
7596 PR target/68917
7597 * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
7598 SI values. Explicitly convert SI to DI and vice-versa.
7599
7600 2016-01-01 Jakub Jelinek <jakub@redhat.com>
7601
7602 PR tree-optimization/69070
7603 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
7604 REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
7605
7606 PR sanitizer/69055
7607 * ubsan.c (ubsan_instrument_float_cast): Call
7608 initialize_sanitizer_builtins.
7609
7610 PR target/69015
7611 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
7612 \f
7613 Copyright (C) 2016 Free Software Foundation, Inc.
7614
7615 Copying and distribution of this file, with or without modification,
7616 are permitted in any medium without royalty provided the copyright
7617 notice and this notice are preserved.