1 2016-02-19 Jakub Jelinek <jakub@redhat.com>
4 * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
5 call copy_reg_eh_region_note_forward on before and/or after sequences
6 and remove note from insn if it no longer can throw.
9 * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
12 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
14 * config/s390/vector.md: Add missing commutative operand markers
15 to the patterns which qualify for one.
16 * config/s390/vx-builtins.md: Likewise.
18 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
20 * config/s390/vector.md (VI, VI_QHS): Add single element vector
21 types to mode iterators.
22 (vec_double): ... and mode attribute.
23 * config/s390/vx-builtins.md (non_vec_int): Likewise.
25 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
27 * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
28 Change the predicate of op2 from nonimmediate to general and let
29 reload fix it if necessary.
31 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
33 * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
35 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
37 * config/s390/s390.c (s390_expand_vcond): Use the compare operand
40 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
42 * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
43 * config/s390/s390.c (s390_expand_vec_movstr): New function.
44 * config/s390/s390.md ("movstr<P:mode>"): Call
45 s390_expand_vec_movstr.
47 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
49 * config/s390/s390.md: Add missing output modifier for operand 1
50 to print it as address properly.
52 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
54 * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
55 * config/s390/2964.md: New file.
56 * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
57 of insn grouping attributes depending on the CPU level.
58 (s390_get_unit_mask): New function.
59 (s390_sched_score): Remove the OOO from the scheduling macros.
60 Add loop to calculate a score for the instruction mix.
61 (s390_sched_reorder): Likewise plus improve debug output.
62 (s390_sched_variable_issue): Rename macros as above. Calculate
63 the unit distances after actually scheduling an insn. Improve
65 (s390_sched_init): Clear last_scheduled_unit_distance array.
66 * config/s390/s390.md: Include 2964.md.
68 2016-02-18 Jakub Jelinek <jakub@redhat.com>
71 * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
72 *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
73 *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
74 *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
75 *avx512f_<code>v8div16qi2_mask_1): New insns.
77 2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
80 * config/rs6000/predicates.md (fusion_gpr_addis): Revert
83 * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
84 earlyclobber from target. Use wF constraint for fused memory
86 (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
88 2016-02-18 Jakub Jelinek <jakub@redhat.com>
89 Martin Liska <mliska@suse.cz>
92 * cfgexpand.c (asan_sanitize_stack_p): New function.
93 (partition_stack_vars): Use the function.
94 (expand_stack_vars): Likewise.
95 (defer_stack_allocation): Likewise.
96 (expand_used_vars): Likewise.
98 2016-02-18 Richard Biener <rguenther@suse.de>
101 * fold-const.c (operand_equal_p): Properly compare offsets for
102 IMAGPART_EXPR and ARRAY_REF.
104 2016-02-18 Nick Clifton <nickc@redhat.com>
108 * config/arm/arm.c (arm_option_override_internal): Disable
109 interworking if the target does not support thumb instructions.
110 (arm_reload_in_hi): Handle the case where a register to register
111 move needs reloading because there is no simple pattern to handle
113 (arm_reload_out_hi): Likewise.
115 2016-02-18 Richard Biener <rguenther@suse.de>
118 * match.pd: Don't use fold_binary or fold_unary for folding
121 2016-02-17 Jakub Jelinek <jakub@redhat.com>
124 * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
125 on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
126 * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
127 warn on gimple_no_warning_p statements.
129 2016-02-17 Jonathan Wakely <jwakely@redhat.com>
131 * doc/extend.texi (C++ Attributes): Correct description of
132 warn_unused type attribute.
134 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
136 * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
139 2016-02-17 Richard Biener <rguenther@suse.de>
141 PR rtl-optimization/69609
142 * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
143 (find_traces_1_round): When ending a trace update cached priority
145 (bb_to_key): Use cached priority when available.
146 (copy_bb): Initialize cached priority.
147 (reorder_basic_blocks_software_trace_cache): Likewise.
149 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
152 * config/aarch64/predicates.md (aarch64_comparison_operator_mode):
154 (aarch64_comparison_operator): Break overly long line into two.
155 (aarch64_comparison_operation): Likewise.
156 * config/aarch64/aarch64.md (cstorecc4): Use
157 aarch64_comparison_operator_mode instead of
158 aarch64_comparison_operator.
159 (cstore<mode>4): Likewise.
160 (aarch64_cstore<mode>): Likewise.
161 (*cstoresi_insn_uxtw): Likewise.
162 (cstore<mode>_neg): Likewise.
163 (*cstoresi_neg_uxtw): Likewise.
165 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
168 * config/arm/predicates.md (arm_comparison_operator_mode):
170 * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
171 instead of arm_comparison_operator.
172 (*mov_negscc): Likewise.
173 (*mov_notscc): Likewise.
174 * config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
175 (*thumb2_mov_negscc): Likewise.
176 (*thumb2_mov_negscc_strict_it): Likewise.
177 (*thumb2_mov_notscc): Likewise.
178 (*thumb2_mov_notscc_strict_it): Likewise.
180 2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
182 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
185 2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
187 * config/visium/visium.c (machine_libfunc_index): New enum.
188 (machine_libfuncs): New structure.
189 (visium_libfuncs): New static variable.
190 (TARGET_INIT_LIBFUNCS): Define to...
191 (visium_init_libfuncs): ...this. New function.
192 (expand_block_move_4): Use the appropriate libfunc.
193 (expand_block_move_2): Likewise.
194 (expand_block_move_1): Likewise.
195 (expand_block_set_4): Likewise.
196 (expand_block_set_2): Likewise.
197 (expand_block_set_1): Likewise.
198 (visium_trampoline_init): Likewise.
200 2016-02-17 Nick Clifton <nickc@redhat.com>
202 * config/msp430/msp430.c (msp430_mcu_data): Sync with data from
203 TI's devices.csv file as of March 2016.
205 2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
208 * opts-global.c (handle_common_deferred_options): Introduce and
209 initialize two global variables to remember command-line options
210 specifying a stack-limiting register.
211 * opts.h: Add extern declarations of the two new global variables.
212 * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
213 variable based on the values of the two new global variables.
215 2016-02-16 Jakub Jelinek <jakub@redhat.com>
218 * common.opt (Wnonnull-compare): New warning.
219 * doc/invoke.texi (-Wnonnull): Remove text about comparison
220 of arguments against NULL.
221 (-Wnonnull-compare): Document.
222 * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
223 * tree-pass.h (make_pass_warn_nonnull_compare): Declare.
224 * passes.def (pass_warn_nonnull_compare): Add.
225 * gimple-ssa-nonnull-compare.c: New file.
227 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
229 * config/aarch64/aarch64.c (cortexa57_tunings): Remove
230 AARCH64_EXTRA_TUNE_RECIP_SQRT.
232 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
234 * config/aarch64/aarch64.c (use_rsqrt_p): Always use software
235 reciprocal sqrt for -mlow-precision-recip-sqrt.
237 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
238 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
240 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
241 always use lane loads to construct non-constant vectors.
243 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
245 * config/aarch64/aarch64.md
246 (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
247 constraints for operand 3.
248 (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
250 2016-02-16 Jakub Jelinek <jakub@redhat.com>
251 Richard Biener <rguenther@suse.de>
253 PR tree-optimization/69820
254 * tree-vect-patterns.c (type_conversion_p): Return false if
255 *orig_type is unsigned single precision or boolean.
256 (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
259 2016-02-16 Jakub Jelinek <jakub@redhat.com>
261 PR rtl-optimization/69764
262 PR rtl-optimization/69771
263 * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
264 op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
266 2016-02-16 Richard Biener <rguenther@suse.de>
268 PR tree-optimization/69776
269 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
271 (indirect_refs_may_alias_p): Likewise.
272 (refs_may_alias_p_1): Pass alias sets as from ao_ref.
273 * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
275 * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
276 (optimize_stmt): For redundant store discovery do not allow tbaa.
278 2016-02-16 Bernd Schmidt <bschmidt@redhat.com>
280 PR tree-optimization/69714
281 * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
282 Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
284 2016-02-16 Claudiu Zissulescu <claziss@synopsys.com>
286 * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
287 * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
288 (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
289 * config/arc/arc.c (arc_init): Check FPU options.
290 (get_arc_condition_code): Handle new CC_FPU* modes.
291 (arc_select_cc_mode): Likewise.
292 (arc_conditional_register_usage): Allow 64 bit datum into even-odd
293 register pair only. Allow access for ARCv2 accumulator.
294 (gen_compare_reg): Whenever we have FPU support use FPU compare
296 (arc_reorg): Don't generate brcc insns when FPU compare
297 instructions are involved.
298 * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
299 (TARGET_OPTFPE): Add condition when ARC EM can use optimized
300 floating point emulation.
301 (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
302 (REVERSE_CONDITION): Add new CC_FPU* modes.
303 (TARGET_FP_SP_BASE): Define.
304 (TARGET_FP_DP_BASE): Likewise.
305 (TARGET_FP_SP_FUSED): Likewise.
306 (TARGET_FP_DP_FUSED): Likewise.
307 (TARGET_FP_SP_CONV): Likewise.
308 (TARGET_FP_DP_CONV): Likewise.
309 (TARGET_FP_SP_SQRT): Likewise.
310 (TARGET_FP_DP_SQRT): Likewise.
311 (TARGET_FP_DP_AX): Likewise.
312 * config/arc/arc.md (ARCV2_ACC): New constant.
313 (type): New fpu type attribute.
314 (SDF): Conditional iterator.
315 (cstore<mode>, cbranch<mode>): Change expand condition.
316 (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
317 handles FPU/FPX cases as well.
318 * config/arc/arc.opt (mfpu): New option.
319 * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
321 (adddf3, muldf3, subdf3): Removed.
322 * config/arc/predicates.md (proper_comparison_operator): Recognize
324 * config/arc/fpu.md: New file.
325 * doc/invoke.texi (ARC Options): Document mfpu option.
327 2016-02-16 Richard Biener <rguenther@suse.de>
329 PR rtl-optimization/69291
330 * ifcvt.c (noce_try_store_flag_constants): Re-instantiate
331 noce_operand_ok check.
333 2016-02-16 Tom de Vries <tom@codesourcery.com>
336 * omp-low.c (simd_clone_create): Remove call to
337 symtab->call_cgraph_insertion_hooks.
339 2016-02-16 Jakub Jelinek <jakub@redhat.com>
341 PR tree-optimization/69802
342 * tree-ssa-reassoc.c (update_range_test): If op is
343 SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
344 op == 1 test of precision 1 integral op, otherwise handle
345 that case as op itself. Fix up formatting.
346 (optimize_range_tests_to_bit_test, optimize_range_tests): Fix
349 2016-02-16 Richard Biener <rguenther@suse.de>
351 PR tree-optimization/69586
352 * tree-vrp.c (register_edge_assert_for_2): Handle all integral
353 types for conversion sources.
355 2016-02-16 Richard Biener <rguenther@suse.de>
358 * fold-const.c (operand_equal_p): For COND_EXPR zero operand
361 2016-02-16 Alan Modra <amodra@gmail.com>
364 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
365 (p8_mtvsrd_df, p8_mtvsrd_sf): New.
366 (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
368 (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
369 (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
370 (p8_fmrgow_<mode>): Likewise.
371 (reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above
373 (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
374 (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
375 to use movdi_internal64. Remove op0_di.
376 * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
378 2016-02-15 Evandro Menezes <e.menezes@samsung.com>
380 Add support for the FCCMP insn types
382 * config/aarch64/aarch64.md (fccmp): Change insn type.
384 * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
385 * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
386 * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
387 * config/arm/xgene1.md (xgene1_fcmp): Likewise.
388 * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
389 * config/arm/types.md (fccmps): Add new insn type.
392 2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
394 * alias.c (get_alias_set): Fix a typo in comment.
396 2016-02-15 Richard Biener <rguenther@suse.de>
398 PR tree-optimization/69595
399 * match.pd: Complete range test simplification to true.
401 2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
403 PR rtl-optimization/69648
404 * lra-constraints.c (update_ebb_live_info): Don't remove sets of
405 pic_offset_table_rtx.
407 PR rtl-optimization/69752
408 * ira.c (update_equiv_regs): When looking for more than a single SET,
409 also take other side effects into account.
411 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
413 * config/s390/s390.c (s390_function_profiler): Add a new sequence
414 for z900+ CPUs in 31-bit mode.
416 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
418 * common/config/s390/s390-common.c (s390_supports_split_stack):
420 (TARGET_SUPPORTS_SPLIT_STACK): New macro.
421 * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
422 * config/s390/s390.c (struct machine_function): New field
423 split_stack_varargs_pointer.
424 (s390_register_info): Mark r12 as clobbered if it'll be used as temp
425 in s390_emit_prologue.
426 (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
428 (morestack_ref): New global.
429 (SPLIT_STACK_AVAILABLE): New macro.
430 (s390_expand_split_stack_prologue): New function.
431 (s390_live_on_entry): New function.
432 (s390_va_start): Use split-stack vararg pointer if appropriate.
433 (s390_asm_file_end): Emit the split-stack note sections.
434 (TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
435 * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
436 (UNSPECV_SPLIT_STACK_CALL): New unspec.
437 (UNSPECV_SPLIT_STACK_DATA): New unspec.
438 (split_stack_prologue): New expand.
439 (split_stack_space_check): New expand.
440 (split_stack_data): New insn.
441 (split_stack_call): New expand.
442 (split_stack_call_*): New insn.
443 (split_stack_cond_call): New expand.
444 (split_stack_cond_call_*): New insn.
446 2016-02-15 Richard Biener <rguenther@suse.de>
448 PR tree-optimization/69783
449 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
450 Add trivially correct cases.
452 2016-02-15 Tom de Vries <tom@codesourcery.com>
455 * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
457 * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
459 2016-02-15 Richard Biener <rguenther@suse.de>
461 PR tree-optimization/69776
462 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
463 * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
464 indicate whether we can use TBAA to disambiguate against stores.
465 Use alias-set zero if not.
466 (visit_reference_op_store): Do not use TBAA when looking up
468 * tree-ssa-pre.c (compute_avail): Use TBAA here.
469 (eliminate_dom_walker::before_dom_children): But not when looking
472 2016-02-14 John David Anglin <danglin@gcc.gnu.org>
474 * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
476 2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
478 * config/i386/znver1.md
479 (znver1_pop, znver1_pop_mem,
480 znver1_load_imov_double_store,
481 znver1_load_imov_direct_store,
482 znver1_load_imov_direct_load,
483 znver1_load_imov_double_load): Add new.
484 (znver1_insn, znver1_insn_load): Add icmov type.
486 znver1_sseavx_fma_load,
488 znver1_avx256_fma_load): Fix pipe usage.
490 2016-02-14 Alan Modra <amodra@gmail.com>
493 * reloads.c (find_reloads_address_1): For pre/post-inc/dec
494 with an invalid hard reg, reload just the reg not the entire
495 pre/post-inc/dec address expression.
497 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
500 * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
501 fixed R1_REG scratch reg.
502 (sibcall_value_pcrel_fdpic): Likewise.
504 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
508 * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
510 2016-02-12 Walter Lee <walt@tilera.com>
512 * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
513 * config/tilegx/t-tilegx: Likewise.
515 2016-02-12 David Malcolm <dmalcolm@redhat.com>
518 * diagnostic-show-locus.c (struct line_span): New struct.
519 (layout::get_first_line): Delete.
520 (layout::get_last_line): Delete.
521 (layout::get_num_line_spans): New member function.
522 (layout::get_line_span): Likewise.
523 (layout::print_heading_for_line_span_index_p): Likewise.
524 (layout::get_expanded_location): Likewise.
525 (layout::calculate_line_spans): Likewise.
526 (layout::m_first_line): Delete.
527 (layout::m_last_line): Delete.
528 (layout::m_line_spans): New field.
529 (layout::layout): Update comment. Replace m_first_line and
530 m_last_line with m_line_spans, replacing their initialization
531 with a call to calculate_line_spans.
532 (diagnostic_show_locus): When printing source lines and
533 annotations, rather than looping over a single span
534 of lines, instead loop over each line_span within
535 the layout, with an inner loop over the lines within them.
536 Call the context's start_span callback when changing line spans.
537 * diagnostic.c (diagnostic_initialize): Initialize start_span.
538 (diagnostic_build_prefix): Break out the building of the location
539 part of the string into...
540 (diagnostic_get_location_text): ...this new function, rewriting
541 it from nested ternary expressions to a sequence of "if"
543 (default_diagnostic_start_span_fn): New function.
544 * diagnostic.h (diagnostic_start_span_fn): New typedef.
545 (diagnostic_context::start_span): New field.
546 (default_diagnostic_start_span_fn): New prototype.
548 2016-02-12 David Malcolm <dmalcolm@redhat.com>
551 * gcc.c (driver::finalize): Fix cleanup of "specs".
553 2016-02-12 David Malcolm <dmalcolm@redhat.com>
557 * gcc.c (driver::driver): Initialize m_option_suggestions.
558 (driver::~driver): Clean up m_option_suggestions.
559 (suggest_option): Convert to...
560 (driver::suggest_option): ...this, and split out into
561 driver::build_option_suggestions and find_closest_string.
562 (driver::build_option_suggestions): New function, from
563 first half of suggest_option. Special-case
564 OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
565 the sanitizer_opts array. For options of enum types, add the
566 various enum values to the candidate strings.
567 (driver::handle_unrecognized_options): Remove "const".
568 * gcc.h (driver::handle_unrecognized_options): Likewise.
569 (driver::build_option_suggestions): New decl.
570 (driver::suggest_option): New decl.
571 (driver::m_option_suggestions): New field.
572 * opts-common.c (add_misspelling_candidates): New function.
573 * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
575 * opts.h (sanitizer_opts): New array decl.
576 (add_misspelling_candidates): New function decl.
577 * spellcheck.c (find_closest_string): New function.
578 * spellcheck.h (find_closest_string): New function decl.
580 2016-02-12 Jakub Jelinek <jakub@redhat.com>
582 PR rtl-optimization/69764
583 PR rtl-optimization/69771
584 * optabs.c (expand_binop_directly): For shift_optab_p, force
585 convert_modes with VOIDmode if xop1 has VOIDmode.
587 2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com>
590 * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
591 to correctly determine instrumentation thunks.
593 2016-02-12 Jakub Jelinek <jakub@redhat.com>
596 * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
597 type by reference, force lhs on the call.
600 * ipa-split.c (split_function): Don't compute/use main_part_return_p.
601 Compute retval and retbnd early in all cases if split_part_return_p
602 and return_bb is not EXIT. Remove all clobber stmts and reset
603 all debug stmts that refer to SSA_NAMEs defined in split part,
604 except if it is retval, in that case replace the old retval with the
605 lhs of the call to the split part.
607 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
610 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
613 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
614 whose result is used in PHI.
615 (maybe_optimize_range_tests): Likewise.
616 (final_range_test_p): Likweise.
618 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
621 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
622 whose result is used in PHI.
623 (maybe_optimize_range_tests): Likewise.
624 (final_range_test_p): Likweise.
626 2016-02-12 Jakub Jelinek <jakub@redhat.com>
628 * cgraph.c: Spelling fixes - behaviour -> behavior and
629 neighbour -> neighbor.
630 * target.def: Likewise.
631 * sel-sched.c: Likewise.
632 * config/mips/mips.c: Likewise.
633 * config/arc/arc.md: Likewise.
634 * config/arm/cortex-a57.md: Likewise.
635 * config/arm/arm.c: Likewise.
636 * config/arm/neon.md: Likewise.
637 * config/arm/arm-c.c: Likewise.
638 * config/vms/vms-c.c: Likewise.
639 * config/s390/s390.c: Likewise.
640 * config/i386/znver1.md: Likewise.
641 * config/i386/i386.c: Likewise.
642 * config/ia64/hpux-unix2003.h: Likewise.
643 * config/msp430/msp430.md: Likewise.
644 * config/rx/rx.c: Likewise.
645 * config/rx/rx.md: Likewise.
646 * config/aarch64/aarch64-simd.md: Likewise.
647 * config/aarch64/aarch64.c: Likewise.
648 * config/nvptx/nvptx.c: Likewise.
649 * config/bfin/bfin.c: Likewise.
650 * config/cris/cris.opt: Likewise.
651 * config/rs6000/rs6000.c: Likewise.
652 * target.h: Likewise.
653 * spellcheck.c: Likewise.
654 * ira-build.c: Likewise.
655 * tree-inline.c: Likewise.
656 * builtins.c: Likewise.
657 * lra-constraints.c: Likewise.
658 * explow.c: Likewise.
660 * targhooks.c: Likewise.
661 * tree-vect-data-refs.c: Likewise.
663 * doc/tm.texi: Likewise.
664 * doc/extend.texi: Likewise.
665 * doc/install.texi: Likewise.
666 * doc/md.texi: Likewise.
667 * tree-ssa-tail-merge.c: Likewise.
668 * sched-int.h: Likewise.
669 * match.pd: Likewise.
670 * sched-ebb.c: Likewise.
671 * target.def (omit_struct_return_reg): Likewise.
672 * gimple-ssa-isolate-paths.c: Likewise.
673 (find_implicit_erroneous_behaviour): Renamed to...
674 (find_implicit_erroneous_behavior): ... this.
675 (find_explicit_erroneous_behaviour): Renamed to...
676 (find_explicit_erroneous_behavior): ... this.
677 (gimple_ssa_isolate_erroneous_paths): Adjust caller.
679 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org>
681 PR rtl-optimization/64682
682 PR rtl-optimization/69567
683 PR rtl-optimization/69737
684 * combine.c (distribute_notes) <REG_DEAD>: If the register is set
685 in I2 as well, just lose it.
687 2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
689 * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
691 (aarch64_last_printed_tune_string): Likewise.
692 (aarch64_declare_function_name): Only output .arch assembler
693 directive if it will be different from the previously output
694 directive. Same for .tune comment but only if -dA is set.
695 (aarch64_start_file): New function.
696 (TARGET_ASM_FILE_START): Define.
698 2016-02-11 David Malcolm <dmalcolm@redhat.com>
701 * Makefile.in (PLUGIN_HEADERS): Add params.list.
703 2016-02-11 Jakub Jelinek <jakub@redhat.com>
706 * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
707 -Wmaybe-uninitialized warning.
709 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
712 * config/sh/sh.md (casesi_worker_0): Add T_REG use.
714 2016-02-11 Richard Biener <rguenther@suse.de>
716 PR rtl-optimization/69291
717 * ifcvt.c (noce_try_store_flag_constants): Do not allow
718 subexpressions affected by changing the result.
720 2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
723 * lra-constraints.c (curr_insn_transform): Find in/out operands
724 for secondary memory moves. Update dups.
726 2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
728 PR tree-optimization/69652
729 * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
730 to nested loop, did source re-formatting, skip debug statements,
731 add check on statement with volatile operand, remove dead scalar
734 2016-02-10 Jakub Jelinek <jakub@redhat.com>
735 Patrick Palka <ppalka@gcc.gnu.org>
739 * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
740 calls if the return type is TREE_ADDRESSABLE.
741 * cgraphunit.c (cgraph_node::expand_thunk): Likewise.
742 * ipa-split.c (split_function): Fix doubled "we" in comment.
743 Use void return type for the split part even if
744 !split_point->split_part_set_retval.
746 2016-02-10 Bin Cheng <bin.cheng@arm.com>
748 PR tree-optimization/68021
749 * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
750 when computing the value of biv cand by itself.
752 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
754 * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
755 (cortexa57_tunings): Likewise.
756 (cortexa72_tunings): Likewise.
757 (arch_macro_fusion_pair_p): Add support for AES fusion.
758 * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
759 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
760 Allow virtual registers before reload so early scheduling works.
761 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
762 correct latency and pipeline.
763 (cortex_a57_crypto_complex): Likewise.
764 (cortex_a57_crypto_xor): Likewise.
765 (define_bypass): Add AES bypass.
767 2016-02-10 Richard Biener <rguenther@suse.de>
769 PR tree-optimization/69726
770 * passes.def: Add DCE pass before late uninit.
771 * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
772 really fixup if-conversions job.
774 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
776 * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
777 (arm_cortex_a57_tune): Likewise.
778 (aarch_macro_fusion_pair_p): Add support for AES fusion.
779 * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
781 2016-02-10 Eric Botcazou <ebotcazou@adacore.com>
783 * timevar.def (TV_PHASE_DBGINFO): Delete.
784 (TV_PHASE_CHECK_DBGINFO): Likewise.
785 * varpool.c (varpool_node::assemble_decl): Do not change timevar.
787 2016-02-10 Richard Biener <rguenther@suse.de>
789 PR tree-optimization/69719
790 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
791 Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
793 2016-02-09 Andrew Pinski <apinski@cavium.com>
796 * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
797 get_vcond_mask_icode returns false.
799 2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
802 * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
803 an ADDIS that adds a pointer to a large constant that sets the
804 upper16 bits with a load operation.
806 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
809 * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
811 * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
813 (vzipq_s16): Likewise.
814 (vzipq_s32): Likewise.
815 (vzipq_f32): Likewise.
816 (vzipq_u8): Likewise.
817 (vzipq_u16): Likewise.
818 (vzipq_u32): Likewise.
819 (vzipq_p8): Likewise.
820 (vzipq_p16): Likewise.
822 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
825 * config/arm/arm.c (neon_endian_lane_map): New function.
826 (neon_vector_pair_endian_lane_map): New function.
827 (arm_evpc_neon_vuzp): Allow for big endian lane order.
828 * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
830 (vuzpq_s16): Likewise.
831 (vuzpq_s32): Likewise.
832 (vuzpq_f32): Likewise.
833 (vuzpq_u8): Likewise.
834 (vuzpq_u16): Likewise.
835 (vuzpq_u32): Likewise.
836 (vuzpq_p8): Likewise.
837 (vuzpq_p16): Likewise.
839 2016-02-11 Alexandre Oliva <aoliva@redhat.com>
842 * regstat.c (regstat_bb_compute_calls_crossed): Disregard
845 2016-02-09 Uros Bizjak <ubizjak@gmail.com>
847 * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
848 truncate const_int operand 1 to QImode.
850 2016-02-09 Eric Botcazou <ebotcazou@adacore.com>
852 * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
853 corresponding to an abnormal edge.
855 2016-02-09 Tom de Vries <tom@codesourcery.com>
857 PR tree-optimization/69599
858 * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
860 (find_func_aliases_for_builtin_call, find_func_clobbers)
861 (ipa_pta_execute): Handle case that foo and foo._0 are not in same lto
864 2016-02-09 Richard Biener <rguenther@suse.de>
866 PR tree-optimization/69715
867 * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
868 LHS on calls as non-rewritable.
870 2016-02-09 Tom de Vries <tom@codesourcery.com>
873 * lto-wrapper.c (append_diag_options): New function.
874 (compile_offload_image): Call append_diag_options.
876 2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
879 * doc/extend.texi (Flag Output Operands): Correct sectioning.
880 Minor copy-edit to fix verb tenses.
882 2016-02-08 Jakub Jelinek <jakub@redhat.com>
884 PR tree-optimization/69209
885 * ipa-split.c (split_function): If split part is not
886 returning retval, retval has gimple type but is not
887 gimple value, force it into a SSA_NAME first.
889 2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com>
891 * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
894 2016-02-08 Jason Merrill <jason@redhat.com>
897 * convert.c (convert_to_integer_1): Check dofold on truncation
899 (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
900 (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
901 Rename from *_nofold.
902 * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
903 (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
905 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
908 * tree.c (build_common_tree_nodes): Remove short_double argument.
910 * tree.h (build_common_tree_nodes): Adjust declaration.
911 * doc/invoke.texi (-fshort-double): Remove documentation.
912 * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
913 MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
914 * lto-wrapper.c (merge_and_complain, append_compiler_options)
915 (append_linker_options): Don't handle OPT_fshort_double.
917 PR rtl-optimization/68730
918 * lra-remat.c (insn_to_cand_activation): New static variable.
919 (lra_remat): Allocate and free it.
920 (create_cand): New arg activation. Initialize a field in
921 insn_to_cand_activation if it is nonnull.
922 (create_cands): Pass the activation insn to create_cand when making
923 a candidate involving an output reload. Reorganize code a little.
924 (do_remat): Keep track of active status of candidates in a separate
927 2016-02-08 Richard Biener <rguenther@suse.de>
929 PR tree-optimization/69719
930 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
931 Properly use absolute of the difference of the two offsets to
932 compare or adjust the segment length.
934 2016-02-08 Richard Biener <rguenther@suse.de>
935 Jeff Law <law@redhat.com>
938 * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
939 types for anonymous SSA names.
941 2016-02-08 Richard Biener <rguenther@suse.de>
943 PR rtl-optimization/69274
944 * ira.c (ira_setup_alts): Do not change recog_data.operand order.
946 2016-02-08 Jeff Law <law@redhat.com>
948 PR tree-optimization/65917
949 * tree-ssa-dom.c (record_temporary_equivalences): Record both
950 equivalences from if (x == y) style conditionals.
951 (loop_depth_of_name): Remove.
952 (record_equality): Remove loop depth check.
953 * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
954 (const_and_copies::record_const_or_copy_raw): New member function.
955 * tree-ssa-scopedtables.c
956 (const_and_copies::record_const_or_copy_raw): New, factored out of
957 (const_and_copies::record_const_or_copy): Call new member function.
959 2016-02-05 Jeff Law <law@redhat.com>
961 PR tree-optimization/68541
962 * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
963 (count_stmts_in_block): New function.
964 (poor_ifcvt_candidate_code): Likewise.
965 (is_feasible_trace): Add some heuristics to determine when path
966 splitting is profitable.
967 (find_block_to_duplicate_for_splitting_paths): Make sure the graph
968 is a diamond with a single exit.
970 2016-02-05 Martin Sebor <msebor@redhat.com>
973 * doc/invoke.texi: Update -Wplacement-new to take an optional
976 2016-02-06 Richard Henderson <rth@redhat.com>
979 * tree.c (tree_nop_conversion_p): Do not strip casts into or
980 out of non-standard address spaces.
982 2016-02-05 Jakub Jelinek <jakub@redhat.com>
984 PR rtl-optimization/69691
985 * lra-eliminations.c (move_plus_up): Don't add the addend twice.
987 2016-02-05 Pat Haugen <pthaugen@us.ibm.com>
989 * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
990 * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
991 (*ieee128_mfvsrd_64bit): Likewise.
992 (*ieee128_mfvsrd_32bit): Likewise.
994 2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com>
998 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
1000 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
1001 instrumented_version.
1003 2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com>
1005 * doc/invoke.texi (Optimize Options): In table of --param options
1006 rename second occurrence of tracer-min-branch-ratio to
1007 tracer-min-branch-probability, rename
1008 tracer-min-branch-ratio-feedback to
1009 tracer-min-branch-probability-feedback and clarify description,
1010 rename sched-spec-state-edge-prob-cutoff to
1011 sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
1012 to selsched-insns-to-rename, rename lto-minpartition to
1013 lto-min-partition, delete reorder-blocks-duplicate and
1014 reorder-blocks-duplicate-feedback.
1016 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1018 * config/s390/s390.c (s390_register_info_set_ranges): Remove
1021 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
1023 * doc/extend.texi: S/390: Correct some typos.
1025 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1027 * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
1029 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1032 * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
1033 (s390_register_info_gprtofpr): Use new macros above.
1034 (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
1036 (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
1037 its name. Adjust restore and save gpr ranges.
1038 (s390_register_info_set_ranges): New function.
1039 (s390_register_info): Use new macros above. Call
1040 s390_register_info_set_ranges.
1041 (s390_optimize_register_info): Likewise.
1042 (s390_hard_regno_rename_ok): Use new macros.
1043 (s390_hard_regno_scratch_ok): Likewise.
1044 (s390_emit_epilogue): Likewise.
1045 (s390_can_use_return_insn): Likewise.
1046 (s390_optimize_prologue): Likewise.
1047 * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
1049 2016-02-05 Jakub Jelinek <jakub@redhat.com>
1052 * config/i386/i386.c (convert_scalars_to_vector): Readd stack
1054 (ix86_option_override_internal): Disable TARGET_STV even for
1055 -m{incoming,preferred}-stack-boundary=3.
1057 2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1059 * config.gcc: Mark deprecated rtems targets as obsolete.
1061 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org>
1063 PR rtl-optimization/64682
1064 PR rtl-optimization/69567
1065 * combine.c (distribute_notes) <REG_DEAD>: Place the death note
1066 before I2 only if the register is both used and set in I2.
1068 2016-02-04 DJ Delorie <dj@redhat.com>
1070 * config/msp430/msp430.c (msp430_start_function): Add function type.
1072 2016-02-04 Jakub Jelinek <jakub@redhat.com>
1075 * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
1077 2016-02-04 Uros Bizjak <ubizjak@gmail.com>
1079 PR rtl-optimization/69577
1081 2015-10-29 Richard Henderson <rth@redhat.com>
1085 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
1086 sse check to the exact conditions of PR 67609.
1088 2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
1091 * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
1092 instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
1093 not allowed into the traditional Altivec registers.
1094 (movtd_64bit_nodm): Likewise.
1095 (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
1097 2016-02-04 David Malcolm <dmalcolm@redhat.com>
1099 * config/aarch64/cortex-a57-fma-steering.c
1100 (aarch64_register_fma_steering): Remove "static" from arguments
1103 2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
1106 * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
1109 2016-02-04 Mike Frysinger <vapier@gentoo.org>
1111 * doc/invoke.texi: Delete -mno-fma4.
1113 2016-02-04 Richard Sandiford <richard.sandiford@arm.com>
1115 PR rtl-optimization/69577
1116 * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
1117 (find_subregs_of_mode): Update accordingly. Iterate over partial
1120 2016-02-04 Alan Lawrence <alan.lawrence@arm.com>
1122 * config/arm/arm-protos.h (neon_reinterpret): Remove.
1123 * config/arm/arm.c (neon_reinterpret): Remove.
1124 * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
1125 vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
1126 vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
1127 vreinterpretti): Remove.
1128 * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
1129 neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
1130 neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
1131 neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
1132 neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
1133 neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
1134 * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
1135 vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
1136 vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
1137 vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
1138 vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
1139 vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
1140 vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
1141 vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
1142 vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
1143 vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
1144 vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
1145 vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
1146 vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
1147 vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
1148 vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
1149 vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
1150 vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
1151 vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
1152 vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
1153 vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
1154 vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
1155 vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
1156 vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
1157 vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
1158 vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
1159 vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
1160 vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
1161 vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
1162 vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
1163 vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
1164 vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
1165 vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
1166 vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
1167 vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
1168 vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
1169 vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
1170 vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
1171 vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
1172 vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
1173 vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
1174 vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
1175 vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
1176 vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
1177 vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
1178 vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
1179 vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
1180 vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
1181 vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
1182 vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
1183 vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
1184 vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
1185 vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
1186 vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
1187 vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
1188 vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
1189 vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
1190 vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
1191 vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
1192 vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
1193 vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
1194 vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
1195 vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
1196 vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
1197 vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
1198 vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
1199 vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
1200 vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
1201 vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
1202 vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
1203 vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
1204 vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
1205 vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
1206 vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
1207 vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
1208 vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
1209 vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
1210 vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
1211 vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
1212 vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
1213 vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
1214 vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
1215 vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
1216 vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
1217 vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
1218 vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
1219 vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
1220 vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
1221 vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
1222 vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
1223 vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
1224 vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
1225 vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
1226 vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
1227 vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
1228 vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
1229 vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
1230 vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
1232 2016-02-04 Martin Liska <mliska@suse.cz>
1235 * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
1236 that are gimple_store_p.
1237 (maybe_instrument_call): Likewise.
1239 2016-02-04 Bin Cheng <bin.cheng@arm.com>
1241 * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
1242 register scaling out of memory reference and comment why.
1244 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1248 * cse.c (cse_insn): Pass NULL to fold_rtx when initially
1249 folding the source of a SET.
1251 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1255 * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
1256 the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
1258 2016-02-04 Jim Wilson <jim.wilson@linaro.org>
1262 * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
1265 2016-02-04 Christian Bruel <christian.bruel@st.com>
1267 * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
1268 * config/arm/arm.c (arm_set_current_function): Likewise.
1270 2016-02-04 Jakub Jelinek <jakub@redhat.com>
1271 Ilya Enkovich <enkovich.gnu@gmail.com>
1272 H.J. Lu <hongjiu.lu@intel.com>
1275 * config/i386/i386.c (convert_scalars_to_vector): Remove
1276 stack alignment fixes.
1277 (ix86_option_override_internal): Disable TARGET_STV if stack
1278 might not be aligned enough.
1279 (ix86_minimum_alignment): Assert that TARGET_STV is false.
1281 2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com>
1283 * gcc/config/i386/x86-tune.def: Disable default prefetching
1286 2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com>
1287 Vladimir Makarov <vmakarov@redhat.com>
1290 * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
1291 in validating fused toc addresses.
1293 2016-02-03 Jakub Jelinek <jakub@redhat.com>
1296 * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
1297 range->m_caret fields if range->m_show_caret_p is false.
1300 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
1301 Force oldval into register if it does not satisfy reg_or_short_operand
1302 predicate. Fix up formatting.
1304 2016-02-03 Vladimir Makarov <vmakarov@redhat.com>
1305 Alexandre Oliva <aoliva@redhat.com>
1308 * lra-constraints.c (simplify_operand_subreg): Check additionally
1309 address validity after potential reloading.
1310 (process_address_1): Check insns validity. In case of failure do
1313 2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com>
1316 * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
1319 2016-02-02 Jakub Jelinek <jakub@redhat.com>
1321 * wide-int.cc (canonize_uhwi): New function.
1322 (wi::divmod_internal): Use it.
1324 2016-02-02 James Norris <jnorris@codesourcery.com
1326 * gimplify.c (omp_notice_variable): Add usage check.
1328 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
1330 * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
1331 like LE, GE, LT, GT when emitting relational operator.
1333 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
1335 * ira-costs.c (find_costs_and_classes): Add extra argument.
1336 * target.def (ira_change_pseudo_allocno_class): Add parameter.
1337 * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
1338 * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
1339 * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
1340 Add best_class parameter, and return it if not ALL_REGS.
1341 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
1343 * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
1346 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
1348 * config/aarch64/aarch64.c
1349 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
1350 (aarch64_ira_change_pseudo_allocno_class): New function.
1352 2016-02-02 Uros Bizjak <ubizjak@gmail.com>
1355 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
1357 2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1359 * config/avr/avr.c (avr_option_override): Set
1360 PARAM_ALLOW_STORE_DATA_RACES to 1.
1362 2016-02-02 Richard Biener <rguenther@suse.de>
1364 PR tree-optimization/69595
1365 * match.pd: Add range test simplifications to true/false.
1367 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
1369 * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
1370 * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
1373 2016-02-02 Richard Biener <rguenther@suse.de>
1375 PR tree-optimization/69606
1376 * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
1377 info on the result before moving a stmt.
1379 2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
1382 * config/i386/i386.c (ix86_expand_branch): Add support for conditional
1383 branch with vector comparison.
1384 * config/i386/sse.md (VI48_AVX): New mode iterator.
1385 (define_expand "cbranch<mode>4): Add support for conditional branch
1386 with vector comparison.
1387 * tree-vect-loop.c (optimize_mask_stores): New function.
1388 * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
1389 has_mask_store field of vect_info.
1390 * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
1391 vectorized loops having masked stores after vec_info destroy.
1392 * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
1393 correspondent macros.
1394 (optimize_mask_stores): Add prototype.
1396 2016-02-02 Alan Modra <amodra@gmail.com>
1399 * config/rs6000/predicates.md (quad_int_reg_operand): Don't
1402 2016-02-02 Alan Modra <amodra@gmail.com>
1405 * config/rs6000/rs6000.c (need_toc_init): New var, set it
1406 whenever toc_label_name used.
1407 (rs6000_file_start): Don't set up toc section here,
1408 (rs6000_output_function_epilogue): do so here instead,
1409 (rs6000_xcoff_file_start): and here.
1410 * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
1411 (load_toc_aix_di): Likewise.
1413 2016-02-01 Jakub Jelinek <jakub@redhat.com>
1415 PR rtl-optimization/69592
1416 * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
1417 (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
1418 (num_sign_bit_copies_binary_arith_p): New inline function.
1419 (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
1421 2016-02-01 Jeff Law <law@redhat.com>
1423 PR tree-optimization/69580
1424 * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
1425 * tree-ssa-threadbackward.c
1426 (fsm_find_control_statement_thread_paths): Do not try to walk
1427 through large PHI nodes.
1429 2016-02-01 Jakub Jelinek <jakub@redhat.com>
1431 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
1432 when count is incremented above limit, don't analyze further
1435 * omp-low.c (oacc_parse_default_dims): Avoid
1436 -Wsign-compare warning, make sure value fits into int
1437 rather than just unsigned int.
1439 2016-02-01 Bin Cheng <bin.cheng@arm.com>
1441 PR tree-optimization/67921
1442 * fold-const.c (split_tree): New parameters. Convert pointer
1443 type variable part to proper type before negating.
1444 (fold_binary_loc): Pass new arguments to split_tree.
1446 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1448 * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
1449 (nvptx_goacc_validate_dims): Extend to handle global defaults.
1450 * target.def (OACC_VALIDATE_DIMS): Extend documentation.
1451 * doc/tm.texti: Rebuilt.
1452 * doc/invoke.texi (fopenacc-dim): Document.
1453 * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
1454 (append_compiler_options): Likewise.
1455 * omp-low.c (oacc_default_dims, oacc_min_dims): New.
1456 (oacc_parse_default_dims): New.
1457 (oacc_validate_dims): Add USED arg. Select non-unity default when
1459 (oacc_loop_fixed_partitions): Return mask of used partitions.
1460 (oacc_loop_auto_partitions): Emit dump info.
1461 (oacc_loop_partition): Return mask of used partitions.
1462 (execute_oacc_device_lower): Parse default dimension arg. Adjust
1463 loop partitioning and validation calls.
1465 2016-02-01 Richard Biener <rguenther@suse.de>
1468 * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
1470 2016-02-01 Richard Biener <rguenther@suse.de>
1472 PR tree-optimization/69574
1473 * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
1474 of asserting return chrec_dont_know.
1476 2016-02-01 Martin Liska <mliska@suse.cz>
1478 * mem-stats-traits.h: Add copyright header.
1479 * mem-stats.h: Likewise.
1481 2016-02-01 Richard Biener <rguenther@suse.de>
1483 PR tree-optimization/69579
1484 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
1485 Do not propagate through abnormal PHI results.
1487 2016-02-01 Eric Botcazou <ebotcazou@adacore.com>
1489 * postreload.c (reload_cse_simplify): Remove dead code.
1491 2016-02-01 Jakub Jelinek <jakub@redhat.com>
1493 PR rtl-optimization/69570
1494 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
1495 if there is more than one set, not if there is a single set.
1497 2016-02-01 Richard Henderson <rth@redhat.com>
1500 * combine.c (make_compound_operation): When looking through a
1501 subreg, make sure to re-extend to the width of the outer mode.
1503 2016-01-30 Jakub Jelinek <jakub@redhat.com>
1505 PR tree-optimization/69546
1506 * wide-int.cc (wi::divmod_internal): For unsigned division
1507 where both operands fit into uhwi, if o1 is 1 and o0 has
1508 msb set, if divident_prec is larger than bits per hwi,
1509 clear another quotient word and return 2 instead of 1.
1510 Similarly for remainder with msb in HWI set, if dividend_prec
1511 is larger than bits per hwi.
1513 2016-01-29 Martin Jambor <mjambor@suse.cz>
1515 * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
1516 Use short lowercase names.
1517 (get_memory_order): Mask with MEMMODEL_BASE_MASK. Support
1518 MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
1519 acq_rel one. Protect warning agains segfaults if
1520 get_memory_order_name returns NULL.
1521 (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
1522 with release semantics. Do not warn if get_memory_order already did.
1523 (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
1524 semantics. Fix check for relaxed or acquire semantics. Do not warn
1525 if get_memory_order already did.
1527 2016-01-29 Sebastian Pop <s.pop@samsung.com>
1529 * doc/install.texi: Document that isl-0.16 is supported.
1531 2016-01-29 Vladimir Makarov <vmakarov@redhat.com>
1534 * config/i386/constraints.md (Bm): Describe as special memory
1536 * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
1537 * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
1538 * genpreds.c (struct constraint_data): Add is_special_memory.
1539 (have_special_memory_constraints, special_memory_start): New
1541 (special_memory_end): Ditto.
1542 (add_constraint): Add new arg is_special_memory. Add code to
1543 process its true value. Update have_special_memory_constraints.
1544 (process_define_constraint): Pass the new arg.
1545 (process_define_register_constraint): Ditto.
1546 (choose_enum_order): Process special memory.
1547 (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
1548 function insn_extra_special_memory_constraint.
1549 (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
1550 * gensupport.c (process_rtx): Process
1551 DEFINE_SPECIAL_MEMORY_CONSTRAINT.
1552 * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
1553 * ira-lives.c (single_reg_class): Use
1554 insn_extra_special_memory_constraint.
1555 * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
1556 * lra-constraints.c (process_alt_operands): Ditto.
1557 (curr_insn_transform): Use insn_extra_special_memory_constraint.
1558 * recog.c (asm_operand_ok, preprocess_constraints): Process
1560 * reload.c (find_reloads): Ditto.
1561 * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
1562 * stmt.c (parse_input_constraint): Use
1563 insn_extra_special_memory_constraint.
1565 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
1568 * lra-splill.c (lra_final_code_change): Revert r229087 by
1569 removing all sub-registers.
1571 2016-01-29 Steve Ellcey <sellcey@imgtec.com>
1574 * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
1576 2016-01-29 Jakub Jelinek <jakub@redhat.com>
1579 * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
1580 SSE1, copy target into the temporary reg first before recursing
1583 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
1585 * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
1588 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
1590 * ginclude/stdarg.h: Test __cplusplus instead of
1591 __GXX_EXPERIMENTAL_CXX0X__.
1593 2016-01-29 Richard Biener <rguenther@suse.de>
1595 PR tree-optimization/69547
1596 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
1597 Do not mark clobbers necessary.
1598 (mark_all_reaching_defs_necessary_1): Likewise.
1600 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1602 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
1603 declaration name with %qs and print it in both error messages.
1604 Also fix indentation.
1606 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1609 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
1610 trailing blank line from error message.
1612 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
1615 * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
1618 2016-01-29 Richard Biener <rguenther@suse.de>
1621 * match.pd: Allow all integral types when simplifying a
1622 widening or sign-changing conversion.
1624 2016-01-28 Sebastian Pop <s.pop@samsung.com>
1626 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
1627 back to setting codegen_error to fail codegen.
1629 2016-01-28 Uros Bizjak <ubizjak@gmail.com>
1632 * config/i386/constraints.md (C): Only accept constant zero operand.
1633 (BC): New constraint.
1634 * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
1635 instead of C constraint.
1636 * doc/md.texi (Machine Constraints): Update description
1639 2016-01-28 Steve Ellcey <sellcey@imgtec.com>
1642 * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
1644 2016-01-28 Jakub Jelinek <jakub@redhat.com>
1647 * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
1650 2016-01-28 Pat Haugen <pthaugen@us.ibm.com>
1652 * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
1653 branches if using guessed profile.
1655 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
1657 * graphite-optimize-isl.c (optimize_isl): Fix dump.
1659 2016-01-28 Richard Henderson <rth@redhat.com>
1662 * config/aarch64/aarch64-modes.def (CC_Cmode): New
1663 * config/aarch64/aarch64-protos.h: Update.
1664 * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
1665 (aarch64_select_cc_mode): Add check for use of CC_Cmode.
1666 (aarch64_get_condition_code_1): Handle CC_Cmode.
1667 * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
1668 (*add<mode>3_compareC_cconly_imm): New.
1669 (*add<mode>3_compareC_cconly): New.
1670 (*add<mode>3_compareC_imm): New.
1671 (add<mode>3_compareC): New.
1672 (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
1673 to be first. Use aarch64_carry_operation.
1674 (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
1675 (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
1676 (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
1677 (subti3): Use subdi3_compare1.
1678 (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
1679 (sub<mode>3_compare1): New.
1680 (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
1681 (*sub<mode>3_carryin): Use aarch64_borrow_operation.
1682 (*subsi3_carryin_uxtw): Likewise.
1683 (*ngc<mode>, *ngcsi_uxtw): Likewise.
1684 (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
1685 * config/aarch64/iterators.md (DWI): New.
1686 * config/aarch64/predicates.md (aarch64_carry_operation): New.
1687 (aarch64_borrow_operation): New.
1689 2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
1691 * graphite-optimize-isl.c (optimize_isl): Print a different debug
1692 message when isl does not return a valid schedule.
1694 2016-01-28 Sebastian Pop <s.pop@samsung.com>
1696 * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
1697 Remove comments from class declarations: they are already in the code
1700 2016-01-28 Sebastian Pop <s.pop@samsung.com>
1702 * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
1704 (ternary_op_to_tree): Same.
1705 (unary_op_to_tree): Same.
1706 (nary_op_to_tree): Same.
1707 (gcc_expression_from_isl_expr_op): Same.
1708 (gcc_expression_from_isl_expression): Same.
1709 (graphite_create_new_loop): Same.
1710 (graphite_create_new_loop_guard): Same.
1711 (build_iv_mapping): Same.
1712 (graphite_create_new_guard): Same.
1713 (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
1714 (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
1716 2016-01-28 Sebastian Pop <s.pop@samsung.com>
1718 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
1719 instead of setting codegen_error to fail codegen.
1721 2016-01-28 Jason Merrill <jason@redhat.com>
1723 * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
1725 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
1727 * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
1728 Remove CONST_INT_P check in CCMP cost calculation.
1730 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
1732 * config/aarch64/aarch64.c (generic_vector_cost):
1733 Set vec_permute_cost.
1734 (cortexa57_vector_cost): Likewise.
1735 (exynosm1_vector_cost): Likewise.
1736 (xgene1_vector_cost): Likewise.
1737 (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
1738 * config/aarch64/aarch64-protos.h (cpu_vector_cost):
1739 Add vec_permute_cost entry.
1741 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
1743 * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
1745 (add<mode>3_compare0): Likewise.
1746 (addsi3_compare0_uxtw): Likewise.
1747 (add<mode>3nr_compare0): Likewise.
1748 (compare_neg<mode>): Likewise.
1749 (<optab><mode>3): Likewise.
1751 2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com>
1753 * tree-vect-stmts.c (vectorizable_comparison): Add
1754 NULL check for vectype.
1756 2016-01-28 Richard Biener <rguenther@suse.de>
1758 PR tree-optimization/69466
1759 * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
1760 Account for PHIs we couldn't duplicate.
1762 2016-01-28 Martin Liska <mliska@suse.cz>
1765 * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
1766 instead of ENABLE_VALGRIND_CHECKING.
1768 2016-01-27 Richard Henderson <rth@redhat.com>
1771 * lra-remat.c (subreg_regs): New.
1772 (dump_candidates_and_remat_bb_data): Dump it.
1773 (operand_to_remat): Reject if operand in subreg_regs.
1774 (set_bb_regs): Collect subreg_regs.
1775 (lra_remat): Init and free subreg_regs. Compute
1776 calculate_local_reg_remat_bb_data before create_cands.
1778 2016-01-27 H.J. Lu <hongjiu.lu@intel.com>
1781 * config/i386/i386.c (ix86_update_stack_boundary): Don't
1782 change stack_alignment_needed for __tls_get_addr call.
1784 2016-01-27 Segher Boessenkool <segher@kernel.crashing.org>
1786 * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
1788 2016-01-27 Jeff Law <law@redhat.com>
1790 PR tree-optimization/68398
1791 PR tree-optimization/69196
1792 * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
1793 (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
1794 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1795 Only count PHIs in the last block in the path. The others will
1796 const/copy propagate away. Add heuristic to allow more irreducible
1797 subloops to be created when it is likely profitable to do so.
1799 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1800 Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL
1801 check from within the loop. Use gsi_next_nondebug rather than gsi_next.
1803 2016-01-27 Jakub Jelinek <jakub@redhat.com>
1806 * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
1807 END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
1808 * asan.c (DEF_BUILTIN_STUB): Temporarily define.
1809 * tree-streamer-in.c: Include asan.h.
1810 (streamer_get_builtin_tree): For builtins in sanitizer
1811 range call initialize_sanitizer_builtins and retry.
1813 2016-01-27 Ian Lance Taylor <iant@google.com>
1815 * common.opt (fkeep-gc-roots-live): New undocumented option.
1816 * tree-ssa-loop-ivopts.c (add_candidate_1): If
1817 -fkeep-gc-roots-live, skip pointers.
1818 (add_iv_candidate_for_biv): Handle add_candidate_1 returning
1821 2016-01-27 Uros Bizjak <ubizjak@gmail.com>
1824 * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
1825 (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
1827 2016-01-27 Thomas Klausner <wiz@NetBSD.org>
1830 * configure.ac: NetBSD provides SSP in its C library.
1831 * configure: Updated.
1833 2016-01-27 Richard Biener <rguenther@suse.de>
1835 PR tree-optimization/69166
1836 * tree-vect-loop.c (vect_is_simple_reduction): Always check
1837 reduction code for commutativity / associativity.
1839 2016-01-27 Martin Jambor <mjambor@suse.cz>
1841 PR tree-optimization/69355
1842 * tree-sra.c (analyze_access_subtree): Correct hole detection when
1843 total_scalarization fails.
1845 2016-01-27 David Edelsohn <dje.gcc@gmail.com>
1847 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
1850 2016-01-27 Christian Bruel <christian.bruel@st.com>
1853 * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
1854 Move arm_reset_previous_fndecl and set_target_option_current_node in
1855 the conditional part. Call save_restore_target_globals.
1856 * config/arm/arm.c (arm_set_current_function):
1857 Refactor to better support #pragma target and attribute mix.
1858 Call save_restore_target_globals.
1859 * config/arm/arm-protos.h (save_restore_target_globals): New function.
1861 2016-01-27 Martin Liska <mliska@suse.cz>
1863 * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
1864 reference for an HSA kernel and its host function.
1866 2016-01-27 Jakub Jelinek <jakub@redhat.com>
1868 PR tree-optimization/69399
1869 * wide-int.h (wi::lrshift): For larger precisions, only
1870 use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
1872 2016-01-27 Claudiu Zissulescu <claziss@synopsys.com>
1874 * config/arc/predicates.md (proper_comparison_operator): Reject
1875 constant-constant comparison.
1877 2016-01-26 Tom de Vries <tom@codesourcery.com>
1879 PR tree-optimization/69110
1880 * tree-data-ref.c (initialize_data_dependence_relation): Handle
1881 DR_NUM_DIMENSIONS == 0.
1883 2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com>
1884 Sebastian Pop <s.pop@samsung.com>
1886 * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
1887 isl_ast_op_cond and isl_ast_op_select.
1888 (gcc_expression_from_isl_expr_op): Same.
1890 2016-01-26 Jason Merrill <jason@redhat.com>
1893 * tree.c (recompute_constructor_flags): Split out from
1895 (verify_constructor_flags): New.
1896 * tree.h: Declare them.
1898 2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
1900 PR rtl-optimization/69217
1901 * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
1902 are no TYPE_FIELDS set for the record type.
1904 2016-01-26 Jakub Jelinek <jakub@redhat.com>
1907 * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
1908 toc_label_name unconditionally.
1909 (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
1910 SYMBOL_REF string. Use toc_label_name instead of constructing
1912 (rs6000_elf_declare_function_name): Use toc_label_name instead of
1913 constructing LCTOC1.
1915 2016-01-26 Martin Sebor <msebor@redhat.com>
1918 * doc/extend.texi (Common Type Attributes): Move text that talks about
1919 attribute packed from attribute aligned to the section discussing
1920 the former attribute for clarity.
1922 2016-01-26 Richard Henderson <rth@redhat.com>
1925 * trans-mem.c (tm_region_init): Mark entry block as visited.
1927 2016-01-26 David Malcolm <dmalcolm@redhat.com>
1930 * diagnostic-show-locus.c (layout::print_source_line): Replace
1931 call to pp_newline with call to layout::print_newline.
1932 (layout::print_annotation_line): Likewise.
1933 (layout::move_to_column): Likewise.
1934 (layout::print_any_fixits): After printing any fixits, print a
1935 trailing newline, if necessary.
1936 (layout::print_newline): New method, resetting any colorization
1938 (diagnostic_show_locus): Move the pp_newline to before the
1939 early bailout. Remove dummy block enclosing the layout instance.
1940 * diagnostic.c (default_diagnostic_finalizer): Replace invocation
1941 of pp_newline_and_flush with pp_flush.
1942 (diagnostic_append_note): Delete use of pp_newline.
1943 (diagnostic_append_note_at_rich_loc): Delete.
1944 * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
1945 * pretty-print.h (output_buffer_append_r): Reset buff->line_length
1946 when newline characters are added to the buffer.
1948 2016-01-26 Michael Matz <matz@suse.de>
1950 * configure.ac (ac_cv_std_swap_in_utility): New test.
1951 * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
1952 * configure: Regenerate.
1953 * config.in: Regenerate.
1955 2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
1957 * config/arc/arc.md (cstoresi4): Force operand into register.
1958 (arcset<code>): Fix predicate.
1959 (arcsetltu): Likewise.
1960 (arcsetgeu): Likewise.
1961 (arcsethi): Likewise.
1962 (arcsetls): Likewise.
1964 2016-01-26 Jakub Jelinek <jakub@redhat.com>
1966 PR tree-optimization/69483
1967 * gimple-fold.c (canonicalize_constructor_val): Return NULL
1968 if base has error_mark_node type.
1970 2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
1973 * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
1974 * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
1976 (vget_lane_f16): Handle big-endian.
1977 (vgetq_lane_f16): Likewise.
1978 (vset_lane_f16): Likewise.
1979 (vsetq_lane_f16): Likewise.
1980 * config/arm/iterators.md (VQXMOV): Add V8HF.
1981 (VDQ): Add V4HF and V8HF.
1982 (V_reg): Handle V4HF and V8HF.
1983 (Is_float_mode): Likewise.
1984 * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
1985 neon_vdup_nv8hf): New patterns.
1986 (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
1987 Use VD_LANE iterator.
1988 (neon_vld1_dup<mode>): Use VQ2 iterator.
1990 2016-01-26 Nathan Sidwell <nathan@acm.org>
1992 * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
1993 (set_oacc_fn_attrib): Add IS_KERNEL arg.
1994 * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
1995 (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
1996 (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
1997 (oacc_validate_dims): Add LEVEL arg, don't return level.
1998 (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
2000 (execute_oacc_device_lower): Adjust, add more dump output.
2001 * tree-ssa-loop.c (gate_oacc_kernels): Use
2002 oacc_fn_attrib_kernels_p.
2003 * tree-parloops.c (create_parallel_loop): Adjust
2004 set_oacc_fn_attrib call.
2006 2016-01-26 Jakub Jelinek <jakub@redhat.com>
2009 * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
2010 (append_compiler_options): Handle -fcilkplus.
2011 (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
2013 2016-01-26 Nick Clifton <nickc@redhat.com>
2016 * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
2017 been marked as DECL_ONE_ONLY but we do not the means to make it
2018 so, then do not allow it to bind locally.
2020 2016-01-26 Jakub Jelinek <jakub@redhat.com>
2023 * opts.h (parse_sanitizer_options): New prototype.
2024 * opts.c (sanitizer_opts): New array.
2025 (parse_sanitizer_options): New function.
2026 (common_handle_option): Use parse_sanitizer_options.
2028 2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
2031 * config/i386/i386.c (ix86_compute_frame_layout): Move stack
2032 alignment adjustment to ...
2033 (ix86_update_stack_boundary): Here. Don't over-align stack for
2035 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
2036 if __tls_get_addr is called.
2038 2016-01-26 Christian Bruel <christian.bruel@st.com>
2040 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
2042 2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
2044 * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
2046 2016-01-26 Richard Biener <rguenther@suse.de>
2049 * match.pd: Guard X * CST CMP 0 pattern with single_use.
2051 2016-01-26 Richard Biener <rguenther@suse.de>
2053 PR tree-optimization/69452
2054 * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
2055 (move_computations_dom_walker::before_dom_children): Rename
2057 (move_computations_worker): This.
2058 (move_computations): Perform an RPO rather than a DOM walk.
2060 2016-01-26 Jakub Jelinek <jakub@redhat.com>
2063 * combine.c (combine_instructions): For REG_EQUAL note with
2064 SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
2065 to the underlying register.
2066 * doc/rtl.texi (REG_EQUAL): Document the behavior of
2067 REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
2069 2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
2072 * config/aarch64/aarch64-builtins.c
2073 (aarch64_init_simd_builtin_types): Do not set structural
2074 equality to __Poly{8,16,64,128}_t types.
2076 2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
2078 PR tree-optimization/69400
2079 * wide-int.cc (wi_pack): Take the precision as argument and
2080 perform canonicalization here rather than in the callers.
2081 Use the main loop to handle all full-width HWIs. Add a
2082 zero HWI if in_len isn't a full result.
2083 (wi::divmod_internal): Update accordingly.
2084 (wi::mul_internal): Likewise. Simplify.
2086 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
2087 Sebastian Pop <s.pop@samsung.com>
2089 * graphite-poly.c (apply_poly_transforms): Simplify.
2090 (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
2091 (print_isl_map): Same.
2092 (print_isl_union_map): Same.
2093 (print_isl_schedule): New.
2094 (debug_isl_schedule): New.
2095 * graphite-dependences.c (scop_get_reads): Do not call
2096 isl_union_map_add_map that is undocumented isl functionality.
2097 (scop_get_must_writes): Same.
2098 (scop_get_may_writes): Same.
2099 (scop_get_original_schedule): Remove.
2100 (scop_get_dependences): Do not call isl_union_map_compute_flow that
2101 is deprecated in isl 0.15. Instead, use isl_union_access_* interface.
2102 (compute_deps): Remove.
2103 * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
2104 (debug_schedule_ast): New.
2105 (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
2106 set_separate_option.
2107 (graphite_regenerate_ast_isl): Add dump.
2108 (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
2109 from scop->transformed_schedule.
2110 (graphite_regenerate_ast_isl): Add more dump.
2111 * graphite-optimize-isl.c (optimize_isl): Set
2112 scop->transformed_schedule. Check whether schedules are equal.
2113 (apply_poly_transforms): Move here.
2114 * graphite-poly.c (apply_poly_transforms): ... from here.
2115 (free_poly_bb): Static.
2116 (free_scop): Static.
2117 (pbb_number_of_iterations_at_time): Remove.
2118 (print_isl_ast): New.
2119 (debug_isl_ast): New.
2120 (debug_scop_pbb): New.
2121 * graphite-scop-detection.c (print_edge): Move.
2123 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
2124 (build_scop_scattering): Remove.
2125 (create_pw_aff_from_tree): Assert instead of bailing out.
2126 (add_condition_to_pbb): Remove unused code, do not fail.
2127 (add_conditions_to_domain): Same.
2128 (add_conditions_to_constraints): Remove.
2129 (build_scop_context): New.
2130 (add_iter_domain_dimension): New.
2131 (build_iteration_domains): Initialize pbb->iterators.
2132 Call add_conditions_to_domain.
2135 (index_outermost_in_loop): New.
2136 (index_pbb_in_loop): New.
2137 (outermost_pbb_in): New.
2138 (add_in_sequence): New.
2139 (add_outer_projection): New.
2140 (outer_projection_mupa): New.
2141 (add_loop_schedule): New.
2142 (build_schedule_pbb): New.
2143 (build_schedule_loop): New.
2144 (embed_in_surrounding_loops): New.
2145 (build_schedule_loop_nest): New.
2146 (build_original_schedule): New.
2147 (build_poly_scop): Call build_original_schedule.
2148 * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
2149 (free_poly_dr): Remove.
2150 (struct poly_bb): Add iterators. Remove schedule, transformed, saved.
2151 (free_poly_bb): Remove.
2152 (debug_loop_vec): Remove.
2153 (print_isl_ast): Declare.
2154 (debug_isl_ast): Declare.
2155 (scop_do_interchange): Remove.
2156 (scop_do_strip_mine): Remove.
2157 (scop_do_block): Remove.
2158 (flatten_all_loops): Remove.
2159 (optimize_isl): Remove.
2160 (pbb_number_of_iterations_at_time): Remove.
2161 (debug_scop_pbb): Declare.
2162 (print_schedule_ast): Declare.
2163 (debug_schedule_ast): Declare.
2164 (struct scop): Remove schedule. Add original_schedule,
2165 transformed_schedule.
2166 (free_gimple_poly_bb): Remove.
2167 (print_generated_program): Remove.
2168 (debug_generated_program): Remove.
2169 (unify_scattering_dimensions): Remove.
2170 * sese.c (print_edge): ... here.
2171 (print_sese): ... here.
2172 (debug_edge): ... here.
2173 (debug_sese): ... here.
2174 * sese.h (print_edge): Declare.
2175 (print_sese): Declare.
2176 (dump_edge): Declare.
2177 (dump_sese): Declare.
2179 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
2180 Sebastian Pop <s.pop@samsung.com>
2182 * Makefile.in: Set ISLVER in site.exp.
2184 2016-01-25 Jakub Jelinek <jakub@redhat.com>
2186 * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
2187 DECL_VALUE_EXPR of new_var even for the non-array case. Look
2188 through DECL_VALUE_EXPR for expansion.
2190 2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
2192 * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
2193 the frame info after reload completed.
2195 2016-01-25 Jeff Law <law@redhat.com>
2197 PR tree-optimization/69196
2198 PR tree-optimization/68398
2199 * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
2200 tree-ssa-threadupdate.c.
2201 (determine_bb_domination_status): Prototype
2202 * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
2203 (determine_bb_domination_status): No longer static.
2204 (valid_jump_thread_path): Remove code to detect characteristics
2205 of the jump thread path not associated with correctness.
2206 * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
2207 Correct test for thread path length. Count PHIs for real operands as
2208 statements that need to be copied. Do not count ASSERT_EXPRs.
2209 Look at all the blocks in the thread path. Compute and selectively
2210 filter thread paths based on threading through the latch, threading
2211 a multiway branch or crossing a multiway branch.
2213 2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2215 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
2216 decl with __attribute__ ((unused)) annotation.
2218 2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
2221 * tree-vect-stmts.c (vectorizable_condition): Check vectype
2222 of operands is compatible with a statement vectype.
2224 2016-01-25 Eric Botcazou <ebotcazou@adacore.com>
2226 * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
2227 improve wording for mixed storage order support.
2229 2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
2231 * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
2232 (vcvt_u64_f64): Likewise.
2233 (vcvta_s64_f64): Likewise.
2234 (vcvta_u64_f64): Likewise.
2235 (vcvtm_s64_f64): Likewise.
2236 (vcvtm_u64_f64): Likewise.
2237 (vcvtn_s64_f64): Likewise.
2238 (vcvtn_u64_f64): Likewise.
2239 (vcvtp_s64_f64): Likewise.
2240 (vcvtp_u64_f64): Likewise.
2242 2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
2244 * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
2245 (arc_init): Check validity mll64 option.
2246 (arc_save_restore): Use double load/store instruction.
2247 (arc_expand_movmem): Likewise.
2248 (arc_split_move): Don't split if we have double load/store
2249 instructions. Returns a boolean.
2250 (arc_process_double_reg_moves): Change function to return boolean
2251 instead of a sequence of instructions.
2252 (arc_dwarf_register_span): New function.
2253 * config/arc/arc-protos.h (arc_split_move): Change prototype.
2254 * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
2255 * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
2256 (*movdf_insn): Likewise.
2257 * config/arc/arc.opt (mll64): New option.
2258 * config/arc/predicates.md (even_register_operand): New predicate.
2259 * doc/invoke.texi (ARC Options): Add mll64 documentation.
2261 2016-01-25 Richard Biener <rguenther@suse.de>
2264 * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
2265 * tree-streamer-out.c (pack_ts_base_value_fields): Stream
2267 * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
2269 2016-01-25 Richard Biener <rguenther@suse.de>
2271 PR tree-optimization/69376
2272 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
2274 (VN_INFO_ANTI_RANGE_P): New inline.
2275 (VN_INFO_RANGE_TYPE): Likewise.
2276 * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
2277 SSA_NAME_ANTI_RANGE_P.
2278 (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
2279 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
2280 Properly query VN_INFO_RANGE_TYPE.
2282 2016-01-25 Nick Clifton <nickc@redhat.com>
2285 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
2287 2016-01-23 Tom de Vries <tom@codesourcery.com>
2289 PR tree-optimization/69426
2290 * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
2293 2016-01-23 Jakub Jelinek <jakub@redhat.com>
2295 * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
2296 "the the" with "the" in the comments.
2297 * ipa-devirt.c (build_type_inheritance_graph,
2298 update_type_inheritance_graph): Likewise.
2299 * tree.c (build_function_type_list_1): Likewise.
2300 * cfgloopmanip.c (scale_loop_profile): Likewise.
2301 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
2302 * gimple-ssa-split-paths.c
2303 (find_block_to_duplicate_for_splitting_paths): Likewise.
2304 * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
2305 * expr.c (convert_move): Likewise.
2306 * var-tracking.c (vt_stack_adjustments): Likewise.
2307 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
2308 * tree-vrp.c (test_for_singularity): Likewise.
2310 * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
2311 directly instead of building a temporary tree.
2314 * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
2315 remove <algorithm> include.
2317 2016-01-22 Jakub Jelinek <jakub@redhat.com>
2320 * config/i386/i386.c: Include dojump.h.
2321 (expand_small_movmem_or_setmem,
2322 expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
2324 (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
2325 if dynamic_check != -1.
2327 2016-01-21 Jeff Law <law@redhat.com>
2330 * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
2331 record_temporary_equivalences. Rewritten to avoid unnecessary calls
2332 into dominated_by_p.
2333 (cprop_into_successor_phis): Avoid unnecessary tests.
2335 2016-01-22 Richard Henderson <rth@redhat.com>
2338 * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
2339 (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
2341 2016-01-22 Michael Matz <matz@suse.de>
2343 * system.h (string, algorithm): Include only conditionally.
2344 (new): Include always under C++.
2345 * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
2346 * final.c (toplevel): Ditto.
2347 * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
2348 * genconditions.c (write_header): Make gencondmd.c define
2350 * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
2352 * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
2353 * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
2355 2016-01-22 Christian Bruel <christian.bruel@st.com>
2358 * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
2360 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2363 * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
2364 define_insn_and_split. Ensure operands[1] and operands[0] do not
2365 get assigned the same register.
2367 2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org>
2369 * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
2371 2016-01-22 Christian Bruel <christian.bruel@st.com>
2373 * config/arm/arm-c.c (arm_pragma_target_parse):
2374 Remove warn_builtin_macro_redefined overwrite.
2376 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
2378 * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
2379 flag_non_call_exceptions compatibility.
2381 2016-01-22 Jakub Jelinek <jakub@redhat.com>
2384 * dwarf2out.c (add_child_die_after): New function.
2385 (dwarf_qual_info_t): New type.
2386 (dwarf_qual_info): New variable.
2387 (qualified_die_p): New function.
2388 (modified_type_die): For -fdebug-types-section, ensure
2389 canonical order of qualifiers. Put qualified DIEs adjacent
2390 to the corresponding non-qualified type DIE and search there
2391 for existing qualified DIEs.
2393 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
2395 * doc/extend.texi (scalar_storage_order type attribute): Document
2396 restriction on type punning and aliasing, and remove future tense.
2398 2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
2401 * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
2404 2016-01-21 Jeff Law <law@redhat.com>
2407 * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
2408 useless call to record_temporary_equivalences.
2409 * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
2410 allocate 10 slots in the bb_path vector and let it grow as needed.
2411 (fsm_find_control_statement_thread_paths): Similarly for the next_path
2414 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
2416 * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
2418 * configure: Regenerate.
2420 2016-01-21 Pat Haugen <pthaugen@us.ibm.com>
2422 * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
2423 * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
2425 2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
2428 * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
2429 drop EXPAND_INITIALIZER.
2430 * rtl.h (contains_symbolic_reference_p): Declare.
2431 * rtlanal.c (contains_symbolic_reference_p): New function.
2432 * simplify-rtx.c (simplify_binary_operation_1): Don't turn
2433 a subtraction into a NOT if symbolic constants are involved.
2435 2016-01-21 Anton Blanchard <anton@samba.org>
2436 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2439 * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
2441 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
2444 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
2446 * config/microblaze/microblaze.c
2447 (get_branch_target): New.
2448 (insert_wic_for_ilb_runout): New.
2450 (microblaze_machine_dependent_reorg): New.
2451 (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
2452 * config/microblaze/microblaze.md
2453 (UNSPEC_IPREFETCH): Define.
2454 (iprefetch): New pattern
2455 * config/microblaze/microblaze.opt
2456 (mxl-prefetch): New flag.
2458 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
2460 * config/microblaze/microblaze.h
2461 (FIXED_REGISTERS): Update in macro.
2462 (CALL_USED_REGISTERS): Update in macro.
2464 2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
2466 PR rtl-optimization/68920
2467 * ifcvt.c (cond_move_process_if_block): Limit number of conditional
2470 2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
2472 PR rtl-optimization/68990
2473 * lra-coalesce.c (lra_coalesce): Invalidate value for the result
2474 pseudo instead of inheritance ones.
2476 2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2477 Nick Clifton <nickc@redhat.com>
2481 * config/mips/mips.c (mips_compute_frame_info): Initialise
2482 args_size and hard_frame_pointer_offset fields of the frame
2483 structure before calling mips_global_pointer.
2485 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
2487 * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
2489 * configure: Regenerate.
2491 2016-01-21 Richard Biener <rguenther@suse.de>
2493 * graphite-optimize-isl.c (get_schedule_map): Fix typo.
2495 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
2497 * config/s390/s390.c (s390_asm_declare_function_size): Add code
2498 to actually emit the .size directive.
2500 2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
2501 Jakub Jelinek <jakub@redhat.com>
2505 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
2506 args array size by one to avoid buffer overflow.
2508 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
2510 * config/s390/s390.md (pool_section_start): Use switch_to_section
2511 to select proper read-only data section instead of hardcoding
2513 (pool_section_end): Use switch_to_section to match the above.
2515 2016-01-21 Richard Biener <rguenther@suse.de>
2517 PR tree-optimization/69378
2518 * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
2519 (set_ssa_val_to): Use it for dominance checks taking into
2520 account not executable edges.
2522 2016-01-21 Jakub Jelinek <jakub@redhat.com>
2525 * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
2526 for bitsize instead of GET_MODE_PRECISION (mode).
2528 2016-01-20 Martin Sebor <msebor@redhat.com>
2531 * extend.texi (__sync Builtins): Clarify the semantics of
2532 __sync_fetch_and_OP built-ins on pointers.
2533 (__atomic Builtins): Same.
2535 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2536 Sebastian Pop <s.pop@samsung.com>
2538 * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
2539 (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
2540 (is_valid_rename): Same.
2541 (translate_isl_ast_to_gimple::get_rename): Same.
2542 (translate_isl_ast_to_gimple::rename_all_uses): Same.
2543 (translate_isl_ast_to_gimple::rename_uses): Same.
2544 (get_new_name): Check for close_phi nodes.
2545 (copy_loop_phi_args): Use phi_node_kind.
2546 (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
2547 (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
2549 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2550 Sebastian Pop <s.pop@samsung.com>
2552 Revert commit r229783.
2553 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
2554 Remove use of parameter_rename_map.
2556 (copy_internal_parameters): Remove.
2557 (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
2558 * sese.c (new_sese_info): Do not initialize parameter_rename_map.
2559 (free_sese_info): Do not free parameter_rename_map.
2560 (set_rename): Do not use parameter_rename_map.
2561 (rename_uses): Update call to set_rename.
2562 (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
2563 * sese.h (parameter_rename_map_t): Remove.
2564 (struct sese_info_t): Remove field parameter_rename_map.
2566 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2567 Sebastian Pop <s.pop@samsung.com>
2569 * graphite-isl-ast-to-gimple.c: Fix comment.
2570 * graphite-scop-detection.c (defined_in_loop_p): New.
2571 (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
2572 names defined in loop.
2574 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2575 Sebastian Pop <s.pop@samsung.com>
2577 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
2578 Discard unstructured if-then-else regions.
2580 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2581 Sebastian Pop <s.pop@samsung.com>
2583 * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
2584 (cleanup_loop_iter_dom): Remove.
2585 (build_loop_iteration_domains): Remove.
2586 (build_scop_context): Remove.
2587 (build_scop_iteration_domain): Remove.
2588 (add_loop_constraints): New.
2589 (build_iteration_domains): New.
2590 (build_poly_scop): Call build_iteration_domains.
2592 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2593 Sebastian Pop <s.pop@samsung.com>
2595 * graphite-scop-detection.c
2596 (scop_detection::harmful_loop_in_region): Free dom and loops.
2597 (scop_detection::loop_body_is_valid_scop): Free bbs.
2599 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2600 Sebastian Pop <s.pop@samsung.com>
2602 * graphite-scop-detection.c (record_loop_in_sese): New.
2603 (gather_bbs::before_dom_children): Call record_loop_in_sese.
2604 (build_scops): Remove call to build_sese_loop_nests.
2605 * sese.c (sese_record_loop): Remove.
2606 (build_sese_loop_nests): Remove.
2607 (new_sese_info): Remove region->loops.
2608 (free_sese_info): Same.
2609 * sese.h (sese_contains_loop): Same.
2610 (build_sese_loop_nests): Remove.
2611 (sese_contains_loop): Remove.
2613 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2614 Sebastian Pop <s.pop@samsung.com>
2616 * graphite-scop-detection.c (loop_is_valid_scop): Renamed
2617 loop_is_valid_in_scop.
2618 (scop_detection::harmful_stmt_in_region): Renamed
2619 harmful_loop_in_region.
2620 Call loop_is_valid_in_scop.
2622 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2623 Sebastian Pop <s.pop@samsung.com>
2625 * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
2628 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2629 Sebastian Pop <s.pop@samsung.com>
2631 * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
2632 * graphite.h (struct poly_bb): Remove field is_reduction.
2633 (PBB_IS_REDUCTION): Remove.
2635 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2636 Sebastian Pop <s.pop@samsung.com>
2638 * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
2639 (add_pdr_constraints): Same.
2640 (scop_get_reads): Same.
2641 (scop_get_must_writes): Same.
2642 (scop_get_may_writes): Same.
2643 (scop_get_original_schedule): Same.
2644 (extend_schedule): Same.
2645 (apply_schedule_on_deps): Same.
2646 (carries_deps): Same.
2647 (compute_deps): Same.
2648 (scop_get_dependences): Same.
2649 * graphite-isl-ast-to-gimple.c
2650 (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
2651 * graphite-optimize-isl.c (get_schedule_for_band): Same.
2652 (get_schedule_for_band_list): Same.
2653 (get_schedule_map): Same.
2654 (apply_schedule_map_to_scop): Same.
2655 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
2656 (build_loop_iteration_domains): Same.
2657 (add_condition_to_pbb): Same.
2658 (add_param_constraints): Same.
2659 (pdr_add_memory_accesses): Same.
2660 (pdr_add_data_dimensions): Same.
2662 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
2664 * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
2667 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
2669 * common.opt (feliminate-dwarf2-dups): Replace references to
2670 "DWARF 2" with just "DWARF".
2671 * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
2672 * doc/extend.texi: Likewise.
2673 * doc/cpp.texi: Likewise.
2674 * doc/invoke.texi: Likewise.
2675 (Option Summary): Add -gdwarf to list of Debugging Options.
2676 (Debugging Options): Document -gdwarf.
2677 * doc/contrib.texi: Spell "DWARF" like that.
2679 2016-01-21 Jakub Jelinek <jakub@redhat.com>
2681 * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
2682 warning. Fix up formatting.
2685 * gimplify.c (gimplify_asm_expr): Warn if it is too late to
2686 attempt to mark memory input operand addressable and
2687 call prepare_gimple_addressable in that case. Don't adjust
2688 input_location for diagnostics, use error_at instead.
2690 2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
2692 * config/rs6000/ppc-auxv.h: New file.
2693 * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
2695 (cpu_supports): Likewise.
2696 * config/rs6000/rs6000.c: include "ppc-auxv.h".
2697 (cpu_is_info): New variable.
2698 (cpu_supports_info): Likewise.
2699 (tcb_verification_symbol): Likewise.
2700 (cpu_builtin_p): Likewise.
2701 (cpu_expand_builtin): New function.
2702 (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
2703 (rs6000_init_builtins): Likewise.
2704 (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
2705 * config/rs6000/rs6000.h (TLS_REGNUM): New define.
2706 * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
2707 * configure: Regenerate.
2708 * config.in: Likewise.
2709 * doc/extend.texi (PowerPC Built-in Functions): Document
2710 __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
2712 2016-01-20 David Edelsohn <dje.gcc@gmail.com>
2715 * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
2717 * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
2720 2016-01-20 Richard Henderson <rth@redhat.com>
2726 * tree.c (tm_define_builtin): New.
2727 (find_tm_vector_type): New.
2728 (build_tm_vector_builtins): New.
2729 (build_common_builtin_nodes): Call it.
2731 2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
2733 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
2734 (arm_fp_ok): Likewise.
2736 (arm_crypto): Likewise.
2738 2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
2739 Richard Biener <rguenther@suse.de>
2741 PR tree-optimization/69328
2742 * tree-vect-stmts.c (vect_is_simple_cond): Check compared
2743 vectors have same number of elements.
2744 (vectorizable_condition): Fix masked version recognition.
2746 2016-01-20 Richard Biener <rguenther@suse.de>
2748 PR tree-optimization/69345
2749 * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
2750 (VN_INFO_PTR_INFO): Likewise.
2751 * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
2752 info when it is equal between non-dominating SSA names.
2753 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
2754 Make sure to look at original SSA infos.
2756 2016-01-20 Jeff Law <law@redhat.com>
2759 * config/m68k/predicates.md (pow2_m1_operand): New predicate
2761 (reg_or_pow2_m1_operand): Call pow2_m1_operand.
2762 (pc_or_label_operand): New predicate.
2763 * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
2764 tests for small integers that are 2^n - 1.
2766 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
2768 * doc/invoke.texi (Options Summary): Add '.' after @xref.
2770 2016-01-19 Jeff Law <law@redhat.com>
2773 * tree-ssa-threadbackwards.c
2774 (fsm_find_control_statement_thread_paths): Do not try to lookup
2775 FSM paths for SSA_NAMEs appearing in abnormal PHIs.
2777 2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
2779 * doc/lto.texi: Remove text that says only Gold has linker plugin
2782 2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
2784 * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
2785 (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
2786 the DIE accordingly.
2787 (modified_type_die): Add REVERSE parameter and pass it recursively,
2788 as well as to base_type_die. Adjust presence check accordingly.
2789 (base_type_for_mode): Adjust call to modified_type_die.
2790 (add_type_attribute): Add REVERSE parameter and pass it to
2792 (generic_parameter_die): Adjust call to add_type_attribute.
2793 (add_scalar_info): Likewise.
2794 (add_subscript_info): Likewise.
2795 (gen_array_type_die): Likewise.
2796 (gen_descr_array_type_die): Likewise.
2797 (gen_entry_point_die): Likewise.
2798 (gen_enumeration_type_die): Likewise.
2799 (gen_formal_parameter_die): Likewise.
2800 (gen_subprogram_die): Likewise.
2801 (gen_variable_die ): Likewise.
2802 (gen_const_die): Likewise.
2803 (gen_field_die): Likewise.
2804 (gen_pointer_type_die): Likewise.
2805 (gen_reference_type_die): Likewise.
2806 (gen_ptr_to_mbr_type_die): Likewise.
2807 (gen_inheritance_die): Likewise.
2808 (gen_subroutine_type_die): Likewise.
2809 (gen_typedef_die): Likewise.
2810 (force_type_die): Adjust call to modified_type_die.
2812 2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
2814 * doc/standards.texi: Copy-editing for grammar, markup, and sentence
2815 flow throughout the file. Fix broken link to Objective-C 2.0
2817 * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
2820 2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
2822 * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
2824 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
2827 * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
2828 (maybe_record_node): Record cxa_pure_virtual as the only possible
2829 target if there are not ohter candidates.
2830 (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
2832 2016-01-19 Richard Biener <rguenther@suse.de>
2834 * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
2835 (get_memory_order): Likewise.
2837 2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
2839 * tree-vect-stmts.c (vectorizable_store): Check
2842 2016-01-19 David Malcolm <dmalcolm@redhat.com>
2845 * gcc.c (driver::decode_argv): Add call to
2846 init_opts_obstack before init_options_struct.
2847 * opts.c (init_opts_obstack): Remove idempotency.
2848 (init_options_struct): Replace call to init_opts_obstack
2849 with a gcc_assert to verify that it has already been called.
2850 * toplev.c (toplev::main): Add call to init_opts_obstack before
2851 calls to init_options_struct.
2852 (toplev::finalize): Move cleanup of opts_obstack next to
2853 cleanup of save_decoded_options, clearing the latter, and
2854 save_decoded_options_count.
2856 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2859 * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
2860 attribute to unconditional. Remove %? from output template.
2862 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
2863 Jiong Wang <jiong.wang@arm.com>
2865 * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
2866 generated from different expand order.
2868 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
2870 * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
2871 Add support for CCMP costing.
2873 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
2875 * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
2876 * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
2877 (fccmpe<mode>): Likewise.
2878 (fcmp): Rename to fcmp and globalize pattern.
2880 * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
2881 (aarch64_gen_ccmp_next): Add FP support.
2883 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
2885 * target.def (gen_ccmp_first): Update documentation.
2886 (gen_ccmp_next): Likewise.
2887 * doc/tm.texi (gen_ccmp_first): Update documentation.
2888 (gen_ccmp_next): Likewise.
2889 * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
2890 expand_ccmp_expr_1. Improve comments.
2891 * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
2892 (ccmp_ior<mode>): Remove pattern.
2893 (cmp<mode>): Remove expand.
2894 (cmp): Globalize pattern.
2895 (cstorecc4): Use cc_register.
2896 (mov<mode>cc): Remove ccmp_cc_register check.
2897 * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
2898 Simplify after removal of CC_DNE/* modes.
2899 (aarch64_ccmp_mode_to_code): Remove.
2900 (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
2901 In 'k' case use integer as condition.
2902 (aarch64_nzcv_codes): Remove inverted cases.
2903 (aarch64_code_to_ccmode): Remove.
2904 (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
2905 comparison with CC register to be used in folowing CCMP/branch/CSEL.
2906 (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
2907 pattern. Return the comparison with CC register. Invert conditions
2909 * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
2910 * config/aarch64/predicates.md (ccmp_cc_register): Remove.
2912 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
2914 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
2915 instrumented_version.
2917 2016-01-19 Richard Biener <rguenther@suse.de>
2919 PR tree-optimization/69336
2920 * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
2921 handled components with get_ref_base_and_extent.
2922 (equal_mem_array_ref_p): Adjust.
2924 2016-01-19 Jakub Jelinek <jakub@redhat.com>
2927 * shrink-wrap.c: Include valtrack.h.
2928 (move_insn_for_shrink_wrap): Add DEBUG argument. If
2929 MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
2930 in between insn and where it will be moved to. Call
2931 dead_debug_insert_temp.
2932 (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
2933 first and dead_debug_local_finish at the end.
2934 For uses and defs bitmap, handle all regs in between REGNO and
2935 END_REGNO, not just the first one.
2937 2016-01-19 Richard Biener <rguenther@suse.de>
2939 PR tree-optimization/69352
2940 * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
2941 (equal_mem_array_ref_p): Constrain size and max size properly.
2942 Compare the reverse flag.
2944 2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
2946 * ira.c (ira): Update regstat data if we deleted insns.
2948 2016-01-19 Jakub Jelinek <jakub@redhat.com>
2950 PR rtl-optimization/68955
2951 PR rtl-optimization/64557
2952 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
2953 here. Fix up formatting.
2954 * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
2956 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
2959 * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
2960 assume that the node has body.
2961 * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
2964 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
2966 * lto-streamer-out.c (lto_output): Do not stream instrumentation
2969 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
2971 * symtab.c (symtab_node::asm_name): Do not call printable name directly.
2972 (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
2974 2016-01-19 Martin Jambor <mjambor@suse.cz>
2975 Martin Liska <mliska@suse.cz>
2976 Michael Matz <matz@suse.de>
2978 * Makefile.in (OBJS): Add new source files.
2979 (GTFILES): Add hsa.c.
2980 * common.opt (disable_hsa): New variable.
2981 (-Whsa): New warning.
2982 * config.in (ENABLE_HSA): New.
2983 * configure.ac: Treat hsa differently from other accelerators.
2984 (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
2986 (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
2987 * doc/install.texi (Configuration): Document --with-hsa-runtime,
2988 --with-hsa-runtime-include, --with-hsa-runtime-lib and
2990 * doc/invoke.texi (-Whsa): Document.
2991 (hsa-gen-debug-stores): Likewise.
2992 * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
2993 to invoke offload compiler for hsa acclerator.
2994 * opts.c (common_handle_option): Determine whether HSA offloading
2995 should be performed.
2996 * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
2997 * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
2998 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
2999 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
3000 * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
3001 * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
3002 GF_OMP_FOR_KIND_GRID_LOOP.
3003 (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
3004 (pp_gimple_stmt_1): Likewise.
3005 * gimple-walk.c (walk_gimple_stmt): Likewise.
3006 * gimple.c (gimple_build_omp_grid_body): New function.
3007 (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
3008 * gimple.def (GIMPLE_OMP_GRID_BODY): New.
3009 * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
3010 GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
3011 GF_OMP_TEAMS_GRID_PHONY.
3012 (gimple_statement_omp_single_layout): Updated comments.
3013 (gimple_build_omp_grid_body): New function.
3014 (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
3015 (gimple_omp_for_grid_phony): New function.
3016 (gimple_omp_for_set_grid_phony): Likewise.
3017 (gimple_omp_parallel_grid_phony): Likewise.
3018 (gimple_omp_parallel_set_grid_phony): Likewise.
3019 (gimple_omp_teams_grid_phony): Likewise.
3020 (gimple_omp_teams_set_grid_phony): Likewise.
3021 (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
3022 * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
3023 (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
3024 (BUILT_IN_GOMP_TARGET): Updated type.
3025 * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
3026 (adjust_for_condition): New function.
3027 (get_omp_for_step_from_incr): Likewise.
3028 (extract_omp_for_data): Moved parts to adjust_for_condition and
3029 get_omp_for_step_from_incr.
3030 (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
3031 (fixup_child_record_type): Bail out if receiver_decl is NULL.
3032 (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
3033 (scan_omp_parallel): Do not create child functions for phony
3035 (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
3036 (scan_omp_1_op): Checking assert we are not remapping to
3037 ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
3038 (parallel_needs_hsa_kernel_p): New function.
3039 (expand_parallel_call): Register apprpriate parallel child
3040 functions as HSA kernels.
3041 (grid_launch_attributes_trees): New type.
3042 (grid_attr_trees): New variable.
3043 (grid_create_kernel_launch_attr_types): New function.
3044 (grid_insert_store_range_dim): Likewise.
3045 (grid_get_kernel_launch_attributes): Likewise.
3046 (get_target_argument_identifier_1): Likewise.
3047 (get_target_argument_identifier): Likewise.
3048 (get_target_argument_value): Likewise.
3049 (push_target_argument_according_to_value): Likewise.
3050 (get_target_arguments): Likewise.
3051 (expand_omp_target): Call get_target_arguments instead of looking
3052 up for teams and thread limit.
3053 (grid_expand_omp_for_loop): New function.
3054 (grid_arg_decl_map): New type.
3055 (grid_remap_kernel_arg_accesses): New function.
3056 (grid_expand_target_kernel_body): New function.
3057 (expand_omp): Call it.
3058 (lower_omp_for): Do not emit phony constructs.
3059 (lower_omp_taskreg): Do not emit phony constructs but create for them
3060 a temporary variable receiver_decl.
3061 (lower_omp_taskreg): Do not emit phony constructs.
3062 (lower_omp_teams): Likewise.
3063 (lower_omp_grid_body): New function.
3064 (lower_omp_1): Call it.
3065 (grid_reg_assignment_to_local_var_p): New function.
3066 (grid_seq_only_contains_local_assignments): Likewise.
3067 (grid_find_single_omp_among_assignments_1): Likewise.
3068 (grid_find_single_omp_among_assignments): Likewise.
3069 (grid_find_ungridifiable_statement): Likewise.
3070 (grid_target_follows_gridifiable_pattern): Likewise.
3071 (grid_remap_prebody_decls): Likewise.
3072 (grid_copy_leading_local_assignments): Likewise.
3073 (grid_process_kernel_body_copy): Likewise.
3074 (grid_attempt_target_gridification): Likewise.
3075 (grid_gridify_all_targets_stmt): Likewise.
3076 (grid_gridify_all_targets): Likewise.
3077 (execute_lower_omp): Call grid_gridify_all_targets.
3078 (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
3079 * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
3080 (tree_omp_clause): Added union field dimension.
3081 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
3082 * tree.c (omp_clause_num_ops): Added number of arguments of
3083 OMP_CLAUSE__GRIDDIM_.
3084 (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
3085 (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
3086 * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
3087 (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
3088 (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
3089 (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
3090 * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
3091 * tree-pass.h (make_pass_gen_hsail): Declare.
3092 (make_pass_ipa_hsa): Likewise.
3093 * ipa-hsa.c: New file.
3094 * lto-section-in.c (lto_section_name): Add hsa section name.
3095 * lto-streamer.h (lto_section_type): Add hsa section.
3096 * timevar.def (TV_IPA_HSA): New.
3097 * hsa-brig-format.h: New file.
3098 * hsa-brig.c: New file.
3099 * hsa-dump.c: Likewise.
3100 * hsa-gen.c: Likewise.
3103 * toplev.c (compile_file): Call hsa_output_brig.
3104 * hsa-regalloc.c: New file.
3106 2016-01-18 Jeff Law <law@redhat.com>
3108 PR tree-optimization/69320
3109 * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
3110 ranged object, do nothing if the RHS constant is not [0..1].
3111 (optimize_stmt): Comparing a boolean ranged object against a
3112 constant outside [0..1] results in a compile-time constant.
3114 * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
3117 2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
3119 * doc/invoke.texi (Invoking GCC): Add new section to menu.
3120 (Option Summary): Update to reflect new section and moved options.
3121 (C++ Dialect Options): Move -fstats to new section.
3122 (Debugging Options): Move all dump, statistics, and other GCC
3123 developer options to new section. Rewrite section introduction
3124 and re-order remaining options to put the more basic ones first.
3125 (Optimization Options): Move -fira-verbose and -flto-report* to
3127 (Developer Options): New section incorporating moved options.
3128 * doc/cppopts.texi (-dM): Update cross-reference.
3130 2016-01-18 Richard Henderson <rth@redhat.com>
3133 * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
3134 operands to pseudo only if CSE is expected. Split long immediate
3135 operands only after reload, and for the stack pointer.
3136 (*add<GPI>3_pluslong): Remove.
3137 (*addsi3_aarch64, *adddi3_aarch64): Merge into...
3138 (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
3139 (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
3140 (*add<GPI>3 peepholes): New.
3141 (*add<GPI>3 splitters): New.
3142 * config/aarch64/constraints.md (Upl): New.
3143 * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
3145 2016-01-18 Richard Biener <rguenther@suse.de>
3147 PR tree-optimization/69297
3148 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
3150 (vect_bb_vectorization_profitable_p): Clear visited flag again.
3152 2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
3155 * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
3156 of mixind vector and scalar types.
3157 (fold_relational_const): Add handling of vector
3158 comparison with boolean result.
3159 * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
3160 comparison of vector operands with boolean result for EQ/NE only.
3161 (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
3162 (verify_gimple_cond): Likewise.
3163 * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
3166 2016-01-18 Joseph Myers <joseph@codesourcery.com>
3168 * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
3171 2016-01-18 Richard Biener <rguenther@suse.de>
3174 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
3176 2016-01-18 Tom de Vries <tom@codesourcery.com>
3178 * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
3180 2016-01-18 Tom de Vries <tom@codesourcery.com>
3182 * omp-low.c (set_oacc_fn_attrib): Make extern.
3183 * omp-low.h (set_oacc_fn_attrib): Declare.
3184 * tree-parloops.c (struct reduction_info): Add reduc_addr field.
3185 (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
3186 (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
3187 Add and handle function parameter oacc_kernels_p.
3188 (find_reduc_addr, get_omp_data_i_param): New function.
3189 (ref_conflicts_with_region, oacc_entry_exit_ok_1)
3190 (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
3191 (parallelize_loops): Add and handle function parameter oacc_kernels_p.
3192 Calculate dominance info. Skip loops that are not in a kernels region
3193 in oacc_kernels_p mode. Skip inner loops of parallelized loops.
3194 (pass_parallelize_loops::execute): Call parallelize_loops with
3195 oacc_kernels_p argument.
3196 (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
3197 New member function.
3198 (pass_parallelize_loops::bool oacc_kernels_p): New member var.
3199 * passes.def: Add argument to pass_parallelize_loops instantation.
3201 2016-01-18 Tom de Vries <tom@codesourcery.com>
3203 * tree-parloops.c (pass_parallelize_loops::execute): Allow
3204 pass_parallelize_loops to be run outside the loop pipeline.
3206 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
3208 * tree-scalar-evolution.c (follow_copies_to_constant): New.
3209 (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
3211 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
3214 * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
3215 using get_ref_base_and_extent.
3216 (equal_mem_array_ref_p): New.
3217 (hashable_expr_equal_p): Add call to previous.
3219 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
3222 * tree-sra.c (disqualified_constants, constant_decl_p): New.
3223 (sra_initialize): Allocate disqualified_constants.
3224 (sra_deinitialize): Free disqualified_constants.
3225 (disqualify_candidate): Update disqualified_constants when appropriate.
3226 (create_access): Scan for constant-pool entries as we go along.
3227 (scalarizable_type_p): Add check against type_contains_placeholder_p.
3228 (maybe_add_sra_candidate): Allow constant-pool entries.
3229 (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
3230 (initialize_constant_pool_replacements): New.
3231 (sra_modify_assign): Avoid mangling assignments created by previous,
3232 and don't generate writes into constant pool.
3233 (sra_modify_function_body): Call initialize_constant_pool_replacements.
3235 2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
3237 * config/i386/i386.c (scalar_to_vector_candidate_p): Support
3239 (scalar_chain::convert_op): Likewise.
3240 * config/i386/i386.md (*andndi3_doubleword): New.
3242 2016-01-18 Richard Biener <rguenther@suse.de>
3244 PR tree-optimization/69170
3245 * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
3246 building a vector from scalar results of a pattern stmt.
3248 2016-01-18 Jakub Jelinek <jakub@redhat.com>
3250 * haifa-sched.c (autopref_multipass_init): Work around
3251 -Wmaybe-uninitialized warning.
3253 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
3255 * config/arm/arm.c (thumb1_reorg): Check that the comparison is
3256 against the constant 0.
3258 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3260 PR tree-optimization/68799
3261 * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
3262 look up phi candidates in the statement-candidate map.
3263 (phi_add_costs): Likewise.
3264 (record_phi_increments): Likewise.
3265 (phi_incr_cost): Likewise.
3266 (ncd_with_phi): Likewise.
3267 (all_phi_incrs_profitable): Likewise.
3269 2016-01-17 Jakub Jelinek <jakub@redhat.com>
3271 * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
3272 -Wmaybe-uninitialized warning.
3274 2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
3276 * doc/invoke.texi (Invoking GCC): Add new section to menu.
3277 (Option Summary): Update to reflect new section and moved options.
3278 (C++ Dialect Options): Move -fvtable-verify and related options.
3279 (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
3280 and profiling-related options.
3281 (Optimization Options): Move profile generation options and
3282 -fstack-protector and related options.
3283 (Instrumentation Options): New section incorporating moved options.
3284 (Code Generation Options): Move -finstrument-functions and
3285 related options, -fstack-check, -fstack-limit*, and -fbounds-check.
3287 2016-01-16 Tom de Vries <tom@codesourcery.com>
3289 * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
3291 2016-01-16 Tom de Vries <tom@codesourcery.com>
3293 * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
3295 2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
3297 * hash-table.h (hash_table::empty): Turn into an inline wrapper
3298 that checks whether the table is already empty. Rename the
3299 original implementation to...
3300 (hash_table::empty_slot): ...this new private function.
3302 2016-01-15 David Malcolm <dmalcolm@redhat.com>
3305 * diagnostic-show-locus.c (layout::print_source_line): Move x
3306 offset of line until after call to
3307 get_line_width_without_trailing_whitespace.
3309 2016-01-15 Jeff Law <law@redhat.com>
3311 PR tree-optimization/69270
3312 * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
3313 tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
3314 * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
3315 * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
3316 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
3317 ssa_name_has_boolean_range and constant_boolean_node.
3319 2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
3321 PR rtl-optimization/69030
3322 * lra-spills.c (remove_pseudos): Check nrefs and make the function
3324 (spill_pseudos): Delete debug insn for dead pseudo.
3325 (lra_spill): Initiate spill_hard_reg and slots memory separately.
3327 2016-01-15 Jiong Wang <jiong.wang@arm.com>
3329 * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
3331 (TYPES_UNOPUS): Likewise.
3332 * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
3333 builtin type, from UNOP to UNOPUS.
3334 (lbtruncuv4sf): Likewise.
3335 (lbtruncuv2df): Likewise.
3336 (lrounduv2sf): Likewise.
3337 (lrounduv4sf): Likewise.
3338 (lrounduv2df): Likewise.
3339 (lroundusf): Likewise.
3340 (lroundusf): Likewise.
3341 (lceiluv2sf): Likewise.
3342 (lceiluv4sf): Likewise.
3343 (lceiluv2df): Likewise.
3344 (lceilusf): Likewise.
3345 (lceiludf): Likewise.
3346 (lflooruv2sf): Likewise.
3347 (lflooruv4sf): Likewise.
3348 (lflooruv2df): Likewise.
3349 (lfloorusf): Likewise.
3350 (lfloorudf): Likewise.
3351 (lfrintnuv2sf): Likewise.
3352 (lfrintnuv4sf): Likewise.
3353 (lfrintnuv2df): Likewise.
3354 (lfrintnusf): Likewise.
3355 (lfrintnudf): Likewise.
3356 * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
3358 (vcvtq_u32_f32): Likewise.
3359 (vcvtq_u64_f64): Likewise.
3360 (vcvta_u32_f32): Likewise.
3361 (vcvtaq_u32_f32): Likewise.
3362 (vcvtaq_u64_f64): Likewise.
3363 (vcvtm_u32_f32): Likewise.
3364 (vcvtmq_u32_f32): Likewise.
3365 (vcvtmq_u64_f64): Likewise.
3366 (vcvtn_u32_f32): Likwise.
3367 (vcvtnq_u32_f32): Likewise.
3368 (vcvtnq_u64_f64): Likewise.
3369 (vcvtp_u32_f32): Likewise.
3370 (vcvtpq_u32_f32): Likewise.
3371 (vcvtpq_u64_f64): Likewise.
3372 (vcvtmd_u64_f64): Likewise.
3373 (vcvtms_u32_f32): Likewise.
3374 (vcvtad_u64_f64): Likewise.
3375 (vcvtas_u32_f32): Likewise.
3376 (vcvtnd_u64_f64): Likewise.
3377 (vcvtns_u32_f32): Likewise.
3378 (vcvtpd_u64_f64): Likewise.
3379 (vcvtps_u32_f32): Likewise.
3381 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3383 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
3384 CSEL of zero_extended registers.
3386 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3388 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
3389 Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
3391 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3393 * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
3394 false when argument string is not found in the attributes table
3397 2016-01-15 David Edelsohn <dje.gcc@gmail.com>
3400 * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
3401 (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
3402 * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
3405 2016-01-15 Richard Biener <rguenther@suse.de>
3407 PR tree-optimization/66856
3408 * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
3409 * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
3410 (vect_create_new_slp_node): Increment stmt reference count.
3411 (vect_get_and_check_slp_defs): Make sure stmts are nor already in
3412 an SLP tree before swapping operands.
3413 (vect_build_slp_tree): Likewise.
3414 (destroy_bb_vec_info): Free stmt info after SLP instances.
3415 * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
3416 * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
3417 (STMT_VINFO_NUM_SLP_USES): New macro.
3419 2016-01-15 Richard Biener <rguenther@suse.de>
3422 * dwarf2out.c (add_linkage_name_raw): New function split out from ...
3423 (add_linkage_name): ... here.
3424 (gen_typedef_die): Use add_linkage_name_raw instead of
3425 add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
3428 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
3430 * gimplify.c (oacc_default_clause): Decode reference and pointer
3431 types for both kernels and parallel regions.
3433 2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
3436 * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
3438 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
3440 * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
3441 (convert_scalars_to_vector): Likewise.
3443 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
3445 * doc/extend.texi (Type Traits): Fix grammar.
3447 2016-01-15 Martin Jambor <mjambor@suse.cz>
3449 * tree-inline.c (remap_decl): Use existing dclarations if
3450 remapping a type and prevent_decl_creation_for_types.
3451 (replace_locals_stmt): Do an initial remapping of non-VLA typed
3452 decls first. Do real remapping with
3453 prevent_decl_creation_for_types set.
3454 * tree-inline.h (copy_body_data): New field
3455 prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
3458 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
3460 * config/s390/s390.opt (mmvcle): More verbose help text.
3462 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
3464 * config/s390/s390.opt: Add period to -mzvector option text.
3466 2016-01-15 Richard Biener <rguenther@suse.de>
3468 PR tree-optimization/68961
3469 * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
3470 of invariants in stores again.
3472 2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
3474 * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
3476 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
3478 * config/i386/i386.c (ix86_expand_branch): Don't split
3479 DI mode xor instruction to SI mode.
3481 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
3484 * ipa-icf.c (sem_function::merge): Virtual functions may become
3485 reachable even if they address is not taken and there are no
3488 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
3490 * lto-streamer-out.c (subtract_estimated_size): New function.
3491 (get_symbol_initial_value): Use it.
3493 2016-01-15 Christian Bruel <christian.bruel@st.com>
3496 * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
3497 (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
3498 (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
3499 use add_builtin_function_ext_scope instead of add_builtin_function.
3500 (neon_set_p, neon_crypto_set_p): Remove.
3501 (arm_init_builtins): Always call arm_init_neon_builtins and
3502 arm_init_crypto_builtins.
3503 (arm_expand_builtin): Check that builtins are allowed for the arch.
3504 * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
3505 * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
3506 arm_init_neon_builtins call.
3508 2016-01-15 Richard Biener <rguenther@suse.de>
3510 PR tree-optimization/69117
3511 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
3512 * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
3513 of the leader conservatively.
3514 (free_scc_vn): Restore original SSA name infos.
3516 2016-01-14 Jeff Law <law@redhat.com>
3518 PR tree-optimization/69270
3519 * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
3520 single bit of precision, verify it's also unsigned.
3521 (record_edge_info): Use constant_boolean_node rather than fold_convert
3522 to convert boolean_true/boolean_false to the right type.
3524 2016-01-14 Richard Henderson <rth@redhat.com>
3527 * loop-doloop.c (record_reg_sets): New.
3528 (doloop_optimize): Reject the transform if the sequence
3529 clobbers registers live at the end of the loop block.
3530 (doloop_optimize_loops): Enable df_live if needed.
3532 2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3534 * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
3535 * gcc/config/rs6000/rs6000.c: Likewise.
3536 * gcc/config/rs6000/rs6000.h: Likewise.
3537 * gcc/config/rs6000/rs6000.md: Likewise.
3538 * gcc/doc/extend.texi: Likewsie.
3540 2016-01-14 Jeff Law <law@redhat.com>
3542 * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
3545 2016-01-14 Richard Henderson <rth@redhat.com>
3549 * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
3550 * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
3551 instead of builtin_decl_declared_p to test for declaration.
3553 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
3555 * doc/loop.texi (Loop Analysis and Representation): Document
3556 loop_depth function.
3558 2016-01-14 Tom de Vries <tom@codesourcery.com>
3560 PR tree-optimization/68773
3561 * omp-low.c (expand_omp_target): Don't set force_output.
3562 * varpool.c (varpool_node::get_create): Same.
3563 * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
3564 offload_funcs with force_output.
3566 2016-01-14 Jakub Jelinek <jakub@redhat.com>
3569 * lra-eliminations.c (move_plus_up): Don't change anything if either
3570 the outer or inner subreg mode is not MODE_INT.
3571 * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
3572 integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
3574 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
3576 * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
3577 reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
3578 reduc_uplus_@var{m}): Remove.
3579 * expr.c (expand_expr_real_2): Remove expansion path for
3580 reduc_[us](min|max|plus) optabs.
3581 * optabs-tree.c (scalar_reduc_to_vector): Remove.
3582 * optabs-tree.h (scalar_reduc_to_vector): Remove.
3583 * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
3584 reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
3585 * tree-vect-loop.c (vectorizable_reduction): Remove test for
3586 reduc_[us](min|max|plus) optabs.
3588 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
3590 * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
3591 (reduc_plus_scal_v2sf): New.
3592 (reduc_smax_v2sf): Rename to...
3593 (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
3594 (reduc_smin_v2sf): Rename to...
3595 (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
3597 2016-01-14 Jan Hubicka <hubicka@ucw.cz>
3599 * alias.c (compare_base_symbol_refs): New function.
3600 (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
3603 2016-01-14 Jakub Jelinek <jakub@redhat.com>
3606 PR tree-optimization/69155
3607 * tree-complex.c: Include cfganal.h.
3608 (phis_to_revisit): New variable.
3609 (extract_component): Add phiarg_p argument. Assert that returned
3610 SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
3611 (update_phi_components): Partly rewrite to use loop over real/imag
3612 components instead of code duplication. If extract_component returns
3613 SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
3614 create_tmp_reg into the PHI node instead, and mention the phi triplet
3616 (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
3617 in phis_to_revisit at the end.
3619 2016-01-14 Richard Biener <rguenther@suse.de>
3621 PR tree-optimization/68060
3622 * tree-vect-loop.c (vect_is_simple_reduction): Check the
3623 outer loop reduction is only used in the inner loop before
3624 detecting a double reduction.
3626 2016-01-14 Jakub Jelinek <jakub@redhat.com>
3629 * combine.c (expand_field_assignment): Punt if compute_mode is
3630 unsupported scalar mode.
3632 2016-01-14 Richard Biener <rguenther@suse.de>
3634 PR tree-optimization/66856
3635 * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
3636 SLP node only if it built successfully.
3637 (vect_analyze_slp_instance): Adjust.
3639 2016-01-14 Jeff Law <law@redhat.com>
3641 PR tree-optimization/69270
3642 * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
3643 (record_edge_info): Use it. Convert boolean_{true,false}_node
3646 2016-01-13 Jan Hubicka <hubicka@ucw.cz>
3649 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
3650 use block_ultimate_origin
3651 (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
3653 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
3655 * doc/invoke.texi (Submodel Options): Rename section to
3656 "Machine-Dependent Options" to better reflect its content.
3657 Rewrite introductory text to remove archaic CPU names.
3660 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
3662 * doc/invoke.texi (Code Gen Options): Move section up in file,
3663 before target-specific options. Update menu and option summary
3664 to reflect the new section ordering.
3666 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
3668 * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
3669 (C++ Dialect Options): Add cross-reference to -std option.
3670 * doc/standards.texi (C++ Language): Document C++14 support.
3672 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
3674 * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
3675 for pack/unpack functions for __ibm128.
3676 (PACK_IF): Likewise.
3677 (UNPACK_IF): Likewise.
3679 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
3680 support for __ibm128 pack/unpack functions.
3681 (rs6000_invalid_builtin): Likewise.
3682 (rs6000_init_builtins): Likewise.
3683 (rs6000_opt_masks): Likewise.
3685 * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
3686 (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
3688 (RS6000_BTM_COMMON): Likewise.
3690 * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
3691 (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
3692 disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
3693 128-bit floating point. Add support for the double values to be
3694 in Altivec registers for TF/IF packing and unpacking, but restrict
3695 TD packing sub-fields to be FPR registers. Don't allow overlapped
3696 register support for packing. Allow pack inputs to be memory
3697 locations. Don't build generator functions for unpack<mode>_dm
3698 and unpack<mode>_nodm.
3699 (unpack<mode>_dm): Likewise.
3700 (unpack<mode>_nodm): Likewise.
3701 (pack<mode>): Likewise.
3703 * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
3704 built-in functions to pack/unpack explicit __ibm128 values.
3705 (__builtin_unpack_ibm128): Likewise.
3707 * doc/extend.texi (PowerPC Built-in Functions): Document
3708 __builtin_pack_ibm128 and __builtin_unpack_ibm128.
3710 2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
3713 * c-common.c (check_function_nonnull): Remove unnecessary declaration.
3714 Add new arg loc and pass it down as context.
3715 (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
3716 to the location to use for the warning.
3717 (check_function_arguments): New arg loc. All callers changed. Pass
3718 it to check_function_nonnull.
3719 * c-common.h (check_function_arguments): Adjust declaration.
3721 2016-01-13 Jakub Jelinek <jakub@redhat.com>
3723 PR tree-optimization/69156
3724 * gimple.c (validate_type): Removed.
3725 (gimple_builtin_call_types_compatible_p): Use
3726 useless_type_conversion_p instead of validate_type.
3727 * value-prof.c (gimple_stringop_fixed_value): Fold
3728 icall_size to correct type.
3730 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
3732 * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
3735 2016-01-13 Richard Henderson <rth@redhat.com>
3738 * target.def (builtin_tm_load, builtin_tm_store): Remove.
3739 * config/i386/i386.c (ix86_builtin_tm_load): Remove.
3740 (ix86_builtin_tm_store): Remove.
3741 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
3742 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
3743 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
3744 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
3745 * doc/tm.texi: Rebuild.
3747 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
3748 (BUILT_IN_TM_MEMCPY_RTWN): New.
3749 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
3750 fallback from vector to integer helpers.
3751 (build_tm_load): Handle vector types directly, instead of
3753 (build_tm_store): Likewise.
3754 (expand_assign_tm): Prepare for register types not handled by
3755 the above. Copy them to memory and use memcpy.
3756 * tree.c (tm_define_builtin): New.
3757 (find_tm_vector_type): New.
3758 (build_tm_vector_builtins): New.
3759 (build_common_builtin_nodes): Call it.
3761 2016-01-13 Uros Bizjak <ubizjak@gmail.com>
3763 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
3764 TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
3766 2016-01-13 Tom de Vries <tom@codesourcery.com>
3768 PR tree-optimization/69169
3769 * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
3770 handled_struct_type param.
3771 (create_variable_info_for, intra_create_variable_infos): Call
3772 create_variable_info_for_1 with extra arg.
3774 2016-01-13 Yvan Roux <yvan.roux@linaro.org>
3776 * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
3777 and "armv8.1-a+crc" entries.
3779 2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
3782 * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
3783 Change first operand predicate from register_or_constm1_operand
3784 to register_operand.
3785 (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
3786 (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
3787 (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
3788 (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
3789 (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
3790 (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
3791 (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
3792 * config/i386/i386.c (ix86_expand_builtin): Remove first operand
3793 comparison with constm1_rtx from vec_prefetch_gen part.
3795 2016-01-13 Richard Biener <rguenther@suse.de>
3797 PR tree-optimization/69013
3798 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
3799 Exchange assert for a test.
3801 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3804 * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
3806 2016-01-13 Richard Biener <rguenther@suse.de>
3808 PR tree-optimization/69242
3809 * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
3810 assert with a check.
3812 2016-01-13 Richard Biener <rguenther@suse.de>
3814 PR tree-optimization/69186
3815 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
3816 Properly guard vect_update_misalignment_for_peel call.
3818 2016-01-12 Jeff Law <law@redhat.com>
3820 PR tree-optimization/pr67755
3821 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
3822 "need_profile_correction".
3823 (thread_block_1): Initialize new field to false by default. If we
3824 have multiple thread paths through a common joiner to different
3825 final targets, then set new field to true.
3826 (compute_path_counts): Only do count adjustment when it's really
3829 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
3831 * doc/invoke.texi (Spec Files): Move section down in file, past
3832 all command-line option descriptions.
3834 2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3837 * doc/gty.texi: Remove documentation of mark_hook.
3838 * gengtype.c (struct write_types_data): Remove code to support
3839 mark_hook attribute.
3840 (walk_type): Likewise.
3841 (write_func_for_structure): Likewise.
3843 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
3845 * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
3846 Directory Options, and -specs= to Overall Options.
3847 (Overall Options): Adjust similarly. Reorder to group related
3848 options together. Make -specs= cross-reference the spec file details.
3849 (Directory Options): Adjust similarly.
3851 2016-01-12 Jeff Law <law@redhat.com>
3853 * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
3855 2016-01-12 Olivier Hainque <hainque@adacore.com>
3857 * gcc.c (spec_undefvar_allowed): New global.
3858 (process_command): Set to true when running for --version or --help,
3860 (getenv_spec_function): When the variable is not defined, use the
3861 variable name as the variable value if we're allowed not to issue
3864 2016-01-12 Bin Cheng <bin.cheng@arm.com>
3866 PR tree-optimization/68911
3867 * tree-vrp.c (adjust_range_with_scev): Check overflow in range
3868 information computed for expression "init + nit * step".
3870 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
3872 * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
3873 about name of GCC executable. Remove deleted node from menu.
3874 (Directory Options) <-B>: Remove cross-reference to deleted node.
3875 (Target Options): Delete section.
3877 2016-01-12 Christian Bruel <christian.bruel@st.com>
3880 * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
3881 for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
3883 2016-01-12 Jakub Jelinek <jakub@redhat.com>
3886 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
3887 aligned_mem is properly set for AVX512-VL floating point masked
3891 * ifcvt.c (cond_exec_process_if_block): When removing the last
3892 insn from then_bb, remove also any possible barriers that follow it.
3894 2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
3898 * config/i386/iamcu.h (SIZE_TYPE): New macro.
3899 (PTRDIFF_TYPE): Likewise.
3900 (WCHAR_TYPE): Likewise.
3901 (WCHAR_TYPE_SIZE): Likewise.
3902 (STDINT_LONG32): Likewise.
3904 2016-01-12 Richard Biener <rguenther@suse.de>
3906 PR tree-optimization/69053
3907 * tree-vect-loop.c (get_initial_def_for_reduction): Properly
3908 convert initial value for cond reductions.
3910 2016-01-12 Richard Biener <rguenther@suse.de>
3912 PR tree-optimization/69007
3913 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
3914 widen_sum after dot_prod and sad.
3916 2016-01-12 Richard Biener <rguenther@suse.de>
3918 PR tree-optimization/69168
3919 * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
3920 pattern stmt SLP type.
3921 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
3922 end up unused so cope with that case.
3924 2016-01-12 Richard Biener <rguenther@suse.de>
3926 PR tree-optimization/69157
3927 * tree-vect-stmts.c (vectorizable_mask_load_store): Check
3928 stmts def type only during analyze phase.
3929 (vectorizable_call): Likewise.
3930 (vectorizable_simd_clone_call): Likewise.
3931 (vectorizable_conversion): Likewise.
3932 (vectorizable_assignment): Likewise.
3933 (vectorizable_shift): Likewise.
3934 (vectorizable_operation): Likewise.
3935 (vectorizable_store): Likewise.
3936 (vectorizable_load): Likewise.
3938 2016-01-12 Richard Biener <rguenther@suse.de>
3940 PR tree-optimization/69174
3941 * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
3943 (vectorizable_load): Properly compute the number of loads needed
3944 for permuted strided SLP loads and do not spuriously assign
3945 to SLP_TREE_VEC_STMTS.
3947 2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
3949 * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
3950 (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
3951 (MD_EXEC_PREFIX): Remove.
3952 (MD_STARTFILE_PREFIX) Removee.
3953 (FILE_NAME_ABSOLUTE_P): Remove.
3954 (CPP_SPEC): Do not read macros from sys/version.h.
3955 (LINK_COMMAND_SPEC): Remove.
3956 (LOCAL_INCLUDE_DIR): Remove.
3957 (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
3958 (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
3959 (POST_LINK_SPEC): Define to invoke stubify after linker
3960 (LIBSTDCXX): Remove define
3961 (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
3962 (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
3963 (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
3964 (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
3965 (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
3966 (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
3967 (i386_djgpp_asm_named_section): Add propotype of new procedure
3969 * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
3970 (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
3971 (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
3972 in config/i386/djgpp.h).
3973 (STANDARD_STARTFILE_PREFIX_2): Define identical to
3974 STANDARD_STARTFILE_PREFIX_1.
3975 (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
3976 (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
3977 installation errors.
3978 (MAX_OFILE_ALIGNMENT): Define to 128.
3979 (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
3981 * config/i386/djgpp.c: New file. Add implementation of
3982 i386_djgpp_asm_named_section.
3984 * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
3986 * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
3987 Add rule for building djgpp.o.
3989 2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3991 * config/rs6000/rs6000.c (v2df_reduction_p): New function.
3992 (rtx_is_swappable_p): Reductions are swappable.
3993 (insn_is_swappable_p): V2DF reductions are swappable.
3995 2016-01-11 John David Anglin <danglin@gcc.gnu.org>
3997 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
3998 reloads for other unsupported memory operands.
4000 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
4001 Jim Wilson <jim.wilson@linaro.org>
4004 * config/arm/arm-builtins.c (arm_expand_neon_args): Call
4005 copy_to_mode_reg instead of force_reg.
4007 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
4010 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
4011 TARGET_80387 is true.
4013 2016-01-11 Jakub Jelinek <jakub@redhat.com>
4016 * lra-eliminations.c (move_plus_up): Only move plus up
4017 if subreg of the constant can be simplified into constant
4018 and use the simplified subreg of the constant instead of
4019 the original constant.
4021 * fold-const.c (fold_convertible_p): Don't return true
4022 for conversion of VECTOR_TYPE to same sized integral type.
4023 (fold_convert_loc): Fix up formatting. Fold conversion of
4024 VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
4025 instead of NOP_EXPR.
4027 PR tree-optimization/69214
4028 * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
4029 innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
4032 PR tree-optimization/69207
4033 * tree-vect-slp.c (vect_get_constant_vectors): For
4034 VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
4035 fold_convertible_p to vector_type's element type, and always
4036 use VCE for non-VECTOR_BOOLEAN_TYPE_P.
4038 2016-01-11 Richard Biener <rguenther@suse.de>
4040 PR tree-optimization/69173
4041 * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
4042 fixup the cycle if all stmts are in a pattern.
4044 2016-01-11 Uros Bizjak <ubizjak@gmail.com>
4047 * alias.c (base_alias_check): Move check for addresses with
4048 alignment ANDs before the call for compare_base_decls.
4049 (memrefs_conflict_p): Return -1 for different decls
4050 that went through alignment adjustments.
4052 2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4054 PR rtl-optimization/68796
4055 * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
4056 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
4057 and QImode comparisons against zero with CC_NZmode.
4058 * config/aarch64/iterators.md (short_mask): New mode_attr.
4060 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
4062 * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
4063 (<avx512>_store<mode>_mask): Likewise.
4065 2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
4066 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4068 PR rtl-optimization/68841
4069 * ifcvt.c (struct noce_if_info): Add orig_x field.
4070 (bbs_ok_for_cmove_arith): Add to_rename parameter.
4071 Don't record conflicts on to_rename if it's present.
4072 Allow memory destinations in sets.
4073 (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
4074 blocks, passing orig_x to the checks.
4075 (noce_process_if_block): Set if_info->orig_x appropriately.
4077 2016-01-11 Tom de Vries <tom@codesourcery.com>
4079 PR tree-optimization/69069
4080 * tree-parloops.c (create_parallel_loop): Add missing phi args.
4082 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
4084 PR rtl-optimization/68920
4085 * config/i386/i386.c (ix86_option_override_internal): Restrict number
4086 of conditional moves for RTL if-conversion to 1 for
4087 TARGET_ONE_IF_CONV_INSN.
4088 * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
4089 * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
4090 * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
4091 parameter to restirct number of conditional moves for
4093 * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
4094 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
4097 2016-01-11 Alexandre Oliva <aoliva@redhat.com>
4100 * var-tracking.c (drop_overlapping_mem_locs): Operate on all
4101 onepart vars. Fix typo in comment. Fix reversed condition in
4103 (dataflow_set_remove_mem_locs): Operate on all onepart vars.
4106 * var-tracking.c (dump_onepart_variable_differences): New.
4107 (dataflow_set_different): If a detailed dump is requested,
4108 delay early returns and dump differences between onepart
4109 variables present before and after, and added variables.
4111 2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
4114 * expr.c (expand_expr_real_1): For boolean vector constants
4115 with a scalar mode use const_scalar_mask_from_tree.
4116 (const_scalar_mask_from_tree): New.
4117 * optabs.c (expand_vec_cond_mask_expr): Use mask mode
4118 assigned to a mask type to handle constants.
4120 2016-01-11 Martin Jambor <mjambor@suse.cz>
4123 * ipa-cp.c (estimate_local_effects): Do not clone for removal of
4124 useless parameters if we cannot change function signature.
4126 2016-01-11 Martin Jambor <mjambor@suse.cz>
4129 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
4132 2016-01-11 Tom de Vries <tom@codesourcery.com>
4134 PR tree-optimization/69109
4135 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
4138 2016-01-11 Tom de Vries <tom@codesourcery.com>
4140 PR tree-optimization/69108
4141 * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
4142 res is not used in a phi.
4144 2016-01-11 Yury Gribov <y.gribov@samsung.com>
4147 * common.opt (frandom-seed): Fix parameter name.
4148 * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
4150 2016-01-11 Tom de Vries <tom@codesourcery.com>
4152 PR tree-optimization/69058
4153 * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
4156 2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
4158 * config/arc/arc.opt (mdiv-rem): Add period to the end.
4159 (mcode-density): Likewise.
4161 2016-01-10 Tom de Vries <tom@codesourcery.com>
4163 PR tree-optimization/69062
4164 * tree-parloops.c (loop_has_phi_with_address_arg): New function.
4165 (parallelize_loops): Don't paralelize loop that has phi with address
4168 2016-01-10 Tom de Vries <tom@codesourcery.com>
4170 PR tree-optimization/69039
4171 * tree-parloops.c (try_create_reduction_list): Only allow single exit
4174 2016-01-09 John David Anglin <danglin@gcc.gnu.org>
4177 * match.pd: Require target has function_c99_misc before doing
4178 truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
4180 2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
4182 * configure.ac (isl_options_set_schedule_serialize_sccs): Also
4184 * configure: Regenerate.
4186 2016-01-09 Jakub Jelinek <jakub@redhat.com>
4189 PR tree-optimization/69097
4190 * fold-const.h (expr_not_equal_to): New prototype.
4191 * fold-const.c: Include stringpool.h and tree-ssanames.h.
4192 (expr_not_equal_to): New function.
4193 * match.pd (X % -Y is the same as X % Y): Don't optimize
4194 unless X is known not to be equal to minimum or Y is known
4195 not to be equal to -1.
4196 * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
4197 fold TRUNC_MOD_EXPR if the second argument is not a power of two.
4198 (simplify_stmt_using_ranges): Adjust caller.
4199 (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
4200 substitute_and_fold.
4202 2016-01-09 Jan Hubicka <hubicka@ucw.cz>
4204 * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
4207 2016-01-08 Jakub Jelinek <jakub@redhat.com>
4209 PR tree-optimization/69167
4210 * gimple-fold.c (replace_stmt_with_simplification): Also punt if
4211 new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
4213 * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
4215 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
4216 Richard Biener <rguenther@suse.de>
4218 PR tree-optimization/68707
4219 * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
4220 instances that can be handled via vect_load_lanes.
4222 2016-01-08 Uros Bizjak <ubizjak@gmail.com>
4224 * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
4225 if we can't determine address equivalence.
4226 * alias.c (compare_base_decl): Update for changed return value of
4227 symtab_node::equal_address_to.
4229 2016-01-08 Jason Merrill <jason@redhat.com>
4233 * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
4234 * expr.c (store_field): Not here.
4235 * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
4236 call with TREE_ADDRESSABLE type.
4237 * tree-cfg.c (verify_gimple_call): Adjust.
4239 2016-01-08 Olivier Hainque <hainque@adacore.com>
4241 * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
4244 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
4246 * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
4247 (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
4248 (reduc_smin_v2sf): Rename to...
4249 (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
4250 (reduc_splus_v2sf): Rename to...
4251 (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
4253 2016-01-08 Jakub Jelinek <jakub@redhat.com>
4255 PR tree-optimization/69162
4256 * gimplify.c (gimplify_va_arg_expr): Encode original type of
4257 valist argument in another argument.
4258 (gimplify_modify_expr): Adjust for the above change. Cleanup.
4259 * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
4260 to determine the va_list type, build a MEM_REF instead of
4261 build_fold_indirect_ref.
4263 PR tree-optimization/69172
4264 * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
4267 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
4269 PR tree-optimization/67781
4270 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
4271 and cmpnop in two steps: first the ones not accessed in original
4272 gimple expression in a endian independent way and then the ones not
4273 accessed in the final result in an endian-specific way.
4275 2016-01-08 Jakub Jelinek <jakub@redhat.com>
4277 PR tree-optimization/69083
4278 * tree-vect-slp.c (vect_get_constant_vectors): For
4279 VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
4280 element type. If op is fold_convertible_p to vector_type's element
4281 type, use NOP_EXPR instead of VCE.
4283 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
4285 PR rtl-optimization/67778
4286 PR rtl-optimization/68634
4287 PR rtl-optimization/68909
4288 * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
4289 block from the stack until done with it. Remove a superfluous
4290 bitmap set. Remove a superfluous bitmap test.
4292 2016-01-07 Martin Sebor <msebor@redhat.com>
4295 * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
4296 constraint on the type of arguments.
4298 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
4300 * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
4301 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
4302 unaligned_access on the gcc_options set.
4303 * config/arm/arm.c (arm_option_override_internal): Use
4304 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
4306 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
4309 * config/i386/i386.c (ix86_frame_pointer_required): Enable
4310 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
4312 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
4315 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
4318 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
4319 depending on frame_pointer_needed before remaining integer and SSE
4320 registers are saved.
4322 2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
4325 * doc/extend.texi (Nvidia PDX Function Attributes): New section.
4327 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
4330 * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
4331 Use the "xBm" constraint.
4332 (float<sseintvecmodelower><mode>2<mask_name><round_name):
4334 (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
4335 (sse_cvtsi2ssq<round_name>): Likewise.
4336 (sse_cvtss2si<round_name>): Likewise.
4337 (sse_cvtss2siq<round_name>): Likewise.
4338 (sse2_cvtsi2sdq<round_name>): Likewise.
4339 (sse2_cvtsd2si<round_name>): Likewise.
4340 (sse2_cvtsd2siq<round_name>): Likewise.
4341 * config/i386/subst.md (round_nimm_scalar_predicate): New
4344 2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
4347 * varasm.c (make_decl_rtl): Mark invalid register vars as
4350 PR rtl-optimization/66206
4351 * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
4352 All callers changed.
4354 2016-01-07 Jakub Jelinek <jakub@redhat.com>
4356 PR tree-optimization/69141
4357 * tree-ssa-pre.c: Include langhooks.h.
4358 (eliminate_dom_walker::before_dom_children): Use
4359 lang_hooks.decl_printable_name instead of
4360 cgraph_node::get ()->name ().
4363 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
4364 it and DECL_ALIGN too.
4366 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
4368 * config/mips/mips-ftypes.def: Sort to lexicographical order.
4370 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
4373 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
4374 depending on frame_pointer_needed before remaining integer and SSE
4375 registers are saved.
4377 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4379 * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
4380 mode iterator with VSX_M2.
4381 (*p9_vecstore_<mode>): Likewise.
4382 (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
4383 (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
4384 (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
4385 (define_split for VSX_LE128 stores): Likewise.
4386 (define_peephole2 for TImode LE swaps): Likewise.
4387 (define_split for VSX_LE128 post-reload stores): Likewise.
4389 2016-01-06 Marek Polacek <polacek@redhat.com>
4392 * convert.c (convert_to_integer_1): Adjust call to
4393 ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
4394 * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
4395 EXPR instead of ARG.
4396 * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
4398 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
4401 * doc/extend.texi (RL78 Variable Attributes): New section.
4403 2016-01-05 Marek Polacek <polacek@redhat.com>
4406 * builtins.c (get_memmodel): Use expansion point location rather than
4407 the input location. Call warning_at rather than warning.
4408 (expand_builtin_atomic_compare_exchange): Likewise.
4409 (expand_builtin_atomic_load): Likewise.
4410 (expand_builtin_atomic_store): Likewise.
4411 (expand_builtin_atomic_clear): Likewise.
4413 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
4416 * config/i386/i386.c (ix86_expand_vector_logical_operator):
4417 Replace nonimmediate_operand with vector_operand.
4418 * config/i386/predicates.md (vector_operand): New predicate.
4419 (general_vector_operand): Replace nonimmediate_operand with
4421 * config/i386/sse.md: Replace nonimmediate_operand with
4422 vector_operand and m constraint with Bm constraint on SSE
4423 patterns with 16-byte memory operand.
4424 * config/i386/subst.md (round_nimm_predicate): Replace
4425 nonimmediate_operand with vector_operand.
4426 (round_saeonly_nimm_predicate): Likewise.
4427 (round_saeonly_nimm_scalar_predicate): New.
4429 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
4432 * config/i386/constraints.md (Bm): New constraint.
4433 * config/i386/predicates.md (vector_memory_operand): New
4435 * config/i386/sse.md: Replace xm with xBm in plusminus and
4438 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
4441 * doc/extend.texi (V850 Function Attributes): New section.
4442 (V850 Variable Attributes): New section.
4444 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
4447 * doc/extend.texi (MicroBlaze Function Attributes): Document
4448 interrupt_handler and fast_interrupt attributes.
4450 2016-01-05 Sergei Trofimovich <siarheit@google.com>
4453 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
4454 for local symbolic operands.
4455 * config/ia64/predicates.md (local_symbolic_operand64): New
4458 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4460 PR rtl-optimization/68651
4461 * combine.c (combine_simplify_rtx): Canonicalize x + x into
4464 2016-01-05 Nathan Sidwell <nathan@acm.org>
4466 * alias.c (compare_base_decls): Use symtab_node::get.
4468 2016-01-05 Nick Clifton <nickc@redhat.com>
4471 * ira-costs.c (copy_cost): Initialise the t_icode field of the
4472 secondary_reload_info structure.
4475 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
4476 decls if weak support is available.
4478 2016-01-04 Martin Sebor <msebor@redhat.com>
4480 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
4482 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
4484 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
4485 OPTION_MASK_P9_DFORM.
4487 * config/rs6000/constraints.md (wo constraint): New constraint for
4490 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
4492 (rs6000_init_hard_regno_mode_ok): Likewise.
4494 * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
4497 * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
4498 expanders not to have constraints. Add support for ISA 3.0 xxperm
4499 instruction. Add support for fusing xxlor with xxperm.
4500 (altivec_vperm_<mode>_internal): Likewise.
4501 (altivec_vperm_v8hiv16qi): Likewise.
4502 (altivec_vperm_<mode>v16q): Likewise.
4503 (altivec_vperm_<mode>_uns): Likewise.
4504 (vperm_v8hiv4si): Likewise.
4505 (vperm_v16qiv8hi): Likewise.
4507 * doc/md.texi (RS/6000 constraints): Document wo constraint.
4509 2016-01-04 Jakub Jelinek <jakub@redhat.com>
4511 Update copyright years.
4513 * gcc.c (process_command): Update copyright notice dates.
4514 * gcov-dump.c (print_version): Ditto.
4515 * gcov.c (print_version): Ditto.
4516 * gcov-tool.c (print_version): Ditto.
4517 * gengtype.c (create_file): Ditto.
4518 * doc/cpp.texi: Bump @copying's copyright year.
4519 * doc/cppinternals.texi: Ditto.
4520 * doc/gcc.texi: Ditto.
4521 * doc/gccint.texi: Ditto.
4522 * doc/gcov.texi: Ditto.
4523 * doc/install.texi: Ditto.
4524 * doc/invoke.texi: Ditto.
4526 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
4528 * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
4529 modes larger than TImode as TImode if NEON is not enabled.
4531 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
4534 * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
4535 mode for %f0-%f31 only if TARGET_FPU.
4537 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
4540 * config/sparc/sparc.c (scan_record_type): Take into account subfields
4541 to compute the PACKED_P predicate.
4542 (function_arg_record_value): Minor tweaks.
4544 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
4546 * doc/install.texi (--with-multilib-list): Describe the meaning of the
4547 option for arm*-*-* targets.
4549 2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
4551 * doc/extend.texi (Common Function Attributes): Move docs for
4552 MSP430-specific attributes to....
4553 (MSP430 Function Attributes): ...here. Delete the redundant
4554 entries and copy-edit the remaining text.
4555 (MSP430 Variable Attributes): Use uniform format for index
4556 entries and add a cross-reference to the corresponding function
4559 2016-01-03 Vladimír Čunát <vcunat@gmail.com>
4561 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
4563 (x86 Options): Likewise.
4565 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
4569 * extend.texi (Common Function Attributes) <no_stack_limit>: New.
4570 * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
4571 to corresponding attribute.
4573 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
4575 * doc/extend.texi (Common Function Attributes) <noplt>: Move
4576 to correct alphabetization of table. Copy-edit and correct
4578 <stack_protect>: Likewise.
4579 <target_clones>: Likewise.
4581 * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
4582 Correct punctuation.
4583 (Code Gen Options) <-fno-plt>: Copy-edit.
4585 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
4588 * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
4589 SI values. Explicitly convert SI to DI and vice-versa.
4591 2016-01-01 Jakub Jelinek <jakub@redhat.com>
4593 PR tree-optimization/69070
4594 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
4595 REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
4598 * ubsan.c (ubsan_instrument_float_cast): Call
4599 initialize_sanitizer_builtins.
4602 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
4604 Copyright (C) 2016 Free Software Foundation, Inc.
4606 Copying and distribution of this file, with or without modification,
4607 are permitted in any medium without royalty provided the copyright
4608 notice and this notice are preserved.