1860 lines
66 KiB
Plaintext
1860 lines
66 KiB
Plaintext
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.
|