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