2713 lines
95 KiB
Plaintext
2713 lines
95 KiB
Plaintext
2016-01-26 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68782
|
||
* tree.c (recompute_constructor_flags): Split out from
|
||
build_constructor.
|
||
(verify_constructor_flags): New.
|
||
* tree.h: Declare them.
|
||
|
||
2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR rtl-optimization/69217
|
||
* var-tracking.c (tracked_record_parameter_p): Don't segfault if there
|
||
are no TYPE_FIELDS set for the record type.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/68662
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
|
||
toc_label_name unconditionally.
|
||
(rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
|
||
SYMBOL_REF string. Use toc_label_name instead of constructing
|
||
LCTOC1.
|
||
(rs6000_elf_declare_function_name): Use toc_label_name instead of
|
||
constructing LCTOC1.
|
||
|
||
2016-01-26 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR other/69477
|
||
* doc/extend.texi (Common Type Attributes): Move text that talks about
|
||
attribute packed from attribute aligned to the section discussing
|
||
the former attribute for clarity.
|
||
|
||
2016-01-26 Richard Henderson <rth@redhat.com>
|
||
|
||
PR middle-end/60908
|
||
* trans-mem.c (tm_region_init): Mark entry block as visited.
|
||
|
||
2016-01-26 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR other/69006
|
||
* diagnostic-show-locus.c (layout::print_source_line): Replace
|
||
call to pp_newline with call to layout::print_newline.
|
||
(layout::print_annotation_line): Likewise.
|
||
(layout::move_to_column): Likewise.
|
||
(layout::print_any_fixits): After printing any fixits, print a
|
||
trailing newline, if necessary.
|
||
(layout::print_newline): New method, resetting any colorization
|
||
before a newline.
|
||
(diagnostic_show_locus): Move the pp_newline to before the
|
||
early bailout. Remove dummy block enclosing the layout instance.
|
||
* diagnostic.c (default_diagnostic_finalizer): Replace invocation
|
||
of pp_newline_and_flush with pp_flush.
|
||
(diagnostic_append_note): Delete use of pp_newline.
|
||
(diagnostic_append_note_at_rich_loc): Delete.
|
||
* diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
|
||
* pretty-print.h (output_buffer_append_r): Reset buff->line_length
|
||
when newline characters are added to the buffer.
|
||
|
||
2016-01-26 Michael Matz <matz@suse.de>
|
||
|
||
* configure.ac (ac_cv_std_swap_in_utility): New test.
|
||
* system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
|
||
2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.md (cstoresi4): Force operand into register.
|
||
(arcset<code>): Fix predicate.
|
||
(arcsetltu): Likewise.
|
||
(arcsetgeu): Likewise.
|
||
(arcsethi): Likewise.
|
||
(arcsetls): Likewise.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69483
|
||
* gimple-fold.c (canonicalize_constructor_val): Return NULL
|
||
if base has error_mark_node type.
|
||
|
||
2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
PR target/68620
|
||
* config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
|
||
* config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
|
||
New helper macros.
|
||
(vget_lane_f16): Handle big-endian.
|
||
(vgetq_lane_f16): Likewise.
|
||
(vset_lane_f16): Likewise.
|
||
(vsetq_lane_f16): Likewise.
|
||
* config/arm/iterators.md (VQXMOV): Add V8HF.
|
||
(VDQ): Add V4HF and V8HF.
|
||
(V_reg): Handle V4HF and V8HF.
|
||
(Is_float_mode): Likewise.
|
||
* config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
|
||
neon_vdup_nv8hf): New patterns.
|
||
(vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
|
||
Use VD_LANE iterator.
|
||
(neon_vld1_dup<mode>): Use VQ2 iterator.
|
||
|
||
2016-01-26 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* omp-low.h (oacc_fn_attrib_kernels_p): Declare.
|
||
(set_oacc_fn_attrib): Add IS_KERNEL arg.
|
||
* omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
|
||
(oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
|
||
(expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
|
||
(oacc_validate_dims): Add LEVEL arg, don't return level.
|
||
(new_oacc_loop_routine): Use oacc_fn_attrib_level, not
|
||
oacc_validate_dims.
|
||
(execute_oacc_device_lower): Adjust, add more dump output.
|
||
* tree-ssa-loop.c (gate_oacc_kernels): Use
|
||
oacc_fn_attrib_kernels_p.
|
||
* tree-parloops.c (create_parallel_loop): Adjust
|
||
set_oacc_fn_attrib call.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/69254
|
||
* lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
|
||
(append_compiler_options): Handle -fcilkplus.
|
||
(append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
|
||
|
||
2016-01-26 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/66655
|
||
* config/i386/winnt.c (i386_pe_binds_local_p): If a function has
|
||
been marked as DECL_ONE_ONLY but we do not the means to make it
|
||
so, then do not allow it to bind locally.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/69254
|
||
* opts.h (parse_sanitizer_options): New prototype.
|
||
* opts.c (sanitizer_opts): New array.
|
||
(parse_sanitizer_options): New function.
|
||
(common_handle_option): Use parse_sanitizer_options.
|
||
|
||
2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68986
|
||
* config/i386/i386.c (ix86_compute_frame_layout): Move stack
|
||
alignment adjustment to ...
|
||
(ix86_update_stack_boundary): Here. Don't over-align stack for
|
||
__tls_get_addr.
|
||
(ix86_finalize_stack_realign_flags): Use stack_alignment_needed
|
||
if __tls_get_addr is called.
|
||
|
||
2016-01-26 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
|
||
|
||
2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
|
||
|
||
2016-01-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69467
|
||
* match.pd: Guard X * CST CMP 0 pattern with single_use.
|
||
|
||
2016-01-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69452
|
||
* tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
|
||
(move_computations_dom_walker::before_dom_children): Rename
|
||
to ...
|
||
(move_computations_worker): This.
|
||
(move_computations): Perform an RPO rather than a DOM walk.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69442
|
||
* combine.c (combine_instructions): For REG_EQUAL note with
|
||
SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
|
||
to the underlying register.
|
||
* doc/rtl.texi (REG_EQUAL): Document the behavior of
|
||
REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
|
||
|
||
2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
|
||
|
||
PR target/67896
|
||
* config/aarch64/aarch64-builtins.c
|
||
(aarch64_init_simd_builtin_types): Do not set structural
|
||
equality to __Poly{8,16,64,128}_t types.
|
||
|
||
2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR tree-optimization/69400
|
||
* wide-int.cc (wi_pack): Take the precision as argument and
|
||
perform canonicalization here rather than in the callers.
|
||
Use the main loop to handle all full-width HWIs. Add a
|
||
zero HWI if in_len isn't a full result.
|
||
(wi::divmod_internal): Update accordingly.
|
||
(wi::mul_internal): Likewise. Simplify.
|
||
|
||
2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-poly.c (apply_poly_transforms): Simplify.
|
||
(print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
|
||
(print_isl_map): Same.
|
||
(print_isl_union_map): Same.
|
||
(print_isl_schedule): New.
|
||
(debug_isl_schedule): New.
|
||
* graphite-dependences.c (scop_get_reads): Do not call
|
||
isl_union_map_add_map that is undocumented isl functionality.
|
||
(scop_get_must_writes): Same.
|
||
(scop_get_may_writes): Same.
|
||
(scop_get_original_schedule): Remove.
|
||
(scop_get_dependences): Do not call isl_union_map_compute_flow that
|
||
is deprecated in isl 0.15. Instead, use isl_union_access_* interface.
|
||
(compute_deps): Remove.
|
||
* graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
|
||
(debug_schedule_ast): New.
|
||
(translate_isl_ast_to_gimple::scop_to_isl_ast): Call set_separate_option.
|
||
(graphite_regenerate_ast_isl): Add dump.
|
||
(translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
|
||
from scop->transformed_schedule.
|
||
(graphite_regenerate_ast_isl): Add more dump.
|
||
* graphite-optimize-isl.c (optimize_isl): Set
|
||
scop->transformed_schedule. Check whether schedules are equal.
|
||
(apply_poly_transforms): Move here.
|
||
* graphite-poly.c (apply_poly_transforms): ... from here.
|
||
(free_poly_bb): Static.
|
||
(free_scop): Static.
|
||
(pbb_number_of_iterations_at_time): Remove.
|
||
(print_isl_ast): New.
|
||
(debug_isl_ast): New.
|
||
(debug_scop_pbb): New.
|
||
* graphite-scop-detection.c (print_edge): Move.
|
||
(print_sese): Move.
|
||
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
|
||
(build_scop_scattering): Remove.
|
||
(create_pw_aff_from_tree): Assert instead of bailing out.
|
||
(add_condition_to_pbb): Remove unused code, do not fail.
|
||
(add_conditions_to_domain): Same.
|
||
(add_conditions_to_constraints): Remove.
|
||
(build_scop_context): New.
|
||
(add_iter_domain_dimension): New.
|
||
(build_iteration_domains): Initialize pbb->iterators.
|
||
Call add_conditions_to_domain.
|
||
(nested_in): New.
|
||
(loop_at): New.
|
||
(index_outermost_in_loop): New.
|
||
(index_pbb_in_loop): New.
|
||
(outermost_pbb_in): New.
|
||
(add_in_sequence): New.
|
||
(add_outer_projection): New.
|
||
(outer_projection_mupa): New.
|
||
(add_loop_schedule): New.
|
||
(build_schedule_pbb): New.
|
||
(build_schedule_loop): New.
|
||
(embed_in_surrounding_loops): New.
|
||
(build_schedule_loop_nest): New.
|
||
(build_original_schedule): New.
|
||
(build_poly_scop): Call build_original_schedule.
|
||
* graphite.h: Declare print_isl_schedule and debug_isl_schedule.
|
||
(free_poly_dr): Remove.
|
||
(struct poly_bb): Add iterators. Remove schedule, transformed, saved.
|
||
(free_poly_bb): Remove.
|
||
(debug_loop_vec): Remove.
|
||
(print_isl_ast): Declare.
|
||
(debug_isl_ast): Declare.
|
||
(scop_do_interchange): Remove.
|
||
(scop_do_strip_mine): Remove.
|
||
(scop_do_block): Remove.
|
||
(flatten_all_loops): Remove.
|
||
(optimize_isl): Remove.
|
||
(pbb_number_of_iterations_at_time): Remove.
|
||
(debug_scop_pbb): Declare.
|
||
(print_schedule_ast): Declare.
|
||
(debug_schedule_ast): Declare.
|
||
(struct scop): Remove schedule. Add original_schedule,
|
||
transformed_schedule.
|
||
(free_gimple_poly_bb): Remove.
|
||
(print_generated_program): Remove.
|
||
(debug_generated_program): Remove.
|
||
(unify_scattering_dimensions): Remove.
|
||
* sese.c (print_edge): ... here.
|
||
(print_sese): ... here.
|
||
(debug_edge): ... here.
|
||
(debug_sese): ... here.
|
||
* sese.h (print_edge): Declare.
|
||
(print_sese): Declare.
|
||
(dump_edge): Declare.
|
||
(dump_sese): Declare.
|
||
|
||
2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* Makefile.in: Set ISLVER in site.exp.
|
||
|
||
2016-01-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
|
||
DECL_VALUE_EXPR of new_var even for the non-array case. Look
|
||
through DECL_VALUE_EXPR for expansion.
|
||
|
||
2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* config/mips/mips.c (mips_compute_frame_info): Skip re-computing
|
||
the frame info after reload completed.
|
||
|
||
2016-01-25 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69196
|
||
PR tree-optimization/68398
|
||
* tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
|
||
tree-ssa-threadupdate.c.
|
||
(determine_bb_domination_status): Prototype
|
||
* tree-ssa-threadupdate.c (enum bb_dom_status): Remove
|
||
(determine_bb_domination_status): No longer static.
|
||
(valid_jump_thread_path): Remove code to detect characteristics
|
||
of the jump thread path not associated with correctness.
|
||
* tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
|
||
Correct test for thread path length. Count PHIs for real operands as
|
||
statements that need to be copied. Do not count ASSERT_EXPRs.
|
||
Look at all the blocks in the thread path. Compute and selectively
|
||
filter thread paths based on threading through the latch, threading
|
||
a multiway branch or crossing a multiway branch.
|
||
|
||
2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
|
||
decl with __attribute__ ((unused)) annotation.
|
||
|
||
2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/69421
|
||
* tree-vect-stmts.c (vectorizable_condition): Check vectype
|
||
of operands is compatible with a statement vectype.
|
||
|
||
2016-01-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/extend.texi (scalar_storage_order type attribute): Fix typo and
|
||
improve wording for mixed storage order support.
|
||
|
||
2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
|
||
|
||
* config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
|
||
(vcvt_u64_f64): Likewise.
|
||
(vcvta_s64_f64): Likewise.
|
||
(vcvta_u64_f64): Likewise.
|
||
(vcvtm_s64_f64): Likewise.
|
||
(vcvtm_u64_f64): Likewise.
|
||
(vcvtn_s64_f64): Likewise.
|
||
(vcvtn_u64_f64): Likewise.
|
||
(vcvtp_s64_f64): Likewise.
|
||
(vcvtp_u64_f64): Likewise.
|
||
|
||
2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
|
||
(arc_init): Check validity mll64 option.
|
||
(arc_save_restore): Use double load/store instruction.
|
||
(arc_expand_movmem): Likewise.
|
||
(arc_split_move): Don't split if we have double load/store
|
||
instructions. Returns a boolean.
|
||
(arc_process_double_reg_moves): Change function to return boolean
|
||
instead of a sequence of instructions.
|
||
(arc_dwarf_register_span): New function.
|
||
* config/arc/arc-protos.h (arc_split_move): Change prototype.
|
||
* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
|
||
* config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
|
||
(*movdf_insn): Likewise.
|
||
* config/arc/arc.opt (mll64): New option.
|
||
* config/arc/predicates.md (even_register_operand): New predicate.
|
||
* doc/invoke.texi (ARC Options): Add mll64 documentation.
|
||
|
||
2016-01-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/69393
|
||
* dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
|
||
* tree-streamer-out.c (pack_ts_base_value_fields): Stream
|
||
DECL_NAMELESS.
|
||
* tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
|
||
|
||
2016-01-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69376
|
||
* tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
|
||
flag.
|
||
(VN_INFO_ANTI_RANGE_P): New inline.
|
||
(VN_INFO_RANGE_TYPE): Likewise.
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
|
||
SSA_NAME_ANTI_RANGE_P.
|
||
(free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
|
||
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
|
||
Properly query VN_INFO_RANGE_TYPE.
|
||
|
||
2016-01-25 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/66655
|
||
* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
|
||
|
||
2016-01-23 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69426
|
||
* tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
|
||
removed clobber.
|
||
|
||
2016-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-ssanames.c (release_free_names_and_compact_live_names): Replace
|
||
"the the" with "the" in the comments.
|
||
* ipa-devirt.c (build_type_inheritance_graph,
|
||
update_type_inheritance_graph): Likewise.
|
||
* tree.c (build_function_type_list_1): Likewise.
|
||
* cfgloopmanip.c (scale_loop_profile): Likewise.
|
||
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
|
||
* gimple-ssa-split-paths.c
|
||
(find_block_to_duplicate_for_splitting_paths): Likewise.
|
||
* tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
|
||
* expr.c (convert_move): Likewise.
|
||
* var-tracking.c (vt_stack_adjustments): Likewise.
|
||
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
|
||
* tree-vrp.c (test_for_singularity): Likewise.
|
||
|
||
* tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
|
||
directly instead of building a temporary tree.
|
||
|
||
PR bootstrap/69434
|
||
* genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
|
||
remove <algorithm> include.
|
||
|
||
2016-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69432
|
||
* config/i386/i386.c: Include dojump.h.
|
||
(expand_small_movmem_or_setmem,
|
||
expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
|
||
fixes.
|
||
(ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
|
||
if dynamic_check != -1.
|
||
|
||
2016-01-21 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/69347
|
||
* tree-ssa-dom.c (back_propagate_equivalences): Factored out of
|
||
record_temporary_equivalences. Rewritten to avoid unnecessary calls
|
||
into dominated_by_p.
|
||
(cprop_into_successor_phis): Avoid unnecessary tests.
|
||
|
||
2016-01-22 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/69416
|
||
* config/aarch64/aarch64.md (UNSPEC_NZCV): New.
|
||
(ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
|
||
|
||
2016-01-22 Michael Matz <matz@suse.de>
|
||
|
||
* system.h (string, algorithm): Include only conditionally.
|
||
(new): Include always under C++.
|
||
* bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
|
||
* final.c (toplevel): Ditto.
|
||
* ipa-chkp.c (toplevel): Define INCLUDE_STRING.
|
||
* genconditions.c (write_header): Make gencondmd.c define
|
||
INCLUDE_STRING.
|
||
* mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
|
||
|
||
* config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
|
||
* common/config/aarch64/aarch64-common.c (toplevel): Ditto.
|
||
|
||
2016-01-22 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/68674
|
||
* expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
|
||
|
||
2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69403
|
||
* config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
|
||
define_insn_and_split. Ensure operands[1] and operands[0] do not
|
||
get assigned the same register.
|
||
|
||
2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
* ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
|
||
|
||
2016-01-22 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* config/arm/arm-c.c (arm_pragma_target_parse):
|
||
Remove warn_builtin_macro_redefined overwrite.
|
||
|
||
2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* ipa-inline.c (can_inline_edge_p): Back out overzealous check on
|
||
flag_non_call_exceptions compatibility.
|
||
|
||
2016-01-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/66668
|
||
* dwarf2out.c (add_child_die_after): New function.
|
||
(dwarf_qual_info_t): New type.
|
||
(dwarf_qual_info): New variable.
|
||
(qualified_die_p): New function.
|
||
(modified_type_die): For -fdebug-types-section, ensure
|
||
canonical order of qualifiers. Put qualified DIEs adjacent
|
||
to the corresponding non-qualified type DIE and search there
|
||
for existing qualified DIEs.
|
||
|
||
2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* doc/extend.texi (scalar_storage_order type attribute): Document
|
||
restriction on type punning and aliasing, and remove future tense.
|
||
|
||
2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
|
||
|
||
PR target/69252
|
||
* modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
|
||
first stage.
|
||
|
||
2016-01-21 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/69347
|
||
* tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
|
||
useless call to record_temporary_equivalences.
|
||
* tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
|
||
allocate 10 slots in the bb_path vector and let it grow as needed.
|
||
(fsm_find_control_statement_thread_paths): Similarly for the next_path
|
||
vector.
|
||
|
||
2016-01-21 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
|
||
Detangle.
|
||
* configure: Regenerate.
|
||
|
||
2016-01-21 Pat Haugen <pthaugen@us.ibm.com>
|
||
|
||
* config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
|
||
* config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
|
||
|
||
2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR middle-end/66178
|
||
* expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
|
||
drop EXPAND_INITIALIZER.
|
||
* rtl.h (contains_symbolic_reference_p): Declare.
|
||
* rtlanal.c (contains_symbolic_reference_p): New function.
|
||
* simplify-rtx.c (simplify_binary_operation_1): Don't turn
|
||
a subtraction into a NOT if symbolic constants are involved.
|
||
|
||
2016-01-21 Anton Blanchard <anton@samba.org>
|
||
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/63354
|
||
* config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
|
||
#define.
|
||
* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
|
||
function.
|
||
|
||
2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
|
||
|
||
* config/microblaze/microblaze.c
|
||
(get_branch_target): New.
|
||
(insert_wic_for_ilb_runout): New.
|
||
(insert_wic): New.
|
||
(microblaze_machine_dependent_reorg): New.
|
||
(TARGET_MACHINE_DEPENDENT_REORG): Define macro.
|
||
* config/microblaze/microblaze.md
|
||
(UNSPEC_IPREFETCH): Define.
|
||
(iprefetch): New pattern
|
||
* config/microblaze/microblaze.opt
|
||
(mxl-prefetch): New flag.
|
||
|
||
2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
|
||
|
||
* config/microblaze/microblaze.h
|
||
(FIXED_REGISTERS): Update in macro.
|
||
(CALL_USED_REGISTERS): Update in macro.
|
||
|
||
2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR rtl-optimization/68920
|
||
* ifcvt.c (cond_move_process_if_block): Limit number of conditional
|
||
moves.
|
||
|
||
2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/68990
|
||
* lra-coalesce.c (lra_coalesce): Invalidate value for the result
|
||
pseudo instead of inheritance ones.
|
||
|
||
2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/69129
|
||
PR target/69012
|
||
* config/mips/mips.c (mips_compute_frame_info): Initialise
|
||
args_size and hard_frame_pointer_offset fields of the frame
|
||
structure before calling mips_global_pointer.
|
||
|
||
2016-01-21 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
|
||
label reference.
|
||
* configure: Regenerate.
|
||
|
||
2016-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
* graphite-optimize-isl.c (get_schedule_map): Fix typo.
|
||
|
||
2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
|
||
|
||
* config/s390/s390.c (s390_asm_declare_function_size): Add code
|
||
to actually emit the .size directive.
|
||
|
||
2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69187
|
||
PR target/65624
|
||
* config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
|
||
args array size by one to avoid buffer overflow.
|
||
|
||
2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
|
||
|
||
* config/s390/s390.md (pool_section_start): Use switch_to_section
|
||
to select proper read-only data section instead of hardcoding
|
||
.rodata.
|
||
(pool_section_end): Use switch_to_section to match the above.
|
||
|
||
2016-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69378
|
||
* tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
|
||
(set_ssa_val_to): Use it for dominance checks taking into
|
||
account not executable edges.
|
||
|
||
2016-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/69355
|
||
* tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
|
||
for bitsize instead of GET_MODE_PRECISION (mode).
|
||
|
||
2016-01-20 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/52291
|
||
* extend.texi (__sync Builtins): Clarify the semantics of
|
||
__sync_fetch_and_OP built-ins on pointers.
|
||
(__atomic Builtins): Same.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
|
||
(class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
|
||
(is_valid_rename): Same.
|
||
(translate_isl_ast_to_gimple::get_rename): Same.
|
||
(translate_isl_ast_to_gimple::rename_all_uses): Same.
|
||
(translate_isl_ast_to_gimple::rename_uses): Same.
|
||
(get_new_name): Check for close_phi nodes.
|
||
(copy_loop_phi_args): Use phi_node_kind.
|
||
(translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
|
||
(translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
Revert commit r229783.
|
||
* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
|
||
Remove use of parameter_rename_map.
|
||
(copy_def): Remove.
|
||
(copy_internal_parameters): Remove.
|
||
(graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
|
||
* sese.c (new_sese_info): Do not initialize parameter_rename_map.
|
||
(free_sese_info): Do not free parameter_rename_map.
|
||
(set_rename): Do not use parameter_rename_map.
|
||
(rename_uses): Update call to set_rename.
|
||
(graphite_copy_stmts_from_block): Do not use parameter_rename_map.
|
||
* sese.h (parameter_rename_map_t): Remove.
|
||
(struct sese_info_t): Remove field parameter_rename_map.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c: Fix comment.
|
||
* graphite-scop-detection.c (defined_in_loop_p): New.
|
||
(canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
|
||
names defined in loop.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
|
||
Discard unstructured if-then-else regions.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
|
||
(cleanup_loop_iter_dom): Remove.
|
||
(build_loop_iteration_domains): Remove.
|
||
(build_scop_context): Remove.
|
||
(build_scop_iteration_domain): Remove.
|
||
(add_loop_constraints): New.
|
||
(build_iteration_domains): New.
|
||
(build_poly_scop): Call build_iteration_domains.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c
|
||
(scop_detection::harmful_loop_in_region): Free dom and loops.
|
||
(scop_detection::loop_body_is_valid_scop): Free bbs.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c (record_loop_in_sese): New.
|
||
(gather_bbs::before_dom_children): Call record_loop_in_sese.
|
||
(build_scops): Remove call to build_sese_loop_nests.
|
||
* sese.c (sese_record_loop): Remove.
|
||
(build_sese_loop_nests): Remove.
|
||
(new_sese_info): Remove region->loops.
|
||
(free_sese_info): Same.
|
||
* sese.h (sese_contains_loop): Same.
|
||
(build_sese_loop_nests): Remove.
|
||
(sese_contains_loop): Remove.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-scop-detection.c (loop_is_valid_scop): Renamed loop_is_valid_in_scop.
|
||
(scop_detection::harmful_stmt_in_region): Renamed harmful_loop_in_region.
|
||
Call loop_is_valid_in_scop.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
|
||
isl_ast_node_mark.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
|
||
* graphite.h (struct poly_bb): Remove field is_reduction.
|
||
(PBB_IS_REDUCTION): Remove.
|
||
|
||
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
|
||
Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
|
||
(add_pdr_constraints): Same.
|
||
(scop_get_reads): Same.
|
||
(scop_get_must_writes): Same.
|
||
(scop_get_may_writes): Same.
|
||
(scop_get_original_schedule): Same.
|
||
(extend_schedule): Same.
|
||
(apply_schedule_on_deps): Same.
|
||
(carries_deps): Same.
|
||
(compute_deps): Same.
|
||
(scop_get_dependences): Same.
|
||
* graphite-isl-ast-to-gimple.c
|
||
(translate_isl_ast_to_gimple::generate_isl_schedule): Same.
|
||
* graphite-optimize-isl.c (get_schedule_for_band): Same.
|
||
(get_schedule_for_band_list): Same.
|
||
(get_schedule_map): Same.
|
||
(apply_schedule_map_to_scop): Same.
|
||
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
|
||
(build_loop_iteration_domains): Same.
|
||
(add_condition_to_pbb): Same.
|
||
(add_param_constraints): Same.
|
||
(pdr_add_memory_accesses): Same.
|
||
(pdr_add_data_dimensions): Same.
|
||
|
||
2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
|
||
requirements.
|
||
|
||
2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* common.opt (feliminate-dwarf2-dups): Replace references to
|
||
"DWARF 2" with just "DWARF".
|
||
* config/ia64/ia64.opt (mdwarf2-asm): Likewise.
|
||
* doc/extend.texi: Likewise.
|
||
* doc/cpp.texi: Likewise.
|
||
* doc/invoke.texi: Likewise.
|
||
(Option Summary): Add -gdwarf to list of Debugging Options.
|
||
(Debugging Options): Document -gdwarf.
|
||
* doc/contrib.texi: Spell "DWARF" like that.
|
||
|
||
2016-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
|
||
warning. Fix up formatting.
|
||
|
||
PR middle-end/67653
|
||
* gimplify.c (gimplify_asm_expr): Warn if it is too late to
|
||
attempt to mark memory input operand addressable and
|
||
call prepare_gimple_addressable in that case. Don't adjust
|
||
input_location for diagnostics, use error_at instead.
|
||
|
||
2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
* config/rs6000/ppc-auxv.h: New file.
|
||
* config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
|
||
(cpu_is): Likewise.
|
||
(cpu_supports): Likewise.
|
||
* config/rs6000/rs6000.c: include "ppc-auxv.h".
|
||
(cpu_is_info): New variable.
|
||
(cpu_supports_info): Likewise.
|
||
(tcb_verification_symbol): Likewise.
|
||
(cpu_builtin_p): Likewise.
|
||
(cpu_expand_builtin): New function.
|
||
(rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
|
||
(rs6000_init_builtins): Likewise.
|
||
(rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
|
||
* config/rs6000/rs6000.h (TLS_REGNUM): New define.
|
||
* configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
|
||
* configure: Regenerate.
|
||
* config.in: Likewise.
|
||
* doc/extend.texi (PowerPC Built-in Functions): Document
|
||
__builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
|
||
|
||
2016-01-20 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/68609
|
||
* config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
|
||
domain check.
|
||
* config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
|
||
for V4SFmode.
|
||
|
||
2016-01-20 Richard Henderson <rth@redhat.com>
|
||
|
||
PR bootstrap/69343
|
||
PR bootstrap/69339
|
||
PR tree-opt/68964
|
||
Revert:
|
||
* tree.c (tm_define_builtin): New.
|
||
(find_tm_vector_type): New.
|
||
(build_tm_vector_builtins): New.
|
||
(build_common_builtin_nodes): Call it.
|
||
|
||
2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
|
||
(arm_fp_ok): Likewise.
|
||
(arm_fp): Likewise.
|
||
(arm_crypto): Likewise.
|
||
|
||
2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69328
|
||
* tree-vect-stmts.c (vect_is_simple_cond): Check compared
|
||
vectors have same number of elements.
|
||
(vectorizable_condition): Fix masked version recognition.
|
||
|
||
2016-01-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69345
|
||
* tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
|
||
(VN_INFO_PTR_INFO): Likewise.
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
|
||
info when it is equal between non-dominating SSA names.
|
||
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
|
||
Make sure to look at original SSA infos.
|
||
|
||
2016-01-20 Jeff Law <law@redhat.com>
|
||
|
||
PR target/25114
|
||
* config/m68k/predicates.md (pow2_m1_operand): New predicate
|
||
extracted from ...
|
||
(reg_or_pow2_m1_operand): Call pow2_m1_operand.
|
||
(pc_or_label_operand): New predicate.
|
||
* config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
|
||
tests for small integers that are 2^n - 1.
|
||
|
||
2016-01-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (Options Summary): Add '.' after @xref.
|
||
|
||
2016-01-19 Jeff Law <law@redhat.com>
|
||
|
||
PR middle-end/69347
|
||
* tree-ssa-threadbackwards.c
|
||
(fsm_find_control_statement_thread_paths): Do not try to lookup
|
||
FSM paths for SSA_NAMEs appearing in abnormal PHIs.
|
||
|
||
2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
* doc/lto.texi: Remove text that says only Gold has linker plugin
|
||
support.
|
||
|
||
2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* dwarf2out.c (need_endianity_attribute_p): New inline predicate.
|
||
(base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
|
||
the DIE accordingly.
|
||
(modified_type_die): Add REVERSE parameter and pass it recursively,
|
||
as well as to base_type_die. Adjust presence check accordingly.
|
||
(base_type_for_mode): Adjust call to modified_type_die.
|
||
(add_type_attribute): Add REVERSE parameter and pass it to
|
||
modified_type_die.
|
||
(generic_parameter_die): Adjust call to add_type_attribute.
|
||
(add_scalar_info): Likewise.
|
||
(add_subscript_info): Likewise.
|
||
(gen_array_type_die): Likewise.
|
||
(gen_descr_array_type_die): Likewise.
|
||
(gen_entry_point_die): Likewise.
|
||
(gen_enumeration_type_die): Likewise.
|
||
(gen_formal_parameter_die): Likewise.
|
||
(gen_subprogram_die): Likewise.
|
||
(gen_variable_die ): Likewise.
|
||
(gen_const_die): Likewise.
|
||
(gen_field_die): Likewise.
|
||
(gen_pointer_type_die): Likewise.
|
||
(gen_reference_type_die): Likewise.
|
||
(gen_ptr_to_mbr_type_die): Likewise.
|
||
(gen_inheritance_die): Likewise.
|
||
(gen_subroutine_type_die): Likewise.
|
||
(gen_typedef_die): Likewise.
|
||
(force_type_die): Adjust call to modified_type_die.
|
||
|
||
2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/standards.texi: Copy-editing for grammar, markup, and sentence
|
||
flow throughout the file. Fix broken link to Objective-C 2.0
|
||
documentation.
|
||
* doc/invoke.texi: More copy-editing; fix numerous typos and spelling
|
||
errors.
|
||
|
||
2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/66223
|
||
* ipa-devirt.c (is_cxa_pure_virtual_p): New function.
|
||
(maybe_record_node): Record cxa_pure_virtual as the only possible
|
||
target if there are not ohter candidates.
|
||
(possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
|
||
|
||
2016-01-19 Richard Biener <rguenther@suse.de>
|
||
|
||
* hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
|
||
(get_memory_order): Likewise.
|
||
|
||
2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
* tree-vect-stmts.c (vectorizable_store): Check
|
||
rhs vectype.
|
||
|
||
2016-01-19 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR jit/68446
|
||
* gcc.c (driver::decode_argv): Add call to
|
||
init_opts_obstack before init_options_struct.
|
||
* opts.c (init_opts_obstack): Remove idempotency.
|
||
(init_options_struct): Replace call to init_opts_obstack
|
||
with a gcc_assert to verify that it has already been called.
|
||
* toplev.c (toplev::main): Add call to init_opts_obstack before
|
||
calls to init_options_struct.
|
||
(toplev::finalize): Move cleanup of opts_obstack next to
|
||
cleanup of save_decoded_options, clearing the latter, and
|
||
save_decoded_options_count.
|
||
|
||
2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/69135
|
||
* config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
|
||
attribute to unconditional. Remove %? from output template.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
|
||
generated from different expand order.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
|
||
Add support for CCMP costing.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
|
||
* config/aarch64/aarch64.md (fccmp<mode>): New pattern.
|
||
(fccmpe<mode>): Likewise.
|
||
(fcmp): Rename to fcmp and globalize pattern.
|
||
(fcmpe): Likewise.
|
||
* config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
|
||
(aarch64_gen_ccmp_next): Add FP support.
|
||
|
||
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* target.def (gen_ccmp_first): Update documentation.
|
||
(gen_ccmp_next): Likewise.
|
||
* doc/tm.texi (gen_ccmp_first): Update documentation.
|
||
(gen_ccmp_next): Likewise.
|
||
* ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
|
||
expand_ccmp_expr_1. Improve comments.
|
||
* config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
|
||
(ccmp_ior<mode>): Remove pattern.
|
||
(cmp<mode>): Remove expand.
|
||
(cmp): Globalize pattern.
|
||
(cstorecc4): Use cc_register.
|
||
(mov<mode>cc): Remove ccmp_cc_register check.
|
||
* config/aarch64/aarch64.c (aarch64_get_condition_code_1):
|
||
Simplify after removal of CC_DNE/* modes.
|
||
(aarch64_ccmp_mode_to_code): Remove.
|
||
(aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
|
||
In 'k' case use integer as condition.
|
||
(aarch64_nzcv_codes): Remove inverted cases.
|
||
(aarch64_code_to_ccmode): Remove.
|
||
(aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
|
||
comparison with CC register to be used in folowing CCMP/branch/CSEL.
|
||
(aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
|
||
pattern. Return the comparison with CC register. Invert conditions
|
||
when bitcode is OR.
|
||
* config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
|
||
* config/aarch64/predicates.md (ccmp_cc_register): Remove.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* cgraphunit.c (cgraph_node::reset): Clear thunk info and
|
||
instrumented_version.
|
||
|
||
2016-01-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69336
|
||
* tree-ssa-scopedtables.c (avail_expr_hash): Handle all
|
||
handled components with get_ref_base_and_extent.
|
||
(equal_mem_array_ref_p): Adjust.
|
||
|
||
2016-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/65779
|
||
* shrink-wrap.c: Include valtrack.h.
|
||
(move_insn_for_shrink_wrap): Add DEBUG argument. If
|
||
MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
|
||
in between insn and where it will be moved to. Call
|
||
dead_debug_insert_temp.
|
||
(prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
|
||
first and dead_debug_local_finish at the end.
|
||
For uses and defs bitmap, handle all regs in between REGNO and
|
||
END_REGNO, not just the first one.
|
||
|
||
2016-01-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69352
|
||
* tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
|
||
(equal_mem_array_ref_p): Constrain size and max size properly.
|
||
Compare the reverse flag.
|
||
|
||
2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* ira.c (ira): Update regstat data if we deleted insns.
|
||
|
||
2016-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/68955
|
||
PR rtl-optimization/64557
|
||
* dse.c (record_store, check_mem_read_rtx): Don't call get_addr
|
||
here. Fix up formatting.
|
||
* alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/69133
|
||
* cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
|
||
assume that the node has body.
|
||
* cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
|
||
check.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* lto-streamer-out.c (lto_output): Do not stream instrumentation
|
||
thunks.
|
||
|
||
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* symtab.c (symtab_node::asm_name): Do not call printable name directly.
|
||
(symtab_node::name): Report name as unnamed if DECL_NAME is not set.
|
||
|
||
2016-01-19 Martin Jambor <mjambor@suse.cz>
|
||
Martin Liska <mliska@suse.cz>
|
||
Michael Matz <matz@suse.de>
|
||
|
||
* Makefile.in (OBJS): Add new source files.
|
||
(GTFILES): Add hsa.c.
|
||
* common.opt (disable_hsa): New variable.
|
||
(-Whsa): New warning.
|
||
* config.in (ENABLE_HSA): New.
|
||
* configure.ac: Treat hsa differently from other accelerators.
|
||
(OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
|
||
$enable_offloading.
|
||
(ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
|
||
* doc/install.texi (Configuration): Document --with-hsa-runtime,
|
||
--with-hsa-runtime-include, --with-hsa-runtime-lib and
|
||
--with-hsa-kmt-lib.
|
||
* doc/invoke.texi (-Whsa): Document.
|
||
(hsa-gen-debug-stores): Likewise.
|
||
* lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
|
||
to invoke offload compiler for hsa acclerator.
|
||
* opts.c (common_handle_option): Determine whether HSA offloading
|
||
should be performed.
|
||
* params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
|
||
* builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
|
||
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
|
||
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
|
||
* gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
|
||
* gimple-pretty-print.c (dump_gimple_omp_for): Also handle
|
||
GF_OMP_FOR_KIND_GRID_LOOP.
|
||
(dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
|
||
(pp_gimple_stmt_1): Likewise.
|
||
* gimple-walk.c (walk_gimple_stmt): Likewise.
|
||
* gimple.c (gimple_build_omp_grid_body): New function.
|
||
(gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
|
||
* gimple.def (GIMPLE_OMP_GRID_BODY): New.
|
||
* gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
|
||
GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
|
||
GF_OMP_TEAMS_GRID_PHONY.
|
||
(gimple_statement_omp_single_layout): Updated comments.
|
||
(gimple_build_omp_grid_body): New function.
|
||
(gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
|
||
(gimple_omp_for_grid_phony): New function.
|
||
(gimple_omp_for_set_grid_phony): Likewise.
|
||
(gimple_omp_parallel_grid_phony): Likewise.
|
||
(gimple_omp_parallel_set_grid_phony): Likewise.
|
||
(gimple_omp_teams_grid_phony): Likewise.
|
||
(gimple_omp_teams_set_grid_phony): Likewise.
|
||
(gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
|
||
* omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
|
||
(BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
|
||
(BUILT_IN_GOMP_TARGET): Updated type.
|
||
* omp-low.c: Include symbol-summary.h, hsa.h and params.h.
|
||
(adjust_for_condition): New function.
|
||
(get_omp_for_step_from_incr): Likewise.
|
||
(extract_omp_for_data): Moved parts to adjust_for_condition and
|
||
get_omp_for_step_from_incr.
|
||
(build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
|
||
(fixup_child_record_type): Bail out if receiver_decl is NULL.
|
||
(scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
|
||
(scan_omp_parallel): Do not create child functions for phony
|
||
constructs.
|
||
(check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
|
||
(scan_omp_1_op): Checking assert we are not remapping to
|
||
ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
|
||
(parallel_needs_hsa_kernel_p): New function.
|
||
(expand_parallel_call): Register apprpriate parallel child
|
||
functions as HSA kernels.
|
||
(grid_launch_attributes_trees): New type.
|
||
(grid_attr_trees): New variable.
|
||
(grid_create_kernel_launch_attr_types): New function.
|
||
(grid_insert_store_range_dim): Likewise.
|
||
(grid_get_kernel_launch_attributes): Likewise.
|
||
(get_target_argument_identifier_1): Likewise.
|
||
(get_target_argument_identifier): Likewise.
|
||
(get_target_argument_value): Likewise.
|
||
(push_target_argument_according_to_value): Likewise.
|
||
(get_target_arguments): Likewise.
|
||
(expand_omp_target): Call get_target_arguments instead of looking
|
||
up for teams and thread limit.
|
||
(grid_expand_omp_for_loop): New function.
|
||
(grid_arg_decl_map): New type.
|
||
(grid_remap_kernel_arg_accesses): New function.
|
||
(grid_expand_target_kernel_body): New function.
|
||
(expand_omp): Call it.
|
||
(lower_omp_for): Do not emit phony constructs.
|
||
(lower_omp_taskreg): Do not emit phony constructs but create for them
|
||
a temporary variable receiver_decl.
|
||
(lower_omp_taskreg): Do not emit phony constructs.
|
||
(lower_omp_teams): Likewise.
|
||
(lower_omp_grid_body): New function.
|
||
(lower_omp_1): Call it.
|
||
(grid_reg_assignment_to_local_var_p): New function.
|
||
(grid_seq_only_contains_local_assignments): Likewise.
|
||
(grid_find_single_omp_among_assignments_1): Likewise.
|
||
(grid_find_single_omp_among_assignments): Likewise.
|
||
(grid_find_ungridifiable_statement): Likewise.
|
||
(grid_target_follows_gridifiable_pattern): Likewise.
|
||
(grid_remap_prebody_decls): Likewise.
|
||
(grid_copy_leading_local_assignments): Likewise.
|
||
(grid_process_kernel_body_copy): Likewise.
|
||
(grid_attempt_target_gridification): Likewise.
|
||
(grid_gridify_all_targets_stmt): Likewise.
|
||
(grid_gridify_all_targets): Likewise.
|
||
(execute_lower_omp): Call grid_gridify_all_targets.
|
||
(make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
|
||
* tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
|
||
(tree_omp_clause): Added union field dimension.
|
||
* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
|
||
* tree.c (omp_clause_num_ops): Added number of arguments of
|
||
OMP_CLAUSE__GRIDDIM_.
|
||
(omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
|
||
(walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
|
||
* tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
|
||
(OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
|
||
(OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
|
||
(OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
|
||
* passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
|
||
* tree-pass.h (make_pass_gen_hsail): Declare.
|
||
(make_pass_ipa_hsa): Likewise.
|
||
* ipa-hsa.c: New file.
|
||
* lto-section-in.c (lto_section_name): Add hsa section name.
|
||
* lto-streamer.h (lto_section_type): Add hsa section.
|
||
* timevar.def (TV_IPA_HSA): New.
|
||
* hsa-brig-format.h: New file.
|
||
* hsa-brig.c: New file.
|
||
* hsa-dump.c: Likewise.
|
||
* hsa-gen.c: Likewise.
|
||
* hsa.c: Likewise.
|
||
* hsa.h: Likewise.
|
||
* toplev.c (compile_file): Call hsa_output_brig.
|
||
* hsa-regalloc.c: New file.
|
||
|
||
2016-01-18 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69320
|
||
* tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
|
||
ranged object, do nothing if the RHS constant is not [0..1].
|
||
(optimize_stmt): Comparing a boolean ranged object against a
|
||
constant outside [0..1] results in a compile-time constant.
|
||
|
||
* tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
|
||
test.
|
||
|
||
2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Invoking GCC): Add new section to menu.
|
||
(Option Summary): Update to reflect new section and moved options.
|
||
(C++ Dialect Options): Move -fstats to new section.
|
||
(Debugging Options): Move all dump, statistics, and other GCC
|
||
developer options to new section. Rewrite section introduction
|
||
and re-order remaining options to put the more basic ones first.
|
||
(Optimization Options): Move -fira-verbose and -flto-report* to
|
||
new section.
|
||
(Developer Options): New section incorporating moved options.
|
||
* doc/cppopts.texi (-dM): Update cross-reference.
|
||
|
||
2016-01-18 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/69176
|
||
* config/aarch64/aarch64.md (add<GPI>3): Move long immediate
|
||
operands to pseudo only if CSE is expected. Split long immediate
|
||
operands only after reload, and for the stack pointer.
|
||
(*add<GPI>3_pluslong): Remove.
|
||
(*addsi3_aarch64, *adddi3_aarch64): Merge into...
|
||
(*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
|
||
(*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
|
||
(*add<GPI>3 peepholes): New.
|
||
(*add<GPI>3 splitters): New.
|
||
* config/aarch64/constraints.md (Upl): New.
|
||
* config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
|
||
|
||
2016-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69297
|
||
* tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
|
||
stmt at most once.
|
||
(vect_bb_vectorization_profitable_p): Clear visited flag again.
|
||
|
||
2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR middle-end/68542
|
||
* fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
|
||
of mixind vector and scalar types.
|
||
(fold_relational_const): Add handling of vector
|
||
comparison with boolean result.
|
||
* tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
|
||
comparison of vector operands with boolean result for EQ/NE only.
|
||
(verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
|
||
(verify_gimple_cond): Likewise.
|
||
* tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
|
||
valid type of VAL.
|
||
|
||
2016-01-18 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
|
||
!TARGET_OCTEON.
|
||
|
||
2016-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/69308
|
||
* gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
|
||
|
||
2016-01-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
|
||
|
||
2016-01-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* omp-low.c (set_oacc_fn_attrib): Make extern.
|
||
* omp-low.h (set_oacc_fn_attrib): Declare.
|
||
* tree-parloops.c (struct reduction_info): Add reduc_addr field.
|
||
(create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
|
||
(create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
|
||
Add and handle function parameter oacc_kernels_p.
|
||
(find_reduc_addr, get_omp_data_i_param): New function.
|
||
(ref_conflicts_with_region, oacc_entry_exit_ok_1)
|
||
(oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
|
||
(parallelize_loops): Add and handle function parameter oacc_kernels_p.
|
||
Calculate dominance info. Skip loops that are not in a kernels region
|
||
in oacc_kernels_p mode. Skip inner loops of parallelized loops.
|
||
(pass_parallelize_loops::execute): Call parallelize_loops with
|
||
oacc_kernels_p argument.
|
||
(pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
|
||
New member function.
|
||
(pass_parallelize_loops::bool oacc_kernels_p): New member var.
|
||
* passes.def: Add argument to pass_parallelize_loops instantation.
|
||
|
||
2016-01-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-parloops.c (pass_parallelize_loops::execute): Allow
|
||
pass_parallelize_loops to be run outside the loop pipeline.
|
||
|
||
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* tree-scalar-evolution.c (follow_copies_to_constant): New.
|
||
(analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
|
||
|
||
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
PR target/63679
|
||
* tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
|
||
using get_ref_base_and_extent.
|
||
(equal_mem_array_ref_p): New.
|
||
(hashable_expr_equal_p): Add call to previous.
|
||
|
||
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
PR target/63679
|
||
* tree-sra.c (disqualified_constants, constant_decl_p): New.
|
||
(sra_initialize): Allocate disqualified_constants.
|
||
(sra_deinitialize): Free disqualified_constants.
|
||
(disqualify_candidate): Update disqualified_constants when appropriate.
|
||
(create_access): Scan for constant-pool entries as we go along.
|
||
(scalarizable_type_p): Add check against type_contains_placeholder_p.
|
||
(maybe_add_sra_candidate): Allow constant-pool entries.
|
||
(load_assign_lhs_subreplacements): Bind debug for constant pool vars.
|
||
(initialize_constant_pool_replacements): New.
|
||
(sra_modify_assign): Avoid mangling assignments created by previous,
|
||
and don't generate writes into constant pool.
|
||
(sra_modify_function_body): Call initialize_constant_pool_replacements.
|
||
|
||
2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* config/i386/i386.c (scalar_to_vector_candidate_p): Support
|
||
andnot instruction.
|
||
(scalar_chain::convert_op): Likewise.
|
||
* config/i386/i386.md (*andndi3_doubleword): New.
|
||
|
||
2016-01-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69170
|
||
* tree-vect-slp.c (vect_build_slp_tree): Verify we are not
|
||
building a vector from scalar results of a pattern stmt.
|
||
|
||
2016-01-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* haifa-sched.c (autopref_multipass_init): Work around
|
||
-Wmaybe-uninitialized warning.
|
||
|
||
2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* config/arm/arm.c (thumb1_reorg): Check that the comparison is
|
||
against the constant 0.
|
||
|
||
2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR tree-optimization/68799
|
||
* gimple-ssa-strength-reduction.c (create_phi_basis): Directly
|
||
look up phi candidates in the statement-candidate map.
|
||
(phi_add_costs): Likewise.
|
||
(record_phi_increments): Likewise.
|
||
(phi_incr_cost): Likewise.
|
||
(ncd_with_phi): Likewise.
|
||
(all_phi_incrs_profitable): Likewise.
|
||
|
||
2016-01-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (mark_loops_in_oacc_kernels_region): Work around
|
||
-Wmaybe-uninitialized warning.
|
||
|
||
2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Invoking GCC): Add new section to menu.
|
||
(Option Summary): Update to reflect new section and moved options.
|
||
(C++ Dialect Options): Move -fvtable-verify and related options.
|
||
(Debugging Options): Move Sanitizer, Pointer Bounds Checker,
|
||
and profiling-related options.
|
||
(Optimization Options): Move profile generation options and
|
||
-fstack-protector and related options.
|
||
(Instrumentation Options): New section incorporating moved options.
|
||
(Code Generation Options): Move -finstrument-functions and
|
||
related options, -fstack-check, -fstack-limit*, and -fbounds-check.
|
||
|
||
2016-01-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
|
||
|
||
2016-01-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
|
||
|
||
2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* hash-table.h (hash_table::empty): Turn into an inline wrapper
|
||
that checks whether the table is already empty. Rename the
|
||
original implementation to...
|
||
(hash_table::empty_slot): ...this new private function.
|
||
|
||
2016-01-15 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR diagnostic/68899
|
||
* diagnostic-show-locus.c (layout::print_source_line): Move x
|
||
offset of line until after call to
|
||
get_line_width_without_trailing_whitespace.
|
||
|
||
2016-01-15 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69270
|
||
* tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
|
||
tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
|
||
* tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
|
||
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
|
||
ssa_name_has_boolean_range and constant_boolean_node.
|
||
|
||
2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/69030
|
||
* lra-spills.c (remove_pseudos): Check nrefs and make the function
|
||
returning bool.
|
||
(spill_pseudos): Delete debug insn for dead pseudo.
|
||
(lra_spill): Initiate spill_hard_reg and slots memory separately.
|
||
|
||
2016-01-15 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
|
||
New.
|
||
(TYPES_UNOPUS): Likewise.
|
||
* config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
|
||
builtin type, from UNOP to UNOPUS.
|
||
(lbtruncuv4sf): Likewise.
|
||
(lbtruncuv2df): Likewise.
|
||
(lrounduv2sf): Likewise.
|
||
(lrounduv4sf): Likewise.
|
||
(lrounduv2df): Likewise.
|
||
(lroundusf): Likewise.
|
||
(lroundusf): Likewise.
|
||
(lceiluv2sf): Likewise.
|
||
(lceiluv4sf): Likewise.
|
||
(lceiluv2df): Likewise.
|
||
(lceilusf): Likewise.
|
||
(lceiludf): Likewise.
|
||
(lflooruv2sf): Likewise.
|
||
(lflooruv4sf): Likewise.
|
||
(lflooruv2df): Likewise.
|
||
(lfloorusf): Likewise.
|
||
(lfloorudf): Likewise.
|
||
(lfrintnuv2sf): Likewise.
|
||
(lfrintnuv4sf): Likewise.
|
||
(lfrintnuv2df): Likewise.
|
||
(lfrintnusf): Likewise.
|
||
(lfrintnudf): Likewise.
|
||
* config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
|
||
conversion.
|
||
(vcvtq_u32_f32): Likewise.
|
||
(vcvtq_u64_f64): Likewise.
|
||
(vcvta_u32_f32): Likewise.
|
||
(vcvtaq_u32_f32): Likewise.
|
||
(vcvtaq_u64_f64): Likewise.
|
||
(vcvtm_u32_f32): Likewise.
|
||
(vcvtmq_u32_f32): Likewise.
|
||
(vcvtmq_u64_f64): Likewise.
|
||
(vcvtn_u32_f32): Likwise.
|
||
(vcvtnq_u32_f32): Likewise.
|
||
(vcvtnq_u64_f64): Likewise.
|
||
(vcvtp_u32_f32): Likewise.
|
||
(vcvtpq_u32_f32): Likewise.
|
||
(vcvtpq_u64_f64): Likewise.
|
||
(vcvtmd_u64_f64): Likewise.
|
||
(vcvtms_u32_f32): Likewise.
|
||
(vcvtad_u64_f64): Likewise.
|
||
(vcvtas_u32_f32): Likewise.
|
||
(vcvtnd_u64_f64): Likewise.
|
||
(vcvtns_u32_f32): Likewise.
|
||
(vcvtpd_u64_f64): Likewise.
|
||
(vcvtps_u32_f32): Likewise.
|
||
|
||
2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
|
||
CSEL of zero_extended registers.
|
||
|
||
2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
|
||
Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
|
||
|
||
2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
|
||
false when argument string is not found in the attributes table
|
||
at all.
|
||
|
||
2016-01-15 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/68609
|
||
* config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
|
||
(rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
|
||
* config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
|
||
precision estimate.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66856
|
||
* tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
|
||
* tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
|
||
(vect_create_new_slp_node): Increment stmt reference count.
|
||
(vect_get_and_check_slp_defs): Make sure stmts are nor already in
|
||
an SLP tree before swapping operands.
|
||
(vect_build_slp_tree): Likewise.
|
||
(destroy_bb_vec_info): Free stmt info after SLP instances.
|
||
* tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
|
||
* tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
|
||
(STMT_VINFO_NUM_SLP_USES): New macro.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/69137
|
||
* dwarf2out.c (add_linkage_name_raw): New function split out from ...
|
||
(add_linkage_name): ... here.
|
||
(gen_typedef_die): Use add_linkage_name_raw instead of
|
||
add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
|
||
if necessary.
|
||
|
||
2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* gimplify.c (oacc_default_clause): Decode reference and pointer
|
||
types for both kernels and parallel regions.
|
||
|
||
2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/69246
|
||
* calls.c (emit_call_1): Force n_popped to zero for sibcalls.
|
||
|
||
2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
|
||
(convert_scalars_to_vector): Likewise.
|
||
|
||
2016-01-15 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/extend.texi (Type Traits): Fix grammar.
|
||
|
||
2016-01-15 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* tree-inline.c (remap_decl): Use existing dclarations if
|
||
remapping a type and prevent_decl_creation_for_types.
|
||
(replace_locals_stmt): Do an initial remapping of non-VLA typed
|
||
decls first. Do real remapping with
|
||
prevent_decl_creation_for_types set.
|
||
* tree-inline.h (copy_body_data): New field
|
||
prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
|
||
padding.
|
||
|
||
2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.opt (mmvcle): More verbose help text.
|
||
|
||
2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.opt: Add period to -mzvector option text.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/68961
|
||
* tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
|
||
of invariants in stores again.
|
||
|
||
2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
|
||
|
||
2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* config/i386/i386.c (ix86_expand_branch): Don't split
|
||
DI mode xor instruction to SI mode.
|
||
|
||
2016-01-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/68148
|
||
* ipa-icf.c (sem_function::merge): Virtual functions may become
|
||
reachable even if they address is not taken and there are no
|
||
idrect calls.
|
||
|
||
2016-01-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* lto-streamer-out.c (subtract_estimated_size): New function.
|
||
(get_symbol_initial_value): Use it.
|
||
|
||
2016-01-15 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/65837
|
||
* config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
|
||
(arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
|
||
(arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
|
||
use add_builtin_function_ext_scope instead of add_builtin_function.
|
||
(neon_set_p, neon_crypto_set_p): Remove.
|
||
(arm_init_builtins): Always call arm_init_neon_builtins and
|
||
arm_init_crypto_builtins.
|
||
(arm_expand_builtin): Check that builtins are allowed for the arch.
|
||
* config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
|
||
* config/arm/arm.c (arm_valid_target_attribute_tree): Remove
|
||
arm_init_neon_builtins call.
|
||
|
||
2016-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69117
|
||
* tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
|
||
of the leader conservatively.
|
||
(free_scc_vn): Restore original SSA name infos.
|
||
|
||
2016-01-14 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69270
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
|
||
single bit of precision, verify it's also unsigned.
|
||
(record_edge_info): Use constant_boolean_node rather than fold_convert
|
||
to convert boolean_true/boolean_false to the right type.
|
||
|
||
2016-01-14 Richard Henderson <rth@redhat.com>
|
||
|
||
PR rtl-opt/69014
|
||
* loop-doloop.c (record_reg_sets): New.
|
||
(doloop_optimize): Reject the transform if the sequence
|
||
clobbers registers live at the end of the loop block.
|
||
(doloop_optimize_loops): Enable df_live if needed.
|
||
|
||
2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
|
||
* gcc/config/rs6000/rs6000.c: Likewise.
|
||
* gcc/config/rs6000/rs6000.h: Likewise.
|
||
* gcc/config/rs6000/rs6000.md: Likewise.
|
||
* gcc/doc/extend.texi: Likewsie.
|
||
|
||
2016-01-14 Jeff Law <law@redhat.com>
|
||
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
|
||
typo.
|
||
|
||
2016-01-14 Richard Henderson <rth@redhat.com>
|
||
|
||
PR c/69272
|
||
PR tree-opt/68964
|
||
* trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
|
||
* tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
|
||
instead of builtin_decl_declared_p to test for declaration.
|
||
|
||
2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
|
||
|
||
* doc/loop.texi (Loop Analysis and Representation): Document
|
||
loop_depth function.
|
||
|
||
2016-01-14 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/68773
|
||
* omp-low.c (expand_omp_target): Don't set force_output.
|
||
* varpool.c (varpool_node::get_create): Same.
|
||
* lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
|
||
offload_funcs with force_output.
|
||
|
||
2016-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/69244
|
||
* lra-eliminations.c (move_plus_up): Don't change anything if either
|
||
the outer or inner subreg mode is not MODE_INT.
|
||
* dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
|
||
integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
|
||
|
||
2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
|
||
reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
|
||
reduc_uplus_@var{m}): Remove.
|
||
* expr.c (expand_expr_real_2): Remove expansion path for
|
||
reduc_[us](min|max|plus) optabs.
|
||
* optabs-tree.c (scalar_reduc_to_vector): Remove.
|
||
* optabs-tree.h (scalar_reduc_to_vector): Remove.
|
||
* optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
|
||
reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
|
||
* tree-vect-loop.c (vectorizable_reduction): Remove test for
|
||
reduc_[us](min|max|plus) optabs.
|
||
|
||
2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
|
||
(reduc_plus_scal_v2sf): New.
|
||
(reduc_smax_v2sf): Rename to...
|
||
(reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
|
||
(reduc_smin_v2sf): Rename to...
|
||
(reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
|
||
|
||
2016-01-14 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* alias.c (compare_base_symbol_refs): New function.
|
||
(rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
|
||
it.
|
||
|
||
2016-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/68146
|
||
PR tree-optimization/69155
|
||
* tree-complex.c: Include cfganal.h.
|
||
(phis_to_revisit): New variable.
|
||
(extract_component): Add phiarg_p argument. Assert that returned
|
||
SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
|
||
(update_phi_components): Partly rewrite to use loop over real/imag
|
||
components instead of code duplication. If extract_component returns
|
||
SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
|
||
create_tmp_reg into the PHI node instead, and mention the phi triplet
|
||
in phis_to_revisit.
|
||
(tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
|
||
in phis_to_revisit at the end.
|
||
|
||
2016-01-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/68060
|
||
* tree-vect-loop.c (vect_is_simple_reduction): Check the
|
||
outer loop reduction is only used in the inner loop before
|
||
detecting a double reduction.
|
||
|
||
2016-01-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/68269
|
||
* combine.c (expand_field_assignment): Punt if compute_mode is
|
||
unsupported scalar mode.
|
||
|
||
2016-01-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66856
|
||
* tree-vect-slp.c (vect_build_slp_tree): Refactor to build
|
||
SLP node only if it built successfully.
|
||
(vect_analyze_slp_instance): Adjust.
|
||
|
||
2016-01-14 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/69270
|
||
* tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
|
||
(record_edge_info): Use it. Convert boolean_{true,false}_node
|
||
to the type of op0.
|
||
|
||
2016-01-13 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/66487
|
||
* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
|
||
use block_ultimate_origin
|
||
(noncall-stmt_may_be_vtbl_ptr_store): Likewise.
|
||
|
||
2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Submodel Options): Rename section to
|
||
"Machine-Dependent Options" to better reflect its content.
|
||
Rewrite introductory text to remove archaic CPU names.
|
||
Update references.
|
||
|
||
2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Code Gen Options): Move section up in file,
|
||
before target-specific options. Update menu and option summary
|
||
to reflect the new section ordering.
|
||
|
||
2016-01-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
|
||
(C++ Dialect Options): Add cross-reference to -std option.
|
||
* doc/standards.texi (C++ Language): Document C++14 support.
|
||
|
||
2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
|
||
for pack/unpack functions for __ibm128.
|
||
(PACK_IF): Likewise.
|
||
(UNPACK_IF): Likewise.
|
||
|
||
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
|
||
support for __ibm128 pack/unpack functions.
|
||
(rs6000_invalid_builtin): Likewise.
|
||
(rs6000_init_builtins): Likewise.
|
||
(rs6000_opt_masks): Likewise.
|
||
|
||
* config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
|
||
(RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
|
||
functions
|
||
(RS6000_BTM_COMMON): Likewise.
|
||
|
||
* config/rs6000/rs6000.md (f128_vsx): New mode attribute.
|
||
(unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
|
||
disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
|
||
128-bit floating point. Add support for the double values to be
|
||
in Altivec registers for TF/IF packing and unpacking, but restrict
|
||
TD packing sub-fields to be FPR registers. Don't allow overlapped
|
||
register support for packing. Allow pack inputs to be memory
|
||
locations. Don't build generator functions for unpack<mode>_dm
|
||
and unpack<mode>_nodm.
|
||
(unpack<mode>_dm): Likewise.
|
||
(unpack<mode>_nodm): Likewise.
|
||
(pack<mode>): Likewise.
|
||
|
||
* config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
|
||
built-in functions to pack/unpack explicit __ibm128 values.
|
||
(__builtin_unpack_ibm128): Likewise.
|
||
|
||
* doc/extend.texi (PowerPC Built-in Functions): Document
|
||
__builtin_pack_ibm128 and __builtin_unpack_ibm128.
|
||
|
||
2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR c/66208
|
||
* c-common.c (check_function_nonnull): Remove unnecessary declaration.
|
||
Add new arg loc and pass it down as context.
|
||
(check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
|
||
to the location to use for the warning.
|
||
(check_function_arguments): New arg loc. All callers changed. Pass
|
||
it to check_function_nonnull.
|
||
* c-common.h (check_function_arguments): Adjust declaration.
|
||
|
||
2016-01-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69156
|
||
* gimple.c (validate_type): Removed.
|
||
(gimple_builtin_call_types_compatible_p): Use
|
||
useless_type_conversion_p instead of validate_type.
|
||
* value-prof.c (gimple_stringop_fixed_value): Fold
|
||
icall_size to correct type.
|
||
|
||
2016-01-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/extend.texi (__atomic Builtins): Clarify compare_exchange
|
||
effects.
|
||
|
||
2016-01-13 Richard Henderson <rth@redhat.com>
|
||
|
||
PR tree-opt/68964
|
||
* target.def (builtin_tm_load, builtin_tm_store): Remove.
|
||
* config/i386/i386.c (ix86_builtin_tm_load): Remove.
|
||
(ix86_builtin_tm_store): Remove.
|
||
(TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
|
||
(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
|
||
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
|
||
(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
|
||
* doc/tm.texi: Rebuild.
|
||
|
||
* gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
|
||
(BUILT_IN_TM_MEMCPY_RTWN): New.
|
||
* trans-mem.c (tm_log_emit_stmt): Rearrange code for better
|
||
fallback from vector to integer helpers.
|
||
(build_tm_load): Handle vector types directly, instead of
|
||
via target hook.
|
||
(build_tm_store): Likewise.
|
||
(expand_assign_tm): Prepare for register types not handled by
|
||
the above. Copy them to memory and use memcpy.
|
||
* tree.c (tm_define_builtin): New.
|
||
(find_tm_vector_type): New.
|
||
(build_tm_vector_builtins): New.
|
||
(build_common_builtin_nodes): Call it.
|
||
|
||
2016-01-13 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
|
||
TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
|
||
|
||
2016-01-13 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69169
|
||
* tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
|
||
handled_struct_type param.
|
||
(create_variable_info_for, intra_create_variable_infos): Call
|
||
create_variable_info_for_1 with extra arg.
|
||
|
||
2016-01-13 Yvan Roux <yvan.roux@linaro.org>
|
||
|
||
* config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
|
||
and "armv8.1-a+crc" entries.
|
||
|
||
2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
|
||
|
||
PR target/69228
|
||
* config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
|
||
Change first operand predicate from register_or_constm1_operand
|
||
to register_operand.
|
||
(define_expand "avx512pf_gatherpf<mode>df"): Likewise.
|
||
(define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
|
||
(define_expand "avx512pf_scatterpf<mode>df"): Likewise.
|
||
(define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
|
||
(define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
|
||
(define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
|
||
(define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
|
||
* config/i386/i386.c (ix86_expand_builtin): Remove first operand
|
||
comparison with constm1_rtx from vec_prefetch_gen part.
|
||
|
||
2016-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69013
|
||
* tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
|
||
Exchange assert for a test.
|
||
|
||
2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR target/69247
|
||
* config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
|
||
|
||
2016-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69242
|
||
* tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
|
||
assert with a check.
|
||
|
||
2016-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69186
|
||
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
|
||
Properly guard vect_update_misalignment_for_peel call.
|
||
|
||
2016-01-12 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/pr67755
|
||
* tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
|
||
"need_profile_correction".
|
||
(thread_block_1): Initialize new field to false by default. If we
|
||
have multiple thread paths through a common joiner to different
|
||
final targets, then set new field to true.
|
||
(compute_path_counts): Only do count adjustment when it's really
|
||
needed.
|
||
|
||
2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Spec Files): Move section down in file, past
|
||
all command-line option descriptions.
|
||
|
||
2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
PR middle-end/54809
|
||
* doc/gty.texi: Remove documentation of mark_hook.
|
||
* gengtype.c (struct write_types_data): Remove code to support
|
||
mark_hook attribute.
|
||
(walk_type): Likewise.
|
||
(write_func_for_structure): Likewise.
|
||
|
||
2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
|
||
Directory Options, and -specs= to Overall Options.
|
||
(Overall Options): Adjust similarly. Reorder to group related
|
||
options together. Make -specs= cross-reference the spec file details.
|
||
(Directory Options): Adjust similarly.
|
||
|
||
2016-01-12 Jeff Law <law@redhat.com>
|
||
|
||
* tree-ssa-threadupdate.c: Various whitespace and typo fixes.
|
||
|
||
2016-01-12 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc.c (spec_undefvar_allowed): New global.
|
||
(process_command): Set to true when running for --version or --help,
|
||
alone or together.
|
||
(getenv_spec_function): When the variable is not defined, use the
|
||
variable name as the variable value if we're allowed not to issue
|
||
a fatal error.
|
||
|
||
2016-01-12 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/68911
|
||
* tree-vrp.c (adjust_range_with_scev): Check overflow in range
|
||
information computed for expression "init + nit * step".
|
||
|
||
2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
|
||
about name of GCC executable. Remove deleted node from menu.
|
||
(Directory Options) <-B>: Remove cross-reference to deleted node.
|
||
(Target Options): Delete section.
|
||
|
||
2016-01-12 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/69180
|
||
* config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
|
||
for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
|
||
|
||
2016-01-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69198
|
||
* config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
|
||
aligned_mem is properly set for AVX512-VL floating point masked
|
||
stores.
|
||
|
||
PR target/69175
|
||
* ifcvt.c (cond_exec_process_if_block): When removing the last
|
||
insn from then_bb, remove also any possible barriers that follow it.
|
||
|
||
2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68456
|
||
PR target/69226
|
||
* config/i386/iamcu.h (SIZE_TYPE): New macro.
|
||
(PTRDIFF_TYPE): Likewise.
|
||
(WCHAR_TYPE): Likewise.
|
||
(WCHAR_TYPE_SIZE): Likewise.
|
||
(STDINT_LONG32): Likewise.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69053
|
||
* tree-vect-loop.c (get_initial_def_for_reduction): Properly
|
||
convert initial value for cond reductions.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69007
|
||
* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
|
||
widen_sum after dot_prod and sad.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69168
|
||
* tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
|
||
pattern stmt SLP type.
|
||
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
|
||
end up unused so cope with that case.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69157
|
||
* tree-vect-stmts.c (vectorizable_mask_load_store): Check
|
||
stmts def type only during analyze phase.
|
||
(vectorizable_call): Likewise.
|
||
(vectorizable_simd_clone_call): Likewise.
|
||
(vectorizable_conversion): Likewise.
|
||
(vectorizable_assignment): Likewise.
|
||
(vectorizable_shift): Likewise.
|
||
(vectorizable_operation): Likewise.
|
||
(vectorizable_store): Likewise.
|
||
(vectorizable_load): Likewise.
|
||
|
||
2016-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69174
|
||
* tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
|
||
space.
|
||
(vectorizable_load): Properly compute the number of loads needed
|
||
for permuted strided SLP loads and do not spuriously assign
|
||
to SLP_TREE_VEC_STMTS.
|
||
|
||
2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
|
||
|
||
* config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
|
||
(TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
|
||
(MD_EXEC_PREFIX): Remove.
|
||
(MD_STARTFILE_PREFIX) Removee.
|
||
(FILE_NAME_ABSOLUTE_P): Remove.
|
||
(CPP_SPEC): Do not read macros from sys/version.h.
|
||
(LINK_COMMAND_SPEC): Remove.
|
||
(LOCAL_INCLUDE_DIR): Remove.
|
||
(TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
|
||
(TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
|
||
(POST_LINK_SPEC): Define to invoke stubify after linker
|
||
(LIBSTDCXX): Remove define
|
||
(DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
|
||
(DEFAULT_PCC_STRUCT_RETURN): Define to 1.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
|
||
(SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
|
||
(IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
|
||
(i386_djgpp_asm_named_section): Add propotype of new procedure
|
||
|
||
* config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
|
||
(MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
|
||
(STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h).
|
||
(STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1.
|
||
(LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
|
||
(GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors.
|
||
(MAX_OFILE_ALIGNMENT): Define to 128.
|
||
(HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
|
||
|
||
* config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section.
|
||
|
||
* config/i386/djgpp.opt: Remove obsolete option -mbnu210.
|
||
|
||
* config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
|
||
Add rule for building djgpp.o.
|
||
|
||
2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (v2df_reduction_p): New function.
|
||
(rtx_is_swappable_p): Reductions are swappable.
|
||
(insn_is_swappable_p): V2DF reductions are swappable.
|
||
|
||
2016-01-11 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (pa_emit_move_sequence): Handle floating point
|
||
reloads for other unsupported memory operands.
|
||
|
||
2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
PR target/69194
|
||
* config/arm/arm-builtins.c (arm_expand_neon_args): Call
|
||
copy_to_mode_reg instead of force_reg.
|
||
|
||
2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/69225
|
||
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
|
||
TARGET_80387 is true.
|
||
|
||
2016-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/69071
|
||
* lra-eliminations.c (move_plus_up): Only move plus up
|
||
if subreg of the constant can be simplified into constant
|
||
and use the simplified subreg of the constant instead of
|
||
the original constant.
|
||
|
||
* fold-const.c (fold_convertible_p): Don't return true
|
||
for conversion of VECTOR_TYPE to same sized integral type.
|
||
(fold_convert_loc): Fix up formatting. Fold conversion of
|
||
VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
|
||
instead of NOP_EXPR.
|
||
|
||
PR tree-optimization/69214
|
||
* tree-vrp.c (simplify_cond_using_ranges): Don't propagate
|
||
innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
|
||
Formatting fix.
|
||
|
||
PR tree-optimization/69207
|
||
* tree-vect-slp.c (vect_get_constant_vectors): For
|
||
VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
|
||
fold_convertible_p to vector_type's element type, and always
|
||
use VCE for non-VECTOR_BOOLEAN_TYPE_P.
|
||
|
||
2016-01-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/69173
|
||
* tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
|
||
fixup the cycle if all stmts are in a pattern.
|
||
|
||
2016-01-11 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR middle-end/68999
|
||
* alias.c (base_alias_check): Move check for addresses with
|
||
alignment ANDs before the call for compare_base_decls.
|
||
(memrefs_conflict_p): Return -1 for different decls
|
||
that went through alignment adjustments.
|
||
|
||
2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/68796
|
||
* config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
|
||
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
|
||
and QImode comparisons against zero with CC_NZmode.
|
||
* config/aarch64/iterators.md (short_mask): New mode_attr.
|
||
|
||
2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
|
||
(<avx512>_store<mode>_mask): Likewise.
|
||
|
||
2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
|
||
Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/68841
|
||
* ifcvt.c (struct noce_if_info): Add orig_x field.
|
||
(bbs_ok_for_cmove_arith): Add to_rename parameter.
|
||
Don't record conflicts on to_rename if it's present.
|
||
Allow memory destinations in sets.
|
||
(noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
|
||
blocks, passing orig_x to the checks.
|
||
(noce_process_if_block): Set if_info->orig_x appropriately.
|
||
|
||
2016-01-11 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69069
|
||
* tree-parloops.c (create_parallel_loop): Add missing phi args.
|
||
|
||
2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR rtl-optimization/68920
|
||
* config/i386/i386.c (ix86_option_override_internal): Restrict number
|
||
of conditional moves for RTL if-conversion to 1 for
|
||
TARGET_ONE_IF_CONV_INSN.
|
||
* config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
|
||
* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
|
||
* params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
|
||
parameter to restirct number of conditional moves for
|
||
RTL if-conversion.
|
||
* doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
|
||
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
|
||
conditionl moves.
|
||
|
||
2016-01-11 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR bootstrap/69123
|
||
* var-tracking.c (drop_overlapping_mem_locs): Operate on all
|
||
onepart vars. Fix typo in comment. Fix reversed condition in
|
||
unshare test.
|
||
(dataflow_set_remove_mem_locs): Operate on all onepart vars.
|
||
|
||
PR bootstrap/69123
|
||
* var-tracking.c (dump_onepart_variable_differences): New.
|
||
(dataflow_set_different): If a detailed dump is requested,
|
||
delay early returns and dump differences between onepart
|
||
variables present before and after, and added variables.
|
||
|
||
2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/69010
|
||
* expr.c (expand_expr_real_1): For boolean vector constants
|
||
with a scalar mode use const_scalar_mask_from_tree.
|
||
(const_scalar_mask_from_tree): New.
|
||
* optabs.c (expand_vec_cond_mask_expr): Use mask mode
|
||
assigned to a mask type to handle constants.
|
||
|
||
2016-01-11 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/69044
|
||
* ipa-cp.c (estimate_local_effects): Do not clone for removal of
|
||
useless parameters if we cannot change function signature.
|
||
|
||
2016-01-11 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/66616
|
||
* cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
|
||
flag.
|
||
|
||
2016-01-11 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69109
|
||
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
|
||
latch with phi.
|
||
|
||
2016-01-11 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69108
|
||
* tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
|
||
res is not used in a phi.
|
||
|
||
2016-01-11 Yury Gribov <y.gribov@samsung.com>
|
||
|
||
PR 67425
|
||
* common.opt (frandom-seed): Fix parameter name.
|
||
* doc/invoke.texi (frandom-seed): Ditto and describe parameter.
|
||
|
||
2016-01-11 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69058
|
||
* tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
|
||
not supported.
|
||
|
||
2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
|
||
|
||
* config/arc/arc.opt (mdiv-rem): Add period to the end.
|
||
(mcode-density): Likewise.
|
||
|
||
2016-01-10 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69062
|
||
* tree-parloops.c (loop_has_phi_with_address_arg): New function.
|
||
(parallelize_loops): Don't paralelize loop that has phi with address
|
||
arg.
|
||
|
||
2016-01-10 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/69039
|
||
* tree-parloops.c (try_create_reduction_list): Only allow single exit
|
||
phi for reduction.
|
||
|
||
2016-01-09 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR middle-end/68743
|
||
* match.pd: Require target has function_c99_misc before doing
|
||
truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
|
||
|
||
2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* configure.ac (isl_options_set_schedule_serialize_sccs): Also
|
||
use GMPINC.
|
||
* configure: Regenerate.
|
||
|
||
2016-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/50865
|
||
PR tree-optimization/69097
|
||
* fold-const.h (expr_not_equal_to): New prototype.
|
||
* fold-const.c: Include stringpool.h and tree-ssanames.h.
|
||
(expr_not_equal_to): New function.
|
||
* match.pd (X % -Y is the same as X % Y): Don't optimize
|
||
unless X is known not to be equal to minimum or Y is known
|
||
not to be equal to -1.
|
||
* tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
|
||
fold TRUNC_MOD_EXPR if the second argument is not a power of two.
|
||
(simplify_stmt_using_ranges): Adjust caller.
|
||
(vrp_finalize): Call set_value_range on SSA_NAMEs before calling
|
||
substitute_and_fold.
|
||
|
||
2016-01-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
|
||
w/o DECL_NAME.
|
||
|
||
2016-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69167
|
||
* gimple-fold.c (replace_stmt_with_simplification): Also punt if
|
||
new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
|
||
ops[0] comparison.
|
||
* gimple-match-head.c (maybe_push_res_to_seq): Likewise.
|
||
|
||
2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/68707
|
||
* tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
|
||
instances that can be handled via vect_load_lanes.
|
||
|
||
2016-01-08 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
|
||
if we can't determine address equivalence.
|
||
* alias.c (compare_base_decl): Update for changed return value of
|
||
symtab_node::equal_address_to.
|
||
|
||
2016-01-08 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/68983
|
||
PR c++/67557
|
||
* function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
|
||
* expr.c (store_field): Not here.
|
||
* tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
|
||
call with TREE_ADDRESSABLE type.
|
||
* tree-cfg.c (verify_gimple_call): Adjust.
|
||
|
||
2016-01-08 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
|
||
libc_internal.
|
||
|
||
2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
|
||
(reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
|
||
(reduc_smin_v2sf): Rename to...
|
||
(reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
|
||
(reduc_splus_v2sf): Rename to...
|
||
(reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
|
||
|
||
2016-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69162
|
||
* gimplify.c (gimplify_va_arg_expr): Encode original type of
|
||
valist argument in another argument.
|
||
(gimplify_modify_expr): Adjust for the above change. Cleanup.
|
||
* tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
|
||
to determine the va_list type, build a MEM_REF instead of
|
||
build_fold_indirect_ref.
|
||
|
||
PR tree-optimization/69172
|
||
* gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
|
||
gimple_build.
|
||
|
||
2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR tree-optimization/67781
|
||
* tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
|
||
and cmpnop in two steps: first the ones not accessed in original
|
||
gimple expression in a endian independent way and then the ones not
|
||
accessed in the final result in an endian-specific way.
|
||
|
||
2016-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69083
|
||
* tree-vect-slp.c (vect_get_constant_vectors): For
|
||
VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
|
||
element type. If op is fold_convertible_p to vector_type's element
|
||
type, use NOP_EXPR instead of VCE.
|
||
|
||
2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/67778
|
||
PR rtl-optimization/68634
|
||
PR rtl-optimization/68909
|
||
* shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
|
||
block from the stack until done with it. Remove a superfluous
|
||
bitmap set. Remove a superfluous bitmap test.
|
||
|
||
2016-01-07 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/68966
|
||
* doc/extend.texi (__atomic Builtins, __sync Builtins): Document
|
||
constraint on the type of arguments.
|
||
|
||
2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
|
||
SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
|
||
unaligned_access on the gcc_options set.
|
||
* config/arm/arm.c (arm_option_override_internal): Use
|
||
SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
|
||
|
||
2016-01-07 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/69140
|
||
* config/i386/i386.c (ix86_frame_pointer_required): Enable
|
||
frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
|
||
|
||
2016-01-07 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Revert
|
||
2016-01-06 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/69140
|
||
* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
|
||
depending on frame_pointer_needed before remaining integer and SSE
|
||
registers are saved.
|
||
|
||
2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (Nvidia PDX Function Attributes): New section.
|
||
|
||
2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/69171
|
||
* config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
|
||
Use the "xBm" constraint.
|
||
(float<sseintvecmodelower><mode>2<mask_name><round_name):
|
||
Likewise.
|
||
(sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
|
||
(sse_cvtsi2ssq<round_name>): Likewise.
|
||
(sse_cvtss2si<round_name>): Likewise.
|
||
(sse_cvtss2siq<round_name>): Likewise.
|
||
(sse2_cvtsi2sdq<round_name>): Likewise.
|
||
(sse2_cvtsd2si<round_name>): Likewise.
|
||
(sse2_cvtsd2siq<round_name>): Likewise.
|
||
* config/i386/subst.md (round_nimm_scalar_predicate): New
|
||
predicate.
|
||
|
||
2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR middle-end/67639
|
||
* varasm.c (make_decl_rtl): Mark invalid register vars as
|
||
DECL_EXTERNAL.
|
||
|
||
PR rtl-optimization/66206
|
||
* bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
|
||
All callers changed.
|
||
|
||
2016-01-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69141
|
||
* tree-ssa-pre.c: Include langhooks.h.
|
||
(eliminate_dom_walker::before_dom_children): Use
|
||
lang_hooks.decl_printable_name instead of
|
||
cgraph_node::get ()->name ().
|
||
|
||
PR middle-end/68960
|
||
* gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
|
||
it and DECL_ALIGN too.
|
||
|
||
2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
|
||
|
||
* config/mips/mips-ftypes.def: Sort to lexicographical order.
|
||
|
||
2016-01-06 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/69140
|
||
* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
|
||
depending on frame_pointer_needed before remaining integer and SSE
|
||
registers are saved.
|
||
|
||
2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
|
||
mode iterator with VSX_M2.
|
||
(*p9_vecstore_<mode>): Likewise.
|
||
(*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
|
||
(*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
|
||
(*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
|
||
(define_split for VSX_LE128 stores): Likewise.
|
||
(define_peephole2 for TImode LE swaps): Likewise.
|
||
(define_split for VSX_LE128 post-reload stores): Likewise.
|
||
|
||
2016-01-06 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/69099
|
||
* convert.c (convert_to_integer_1): Adjust call to
|
||
ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
|
||
* ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
|
||
EXPR instead of ARG.
|
||
* ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
|
||
|
||
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (RL78 Variable Attributes): New section.
|
||
|
||
2016-01-05 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/69104
|
||
* builtins.c (get_memmodel): Use expansion point location rather than
|
||
the input location. Call warning_at rather than warning.
|
||
(expand_builtin_atomic_compare_exchange): Likewise.
|
||
(expand_builtin_atomic_load): Likewise.
|
||
(expand_builtin_atomic_store): Likewise.
|
||
(expand_builtin_atomic_clear): Likewise.
|
||
|
||
2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68991
|
||
* config/i386/i386.c (ix86_expand_vector_logical_operator):
|
||
Replace nonimmediate_operand with vector_operand.
|
||
* config/i386/predicates.md (vector_operand): New predicate.
|
||
(general_vector_operand): Replace nonimmediate_operand with
|
||
vector_operand.
|
||
* config/i386/sse.md: Replace nonimmediate_operand with
|
||
vector_operand and m constraint with Bm constraint on SSE
|
||
patterns with 16-byte memory operand.
|
||
* config/i386/subst.md (round_nimm_predicate): Replace
|
||
nonimmediate_operand with vector_operand.
|
||
(round_saeonly_nimm_predicate): Likewise.
|
||
(round_saeonly_nimm_scalar_predicate): New.
|
||
|
||
2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/68991
|
||
* config/i386/constraints.md (Bm): New constraint.
|
||
* config/i386/predicates.md (vector_memory_operand): New
|
||
predicate.
|
||
* config/i386/sse.md: Replace xm with xBm in plusminus and
|
||
any_logic patterns.
|
||
|
||
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (V850 Function Attributes): New section.
|
||
(V850 Variable Attributes): New section.
|
||
|
||
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
* doc/extend.texi (MicroBlaze Function Attributes): Document
|
||
interrupt_handler and fast_interrupt attributes.
|
||
|
||
2016-01-05 Sergei Trofimovich <siarheit@google.com>
|
||
|
||
PR other/60465
|
||
* config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
|
||
for local symbolic operands.
|
||
* config/ia64/predicates.md (local_symbolic_operand64): New
|
||
predicate.
|
||
|
||
2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/68651
|
||
* combine.c (combine_simplify_rtx): Canonicalize x + x into
|
||
x << 1.
|
||
|
||
2016-01-05 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* alias.c (compare_base_decls): Use symtab_node::get.
|
||
|
||
2016-01-05 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/68770
|
||
* ira-costs.c (copy_cost): Initialise the t_icode field of the
|
||
secondary_reload_info structure.
|
||
|
||
PR target/66655
|
||
* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
|
||
decls if weak support is available.
|
||
|
||
2016-01-04 Martin Sebor <msebor@redhat.com>
|
||
|
||
* doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
|
||
|
||
2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
|
||
OPTION_MASK_P9_DFORM.
|
||
|
||
* config/rs6000/constraints.md (wo constraint): New constraint for
|
||
ISA 3.0 (power9).
|
||
|
||
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
|
||
for wo constraint.
|
||
(rs6000_init_hard_regno_mode_ok): Likewise.
|
||
|
||
* config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
|
||
wo constraint.
|
||
|
||
* config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
|
||
expanders not to have constraints. Add support for ISA 3.0 xxperm
|
||
instruction. Add support for fusing xxlor with xxperm.
|
||
(altivec_vperm_<mode>_internal): Likewise.
|
||
(altivec_vperm_v8hiv16qi): Likewise.
|
||
(altivec_vperm_<mode>v16q): Likewise.
|
||
(altivec_vperm_<mode>_uns): Likewise.
|
||
(vperm_v8hiv4si): Likewise.
|
||
(vperm_v16qiv8hi): Likewise.
|
||
|
||
* doc/md.texi (RS/6000 constraints): Document wo constraint.
|
||
|
||
2016-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
* gcc.c (process_command): Update copyright notice dates.
|
||
* gcov-dump.c (print_version): Ditto.
|
||
* gcov.c (print_version): Ditto.
|
||
* gcov-tool.c (print_version): Ditto.
|
||
* gengtype.c (create_file): Ditto.
|
||
* doc/cpp.texi: Bump @copying's copyright year.
|
||
* doc/cppinternals.texi: Ditto.
|
||
* doc/gcc.texi: Ditto.
|
||
* doc/gccint.texi: Ditto.
|
||
* doc/gcov.texi: Ditto.
|
||
* doc/install.texi: Ditto.
|
||
* doc/invoke.texi: Ditto.
|
||
|
||
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
|
||
modes larger than TImode as TImode if NEON is not enabled.
|
||
|
||
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/69100
|
||
* config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
|
||
mode for %f0-%f31 only if TARGET_FPU.
|
||
|
||
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/69072
|
||
* config/sparc/sparc.c (scan_record_type): Take into account subfields
|
||
to compute the PACKED_P predicate.
|
||
(function_arg_record_value): Minor tweaks.
|
||
|
||
2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* doc/install.texi (--with-multilib-list): Describe the meaning of the
|
||
option for arm*-*-* targets.
|
||
|
||
2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Common Function Attributes): Move docs for
|
||
MSP430-specific attributes to....
|
||
(MSP430 Function Attributes): ...here. Delete the redundant
|
||
entries and copy-edit the remaining text.
|
||
(MSP430 Variable Attributes): Use uniform format for index
|
||
entries and add a cross-reference to the corresponding function
|
||
attribute docs.
|
||
|
||
2016-01-03 Vladimír Čunát <vcunat@gmail.com>
|
||
|
||
* doc/invoke.texi (RS/6000 and PowerPC Options): Fix
|
||
-finite-math typo.
|
||
(x86 Options): Likewise.
|
||
|
||
2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR 1078
|
||
|
||
* extend.texi (Common Function Attributes) <no_stack_limit>: New.
|
||
* invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
|
||
to corresponding attribute.
|
||
|
||
2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Common Function Attributes) <noplt>: Move
|
||
to correct alphabetization of table. Copy-edit and correct
|
||
markup.
|
||
<stack_protect>: Likewise.
|
||
<target_clones>: Likewise.
|
||
<simd>: Likewise.
|
||
* doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
|
||
Correct punctuation.
|
||
(Code Gen Options) <-fno-plt>: Copy-edit.
|
||
|
||
2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR target/68917
|
||
* config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
|
||
SI values. Explicitly convert SI to DI and vice-versa.
|
||
|
||
2016-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69070
|
||
* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
|
||
REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
|
||
|
||
PR sanitizer/69055
|
||
* ubsan.c (ubsan_instrument_float_cast): Call
|
||
initialize_sanitizer_builtins.
|
||
|
||
PR target/69015
|
||
* ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
|
||
|
||
Copyright (C) 2016 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|