18048 lines
643 KiB
Plaintext
18048 lines
643 KiB
Plaintext
2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* hash-table.h: Update comments.
|
||
* hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
|
||
(nofree_ptr_hash): New class.
|
||
* asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
|
||
than typed_noop_remove. Remove redudant typedefs.
|
||
* attribs.c (attribute_hasher): Likewise.
|
||
* cfg.c (bb_copy_hasher): Likewise.
|
||
* cselib.c (cselib_hasher): Likewise.
|
||
* dse.c (invariant_group_base_hasher): Likewise.
|
||
* dwarf2cfi.c (trace_info_hasher): Likewise.
|
||
* dwarf2out.c (macinfo_entry_hasher): Likewise.
|
||
(comdat_type_hasher, loc_list_hasher): Likewise.
|
||
* gcse.c (pre_ldst_expr_hasher): Likewise.
|
||
* genmatch.c (id_base): Likewise.
|
||
* genrecog.c (test_pattern_hasher): Likewise.
|
||
* gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
|
||
* haifa-sched.c (delay_i1_hasher): Likewise.
|
||
* hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
|
||
* ipa-icf.h (congruence_class_group_hash): Likewise.
|
||
* ipa-profile.c (histogram_hash): Likewise.
|
||
* ira-color.c (allocno_hard_regs_hasher): Likewise.
|
||
* lto-streamer.h (string_slot_hasher): Likewise.
|
||
* lto-streamer.c (tree_entry_hasher): Likewise.
|
||
* plugin.c (event_hasher): Likewise.
|
||
* postreload-gcse.c (expr_hasher): Likewise.
|
||
* store-motion.c (st_expr_hasher): Likewise.
|
||
* tree-sra.c (uid_decl_hasher): Likewise.
|
||
* tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
|
||
(ssa_name_var_hash): Likewise.
|
||
* tree-ssa-live.c (tree_int_map_hasher): Likewise.
|
||
* tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
|
||
* tree-ssa-pre.c (pre_expr_d): Likewise.
|
||
* tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
|
||
* vtable-verify.h (registration_hasher): Likewise.
|
||
* vtable-verify.c (vtbl_map_hasher): Likewise.
|
||
* config/arm/arm.c (libcall_hasher): Likewise.
|
||
* config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
|
||
* config/ia64/ia64.c (bundle_state_hasher): Likewise.
|
||
* config/sol2.c (comdat_entry_hasher): Likewise.
|
||
* fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
|
||
(print_fold_checksum, fold_checksum_tree): Likewise.
|
||
(debug_fold_checksum, fold_build1_stat_loc): Likewise.
|
||
(fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
|
||
(fold_build_call_array_loc): Likewise.
|
||
* tree-ssa-ccp.c (gimple_htab): Likewise.
|
||
* tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
|
||
rather than pointer_type.
|
||
|
||
2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
|
||
(pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
|
||
|
||
2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* hash-traits.h (ggc_hasher::remove): Take a reference parameter.
|
||
(ggc_hasher::ggc_mx): Likewise.
|
||
(ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
|
||
that duplicate ggc_hasher ones.
|
||
|
||
2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* hash-table.h (hash_table): Add gt_cleare_cache as a friend.
|
||
(gt_cleare_cache): Check here for deleted and empty entries.
|
||
Replace handle_cache_entry with a call to keep_cache_entry.
|
||
* hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
|
||
(ggc_cache_hasher::keep_cache_entry): New function.
|
||
* trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
|
||
(tm_wrapper_hasher::keep_cache_entry): New function.
|
||
* tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
|
||
(tree_vec_map_cache_hasher::keep_cache_entry): New function.
|
||
* tree.c (type_cache_hasher::handle_cache_entry): Delete.
|
||
(type_cache_hasher::keep_cache_entry): New function.
|
||
(tree_vec_map_cache_hasher::handle_cache_entry): Delete.
|
||
(tree_vec_map_cache_hasher::keep_cache_entry): New function.
|
||
* ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
|
||
(tree_type_map_cache_hasher::keep_cache_entry): New function.
|
||
* varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
|
||
(tm_clone_hasher::keep_cache_entry): New function.
|
||
* config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
|
||
(dllimport_hasher::keep_cache_entry): New function.
|
||
|
||
2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* hash-table.h: Include hash-traits.h.
|
||
(typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
|
||
(ggc_cache_hasher): Move to...
|
||
* hash-traits.h: ...this new file.
|
||
|
||
2015-06-25 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* tree-core.h (struct tree_optimization_option): Make opts a pointer to
|
||
struct cl_optimization.
|
||
* tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
|
||
* tree.c (make_node_stat): Allocate cl_optimization struct.
|
||
(copy_node_stat): Allocate and copy cl_optimization struct.
|
||
|
||
2015-06-25 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* function.h (struct incoming_args): Move struct.
|
||
(pass_by_reference, reference_callee_copied): Remove prototypes.
|
||
* emit-rtl.h (struct incoming_args): Relocate struct here.
|
||
* calls.h (pass_by_reference, reference_callee_copied): Relocate
|
||
prototypes here.
|
||
* function.c (pass_by_reference, reference_callee_copied): Move.
|
||
* calls.c (pass_by_reference, reference_callee_copied): Relocate here.
|
||
* cfgloop.h: Don't include tm.h or hard-reg-set.h.
|
||
* ipa-chkp.c: Include calls.h.
|
||
|
||
2015-06-25 Andrew Macleod <amacleod@redhat.com>
|
||
|
||
* alias.h (alias_set_type): Move typedef.
|
||
* coretypes.h (alias_set_type): Relocate typedef here.
|
||
* rtl.h: Don't include alias.h.
|
||
|
||
2015-06-25 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* cgraph.h (cgraph_rtl_info): Move to rtl.h
|
||
(cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
|
||
and instance.
|
||
* rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
|
||
* cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
|
||
doesn't exist.
|
||
* calls.c: Include hard-reg-set.h before rtl.h.
|
||
* ira.c: Likewise.
|
||
|
||
2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
|
||
Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
* ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
|
||
Add assert.
|
||
|
||
2015-06-25 Richard Biener <rguenther@suse.de>
|
||
|
||
* fold-const.c (fold_binary_loc): Move simplification of
|
||
(X <<>> C1) & C2 ...
|
||
* match.pd: ... here.
|
||
|
||
2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
|
||
|
||
2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* match.pd: Add patterns for vec_conds between 1 and 0.
|
||
|
||
2015-06-25 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-stmts.c (vectorizable_conversion): Do not set
|
||
STMT_VINFO_VEC_STMT for SLP.
|
||
(vectorizable_store): Likewise.
|
||
(vectorizable_load): Likewise.
|
||
(vect_transform_stmt): Catch SLP vectorization clobbering
|
||
STMT_VINFO_VEC_STMT.
|
||
|
||
2015-06-25 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
|
||
dumping.
|
||
(vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
|
||
cleanup resulting dead code and parameters.
|
||
(vect_transform_slp_perm_load): Adjust.
|
||
|
||
2015-06-25 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/bfin/bfin.c (bfin_expand_prologue): Set
|
||
current_function_static_stack_size if flag_stack_usage_info is
|
||
set.
|
||
* config/ft32/ft32.c (ft32_expand_prologue): Likewise.
|
||
* config/h8300/h8300.c (h8300_expand_prologue): Likewise.
|
||
* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
|
||
* config/m32c/m32c.c (m32c_emit_prologue): Likewise.
|
||
|
||
2015-06-25 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
|
||
comment that the generated IV is unsigned.
|
||
|
||
2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
PR target/29693
|
||
* config/arm/arm.c (arm_dbx_register_number): Return
|
||
DWARF_FRAME_REGISTERS by default.
|
||
|
||
2015-06-25 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* dominance.c (calculate_dominance_info): Fix verify_dominators call
|
||
argument. Call verify_dominator when reusing dominator info.
|
||
|
||
2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
PR target/66563
|
||
* config/sh/sh.md (GOTaddr2picreg): Add a new operand for
|
||
an additional element of the unspec vector. Modify indices
|
||
of operands.
|
||
(builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
|
||
* config/sh/sh.c (prepare_move_operands): Pass incremented
|
||
const_int to gen_GOTaddr2picreg.
|
||
(sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
|
||
|
||
2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
|
||
Condition on TARGET_FLOAT.
|
||
|
||
2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
|
||
and (no)crypto.
|
||
|
||
2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
|
||
|
||
* config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
|
||
aarch64_err_no_fpadvsimd.
|
||
|
||
* config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
|
||
(aarch64_layout_arg, aarch64_init_cumulative_args): Use
|
||
aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
|
||
(aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
|
||
Turn error into assert, test TARGET_FLOAT.
|
||
(aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
|
||
TARGET_FLOAT.
|
||
|
||
2015-06-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR debug/66482
|
||
* dwarf2out.c (gen_formal_parameter_die): Remove assert.
|
||
|
||
2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
|
||
|
||
2015-06-24 Renlin Li <renlin.li@arm.com>
|
||
|
||
* config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
|
||
__ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
|
||
|
||
2015-06-24 Richard Biener <rguenther@suse.de>
|
||
|
||
* genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
|
||
(main): Likewise.
|
||
(lower_opt_convert): Support lowering of conditional view_convert.
|
||
(parser::parse_operation): Likewise.
|
||
(parser::parse_for): Likewise.
|
||
|
||
2015-06-24 Renlin Li <renlin.li@arm.com>
|
||
|
||
* varasm.c (emit_local): Use unsigned int for align variable.
|
||
|
||
2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
PR target/63408
|
||
* config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
|
||
for negative numbers.
|
||
|
||
2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
PR rtl-optimization/66306
|
||
* reload.c (find_reloads): Swap the match_dup info for
|
||
commutative operands.
|
||
|
||
2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/vx-builtins.md
|
||
("vec_scatter_element<mode>_<non_vec_int>")
|
||
("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
|
||
attribute with bhfgq.
|
||
|
||
2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390-builtins.def: Fix vpopct instruction comments.
|
||
|
||
2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390-builtin-types.def: Add flag to indicate the
|
||
options under which the function type is needed.
|
||
* config/s390/s390-builtins.def: Add flag to indicate the options
|
||
under which the builtin is enabled.
|
||
* config/s390/s390-builtins.h: Add flags parameter to macro
|
||
definitions.
|
||
(bflags_for_builtin): New function.
|
||
(flags_for_builtin): Renamed to ...
|
||
(opflags_for_builtin): ... this.
|
||
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
|
||
flags_for_builtin to bflags_for_builtin and
|
||
flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
|
||
* config/s390/s390.c: Add initialization of bflags_builtin and
|
||
opflags_builtin arrays.
|
||
Remove code for flags_builtin.
|
||
(s390_init_builtins): Only create builtin function types if one of
|
||
their flags is active.
|
||
Only create builtins if all of their flags are active.
|
||
(s390_expand_builtin): Rename flags_for_builtin to
|
||
opflags_for_builtin.
|
||
|
||
2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/vecintrin.h: Remove internal builtins.
|
||
|
||
2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_secondary_reload): Fix check for
|
||
GENERAL_REGS register class.
|
||
|
||
2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_support_vector_misalignment): Call
|
||
default implementation for !TARGET_VX.
|
||
|
||
2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_legitimate_constant_p): Add
|
||
TARGET_VX check.
|
||
|
||
2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_vector_abi): New variable definition.
|
||
(s390_check_type_for_vector_abi): New function.
|
||
(TARGET_ASM_FILE_END): New macro definition.
|
||
(s390_asm_file_end): New function.
|
||
(s390_function_arg): Call s390_check_type_for_vector_abi.
|
||
(s390_gimplify_va_arg): Likewise.
|
||
* configure: Regenerate.
|
||
* configure.ac: Check for .gnu_attribute Binutils feature.
|
||
|
||
2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
|
||
|
||
PR target/65803
|
||
* config/bfin/bfin.c (hwloop_optimize): Initialize
|
||
JUMP_LABEL for newly created jump.
|
||
|
||
2015-06-23 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* collect-utils.c (collect_wait): Unlink the response file here
|
||
instead of...
|
||
(do_wait): ...here.
|
||
(utils_cleanup): ...and here.
|
||
|
||
2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* df-scan.c: Don't include target-def.h.
|
||
* targhooks.c: Likewise.
|
||
* config/arm/arm-c.c: Likewise.
|
||
* config/i386/i386-c.c: Likewise.
|
||
* config/nds32/nds32-cost.c: Likewise.
|
||
* config/nds32/nds32-fp-as-gp.c: Likewise.
|
||
* config/nds32/nds32-intrinsic.c: Likewise.
|
||
* config/nds32/nds32-isr.c: Likewise.
|
||
* config/nds32/nds32-md-auxiliary.c: Likewise.
|
||
* config/nds32/nds32-memory-manipulation.c: Likewise.
|
||
* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
|
||
* config/nds32/nds32-predicates.c: Likewise.
|
||
|
||
2015-06-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66636
|
||
* tree-vect-stmts.c (vectorizable_store): Properly compute the
|
||
def type for further defs for strided stores.
|
||
|
||
2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
|
||
conditional selects.
|
||
(setcc_int<mode>, setcc_float<mode>): Reformat.
|
||
|
||
2015-06-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
* match.pd ((x + y) - (x | y) -> x & y,
|
||
(x + y) - (x & y) -> x | y): New patterns.
|
||
|
||
2015-06-23 Ludovic Courtès <ludo@gnu.org>
|
||
|
||
PR 65711
|
||
* config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
|
||
'-dynamic-linker' within %{!shared: ...}.
|
||
|
||
2015-06-23 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/66560
|
||
* config/i386/predicates.md (addsub_vm_operator): New predicate.
|
||
(addsub_vs_operator): Ditto.
|
||
(addsub_vs_parallel): Ditto.
|
||
* config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
|
||
(avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
|
||
Put minus RTX before plus and adjust vec_merge selector.
|
||
(*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
|
||
(*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
|
||
(*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
|
||
(addsub vec_merge splitters): New combiner splitters.
|
||
(addsub vec_select/vec_concat splitters): Ditto.
|
||
|
||
2015-06-23 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/66449
|
||
* tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
|
||
POINTER_PLUS_EXPR for pointers.
|
||
|
||
2015-06-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* rtlanal.c (commutative_operand_precedence): Correct comments.
|
||
* simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
|
||
declaration. Return an int. Distinguish REG,REG return from
|
||
others.
|
||
(struct simplify_plus_minus_op_data): Make local to function.
|
||
(simplify_plus_minus): Don't set canonicalized if merely sorting
|
||
registers. Avoid packing ops if nothing changes. White space fixes.
|
||
|
||
2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
* gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
|
||
-fdump-ada-spec is passed but not if -fsyntax-only is.
|
||
|
||
2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR bootstrap/63740
|
||
* lra-lives.c (process_bb_lives): Check insn copying the same
|
||
reload pseudo and don't create a copy for it.
|
||
|
||
2015-06-22 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
|
||
for cond_stmt.
|
||
|
||
2015-06-22 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* builtins.def (DEF_GOMP_BUILTIN): Test
|
||
'flag_tree_parallelize_loops > 1' instead of
|
||
'flag_tree_parallelize_loops'. Test flag_cilkplus.
|
||
|
||
2015-06-22 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* dominance.c (calculate_dominance_info): Verify dominators if
|
||
early-out.
|
||
|
||
2015-06-22 Marek Polacek <polacek@redhat.com>
|
||
|
||
* match.pd ((x ^ y) ^ (x | y) -> x & y,
|
||
(x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
|
||
(x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
|
||
(x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
|
||
|
||
2015-06-22 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/65871
|
||
* config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
|
||
cost of embedded comparison.
|
||
|
||
2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/65914
|
||
* config/rs6000/predicates.md (altivec_register_operand): Permit
|
||
virtual stack registers.
|
||
(vsx_register_operand): Likewise.
|
||
(vfloat_operand): Likewise.
|
||
(vint_operand): Likewise.
|
||
(vlogical_operand): Likewise.
|
||
|
||
2015-06-22 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
|
||
and single_scalar_iteration_cost members.
|
||
(LOOP_VINFO_SCALAR_ITERATION_COST): New.
|
||
(LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
|
||
(vect_get_single_scalar_iteration_cost): Remove.
|
||
* tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
|
||
Use LOOP_VINFO_SCALAR_ITERATION_COST.
|
||
* tree-vect-loop.c (destroy_loop_vec_info): Free
|
||
scalar_cost_vec.
|
||
(vect_get_single_scalar_iteration_cost): Compute result into
|
||
LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
|
||
LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
|
||
(vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
|
||
(vect_estimate_min_profitable_iters): Use them.
|
||
|
||
2015-06-22 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/52144
|
||
* config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
|
||
(TARGET_INSERT_ATTRIBUTES): Define.
|
||
(thumb_flipper): New var.
|
||
* config/arm/arm.opt (-mflip-thumb): New switch.
|
||
|
||
2015-06-22 Jan Hubicka <hubicka@ucw.cz>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/65908
|
||
* ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
|
||
construction of arg_types.
|
||
(sem_function::sem_function): Likewise.
|
||
(sem_function::~sem_function): Remove destruction of arg_types.
|
||
(sem_function::compatible_parm_types_p): New function.
|
||
(sem_function::equals_wpa): Reorg matching of return values
|
||
and parameter types.
|
||
(sem_function::equals_private): Reorg mathcing of argument types.
|
||
(sem_function::parse_tree_args): Remove.
|
||
* ipa-icf.h (init_wpa): Do not call it.
|
||
(parse_tree_args): Remove.
|
||
(compatible_parm_types_p): Declare.
|
||
(result_type): Remove.
|
||
(arg_types): Remove.
|
||
|
||
2015-06-22 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/66351
|
||
* ipa-polymorphic-call.c
|
||
(ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
|
||
initializing alias oracle; fix formating; set base_alias_set if it
|
||
is known.
|
||
|
||
2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
* auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
|
||
(parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
|
||
(find_inc): Likewise.
|
||
* combine.c (combine_simplify_rtx): Use std::swap instead of manually
|
||
swapping.
|
||
* df-core.c (df_worklist_dataflow_doublequeue): Likewise.
|
||
* df-scan.c (df_swap_refs): Remove.
|
||
(df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
|
||
* dominance.c (link_roots): Use std::swap instead of manually swapping.
|
||
* expr.c (expand_expr_real_2, do_store_flag): Likewise.
|
||
* fold-const.c (fold_relational_const): Likewise.
|
||
* genattrtab.c (simplify_test_exp): Likewise.
|
||
* gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
|
||
gimple_simplify): Likewise.
|
||
* ifcvt.c (noce_try_abs, find_if_header): Likewise.
|
||
* internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
|
||
* ipa-devirt.c (add_type_duplicate): Likewise.
|
||
* loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
|
||
* lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
|
||
* lra.c (lra_create_copy): Likewise.
|
||
* lto-streamer-out.c (DFS::DFS): Likewise.
|
||
* modulo-sched.c (get_sched_window): Likewise.
|
||
* omega.c (omega_pretty_print_problem): Likewise.
|
||
* optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
|
||
* reload1.c (reloads_unique_chain_p): Likewise.
|
||
* sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
|
||
(exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
|
||
use std::swap.
|
||
* simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
|
||
manually swapping.
|
||
* tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
|
||
predicate_mem_writes): Likewise.
|
||
* tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
|
||
* tree-predcom.c (combine_chains): Likewise.
|
||
* tree-ssa-alias.c (nonoverlapping_component_refs_p,
|
||
refs_may_alias_p_1): Likewise.
|
||
* tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
|
||
* tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
|
||
* tree-ssa-loop-niter.c (refine_bounds_using_guard,
|
||
number_of_iterations_cond): Likewise.
|
||
* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
|
||
* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
|
||
* tree-vect-slp.c (vect_build_slp_tree): Likewise.
|
||
* tree-vect-stmts.c (supportable_widening_operation): Likewise.
|
||
* tree-vrp.c (extract_range_from_binary_expr_1,
|
||
extract_range_from_unary_expr_1): Likewise.
|
||
|
||
2015-06-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
* common.opt (fsanitize-undefined-trap-on-error): Add Driver.
|
||
|
||
2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
PR target/66591
|
||
* config/sh/sh.c (prepare_move_operands): Replace subreg
|
||
index term with R0 for base and index addressing.
|
||
|
||
2015-06-19 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
* config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
|
||
op1 is an fp zero.
|
||
(movsf_aarch64): Change condition from register_operand to
|
||
aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
|
||
load1. Change type for alternative 7 to store1.
|
||
(movdf_aarch64): Likewise.
|
||
|
||
2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/vax/vax.md: Adjust sign/zero extend patterns to
|
||
handle SUBREGs in operands[1].
|
||
|
||
2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/i386/i386.c (ix86_function_versions): Use std::swap instead
|
||
of manually swapping.
|
||
(expand_vec_perm_interleave2): Likewise.
|
||
|
||
2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
|
||
reuse bounds created for abnormal ssa names.
|
||
|
||
2015-06-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/nvptx/nvptx.md (allocate_stack): Rename to...
|
||
(allocate_stack_<mode>): ... this, and add :P on both
|
||
match_operand and unspec.
|
||
(allocate_stack): New expander.
|
||
|
||
2015-06-19 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/66541
|
||
PR target/52144
|
||
* config/arm/arm.c (arm_set_current_function): Handle
|
||
explicit default options.
|
||
|
||
2015-06-18 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*movsicc_noc_zext): New insn.
|
||
(zero-extended cmove with mem peephole2): New pattern.
|
||
(cmove with mem peephole2): Merge patterns.
|
||
|
||
2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
|
||
|
||
2015-06-18 Steve Ellcey <sellcey@imgtec.com>
|
||
|
||
* config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
|
||
* config/mips/mips.md (*madd4<mode>): Ditto.
|
||
(*nmadd3<mode>) Ditto.
|
||
(*nmadd4<mode>_fastmath): Ditto.
|
||
(*nmadd3<mode>_fastmath): Ditto.
|
||
(*nmsub4<mode>): Ditto.
|
||
(*nmsub3<mode>): Ditto.
|
||
(*nmsub4<mode>_fastmath): Ditto.
|
||
(*nmsub3<mode>_fastmath): Ditto.
|
||
|
||
2015-06-18 Michael Matz <matz@suse.de>
|
||
|
||
PR middle-end/66253
|
||
* tree-vect-stmts.c (vectorizable_store): Implement non-SLP
|
||
grouped strided stores.
|
||
(vectorizable_load): Don't use the DR from first_stmt in
|
||
the non-SLP grouped strided case.
|
||
|
||
2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR target/66569
|
||
* function.c (assign_bounds): Add arguments assign_regs,
|
||
assign_special, assign_bt.
|
||
(assign_parms): For vararg functions handle bounds in BT
|
||
and special slots after incoming vararg bounds.
|
||
|
||
2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR middle-end/66568
|
||
* cfgexpand.c (expand_return): Handle missing bounds.
|
||
(expand_gimple_stmt_1): Likewise.
|
||
* tree-chkp.c (chkp_expand_zero_bounds): New.
|
||
* tree-chkp.h (chkp_expand_zero_bounds): New.
|
||
|
||
2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR middle-end/66567
|
||
* ipa-chkp.c (chkp_maybe_create_clone): Require
|
||
functions to be instrumentable.
|
||
* tree-chkp.c (chkp_replace_function_pointer): Use
|
||
chkp_instrumentable_p instead of attribute check.
|
||
|
||
2015-06-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66510
|
||
* tree-vect-stmts.c (vectorizable_load): Properly compute the
|
||
number of vector loads for SLP permuted loads.
|
||
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
|
||
check the stride for loop vectorization.
|
||
(vect_enhance_data_refs_alignment): Deal with SLP adjusted
|
||
vectorization factor.
|
||
(vect_analyze_group_access): If the group size is not a power
|
||
of two require a epilogue loop.
|
||
* tree-vect-loop.c (vect_analyze_loop_2): Move alignment
|
||
compute and optimizing and alias test pruning after final
|
||
vectorization factor computation.
|
||
* tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
|
||
vector alignment.
|
||
(vect_transform_slp_perm_load): Properly compute the original
|
||
number of vector load stmts.
|
||
|
||
2015-06-18 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* doc/invoke.texi (-fsanitize-sections): Split @var to avoid
|
||
"unlikely character , in @var" warning.
|
||
|
||
2015-06-17 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
|
||
(ix86_function_arg_advance): Ditto.
|
||
(ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
|
||
|
||
2015-06-17 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* function.h (struct rtl_data): Remove struct and accessor macros.
|
||
* emit-rtl.h (struct rtl_data): Relocate to here.
|
||
* Makefile.in (GTFILES): Add emit-rtl.h.
|
||
* df-core.c: Include emit-rtl.h.
|
||
* genattrtab.c: Likewise.
|
||
* genconditions.c: Likewise.
|
||
* genpreds.c: Likewise.
|
||
* genrecog.c: Likewise.
|
||
* regcprop.c: Likewise.
|
||
* resource.c: Likewise.
|
||
* sched-rgn.c: Likewise.
|
||
* config/aarch64/cortex-a57-fma-steering.c: Likewise.
|
||
* config/i386/winnt.c: Likewise.
|
||
|
||
2015-06-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/66429
|
||
* omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
|
||
instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
|
||
and has_force_vectorize_loops flags from cfun into
|
||
child_cfun.
|
||
(expand_omp_simd): For broken loop, set cfun->has_simduid_loops
|
||
if simduid is non-NULL.
|
||
* tree-pass.h (make_pass_simduid_cleanup): New prototype.
|
||
* passes.def (pass_simduid_cleanup): Add new pass after loop
|
||
passes.
|
||
* tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
|
||
indirection from htab argument's type.
|
||
(shrink_simd_arrays): New function.
|
||
(vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
|
||
Don't call adjust_simduid_builtins if there are no loops.
|
||
(pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
|
||
(pass_simduid_cleanup::execute): New method.
|
||
(make_pass_simduid_cleanup): New function.
|
||
|
||
2017-06-17 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* tree-core.h (tree_target_option): Make opts field a pointer to a
|
||
cl_target_option instead of an instance of the struct.
|
||
* tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
|
||
the structure.
|
||
* tree.c (make_node_stat ): Allocate a cl_target_option struct for
|
||
TARGET_OPTION_NODE.
|
||
(copy_node_stat): Allocate and copy struct cl_target_option.
|
||
|
||
2015-06-17 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
|
||
Remove conditional exposure of prototypes.
|
||
(ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
|
||
* tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
|
||
definitions in tree.h with functions.
|
||
* lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
|
||
anon_aggrname_p.
|
||
* tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
|
||
|
||
2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
|
||
(*cmp<mode>_signed): ... this.
|
||
(*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
|
||
(*cmp<mode>_unsigned): ... this. Remove %b.
|
||
|
||
2015-06-17 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* coretypes.h: Include input.h and as-a.h.
|
||
* rtl.h: Include input.h and as-a.h for generator files.
|
||
* hwint.c: Include coretypes.h, don't include diagnostic-core.h.
|
||
* vec.c: Don't include diagnostic-core.h.
|
||
* alias.c: Do not include input.h, line-map.h or is-a.h.
|
||
* asan.c: Likewise.
|
||
* attribs.c: Likewise.
|
||
* auto-inc-dec.c: Likewise.
|
||
* auto-profile.c: Likewise.
|
||
* bb-reorder.c: Likewise.
|
||
* bt-load.c: Likewise.
|
||
* builtins.c: Likewise.
|
||
* caller-save.c: Likewise.
|
||
* calls.c: Likewise.
|
||
* ccmp.c: Likewise.
|
||
* cfg.c: Likewise.
|
||
* cfganal.c: Likewise.
|
||
* cfgbuild.c: Likewise.
|
||
* cfgcleanup.c: Likewise.
|
||
* cfgexpand.c: Likewise.
|
||
* cfghooks.c: Likewise.
|
||
* cfgloop.c: Likewise.
|
||
* cfgloop.h: Likewise.
|
||
* cfgloopanal.c: Likewise.
|
||
* cfgloopmanip.c: Likewise.
|
||
* cfgrtl.c: Likewise.
|
||
* cgraph.c: Likewise.
|
||
* cgraphbuild.c: Likewise.
|
||
* cgraphclones.c: Likewise.
|
||
* cgraphunit.c: Likewise.
|
||
* cilk-common.c: Likewise.
|
||
* combine-stack-adj.c: Likewise.
|
||
* combine.c: Likewise.
|
||
* compare-elim.c: Likewise.
|
||
* convert.c: Likewise.
|
||
* coverage.c: Likewise.
|
||
* cppbuiltin.c: Likewise.
|
||
* cprop.c: Likewise.
|
||
* cse.c: Likewise.
|
||
* cselib.c: Likewise.
|
||
* data-streamer-in.c: Likewise.
|
||
* data-streamer-out.c: Likewise.
|
||
* data-streamer.c: Likewise.
|
||
* dbxout.c: Likewise.
|
||
* dce.c: Likewise.
|
||
* ddg.c: Likewise.
|
||
* debug.c: Likewise.
|
||
* df-core.c: Likewise.
|
||
* df-problems.c: Likewise.
|
||
* df-scan.c: Likewise.
|
||
* df.h: Likewise.
|
||
* dfp.c: Likewise.
|
||
* diagnostic-core.h: Likewise.
|
||
* diagnostic.c: Likewise.
|
||
* dojump.c: Likewise.
|
||
* dominance.c: Likewise.
|
||
* domwalk.c: Likewise.
|
||
* double-int.c: Likewise.
|
||
* dse.c: Likewise.
|
||
* dumpfile.c: Likewise.
|
||
* dumpfile.h: Likewise.
|
||
* dwarf2asm.c: Likewise.
|
||
* dwarf2cfi.c: Likewise.
|
||
* dwarf2out.c: Likewise.
|
||
* emit-rtl.c: Likewise.
|
||
* et-forest.c: Likewise.
|
||
* except.c: Likewise.
|
||
* explow.c: Likewise.
|
||
* expmed.c: Likewise.
|
||
* expr.c: Likewise.
|
||
* final.c: Likewise.
|
||
* fixed-value.c: Likewise.
|
||
* fold-const.c: Likewise.
|
||
* function.c: Likewise.
|
||
* fwprop.c: Likewise.
|
||
* gcc-plugin.h: Likewise.
|
||
* gcse.c: Likewise.
|
||
* generic-match-head.c: Likewise.
|
||
* ggc-page.c: Likewise.
|
||
* gimple-builder.c: Likewise.
|
||
* gimple-expr.c: Likewise.
|
||
* gimple-fold.c: Likewise.
|
||
* gimple-iterator.c: Likewise.
|
||
* gimple-low.c: Likewise.
|
||
* gimple-match-head.c: Likewise.
|
||
* gimple-pretty-print.c: Likewise.
|
||
* gimple-ssa-isolate-paths.c: Likewise.
|
||
* gimple-ssa-strength-reduction.c: Likewise.
|
||
* gimple-streamer-in.c: Likewise.
|
||
* gimple-streamer-out.c: Likewise.
|
||
* gimple-streamer.h: Likewise.
|
||
* gimple-walk.c: Likewise.
|
||
* gimple.c: Likewise.
|
||
* gimplify-me.c: Likewise.
|
||
* gimplify.c: Likewise.
|
||
* godump.c: Likewise.
|
||
* graph.c: Likewise.
|
||
* graphite-blocking.c: Likewise.
|
||
* graphite-dependences.c: Likewise.
|
||
* graphite-interchange.c: Likewise.
|
||
* graphite-isl-ast-to-gimple.c: Likewise.
|
||
* graphite-optimize-isl.c: Likewise.
|
||
* graphite-poly.c: Likewise.
|
||
* graphite-scop-detection.c: Likewise.
|
||
* graphite-sese-to-poly.c: Likewise.
|
||
* graphite.c: Likewise.
|
||
* haifa-sched.c: Likewise.
|
||
* hw-doloop.c: Likewise.
|
||
* ifcvt.c: Likewise.
|
||
* init-regs.c: Likewise.
|
||
* input.c: Likewise.
|
||
* internal-fn.c: Likewise.
|
||
* ipa-chkp.c: Likewise.
|
||
* ipa-comdats.c: Likewise.
|
||
* ipa-cp.c: Likewise.
|
||
* ipa-devirt.c: Likewise.
|
||
* ipa-icf-gimple.c: Likewise.
|
||
* ipa-icf.c: Likewise.
|
||
* ipa-inline-analysis.c: Likewise.
|
||
* ipa-inline-transform.c: Likewise.
|
||
* ipa-inline.c: Likewise.
|
||
* ipa-polymorphic-call.c: Likewise.
|
||
* ipa-profile.c: Likewise.
|
||
* ipa-prop.c: Likewise.
|
||
* ipa-pure-const.c: Likewise.
|
||
* ipa-ref.c: Likewise.
|
||
* ipa-reference.c: Likewise.
|
||
* ipa-split.c: Likewise.
|
||
* ipa-utils.c: Likewise.
|
||
* ipa-visibility.c: Likewise.
|
||
* ipa.c: Likewise.
|
||
* ira-build.c: Likewise.
|
||
* ira-color.c: Likewise.
|
||
* ira-conflicts.c: Likewise.
|
||
* ira-costs.c: Likewise.
|
||
* ira-emit.c: Likewise.
|
||
* ira-lives.c: Likewise.
|
||
* ira.c: Likewise.
|
||
* jump.c: Likewise.
|
||
* langhooks.c: Likewise.
|
||
* lcm.c: Likewise.
|
||
* loop-doloop.c: Likewise.
|
||
* loop-init.c: Likewise.
|
||
* loop-invariant.c: Likewise.
|
||
* loop-iv.c: Likewise.
|
||
* loop-unroll.c: Likewise.
|
||
* lower-subreg.c: Likewise.
|
||
* lra-assigns.c: Likewise.
|
||
* lra-coalesce.c: Likewise.
|
||
* lra-constraints.c: Likewise.
|
||
* lra-eliminations.c: Likewise.
|
||
* lra-lives.c: Likewise.
|
||
* lra-remat.c: Likewise.
|
||
* lra-spills.c: Likewise.
|
||
* lra.c: Likewise.
|
||
* lto-cgraph.c: Likewise.
|
||
* lto-compress.c: Likewise.
|
||
* lto-opts.c: Likewise.
|
||
* lto-section-in.c: Likewise.
|
||
* lto-section-out.c: Likewise.
|
||
* lto-streamer-in.c: Likewise.
|
||
* lto-streamer-out.c: Likewise.
|
||
* lto-streamer.c: Likewise.
|
||
* mcf.c: Likewise.
|
||
* mode-switching.c: Likewise.
|
||
* modulo-sched.c: Likewise.
|
||
* omega.c: Likewise.
|
||
* omp-low.c: Likewise.
|
||
* optabs.c: Likewise.
|
||
* opts-global.c: Likewise.
|
||
* opts.h: Likewise.
|
||
* passes.c: Likewise.
|
||
* plugin.c: Likewise.
|
||
* postreload-gcse.c: Likewise.
|
||
* postreload.c: Likewise.
|
||
* predict.c: Likewise.
|
||
* pretty-print.h: Likewise.
|
||
* print-rtl.c: Likewise.
|
||
* print-tree.c: Likewise.
|
||
* profile.c: Likewise.
|
||
* real.c: Likewise.
|
||
* realmpfr.c: Likewise.
|
||
* recog.c: Likewise.
|
||
* ree.c: Likewise.
|
||
* reg-stack.c: Likewise.
|
||
* regcprop.c: Likewise.
|
||
* reginfo.c: Likewise.
|
||
* regrename.c: Likewise.
|
||
* regstat.c: Likewise.
|
||
* reload.c: Likewise.
|
||
* reload1.c: Likewise.
|
||
* reorg.c: Likewise.
|
||
* resource.c: Likewise.
|
||
* rtl-chkp.c: Likewise.
|
||
* rtl-error.c: Likewise.
|
||
* rtlanal.c: Likewise.
|
||
* rtlhooks.c: Likewise.
|
||
* sanopt.c: Likewise.
|
||
* sched-deps.c: Likewise.
|
||
* sched-ebb.c: Likewise.
|
||
* sched-rgn.c: Likewise.
|
||
* sched-vis.c: Likewise.
|
||
* sdbout.c: Likewise.
|
||
* sel-sched-dump.c: Likewise.
|
||
* sel-sched-ir.c: Likewise.
|
||
* sel-sched.c: Likewise.
|
||
* sese.c: Likewise.
|
||
* shrink-wrap.c: Likewise.
|
||
* simplify-rtx.c: Likewise.
|
||
* stack-ptr-mod.c: Likewise.
|
||
* statistics.c: Likewise.
|
||
* stmt.c: Likewise.
|
||
* stor-layout.c: Likewise.
|
||
* store-motion.c: Likewise.
|
||
* streamer-hooks.c: Likewise.
|
||
* stringpool.c: Likewise.
|
||
* symtab.c: Likewise.
|
||
* target-globals.c: Likewise.
|
||
* targhooks.c: Likewise.
|
||
* toplev.c: Likewise.
|
||
* tracer.c: Likewise.
|
||
* trans-mem.c: Likewise.
|
||
* tree-affine.c: Likewise.
|
||
* tree-browser.c: Likewise.
|
||
* tree-call-cdce.c: Likewise.
|
||
* tree-cfg.c: Likewise.
|
||
* tree-cfgcleanup.c: Likewise.
|
||
* tree-chkp-opt.c: Likewise.
|
||
* tree-chkp.c: Likewise.
|
||
* tree-chrec.c: Likewise.
|
||
* tree-complex.c: Likewise.
|
||
* tree-data-ref.c: Likewise.
|
||
* tree-dfa.c: Likewise.
|
||
* tree-diagnostic.c: Likewise.
|
||
* tree-dump.c: Likewise.
|
||
* tree-eh.c: Likewise.
|
||
* tree-emutls.c: Likewise.
|
||
* tree-if-conv.c: Likewise.
|
||
* tree-inline.c: Likewise.
|
||
* tree-into-ssa.c: Likewise.
|
||
* tree-iterator.c: Likewise.
|
||
* tree-loop-distribution.c: Likewise.
|
||
* tree-nested.c: Likewise.
|
||
* tree-nrv.c: Likewise.
|
||
* tree-object-size.c: Likewise.
|
||
* tree-outof-ssa.c: Likewise.
|
||
* tree-parloops.c: Likewise.
|
||
* tree-phinodes.c: Likewise.
|
||
* tree-predcom.c: Likewise.
|
||
* tree-pretty-print.c: Likewise.
|
||
* tree-profile.c: Likewise.
|
||
* tree-scalar-evolution.c: Likewise.
|
||
* tree-sra.c: Likewise.
|
||
* tree-ssa-address.c: Likewise.
|
||
* tree-ssa-alias.c: Likewise.
|
||
* tree-ssa-ccp.c: Likewise.
|
||
* tree-ssa-coalesce.c: Likewise.
|
||
* tree-ssa-copy.c: Likewise.
|
||
* tree-ssa-copyrename.c: Likewise.
|
||
* tree-ssa-dce.c: Likewise.
|
||
* tree-ssa-dom.c: Likewise.
|
||
* tree-ssa-dse.c: Likewise.
|
||
* tree-ssa-forwprop.c: Likewise.
|
||
* tree-ssa-ifcombine.c: Likewise.
|
||
* tree-ssa-live.c: Likewise.
|
||
* tree-ssa-loop-ch.c: Likewise.
|
||
* tree-ssa-loop-im.c: Likewise.
|
||
* tree-ssa-loop-ivcanon.c: Likewise.
|
||
* tree-ssa-loop-ivopts.c: Likewise.
|
||
* tree-ssa-loop-manip.c: Likewise.
|
||
* tree-ssa-loop-niter.c: Likewise.
|
||
* tree-ssa-loop-prefetch.c: Likewise.
|
||
* tree-ssa-loop-unswitch.c: Likewise.
|
||
* tree-ssa-loop.c: Likewise.
|
||
* tree-ssa-math-opts.c: Likewise.
|
||
* tree-ssa-operands.c: Likewise.
|
||
* tree-ssa-phiopt.c: Likewise.
|
||
* tree-ssa-phiprop.c: Likewise.
|
||
* tree-ssa-pre.c: Likewise.
|
||
* tree-ssa-propagate.c: Likewise.
|
||
* tree-ssa-reassoc.c: Likewise.
|
||
* tree-ssa-sccvn.c: Likewise.
|
||
* tree-ssa-scopedtables.c: Likewise.
|
||
* tree-ssa-sink.c: Likewise.
|
||
* tree-ssa-strlen.c: Likewise.
|
||
* tree-ssa-structalias.c: Likewise.
|
||
* tree-ssa-tail-merge.c: Likewise.
|
||
* tree-ssa-ter.c: Likewise.
|
||
* tree-ssa-threadedge.c: Likewise.
|
||
* tree-ssa-threadupdate.c: Likewise.
|
||
* tree-ssa-uncprop.c: Likewise.
|
||
* tree-ssa-uninit.c: Likewise.
|
||
* tree-ssa.c: Likewise.
|
||
* tree-ssanames.c: Likewise.
|
||
* tree-stdarg.c: Likewise.
|
||
* tree-streamer-in.c: Likewise.
|
||
* tree-streamer-out.c: Likewise.
|
||
* tree-streamer.c: Likewise.
|
||
* tree-switch-conversion.c: Likewise.
|
||
* tree-tailcall.c: Likewise.
|
||
* tree-vect-data-refs.c: Likewise.
|
||
* tree-vect-generic.c: Likewise.
|
||
* tree-vect-loop-manip.c: Likewise.
|
||
* tree-vect-loop.c: Likewise.
|
||
* tree-vect-patterns.c: Likewise.
|
||
* tree-vect-slp.c: Likewise.
|
||
* tree-vect-stmts.c: Likewise.
|
||
* tree-vectorizer.c: Likewise.
|
||
* tree-vrp.c: Likewise.
|
||
* tree.c: Likewise.
|
||
* tsan.c: Likewise.
|
||
* ubsan.c: Likewise.
|
||
* valtrack.c: Likewise.
|
||
* value-prof.c: Likewise.
|
||
* var-tracking.c: Likewise.
|
||
* varasm.c: Likewise.
|
||
* varpool.c: Likewise.
|
||
* vmsdbgout.c: Likewise.
|
||
* vtable-verify.c: Likewise.
|
||
* web.c: Likewise.
|
||
* wide-int.cc: Likewise.
|
||
* xcoffout.c: Likewise.
|
||
* common/common-target.h: Do not include input.h, line-map.h or is-a.h.
|
||
* common/common-targhooks.c: Likewise.
|
||
* config/aarch64/aarch64-builtins.c: Likewise.
|
||
* config/aarch64/aarch64.c: Likewise.
|
||
* config/alpha/alpha.c: Likewise.
|
||
* config/arc/arc.c: Likewise.
|
||
* config/arm/aarch-common.c: Likewise.
|
||
* config/arm/arm-builtins.c: Likewise.
|
||
* config/arm/arm-c.c: Likewise.
|
||
* config/arm/arm.c: Likewise.
|
||
* config/avr/avr-c.c: Likewise.
|
||
* config/avr/avr-log.c: Likewise.
|
||
* config/avr/avr.c: Likewise.
|
||
* config/bfin/bfin.c: Likewise.
|
||
* config/c6x/c6x.c: Likewise.
|
||
* config/cr16/cr16.c: Likewise.
|
||
* config/cris/cris.c: Likewise.
|
||
* config/darwin-c.c: Likewise.
|
||
* config/darwin.c: Likewise.
|
||
* config/default-c.c: Likewise.
|
||
* config/epiphany/epiphany.c: Likewise.
|
||
* config/epiphany/mode-switch-use.c: Likewise.
|
||
* config/epiphany/resolve-sw-modes.c: Likewise.
|
||
* config/fr30/fr30.c: Likewise.
|
||
* config/frv/frv.c: Likewise.
|
||
* config/ft32/ft32.c: Likewise.
|
||
* config/glibc-c.c: Likewise.
|
||
* config/h8300/h8300.c: Likewise.
|
||
* config/i386/i386-c.c: Likewise.
|
||
* config/i386/i386.c: Likewise.
|
||
* config/i386/msformat-c.c: Likewise.
|
||
* config/i386/winnt-cxx.c: Likewise.
|
||
* config/i386/winnt-stubs.c: Likewise.
|
||
* config/i386/winnt.c: Likewise.
|
||
* config/ia64/ia64-c.c: Likewise.
|
||
* config/ia64/ia64.c: Likewise.
|
||
* config/iq2000/iq2000.c: Likewise.
|
||
* config/lm32/lm32.c: Likewise.
|
||
* config/m32c/m32c-pragma.c: Likewise.
|
||
* config/m32c/m32c.c: Likewise.
|
||
* config/m32r/m32r.c: Likewise.
|
||
* config/m68k/m68k.c: Likewise.
|
||
* config/mcore/mcore.c: Likewise.
|
||
* config/mep/mep-pragma.c: Likewise.
|
||
* config/mep/mep.c: Likewise.
|
||
* config/microblaze/microblaze-c.c: Likewise.
|
||
* config/microblaze/microblaze.c: Likewise.
|
||
* config/mips/mips.c: Likewise.
|
||
* config/mmix/mmix.c: Likewise.
|
||
* config/mn10300/mn10300.c: Likewise.
|
||
* config/moxie/moxie.c: Likewise.
|
||
* config/msp430/msp430-c.c: Likewise.
|
||
* config/msp430/msp430.c: Likewise.
|
||
* config/nds32/nds32-cost.c: Likewise.
|
||
* config/nds32/nds32-fp-as-gp.c: Likewise.
|
||
* config/nds32/nds32-intrinsic.c: Likewise.
|
||
* config/nds32/nds32-isr.c: Likewise.
|
||
* config/nds32/nds32-md-auxiliary.c: Likewise.
|
||
* config/nds32/nds32-memory-manipulation.c: Likewise.
|
||
* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
|
||
* config/nds32/nds32-predicates.c: Likewise.
|
||
* config/nds32/nds32.c: Likewise.
|
||
* config/nios2/nios2.c: Likewise.
|
||
* config/nvptx/nvptx.c: Likewise.
|
||
* config/pa/pa.c: Likewise.
|
||
* config/pdp11/pdp11.c: Likewise.
|
||
* config/rl78/rl78-c.c: Likewise.
|
||
* config/rl78/rl78.c: Likewise.
|
||
* config/rs6000/rs6000-c.c: Likewise.
|
||
* config/rs6000/rs6000.c: Likewise.
|
||
* config/rx/rx.c: Likewise.
|
||
* config/s390/s390-c.c: Likewise.
|
||
* config/s390/s390.c: Likewise.
|
||
* config/sh/sh-c.c: Likewise.
|
||
* config/sh/sh-mem.cc: Likewise.
|
||
* config/sh/sh.c: Likewise.
|
||
* config/sh/sh_optimize_sett_clrt.cc: Likewise.
|
||
* config/sh/sh_treg_combine.cc: Likewise.
|
||
* config/sol2-c.c: Likewise.
|
||
* config/sol2-cxx.c: Likewise.
|
||
* config/sol2-stubs.c: Likewise.
|
||
* config/sol2.c: Likewise.
|
||
* config/sparc/sparc-c.c: Likewise.
|
||
* config/sparc/sparc.c: Likewise.
|
||
* config/spu/spu-c.c: Likewise.
|
||
* config/spu/spu.c: Likewise.
|
||
* config/stormy16/stormy16.c: Likewise.
|
||
* config/tilegx/mul-tables.c: Likewise.
|
||
* config/tilegx/tilegx-c.c: Likewise.
|
||
* config/tilegx/tilegx.c: Likewise.
|
||
* config/tilepro/mul-tables.c: Likewise.
|
||
* config/tilepro/tilepro-c.c: Likewise.
|
||
* config/tilepro/tilepro.c: Likewise.
|
||
* config/v850/v850-c.c: Likewise.
|
||
* config/v850/v850.c: Likewise.
|
||
* config/vax/vax.c: Likewise.
|
||
* config/visium/visium.c: Likewise.
|
||
* config/vms/vms-c.c: Likewise.
|
||
* config/vms/vms.c: Likewise.
|
||
* config/vxworks.c: Likewise.
|
||
* config/winnt-c.c: Likewise.
|
||
* config/xtensa/xtensa.c: Likewise.
|
||
|
||
2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
|
||
|
||
* config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
|
||
function.
|
||
(TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
|
||
|
||
2015-06-17 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66251
|
||
* tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
|
||
stmts for SLP strided stores.
|
||
|
||
Revert
|
||
2015-05-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66251
|
||
* tree-vect-stmts.c (vectorizable_conversion): Properly
|
||
set STMT_VINFO_VEC_STMT even for the SLP case.
|
||
|
||
2015-05-26 Michael Matz <matz@suse.de>
|
||
|
||
PR middle-end/66251
|
||
* tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
|
||
STMT_VINFO_VEC_STMT, also with SLP.
|
||
|
||
2015-06-16 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/56766
|
||
* config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
|
||
(*avx_addsubv4df3_1s): Ditto.
|
||
(*sse3_addsubv2df3_1): Ditto.
|
||
(*sse3_addsubv2df3_1s): Ditto.
|
||
(*avx_addsubv8sf3_1): Ditto.
|
||
(*avx_addsubv8sf3_1s): Ditto.
|
||
(*sse3_addsubv4sf3_1): Ditto.
|
||
(*sse3_addsubv4sf3_1s): Ditto.
|
||
|
||
2015-06-16 Steve Ellcey <sellcey@imgtec.com>
|
||
|
||
* config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
|
||
(SYSROOT_SUFFIX_SPEC): Update.
|
||
(SYSROOT_HEADERS_SUFFIX_SPEC): New.
|
||
(STARTFILE_PREFIX_SPEC): Update.
|
||
* config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
|
||
(MULTILIB_REQUIRED): New.
|
||
(MULTILIB_OSDIRNAMES): New.
|
||
* config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
|
||
(MULTILIB_REQUIRED): New.
|
||
(MULTILIB_OSDIRNAMES): New.
|
||
|
||
2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
* config/aarch64/aarch64-arches.def: Add "armv8.1-a".
|
||
* config/aarch64/aarch64-options-extensions.def: Update "fP",
|
||
"simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
|
||
* gcc/config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
|
||
(AARCH64_FL_PAN): New.
|
||
(AARCH64_FL_LOR): New.
|
||
(AARCH64_FL_RDMA): New.
|
||
(AARCH64_FL_FOR_ARCH8_1): New.
|
||
* doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
|
||
-march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
|
||
|
||
2015-06-16 Martin Liska <mliska@suse.cz>
|
||
|
||
* bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
|
||
* hash-table.c (void dump_hash_table_loc_statistics): Add missing
|
||
guard.
|
||
|
||
2015-06-16 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-stmts.c (vectorizable_store): Adjust.
|
||
(vectorizable_load): Likewise.
|
||
* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
|
||
Simplify.
|
||
(vect_create_data_ref_ptr): Likewise.
|
||
(bump_vector_ptr): Adjust.
|
||
|
||
2015-06-16 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-stmts.c (vectorizable_load): Properly start loads
|
||
with the first element if this is grouped loads.
|
||
|
||
2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/arm/arm-protos.h (struct tune_params): Rename
|
||
log_op_non_sc to log_op_non_short_circuit, and rename enum
|
||
values to expand SC to SHORT_CIRCUIT.
|
||
* config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
|
||
to LOG_OP_NON_SHORT_CIRCUIT.
|
||
(arm_fastmul_tune):Likewise
|
||
(arm_strongarm_tune): Likewise.
|
||
(arm_xscale_tune): Likewise.
|
||
(arm_9e_tune): Likewise.
|
||
(arm_marvell_pj4_tune): Likewise.
|
||
(arm_v6t2_tune): Likewise.
|
||
(arm_cortex_tune): Likewise.
|
||
(arm_cortex_a8_tune): Likewise.
|
||
(arm_cortex_a7_tune): Likewise.
|
||
(arm_cortex_a15_tune): Likewise.
|
||
(arm_cortex_a53_tune): Likewise.
|
||
(arm_cortex_a57_tune): Likewise.
|
||
(arm_xgene1_tune): Likewise.
|
||
(arm_cortex_a5_tune): Likewise.
|
||
(arm_cortex_a9_tune): Likewise.
|
||
(arm_cortex_a12_tune): Likewise.
|
||
(arm_v7m_tune): Likewise.
|
||
(arm_cortex_m7_tune): Likewise.
|
||
(arm_v6m_tune): Likewise.
|
||
(arm_fa726te_tune): Likewise.
|
||
|
||
2015-06-15 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* altivec.md: Delete UNSPEC_VMLADDUHM.
|
||
(mulv4si3_p8): New pattern.
|
||
(mulv4si3): Use it for POWER8.
|
||
(mulv8hi3): Use vmladduhm with zero addend.
|
||
(altivec_vmladduhm): Descriptive RTL.
|
||
|
||
2015-06-15 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
* config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
|
||
to use neon_move instead of mov_imm.
|
||
(movdi_aarch64): Change alternative 14 to use neon_move not fmov.
|
||
(movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
|
||
|
||
* config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
|
||
aarch64_float_const_zero_rtx_p check before TFmode check.
|
||
* config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
|
||
an fp zero.
|
||
(movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
|
||
code and attributes to match. Change condition from register_operand
|
||
to aarch64_reg_or_fp_zero for op1. Change type for ldp from
|
||
neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
|
||
to store2.
|
||
|
||
2015-06-15 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR debug/66535
|
||
* dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
|
||
there is no parent.
|
||
|
||
2015-06-14 Shiva Chen <shiva0217@gmail.com>
|
||
|
||
* aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
|
||
HOST_WIDE_INT parameter.
|
||
|
||
2015-06-14 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/66181
|
||
* lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
|
||
* tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
|
||
TYPE_NO_FORCE_BLK.
|
||
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
|
||
|
||
2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* rtl.h (classify_insn): Declare.
|
||
* emit-rtl.c (classify_insn): Move to...
|
||
* rtl.c: ...here and add generator support.
|
||
* gensupport.h (get_emit_function, needs_barrier_p): Declare.
|
||
* gensupport.c (get_emit_function, needs_barrier_p): New functions.
|
||
* genemit.c (gen_emit_seq): New function.
|
||
(gen_expand, gen_split): Use it.
|
||
|
||
2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
* tree.c (make_vector_stat): Fix comment to state that the
|
||
function returns a VECTOR_CST.
|
||
|
||
2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* gensupport.h (add_implicit_parallel): Declare.
|
||
* genrecog.c (add_implicit_parallel): Move to...
|
||
* gensupport.c (add_implicit_parallel): ...here.
|
||
(process_one_cond_exec): Use it.
|
||
* genemit.c (gen_insn): Likewise.
|
||
|
||
2015-06-13 Iain Sandoe <iain@codesourcery.com>
|
||
|
||
PR bootstrap/66448
|
||
* passes.c (rest_of_decl_compilation): Do not register globals for
|
||
early debug if they are declared in built-ins.
|
||
|
||
2015-06-12 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
|
||
|
||
2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
|
||
manually swapping.
|
||
(noce_try_cmove_arith): Likewise.
|
||
(noce_get_alt_condition): Likewise.
|
||
|
||
2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
|
||
|
||
* common/config/i386/i386-common.c
|
||
(OPTION_MASK_ISA_MWAITX_SET): New.
|
||
(ix86_handle_option): Handle mwaitx.
|
||
* config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
|
||
(x86_64-*-*): Likewise.
|
||
* config/i386/mwaitxintrin.h: New header.
|
||
* config/i386/cpuid.h (bit_MWAITX): Define.
|
||
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
|
||
MWAITX support.
|
||
* config/i386/i386.opt (mwaitx): New.
|
||
* config/i386/i386-builtin-types.def
|
||
(VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
|
||
* config/i386/i386-c.c: Define __MWAITX__ if needed.
|
||
* config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
|
||
(PTA_MWAITX): New.
|
||
(ix86_option_override_internal): Handle new option.
|
||
(processor_alias_table): Added PTA_MWAITX.
|
||
(ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
|
||
(ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
|
||
(ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
|
||
IX86_BUILTIN_MONITORX built-ins.
|
||
* config/i386/i386.h (TARGET_MWAITX): New.
|
||
* config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
|
||
UNSPEC_MONITORX.
|
||
(mwaitx): New pattern.
|
||
(monitorx_<mode>): New pattern.
|
||
* config/i386/x86intrin.h: Include mwaitxintrin.h.
|
||
* doc/extend.texi: Document monitorx and mwaitx builtins.
|
||
* doc/invoke.texi: Document -mmwaitx option.
|
||
|
||
2015-06-12 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* emit-rtl.c (need_atomic_barrier_p): Mask model with
|
||
MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
|
||
|
||
2015-06-11 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* dbxout.c (xcoff_debug_hooks): Provide a function for
|
||
register_main_translation_unit hook.
|
||
|
||
2015-06-11 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
|
||
variants cases from switch.
|
||
(rs6000_post_atomic_barrier): Same.
|
||
(rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
|
||
(rs6000_expand_atomic_exchange): Same.
|
||
(rs6000_expand_atomic_op): Same.
|
||
* config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
|
||
SYNC variants cases from switch.
|
||
(atomic_load): Same.
|
||
(atomic_store): Same.
|
||
|
||
2015-06-11 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
|
||
CONST_INT for goto.
|
||
|
||
2015-06-11 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR bootstrap/66448
|
||
* dwarf2out.c (check_die): Check for common duplicate attributes.
|
||
(add_location_or_const_value_attribute): Do not add duplicate
|
||
attributes.
|
||
(gen_formal_parameter_die): Do not add DW_AT_artificial the second
|
||
time around.
|
||
(gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
|
||
(gen_type_die_with_usage): Call check_die.
|
||
(dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
|
||
|
||
2015-06-11 Jason Merrill <jason@redhat.com>
|
||
|
||
* dwarf2out.c (prune_unused_types): Handle unused top-level limbo
|
||
dies.
|
||
|
||
2015-06-11 Marek Polacek <polacek@redhat.com>
|
||
|
||
* match.pd ((x & y) ^ (x | y)): Don't check for single_use.
|
||
|
||
2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR bootstrap/66252
|
||
* config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
|
||
* config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
|
||
(*addx_extend_sp32): Fix pasto.
|
||
(*subx_extend): Rename into...
|
||
(*subx_extend_sp32): ...this.
|
||
(*adddi3_extend_sp32): Add earlyclobber.
|
||
(*subdi3_insn_sp32): Likewise.
|
||
(*subdi3_extend_sp32): Likewise.
|
||
(*and_not_di_sp32): Likewise.
|
||
(*or_not_di_sp32): Likewise.
|
||
(*xor_not_di_sp32): Likewise.
|
||
(*negdi2_sp32): Likewise.
|
||
(*one_cmpldi2_sp32): Likewise.
|
||
|
||
2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
* debug.h (struct gcc_debug_hooks): Add a
|
||
register_main_translation_unit hook.
|
||
* debug.c (do_nothing_debug_hooks): Provide a function for this
|
||
new hook.
|
||
* dbxout.c (dbx_debug_hooks): Likewise.
|
||
* sdbout.c (sdb_debug_hooks): Likewise.
|
||
* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
|
||
* dwarf2out.c (main_translation_unit): New global variable.
|
||
(dwarf2out_register_main_translation_unit): New function
|
||
implementing the new hook.
|
||
(dwarf2_debug_hooks): Assign
|
||
dwarf2out_register_main_translation_unit to this new hook.
|
||
(dwarf2out_init): Associate any main translation unit to
|
||
comp_unit_die ().
|
||
|
||
2015-06-11 Marek Polacek <polacek@redhat.com>
|
||
|
||
* match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
|
||
|
||
2015-06-11 Marek Polacek <polacek@redhat.com>
|
||
|
||
* match.pd: Use single_use throughout.
|
||
|
||
2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm.c (arm_option_params_internal): When optimising
|
||
for speed set max_insns_skipped when arm_restrict_it.
|
||
|
||
2015-06-11 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/52144
|
||
* config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
|
||
macros in ...
|
||
(arm_cpu_builtins): New function.
|
||
(arm_pragma_target_parse): Call arm_cpu_builtins.
|
||
* config/arm/arm-protos.h (arm_cpu_builtins): Declare.
|
||
(arm_register_target_pragmas): Likewise.
|
||
* config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
|
||
Call arm_register_target_pragmas.
|
||
* config/arm/arm-c.c (arm_register_target_pragmas): New function.
|
||
(arm_pragma_target_parse): Likewise.
|
||
|
||
2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
* config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
|
||
of the second operand.
|
||
|
||
2015-06-10 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/66473
|
||
* config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
|
||
to prepare mask operand for AVX512 modes.
|
||
|
||
2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/66474
|
||
* doc/md.texi (Machine Constraints): Document that on the PowerPC
|
||
if you use a constraint that targets a VSX register, you must use
|
||
%x<n> in the template.
|
||
|
||
2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
|
||
* config/xtensa/xtensa.md (define_attr "type"): New type "trap".
|
||
(define_insn "trap"): New definition.
|
||
|
||
2015-06-10 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
|
||
out from ...
|
||
(vect_supported_load_permutation_p): ... here. Handle
|
||
supportable permutations in reductions.
|
||
* tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
|
||
for vectorizing strided group loads.
|
||
|
||
2015-06-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/66470
|
||
* config/i386/i386.c (ix86_split_long_move): For collisions
|
||
involving direct tls segment refs, move the UNSPEC_TP possibly
|
||
wrapped in ZERO_EXTEND out of the address for lea, to each of
|
||
the memory loads.
|
||
|
||
2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
* config/arm/sync.md (*memory_barrier): Use dmb ish instead of
|
||
dmb sy. Adjust tabs.
|
||
|
||
2015-06-10 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* omp-low.c (expand_omp_target): Remove duplicate declaration of node.
|
||
|
||
2015-06-10 Martin Liska <mliska@suse.cz>
|
||
|
||
PR bootstrap/66471
|
||
* mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
|
||
all enum values in mem_alloc_origin.
|
||
* alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
|
||
name.
|
||
* alloc-pool.h (pool_allocator::pool_allocator): Likewise.
|
||
* bitmap.c (bitmap_register): Likewise.
|
||
(dump_bitmap_statistics): Likewise.
|
||
* ggc-common.c (dump_ggc_loc_statistics): Likewise.
|
||
(ggc_record_overhead): Likewise.
|
||
* hash-map.h: Likewise.
|
||
* hash-set.h: Likewise.
|
||
* hash-table.c (void dump_hash_table_loc_statistics): Likewise.
|
||
* hash-table.h: Likewise.
|
||
* vec.c (vec_prefix::register_overhead): Likewise.
|
||
(vec_prefix::release_overhead): Likewise.
|
||
(dump_vec_loc_statistics): Likewise.
|
||
|
||
2015-06-09 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/52144
|
||
* config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
|
||
* config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
|
||
(arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
|
||
* config/arm/arm.h (SWITCHABLE_TARGET): Define.
|
||
* config/arm/arm.c (arm_reset_previous_fndecl): New functions.
|
||
(arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
|
||
(arm_valid_target_attribute_p): Likewise.
|
||
(arm_set_current_function, arm_can_inline_p): Likewise.
|
||
(arm_valid_target_attribute_rec): Likewise.
|
||
(arm_previous_fndecl): New variable.
|
||
(TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
|
||
(TARGET_CAN_INLINE_P): Define.
|
||
(arm_asm_trampoline_template): Emit mode.
|
||
(arm_file_start): Don't set unified syntax.
|
||
(arm_declare_function_name): Set unified syntax and mode.
|
||
(arm_option_override): Init target_option_default_node.
|
||
and target_option_current_node.
|
||
* config/arm/arm.md (*call_value_symbol): Set mode when possible.
|
||
(*call_symbol): Likewise.
|
||
* doc/extend.texi: Document ARM/Thumb target attribute.
|
||
* doc/invoke.texi: Likewise.
|
||
|
||
2015-06-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
Revert:
|
||
2015-06-09 Alexandre Oliva <aoliva@redhat.com>
|
||
PR rtl-optimization/64164
|
||
* Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
|
||
* tree-ssa-copyrename.c: Removed.
|
||
* opts.c (default_options_table): Drop -ftree-copyrename. Add
|
||
-ftree-coalesce-vars.
|
||
* passes.def: Drop all occurrences of pass_rename_ssa_copies.
|
||
* common.opt (ftree-copyrename): Ignore.
|
||
(ftree-coalesce-inlined-vars): Likewise.
|
||
* doc/invoke.texi: Remove the ignored options above.
|
||
* gimple-expr.h (gimple_can_coalesce_p): Move declaration
|
||
* tree-ssa-coalesce.h: ... here.
|
||
* tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
|
||
headers required by it.
|
||
* gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
|
||
across variables when flag_tree_coalesce_vars. Check register
|
||
use and promoted modes to allow coalescing. Moved to
|
||
tree-ssa-coalesce.c.
|
||
* tree-ssa-live.c (struct tree_int_map_hasher): Move along
|
||
with its member functions to tree-ssa-coalesce.c.
|
||
(var_map_base_init): Likewise. Renamed to
|
||
compute_samebase_partition_bases.
|
||
(partition_view_normal): Drop want_bases parameter.
|
||
(partition_view_bitmap): Likewise.
|
||
* tree-ssa-live.h: Adjust declarations.
|
||
* tree-ssa-coalesce.c: Include explow.h.
|
||
(build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
|
||
default defs at the entry point.
|
||
(dump_part_var_map): New.
|
||
(compute_optimized_partition_bases): New, called by...
|
||
(coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
|
||
of compute_samebase_partition_bases. Adjust.
|
||
* alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
|
||
* cfgexpand.c (leader_merge): New.
|
||
(get_rtl_for_parm_ssa_default_def): New.
|
||
(set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
|
||
vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
|
||
(expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
|
||
redundant MEM attr setting.
|
||
(expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
|
||
from...
|
||
(expand_one_stack_var): ... this. New wrapper to check and
|
||
skip already expanded SSA partitions.
|
||
(record_alignment_for_reg_var): New, factored out of...
|
||
(expand_one_var): ... this.
|
||
(expand_one_ssa_partition): New.
|
||
(adjust_one_expanded_partition_var): New.
|
||
(expand_one_register_var): Check and skip already expanded SSA
|
||
partitions.
|
||
(expand_used_vars): Don't create DECLs for anonymous SSA
|
||
names. Expand all SSA partitions, then adjust all SSA names.
|
||
(pass::execute): Replace the loops that set
|
||
SA.partition_to_pseudo from partition leaders and cleared
|
||
DECL_RTL for multi-location variables, and that which used to
|
||
rename vars and set attrs, with one that clears DECL_RTL and
|
||
checks that PARMs and RESULTs default_defs match DECL_RTL.
|
||
* cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
|
||
* emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
|
||
* explow.c (promote_ssa_mode): New.
|
||
* explow.h (promote_ssa_mode): Declare.
|
||
* expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
|
||
* function.c: Include cfgexpand.h.
|
||
(use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
|
||
(use_register_for_parm_decl): Wrapper for the above to
|
||
special-case the result_ptr.
|
||
(rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
|
||
(maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
|
||
multiple locations.
|
||
(assign_parm_adjust_stack_rtl): Add all and parm arguments,
|
||
for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
|
||
(assign_parm_setup_block): Prefer SSA-assigned location.
|
||
(assign_parm_setup_reg): Likewise. Use entry_parm for equiv
|
||
if stack_parm is NULL.
|
||
(assign_parm_setup_stack): Prefer SSA-assigned location.
|
||
(assign_parms): Maybe reset DECL_RTL of params. Adjust stack
|
||
rtl before testing for pointer bounds. Special-case result_ptr.
|
||
(expand_function_start): Maybe reset DECL_RTL of result.
|
||
Prefer SSA-assigned location for result and static chain.
|
||
Factor out DECL_RESULT and SET_DECL_RTL.
|
||
* tree-outof-ssa.c (insert_value_copy_on_edge): Handle
|
||
anonymous SSA names. Use promote_ssa_mode.
|
||
(get_temp_reg): Likewise.
|
||
(remove_ssa_form): Adjust.
|
||
* var-tracking.c (dataflow_set_clear_at_call): Take call_insn
|
||
and get its reg_usage for reg invalidation.
|
||
(compute_bb_dataflow): Pass it insn.
|
||
(emit_notes_in_bb): Likewise.
|
||
* tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
|
||
fail assert on conversion between unsigned types.
|
||
|
||
2015-06-09 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/65460
|
||
* omp-low.c (expand_omp_target): Set parallelized_function on
|
||
cgraph_node for child_fn.
|
||
|
||
2015-06-09 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
|
||
parallelized_function before add_new_function.
|
||
|
||
2015-06-09 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* gcc-plugin.h: Move decls to plugin.h and include it.
|
||
* plugin.h: Relocate decls from gcc-plugin.h
|
||
* ggc-page.c: Include required header files.
|
||
* passes.c: Likewise.
|
||
* cgraphunit.c: Likewise.
|
||
|
||
2015-06-09 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
|
||
|
||
2015-06-09 Jason Merrill <jason@redhat.com>
|
||
|
||
PR bootstrap/66448
|
||
* toplev.c (check_global_declaration): Don't warn about a clone.
|
||
|
||
2015-06-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR tree-optimization/66299
|
||
* match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
|
||
((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
|
||
patterns.
|
||
|
||
2015-06-09 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
|
||
(vect_analyze_slp_instance): Instead do not falsely drop
|
||
load permutations.
|
||
|
||
2015-06-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/66423
|
||
* match.pd: Handle A % (unsigned)(1 << B).
|
||
|
||
2015-06-09 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* varasm.c (output_object_block_htab): Remove.
|
||
(output_object_block_compare): New.
|
||
(output_object_blocks): Sort named object_blocks before outputting
|
||
them.
|
||
|
||
2015-06-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66419
|
||
* tree-vect-slp.c (vect_supported_load_permutation_p): Properly
|
||
consider GROUP_GAP when detecting a perfect subchain.
|
||
|
||
2015-06-09 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78.c (rl78_select_section): When -mes0 is active
|
||
place read only data in the .frodata section.
|
||
|
||
2015-06-09 Shiva Chen <shiva0217@gmail.com>
|
||
|
||
* sync.md (atomic_load<mode>): Add conditional code for lda/ldr
|
||
(atomic_store<mode>): Likewise.
|
||
|
||
2015-06-09 Richard Biener <rguenther@suse.de>
|
||
|
||
* cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
|
||
|
||
2015-06-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/66413
|
||
* tree-inline.c (insert_init_debug_bind): Unshare value.
|
||
|
||
2015-06-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66396
|
||
* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
|
||
Rename virtual operands.
|
||
|
||
2015-06-09 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
|
||
always return false.
|
||
|
||
2015-06-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR rtl-optimization/64164
|
||
* Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
|
||
* tree-ssa-copyrename.c: Removed.
|
||
* opts.c (default_options_table): Drop -ftree-copyrename. Add
|
||
-ftree-coalesce-vars.
|
||
* passes.def: Drop all occurrences of pass_rename_ssa_copies.
|
||
* common.opt (ftree-copyrename): Ignore.
|
||
(ftree-coalesce-inlined-vars): Likewise.
|
||
* doc/invoke.texi: Remove the ignored options above.
|
||
* gimple-expr.h (gimple_can_coalesce_p): Move declaration
|
||
* tree-ssa-coalesce.h: ... here.
|
||
* tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
|
||
headers required by it.
|
||
* gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
|
||
across variables when flag_tree_coalesce_vars. Check register
|
||
use and promoted modes to allow coalescing. Moved to
|
||
tree-ssa-coalesce.c.
|
||
* tree-ssa-live.c (struct tree_int_map_hasher): Move along
|
||
with its member functions to tree-ssa-coalesce.c.
|
||
(var_map_base_init): Likewise. Renamed to
|
||
compute_samebase_partition_bases.
|
||
(partition_view_normal): Drop want_bases parameter.
|
||
(partition_view_bitmap): Likewise.
|
||
* tree-ssa-live.h: Adjust declarations.
|
||
* tree-ssa-coalesce.c: Include explow.h.
|
||
(build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
|
||
default defs at the entry point.
|
||
(dump_part_var_map): New.
|
||
(compute_optimized_partition_bases): New, called by...
|
||
(coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
|
||
of compute_samebase_partition_bases. Adjust.
|
||
* alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
|
||
* cfgexpand.c (leader_merge): New.
|
||
(get_rtl_for_parm_ssa_default_def): New.
|
||
(set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
|
||
vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
|
||
(expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
|
||
redundant MEM attr setting.
|
||
(expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
|
||
from...
|
||
(expand_one_stack_var): ... this. New wrapper to check and
|
||
skip already expanded SSA partitions.
|
||
(record_alignment_for_reg_var): New, factored out of...
|
||
(expand_one_var): ... this.
|
||
(expand_one_ssa_partition): New.
|
||
(adjust_one_expanded_partition_var): New.
|
||
(expand_one_register_var): Check and skip already expanded SSA
|
||
partitions.
|
||
(expand_used_vars): Don't create DECLs for anonymous SSA
|
||
names. Expand all SSA partitions, then adjust all SSA names.
|
||
(pass::execute): Replace the loops that set
|
||
SA.partition_to_pseudo from partition leaders and cleared
|
||
DECL_RTL for multi-location variables, and that which used to
|
||
rename vars and set attrs, with one that clears DECL_RTL and
|
||
checks that PARMs and RESULTs default_defs match DECL_RTL.
|
||
* cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
|
||
* emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
|
||
* explow.c (promote_ssa_mode): New.
|
||
* explow.h (promote_ssa_mode): Declare.
|
||
* expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
|
||
* function.c: Include cfgexpand.h.
|
||
(use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
|
||
(use_register_for_parm_decl): Wrapper for the above to
|
||
special-case the result_ptr.
|
||
(rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
|
||
(maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
|
||
multiple locations.
|
||
(assign_parm_adjust_stack_rtl): Add all and parm arguments,
|
||
for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
|
||
(assign_parm_setup_block): Prefer SSA-assigned location.
|
||
(assign_parm_setup_reg): Likewise. Use entry_parm for equiv
|
||
if stack_parm is NULL.
|
||
(assign_parm_setup_stack): Prefer SSA-assigned location.
|
||
(assign_parms): Maybe reset DECL_RTL of params. Adjust stack
|
||
rtl before testing for pointer bounds. Special-case result_ptr.
|
||
(expand_function_start): Maybe reset DECL_RTL of result.
|
||
Prefer SSA-assigned location for result and static chain.
|
||
Factor out DECL_RESULT and SET_DECL_RTL.
|
||
* tree-outof-ssa.c (insert_value_copy_on_edge): Handle
|
||
anonymous SSA names. Use promote_ssa_mode.
|
||
(get_temp_reg): Likewise.
|
||
(remove_ssa_form): Adjust.
|
||
* var-tracking.c (dataflow_set_clear_at_call): Take call_insn
|
||
and get its reg_usage for reg invalidation.
|
||
(compute_bb_dataflow): Pass it insn.
|
||
(emit_notes_in_bb): Likewise.
|
||
* tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
|
||
fail assert on conversion between unsigned types.
|
||
|
||
2015-06-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/58315
|
||
* tree-inline.c (reset_debug_binding): New.
|
||
(reset_debug_bindings): Likewise.
|
||
(expand_call_inline): Call it.
|
||
|
||
2015-06-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
|
||
TYPE_STRING_FLAG.
|
||
|
||
2015-06-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* lto-streamer-out.c (lto_output_location): Stream
|
||
reserved locations correctly.
|
||
* lto-streamer-in.c (lto_output_location): Likewise.
|
||
|
||
2015-06-08 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* coretypes.h: Include hash-table.h and hash-set.h for host files.
|
||
* ggc.h: Don't include statistics.h>
|
||
* hash-map.h: Remove all includes.
|
||
* hash-set.h: Likewise.
|
||
* hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
|
||
the include list. Remove <new>.
|
||
* inchash.h: Remove all includes.
|
||
* mem-stats.h: Likewise.
|
||
* vec.h: No special processing for generators or ggc.
|
||
* alias.c : Adjust include files.
|
||
* alloc-pool.c : Likewise.
|
||
* alloc-pool.h : Likewise.
|
||
* asan.c : Likewise.
|
||
* attribs.c : Likewise.
|
||
* auto-inc-dec.c : Likewise.
|
||
* auto-profile.c : Likewise.
|
||
* bb-reorder.c : Likewise.
|
||
* bitmap.c : Likewise.
|
||
* bitmap.h : Likewise.
|
||
* bt-load.c : Likewise.
|
||
* builtins.c : Likewise.
|
||
* caller-save.c : Likewise.
|
||
* calls.c : Likewise.
|
||
* ccmp.c : Likewise.
|
||
* cfg.c : Likewise.
|
||
* cfganal.c : Likewise.
|
||
* cfgbuild.c : Likewise.
|
||
* cfgcleanup.c : Likewise.
|
||
* cfgexpand.c : Likewise.
|
||
* cfghooks.c : Likewise.
|
||
* cfgloop.c : Likewise.
|
||
* cfgloop.h : Likewise.
|
||
* cfgloopanal.c : Likewise.
|
||
* cfgloopmanip.c : Likewise.
|
||
* cfgrtl.c : Likewise.
|
||
* cgraph.c : Likewise.
|
||
* cgraphbuild.c : Likewise.
|
||
* cgraphclones.c : Likewise.
|
||
* cgraphunit.c : Likewise.
|
||
* cilk-common.c : Likewise.
|
||
* combine-stack-adj.c : Likewise.
|
||
* combine.c : Likewise.
|
||
* compare-elim.c : Likewise.
|
||
* context.c : Likewise.
|
||
* convert.c : Likewise.
|
||
* coverage.c : Likewise.
|
||
* cppbuiltin.c : Likewise.
|
||
* cprop.c : Likewise.
|
||
* cse.c : Likewise.
|
||
* cselib.c : Likewise.
|
||
* data-streamer-in.c : Likewise.
|
||
* data-streamer-out.c : Likewise.
|
||
* data-streamer.c : Likewise.
|
||
* data-streamer.h : Likewise.
|
||
* dbxout.c : Likewise.
|
||
* dce.c : Likewise.
|
||
* ddg.c : Likewise.
|
||
* debug.c : Likewise.
|
||
* df-core.c : Likewise.
|
||
* df-problems.c : Likewise.
|
||
* df-scan.c : Likewise.
|
||
* df.h : Likewise.
|
||
* dfp.c : Likewise.
|
||
* dojump.c : Likewise.
|
||
* dominance.c : Likewise.
|
||
* domwalk.c : Likewise.
|
||
* double-int.c : Likewise.
|
||
* dse.c : Likewise.
|
||
* dumpfile.c : Likewise.
|
||
* dwarf2asm.c : Likewise.
|
||
* dwarf2cfi.c : Likewise.
|
||
* dwarf2out.c : Likewise.
|
||
* emit-rtl.c : Likewise.
|
||
* et-forest.c : Likewise.
|
||
* except.c : Likewise.
|
||
* except.h : Likewise.
|
||
* explow.c : Likewise.
|
||
* expmed.c : Likewise.
|
||
* expr.c : Likewise.
|
||
* final.c : Likewise.
|
||
* fixed-value.c : Likewise.
|
||
* fold-const.c : Likewise.
|
||
* function.c : Likewise.
|
||
* fwprop.c : Likewise.
|
||
* gcc-plugin.h : Likewise.
|
||
* gcc.c : Likewise.
|
||
* gcse-common.c : Likewise.
|
||
* gcse.c : Likewise.
|
||
* genattrtab.c : Likewise.
|
||
* genautomata.c : Likewise.
|
||
* genconditions.c : Likewise.
|
||
* genemit.c : Likewise.
|
||
* generic-match-head.c : Likewise.
|
||
* genextract.c : Likewise.
|
||
* gengtype-state.c : Likewise.
|
||
* gengtype.c : Likewise.
|
||
* genhooks.c : Likewise.
|
||
* genmatch.c : Likewise.
|
||
* genmodes.c : Likewise.
|
||
* genrecog.c : Likewise.
|
||
* gensupport.c : Likewise.
|
||
* ggc-common.c : Likewise.
|
||
* ggc-internal.h : Likewise.
|
||
* ggc-none.c : Likewise.
|
||
* ggc-page.c : Likewise.
|
||
* gimple-builder.c : Likewise.
|
||
* gimple-expr.c : Likewise.
|
||
* gimple-fold.c : Likewise.
|
||
* gimple-iterator.c : Likewise.
|
||
* gimple-low.c : Likewise.
|
||
* gimple-match-head.c : Likewise.
|
||
* gimple-pretty-print.c : Likewise.
|
||
* gimple-ssa-isolate-paths.c : Likewise.
|
||
* gimple-ssa-strength-reduction.c : Likewise.
|
||
* gimple-ssa.h : Likewise.
|
||
* gimple-streamer-in.c : Likewise.
|
||
* gimple-streamer-out.c : Likewise.
|
||
* gimple-streamer.h : Likewise.
|
||
* gimple-walk.c : Likewise.
|
||
* gimple.c : Likewise.
|
||
* gimplify-me.c : Likewise.
|
||
* gimplify.c : Likewise.
|
||
* godump.c : Likewise.
|
||
* graph.c : Likewise.
|
||
* graphds.c : Likewise.
|
||
* graphite-blocking.c : Likewise.
|
||
* graphite-dependences.c : Likewise.
|
||
* graphite-interchange.c : Likewise.
|
||
* graphite-isl-ast-to-gimple.c : Likewise.
|
||
* graphite-optimize-isl.c : Likewise.
|
||
* graphite-poly.c : Likewise.
|
||
* graphite-scop-detection.c : Likewise.
|
||
* graphite-sese-to-poly.c : Likewise.
|
||
* graphite.c : Likewise.
|
||
* haifa-sched.c : Likewise.
|
||
* hard-reg-set.h : Likewise.
|
||
* hw-doloop.c : Likewise.
|
||
* ifcvt.c : Likewise.
|
||
* inchash.c : Likewise.
|
||
* incpath.c : Likewise.
|
||
* init-regs.c : Likewise.
|
||
* input.c : Likewise.
|
||
* internal-fn.c : Likewise.
|
||
* ipa-chkp.c : Likewise.
|
||
* ipa-comdats.c : Likewise.
|
||
* ipa-cp.c : Likewise.
|
||
* ipa-devirt.c : Likewise.
|
||
* ipa-icf-gimple.c : Likewise.
|
||
* ipa-icf.c : Likewise.
|
||
* ipa-inline-analysis.c : Likewise.
|
||
* ipa-inline-transform.c : Likewise.
|
||
* ipa-inline.c : Likewise.
|
||
* ipa-polymorphic-call.c : Likewise.
|
||
* ipa-profile.c : Likewise.
|
||
* ipa-prop.c : Likewise.
|
||
* ipa-pure-const.c : Likewise.
|
||
* ipa-ref.c : Likewise.
|
||
* ipa-reference.c : Likewise.
|
||
* ipa-split.c : Likewise.
|
||
* ipa-utils.c : Likewise.
|
||
* ipa-visibility.c : Likewise.
|
||
* ipa.c : Likewise.
|
||
* ira-build.c : Likewise.
|
||
* ira-color.c : Likewise.
|
||
* ira-conflicts.c : Likewise.
|
||
* ira-costs.c : Likewise.
|
||
* ira-emit.c : Likewise.
|
||
* ira-lives.c : Likewise.
|
||
* ira.c : Likewise.
|
||
* jump.c : Likewise.
|
||
* langhooks.c : Likewise.
|
||
* lcm.c : Likewise.
|
||
* libfuncs.h : Likewise.
|
||
* lists.c : Likewise.
|
||
* loop-doloop.c : Likewise.
|
||
* loop-init.c : Likewise.
|
||
* loop-invariant.c : Likewise.
|
||
* loop-iv.c : Likewise.
|
||
* loop-unroll.c : Likewise.
|
||
* lower-subreg.c : Likewise.
|
||
* lra-assigns.c : Likewise.
|
||
* lra-coalesce.c : Likewise.
|
||
* lra-constraints.c : Likewise.
|
||
* lra-eliminations.c : Likewise.
|
||
* lra-lives.c : Likewise.
|
||
* lra-remat.c : Likewise.
|
||
* lra-spills.c : Likewise.
|
||
* lra.c : Likewise.
|
||
* lto-cgraph.c : Likewise.
|
||
* lto-compress.c : Likewise.
|
||
* lto-opts.c : Likewise.
|
||
* lto-section-in.c : Likewise.
|
||
* lto-section-out.c : Likewise.
|
||
* lto-streamer-in.c : Likewise.
|
||
* lto-streamer-out.c : Likewise.
|
||
* lto-streamer.c : Likewise.
|
||
* lto-streamer.h : Likewise.
|
||
* mcf.c : Likewise.
|
||
* mode-switching.c : Likewise.
|
||
* modulo-sched.c : Likewise.
|
||
* omega.c : Likewise.
|
||
* omp-low.c : Likewise.
|
||
* optabs.c : Likewise.
|
||
* opts-global.c : Likewise.
|
||
* opts.h : Likewise.
|
||
* passes.c : Likewise.
|
||
* plugin.c : Likewise.
|
||
* postreload-gcse.c : Likewise.
|
||
* postreload.c : Likewise.
|
||
* predict.c : Likewise.
|
||
* print-rtl.c : Likewise.
|
||
* print-tree.c : Likewise.
|
||
* profile.c : Likewise.
|
||
* read-md.c : Likewise.
|
||
* read-md.h : Likewise.
|
||
* read-rtl.c : Likewise.
|
||
* real.c : Likewise.
|
||
* realmpfr.c : Likewise.
|
||
* recog.c : Likewise.
|
||
* ree.c : Likewise.
|
||
* reg-stack.c : Likewise.
|
||
* regcprop.c : Likewise.
|
||
* reginfo.c : Likewise.
|
||
* regrename.c : Likewise.
|
||
* regstat.c : Likewise.
|
||
* reload.c : Likewise.
|
||
* reload1.c : Likewise.
|
||
* reorg.c : Likewise.
|
||
* resource.c : Likewise.
|
||
* rtl-chkp.c : Likewise.
|
||
* rtl.c : Likewise.
|
||
* rtl.h : Likewise.
|
||
* rtlanal.c : Likewise.
|
||
* rtlhash.c : Likewise.
|
||
* rtlhash.h : Likewise.
|
||
* rtlhooks.c : Likewise.
|
||
* sanopt.c : Likewise.
|
||
* sched-deps.c : Likewise.
|
||
* sched-ebb.c : Likewise.
|
||
* sched-rgn.c : Likewise.
|
||
* sched-vis.c : Likewise.
|
||
* sdbout.c : Likewise.
|
||
* sel-sched-dump.c : Likewise.
|
||
* sel-sched-ir.c : Likewise.
|
||
* sel-sched-ir.h : Likewise.
|
||
* sel-sched.c : Likewise.
|
||
* sese.c : Likewise.
|
||
* shrink-wrap.c : Likewise.
|
||
* shrink-wrap.h : Likewise.
|
||
* simplify-rtx.c : Likewise.
|
||
* stack-ptr-mod.c : Likewise.
|
||
* statistics.c : Likewise.
|
||
* stmt.c : Likewise.
|
||
* stor-layout.c : Likewise.
|
||
* store-motion.c : Likewise.
|
||
* stringpool.c : Likewise.
|
||
* symtab.c : Likewise.
|
||
* target-globals.c : Likewise.
|
||
* targhooks.c : Likewise.
|
||
* tlink.c : Likewise.
|
||
* toplev.c : Likewise.
|
||
* tracer.c : Likewise.
|
||
* trans-mem.c : Likewise.
|
||
* tree-affine.c : Likewise.
|
||
* tree-affine.h : Likewise.
|
||
* tree-browser.c : Likewise.
|
||
* tree-call-cdce.c : Likewise.
|
||
* tree-cfg.c : Likewise.
|
||
* tree-cfgcleanup.c : Likewise.
|
||
* tree-chkp-opt.c : Likewise.
|
||
* tree-chkp.c : Likewise.
|
||
* tree-chrec.c : Likewise.
|
||
* tree-complex.c : Likewise.
|
||
* tree-data-ref.c : Likewise.
|
||
* tree-dfa.c : Likewise.
|
||
* tree-diagnostic.c : Likewise.
|
||
* tree-dump.c : Likewise.
|
||
* tree-eh.c : Likewise.
|
||
* tree-eh.h : Likewise.
|
||
* tree-emutls.c : Likewise.
|
||
* tree-hasher.h : Likewise.
|
||
* tree-if-conv.c : Likewise.
|
||
* tree-inline.c : Likewise.
|
||
* tree-inline.h : Likewise.
|
||
* tree-into-ssa.c : Likewise.
|
||
* tree-iterator.c : Likewise.
|
||
* tree-loop-distribution.c : Likewise.
|
||
* tree-nested.c : Likewise.
|
||
* tree-nrv.c : Likewise.
|
||
* tree-object-size.c : Likewise.
|
||
* tree-outof-ssa.c : Likewise.
|
||
* tree-parloops.c : Likewise.
|
||
* tree-phinodes.c : Likewise.
|
||
* tree-predcom.c : Likewise.
|
||
* tree-pretty-print.c : Likewise.
|
||
* tree-profile.c : Likewise.
|
||
* tree-scalar-evolution.c : Likewise.
|
||
* tree-sra.c : Likewise.
|
||
* tree-ssa-address.c : Likewise.
|
||
* tree-ssa-alias.c : Likewise.
|
||
* tree-ssa-ccp.c : Likewise.
|
||
* tree-ssa-coalesce.c : Likewise.
|
||
* tree-ssa-copy.c : Likewise.
|
||
* tree-ssa-copyrename.c : Likewise.
|
||
* tree-ssa-dce.c : Likewise.
|
||
* tree-ssa-dom.c : Likewise.
|
||
* tree-ssa-dse.c : Likewise.
|
||
* tree-ssa-forwprop.c : Likewise.
|
||
* tree-ssa-ifcombine.c : Likewise.
|
||
* tree-ssa-live.c : Likewise.
|
||
* tree-ssa-loop-ch.c : Likewise.
|
||
* tree-ssa-loop-im.c : Likewise.
|
||
* tree-ssa-loop-ivcanon.c : Likewise.
|
||
* tree-ssa-loop-ivopts.c : Likewise.
|
||
* tree-ssa-loop-manip.c : Likewise.
|
||
* tree-ssa-loop-niter.c : Likewise.
|
||
* tree-ssa-loop-prefetch.c : Likewise.
|
||
* tree-ssa-loop-unswitch.c : Likewise.
|
||
* tree-ssa-loop.c : Likewise.
|
||
* tree-ssa-math-opts.c : Likewise.
|
||
* tree-ssa-operands.c : Likewise.
|
||
* tree-ssa-phiopt.c : Likewise.
|
||
* tree-ssa-phiprop.c : Likewise.
|
||
* tree-ssa-pre.c : Likewise.
|
||
* tree-ssa-propagate.c : Likewise.
|
||
* tree-ssa-reassoc.c : Likewise.
|
||
* tree-ssa-sccvn.c : Likewise.
|
||
* tree-ssa-scopedtables.c : Likewise.
|
||
* tree-ssa-sink.c : Likewise.
|
||
* tree-ssa-strlen.c : Likewise.
|
||
* tree-ssa-structalias.c : Likewise.
|
||
* tree-ssa-tail-merge.c : Likewise.
|
||
* tree-ssa-ter.c : Likewise.
|
||
* tree-ssa-threadedge.c : Likewise.
|
||
* tree-ssa-threadupdate.c : Likewise.
|
||
* tree-ssa-uncprop.c : Likewise.
|
||
* tree-ssa-uninit.c : Likewise.
|
||
* tree-ssa.c : Likewise.
|
||
* tree-ssanames.c : Likewise.
|
||
* tree-stdarg.c : Likewise.
|
||
* tree-streamer-in.c : Likewise.
|
||
* tree-streamer-out.c : Likewise.
|
||
* tree-streamer.c : Likewise.
|
||
* tree-streamer.h : Likewise.
|
||
* tree-switch-conversion.c : Likewise.
|
||
* tree-tailcall.c : Likewise.
|
||
* tree-vect-data-refs.c : Likewise.
|
||
* tree-vect-generic.c : Likewise.
|
||
* tree-vect-loop-manip.c : Likewise.
|
||
* tree-vect-loop.c : Likewise.
|
||
* tree-vect-patterns.c : Likewise.
|
||
* tree-vect-slp.c : Likewise.
|
||
* tree-vect-stmts.c : Likewise.
|
||
* tree-vectorizer.c : Likewise.
|
||
* tree-vectorizer.h : Likewise.
|
||
* tree-vrp.c : Likewise.
|
||
* tree.c : Likewise.
|
||
* tsan.c : Likewise.
|
||
* ubsan.c : Likewise.
|
||
* valtrack.c : Likewise.
|
||
* valtrack.h : Likewise.
|
||
* value-prof.c : Likewise.
|
||
* var-tracking.c : Likewise.
|
||
* varasm.c : Likewise.
|
||
* varpool.c : Likewise.
|
||
* vec.c: Likewise.
|
||
* vmsdbgout.c : Likewise.
|
||
* vtable-verify.c : Likewise.
|
||
* vtable-verify.h : Likewise.
|
||
* web.c : Likewise.
|
||
* wide-int.cc : Likewise.
|
||
* xcoffout.c : Likewise.
|
||
* config/aarch64/aarch64-builtins.c : Likewise.
|
||
* config/aarch64/aarch64.c : Likewise.
|
||
* config/aarch64/cortex-a57-fma-steering.c : Likewise.
|
||
* config/alpha/alpha.c : Likewise.
|
||
* config/arc/arc.c : Likewise.
|
||
* config/arm/aarch-common.c : Likewise.
|
||
* config/arm/arm-builtins.c : Likewise.
|
||
* config/arm/arm-c.c : Likewise.
|
||
* config/arm/arm.c : Likewise.
|
||
* config/avr/avr-c.c : Likewise.
|
||
* config/avr/avr-log.c : Likewise.
|
||
* config/avr/avr.c : Likewise.
|
||
* config/bfin/bfin.c : Likewise.
|
||
* config/c6x/c6x.c : Likewise.
|
||
* config/cr16/cr16.c : Likewise.
|
||
* config/cris/cris.c : Likewise.
|
||
* config/darwin-c.c : Likewise.
|
||
* config/darwin.c : Likewise.
|
||
* config/default-c.c : Likewise.
|
||
* config/epiphany/epiphany.c : Likewise.
|
||
* config/epiphany/mode-switch-use.c : Likewise.
|
||
* config/epiphany/resolve-sw-modes.c : Likewise.
|
||
* config/fr30/fr30.c : Likewise.
|
||
* config/frv/frv.c : Likewise.
|
||
* config/ft32/ft32.c : Likewise.
|
||
* config/glibc-c.c : Likewise.
|
||
* config/h8300/h8300.c : Likewise.
|
||
* config/i386/i386-c.c : Likewise.
|
||
* config/i386/i386.c : Likewise.
|
||
* config/i386/msformat-c.c : Likewise.
|
||
* config/i386/winnt-cxx.c : Likewise.
|
||
* config/i386/winnt-stubs.c : Likewise.
|
||
* config/i386/winnt.c : Likewise.
|
||
* config/ia64/ia64-c.c : Likewise.
|
||
* config/ia64/ia64.c : Likewise.
|
||
* config/iq2000/iq2000.c : Likewise.
|
||
* config/lm32/lm32.c : Likewise.
|
||
* config/m32c/m32c-pragma.c : Likewise.
|
||
* config/m32c/m32c.c : Likewise.
|
||
* config/m32r/m32r.c : Likewise.
|
||
* config/m68k/m68k.c : Likewise.
|
||
* config/mcore/mcore.c : Likewise.
|
||
* config/mep/mep-pragma.c : Likewise.
|
||
* config/mep/mep.c : Likewise.
|
||
* config/microblaze/microblaze-c.c : Likewise.
|
||
* config/microblaze/microblaze.c : Likewise.
|
||
* config/mips/mips.c : Likewise.
|
||
* config/mmix/mmix.c : Likewise.
|
||
* config/mn10300/mn10300.c : Likewise.
|
||
* config/moxie/moxie.c : Likewise.
|
||
* config/msp430/msp430-c.c : Likewise.
|
||
* config/msp430/msp430.c : Likewise.
|
||
* config/nds32/nds32-cost.c : Likewise.
|
||
* config/nds32/nds32-fp-as-gp.c : Likewise.
|
||
* config/nds32/nds32-intrinsic.c : Likewise.
|
||
* config/nds32/nds32-isr.c : Likewise.
|
||
* config/nds32/nds32-md-auxiliary.c : Likewise.
|
||
* config/nds32/nds32-memory-manipulation.c : Likewise.
|
||
* config/nds32/nds32-pipelines-auxiliary.c : Likewise.
|
||
* config/nds32/nds32-predicates.c : Likewise.
|
||
* config/nds32/nds32.c : Likewise.
|
||
* config/nios2/nios2.c : Likewise.
|
||
* config/nvptx/nvptx.c : Likewise.
|
||
* config/pa/pa.c : Likewise.
|
||
* config/pdp11/pdp11.c : Likewise.
|
||
* config/rl78/rl78-c.c : Likewise.
|
||
* config/rl78/rl78.c : Likewise.
|
||
* config/rs6000/rs6000-c.c : Likewise.
|
||
* config/rs6000/rs6000.c : Likewise.
|
||
* config/rx/rx.c : Likewise.
|
||
* config/s390/s390-c.c : Likewise.
|
||
* config/s390/s390.c : Likewise.
|
||
* config/sh/sh-c.c : Likewise.
|
||
* config/sh/sh-mem.cc : Likewise.
|
||
* config/sh/sh.c : Likewise.
|
||
* config/sh/sh_optimize_sett_clrt.cc : Likewise.
|
||
* config/sh/sh_treg_combine.cc : Likewise.
|
||
* config/sol2-c.c : Likewise.
|
||
* config/sol2-cxx.c : Likewise.
|
||
* config/sol2-stubs.c : Likewise.
|
||
* config/sol2.c : Likewise.
|
||
* config/sparc/sparc-c.c : Likewise.
|
||
* config/sparc/sparc.c : Likewise.
|
||
* config/spu/spu-c.c : Likewise.
|
||
* config/spu/spu.c : Likewise.
|
||
* config/stormy16/stormy16.c : Likewise.
|
||
* config/tilegx/mul-tables.c : Likewise.
|
||
* config/tilegx/tilegx-c.c : Likewise.
|
||
* config/tilegx/tilegx.c : Likewise.
|
||
* config/tilepro/mul-tables.c : Likewise.
|
||
* config/tilepro/tilepro-c.c : Likewise.
|
||
* config/tilepro/tilepro.c : Likewise.
|
||
* config/v850/v850-c.c : Likewise.
|
||
* config/v850/v850.c : Likewise.
|
||
* config/vax/vax.c : Likewise.
|
||
* config/visium/visium.c : Likewise.
|
||
* config/vms/vms-c.c : Likewise.
|
||
* config/vms/vms.c : Likewise.
|
||
* config/vxworks.c : Likewise.
|
||
* config/winnt-c.c : Likewise.
|
||
* config/xtensa/xtensa.c : Likewise.
|
||
|
||
2015-06-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/65378
|
||
* ipa-utils.h (warn_types_mismatch): Update prototype.
|
||
* ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
|
||
parameters.
|
||
(type_mismatch_p): New function.
|
||
(warn_types_mismatch): Reorg to work better on non-C++ types.
|
||
(odr_types_equivalent_p): Add loc1/loc2 parameters.
|
||
(add_type_duplicate): Update.
|
||
|
||
2015-06-08 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR rtl-optimization/66444
|
||
* postreload.c (reload_combine): Use get_call_reg_set_usage instead of
|
||
call_used_regs.
|
||
|
||
2015-06-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66422
|
||
* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
|
||
block after inserted gcc_unreachable.
|
||
|
||
2015-06-08 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rx/rx.c (rx_function_value): Do not promote vector types.
|
||
(rx_promote_function_mode): Likewise.
|
||
* config/rx/rx.h (LIBCALL_VALUE): Likewise.
|
||
|
||
2015-06-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* genattrtab.c (insn_alternatives): Change type from int *
|
||
to uint64_t *.
|
||
(check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
|
||
(get_attr_value): Change type of num_alt to uint64_t.
|
||
(compute_alternative_mask): Change return type from
|
||
int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
|
||
(make_alternative_compare, mk_attr_alt): Change argument type
|
||
from int to uint64_t.
|
||
(simplify_test_exp): Change type of i from int to uint64_t.
|
||
Shift ((uint64_t) 1) instead of 1 up.
|
||
(main): Adjust oballocvec first argument from int to uint64_t.
|
||
Shift ((uint64_t) 1) instead of 1 up.
|
||
|
||
2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||
|
||
PR other/65366
|
||
* gdbhooks.py: Import sys.
|
||
(intptr): New function. Replace int(...) by intptr(...).
|
||
|
||
2015-06-08 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-stmts.c (vectorizable_load): Compute the pointer
|
||
adjustment for gaps at the end of a SLP load group properly.
|
||
* tree-vect-slp.c (vect_supported_load_permutation_p): Allow
|
||
all permutations we can generate.
|
||
(vect_transform_slp_perm_load): Use the correct group-size.
|
||
|
||
2015-06-08 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
* genmatch.c (expr::gen_transform): For conditions, guess the type
|
||
from the second operand.
|
||
|
||
2015-06-08 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/66442
|
||
* gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
|
||
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
|
||
if the loop latch is not a singleton. Use
|
||
gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
|
||
|
||
2015-06-08 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/66452
|
||
* toplev.c (check_global_declaration): Don't warn about artificial
|
||
decls.
|
||
|
||
2015-06-08 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/66436
|
||
* cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
|
||
dump file.
|
||
* gimplify.c: Add tree-dump.h include.
|
||
(gimplify_function_tree): Dump function to gimple dump file.
|
||
* stor-layout.c (finalize_size_functions): Don't dump function to gimple
|
||
dump file.
|
||
|
||
2015-06-08 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/66435
|
||
* cgraphunit.c (cgraph_node::add_new_function): Dump message on new
|
||
function.
|
||
|
||
2015-06-06 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* alias.c (get_alias_set): Be ready for TYPE_CANONICAL
|
||
of ptr_type_node to not be ptr_to_node.
|
||
* tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
|
||
TREE_TYPE of pointers.
|
||
* gimple-expr.c (useless_type_conversion): Reorder the check for
|
||
function pointers and TYPE_CANONICAL.
|
||
|
||
2015-06-06 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR bootstrap/66319
|
||
* config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
|
||
defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
|
||
Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
|
||
later.
|
||
* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
|
||
Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
|
||
_INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
|
||
_INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
|
||
and non iso if unix2003.
|
||
|
||
2015-06-06 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
|
||
|
||
2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
|
||
rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
|
||
cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
|
||
except.c, final.c, function.c, gcse-common.c, genemit.c,
|
||
haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
|
||
lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
|
||
sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
|
||
shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
|
||
more derived ones.
|
||
|
||
2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
* combine.c (combine_split_insns): Remove cast.
|
||
* config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
|
||
* config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
|
||
* config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
|
||
* emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
|
||
* genemit.c (gen_split): Change return type of generated functions to
|
||
rtx_insn.
|
||
* genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
|
||
(print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
|
||
gen_peephole2_* functions.
|
||
(print_subroutine, main): Likewise.
|
||
* recog.c (peephole2_optimize): Remove cast.
|
||
(peep2_next_insn): Promote return type to rtx_insn.
|
||
* recog.h (peep2_next_insn): Fix prototype.
|
||
* rtl.h (try_split, split_insns): Likewise.
|
||
|
||
2015-06-06 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/msp430/msp430.c (msp430_asm_integer): Support addition
|
||
and subtraction too.
|
||
|
||
2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
PR target/66410
|
||
* config/sh/constraints.md (Sid, Ssd): New memory constraints.
|
||
* config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
|
||
instead of Snd. Disparage Sid/z alternative with '^'.
|
||
|
||
2015-06-05 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* dwarf2out.c: Remove deferred_locations*.
|
||
(dwarf2_debug_hooks): Add early_finish hook.
|
||
Remove global_decl hook.
|
||
Add early_global_decl and late_global_decl hook.
|
||
New global early_dwarf.
|
||
New structure set_early_dwarf.
|
||
(output_die): Indicate whether a DIE was generated early
|
||
when generating assembly with -dA.
|
||
(struct limbo_die_struct): Document created_for field.
|
||
Remove file_table_last_lookup.
|
||
(remove_AT): Return TRUE if successful.
|
||
(remove_child_TAG): Clear die_parent.
|
||
(reparent_child): New function abstracted from...
|
||
(splice_child_die): ...here.
|
||
(new_die): ICE if a DIE ends up in limbo too late.
|
||
(check_die): New.
|
||
(defer_location): Remove.
|
||
(add_subscript_info): Reuse DW_TAG_subrange_type if available.
|
||
(fill_variable_array_bounds): New.
|
||
(decl_start_label): Call fill_variable_array_bounds.
|
||
(gen_formal_parameter_die): Rewrite to reuse previously generated
|
||
DIEs.
|
||
(gen_subprogram_die): Same.
|
||
(gen_variable_die): Same.
|
||
(gen_const_die): Same.
|
||
(gen_label_die): Same.
|
||
(gen_lexical_block_die): Same.
|
||
(decl_will_get_specification_p): New.
|
||
(local_function_static): New.
|
||
(gen_struct_or_union_type_die): Fill in variable-length fields.
|
||
(gen_typedef_die): Fill in variable-length typedefs.
|
||
(gen_tagged_type_die): Gracefully return on error_mark_node.
|
||
Handle re-entrancy.
|
||
(gen_type_die_with_usage): Handle variable-length types.
|
||
Remove duplicate code for ARRAY_TYPE case.
|
||
(process_scope_var): Only process imported modules during early
|
||
dwarf.
|
||
(dwarf2out_early_global_decl): New.
|
||
(dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
|
||
(dwarf2out_type_decl): Set early_dwarf while calling
|
||
dwarf2out_decl.
|
||
(dwarf2out_decl): Verify that we did not recreate a previously
|
||
generated DIE.
|
||
Do not return on DECL_EXTERNALs in VAR_DECLs.
|
||
Abstract some code to local_function_static.
|
||
(lookup_filename): Remove use of file_table_last_lookup.
|
||
Gracefully exit on missing file_name.
|
||
(dwarf2out_finish): Verify limbo list.
|
||
Remove deferred_locations_list use.
|
||
Move deferred_asm_name and limbo flushing to...
|
||
(dwarf2out_early_finish): ...here. New.
|
||
(dwarf2out_c_finalize): Remove set of deferred_location_list,
|
||
deferred_asm_name, and file_table_last_lookup.
|
||
* cgraph.h (referred_to_p): Add default argument.
|
||
* cgraphunit.c (referred_to_p): Add and handle include_self
|
||
argument.
|
||
(analyze_functions): Add first_time argument.
|
||
Call check_global_declaration for all symbols.
|
||
Call late_global_decl for nodes for moribund nodes.
|
||
(finalize_compilation_unit): Add new argument to
|
||
analyze_functions.
|
||
Call early_global_decl for functions.
|
||
Call early_finish debug hook.
|
||
* dbxout.c (dbxout_early_global_decl): New.
|
||
(dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
|
||
(dbx_debug_hooks): Add new hooks.
|
||
(xcoff_debug_hooks): Same.
|
||
* debug.c (do_nothing_debug_hooks): Add early_finish field.
|
||
Add early and late debug hooks.
|
||
Remove global_decl hook.
|
||
* debug.h (struct gcc_debug_hooks): Add early_finish,
|
||
early_global_decl, and late_global_decl fields.
|
||
Remove global_decl field.
|
||
Document gcc_debug_hooks.
|
||
* gengtype.c (output_typename): Remove.
|
||
* godump.c (go_early_global_decl): New.
|
||
(go_late_global_decl): New.
|
||
(go_global_decl): Remove.
|
||
(dump_go_spec_init): Remove global_decl. Add
|
||
{early,late}_global_decl.
|
||
* langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
|
||
(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
|
||
* langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
|
||
(write_global_declarations): Remove.
|
||
(global_decl_processing): New.
|
||
* langhooks.h (struct lang_hooks_for_decls): Remove
|
||
final_write_globals field.
|
||
Add post_compilation_parsing_cleanups field.
|
||
* passes.c (rest_of_decl_compilation): Call early_global_decl.
|
||
* sdbout.c: Add early and late_global_decl hooks. Remove
|
||
sdbout_global_decl hook.
|
||
Add early_finish field for sdb_debug_hooks.
|
||
(sdbout_global_decl): Remove.
|
||
(sdbout_early_global_decl): New.
|
||
(sdbout_late_global_decl): New.
|
||
* timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
|
||
* toplev.c (check_global_declaration): Rename from
|
||
check_global_declaration_1.
|
||
Adapt to use symtab infrastructure.
|
||
(check_global_declarations): Remove.
|
||
(emit_debug_global_declarations): Remove.
|
||
(compile_file): Remove call to final_write_globals langhook.
|
||
Run the actual compilation process.
|
||
Perform any post compilation parser cleanups.
|
||
Generate late debug info.
|
||
* toplev.h (check_global_declaration): New.
|
||
(check_global_declaration_1): Remove.
|
||
(check_global_declarations): Remove.
|
||
(write_global_declarations): Remove.
|
||
(emit_debug_global_declarations): Remove.
|
||
(global_decl_processing): New.
|
||
* tree-core.h (struct tree_block): Add DIE field.
|
||
* tree.h (BLOCK_DIE): New.
|
||
* vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
|
||
throughout.
|
||
(vmsdbgout_early_global_decl): New.
|
||
(vmsdbgout_late_global_decl): New.
|
||
Add early_finish debug hook field to vmsdbg_debug_hooks.
|
||
Remove vmsdbgout_decl to vmsdbgout_function_decl.
|
||
Add early and late_global_decl debug hooks.
|
||
|
||
2015-06-05 Julian Brown <julian@codesourcery.com>
|
||
Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
|
||
* config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
|
||
to print-sysroot-suffix.sh script.
|
||
|
||
2015-06-05 Tom de Vries <tom@codesourcery.com>
|
||
|
||
merge from gomp4 branch:
|
||
2015-05-28 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/65443
|
||
* tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
|
||
(replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
|
||
(try_transform_to_exit_first_loop_alt): New function.
|
||
(transform_to_exit_first_loop): Use
|
||
try_transform_to_exit_first_loop_alt.
|
||
|
||
2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* builtins.c (expand_builtin_atomic_compare_exchange): Call
|
||
emit_cmp_and_jump_insns with the mode of target.
|
||
|
||
2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
|
||
|
||
* config/i386/sse.md (sse3_mwait): Swap the operand constriants.
|
||
|
||
2015-06-04 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/msp430/msp430.md (movsi_s): New. Special case for
|
||
storing a 20-bit symbol into a 32-bit register.
|
||
* config/msp430/msp430.c (msp430_subreg): Add support for it.
|
||
* config/msp430/predicates.md (msp430_symbol_operand): New.
|
||
|
||
2015-06-04 Sriraman Tallam <tmsriram@google.com>
|
||
|
||
* c-family/c-common.c (noplt): New attribute.
|
||
(handle_noplt_attribute): New handler.
|
||
* calls.c (prepare_call_address): Check for noplt
|
||
attribute.
|
||
* config/i386/i386.c (ix86_expand_call): Check
|
||
for noplt attribute.
|
||
(ix86_nopic_noplt_attribute_p): New function.
|
||
(ix86_output_call_insn): Output indirect call for non-pic
|
||
no plt calls.
|
||
* doc/extend.texi (noplt): Document new attribute.
|
||
* doc/invoke.texi: Document new attribute.
|
||
|
||
2015-06-04 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
|
||
real.h, and fixed-value.h when included in host source files.
|
||
* double-int.h: Remove redundant #includes listed above.
|
||
* fixed-value.h: Likewise.
|
||
* real.h: Likewise.
|
||
* wide-int.h: Likewise.
|
||
* inchash.h: Likewise.
|
||
* rtl.h: Add some include files When included from a generator file.
|
||
* target.h: Remove wide-int.h and insn-modes.h from the include list.
|
||
* internal-fn.h: Don't include coretypes.h.
|
||
* alias.c: Adjust includes for restructured coretypes.h.
|
||
* asan.c: Likewise.
|
||
* attribs.c: Likewise.
|
||
* auto-inc-dec.c: Likewise.
|
||
* auto-profile.c: Likewise.
|
||
* bb-reorder.c: Likewise.
|
||
* bt-load.c: Likewise.
|
||
* builtins.c: Likewise.
|
||
* caller-save.c: Likewise.
|
||
* calls.c: Likewise.
|
||
* ccmp.c: Likewise.
|
||
* cfg.c: Likewise.
|
||
* cfganal.c: Likewise.
|
||
* cfgbuild.c: Likewise.
|
||
* cfgcleanup.c: Likewise.
|
||
* cfgexpand.c: Likewise.
|
||
* cfghooks.c: Likewise.
|
||
* cfgloop.c: Likewise.
|
||
* cfgloop.h: Likewise.
|
||
* cfgloopanal.c: Likewise.
|
||
* cfgloopmanip.c: Likewise.
|
||
* cfgrtl.c: Likewise.
|
||
* cgraph.c: Likewise.
|
||
* cgraphbuild.c: Likewise.
|
||
* cgraphclones.c: Likewise.
|
||
* cgraphunit.c: Likewise.
|
||
* cilk-common.c: Likewise.
|
||
* combine-stack-adj.c: Likewise.
|
||
* combine.c: Likewise.
|
||
* compare-elim.c: Likewise.
|
||
* convert.c: Likewise.
|
||
* coverage.c: Likewise.
|
||
* cppbuiltin.c: Likewise.
|
||
* cprop.c: Likewise.
|
||
* cse.c: Likewise.
|
||
* cselib.c: Likewise.
|
||
* data-streamer-in.c: Likewise.
|
||
* data-streamer-out.c: Likewise.
|
||
* data-streamer.c: Likewise.
|
||
* dbxout.c: Likewise.
|
||
* dce.c: Likewise.
|
||
* ddg.c: Likewise.
|
||
* debug.c: Likewise.
|
||
* df-core.c: Likewise.
|
||
* df-problems.c: Likewise.
|
||
* df-scan.c: Likewise.
|
||
* df.h: Likewise.
|
||
* dfp.c: Likewise.
|
||
* dojump.c: Likewise.
|
||
* dominance.c: Likewise.
|
||
* domwalk.c: Likewise.
|
||
* double-int.c: Likewise.
|
||
* dse.c: Likewise.
|
||
* dumpfile.c: Likewise.
|
||
* dwarf2asm.c: Likewise.
|
||
* dwarf2cfi.c: Likewise.
|
||
* dwarf2out.c: Likewise.
|
||
* dwarf2out.h: Likewise.
|
||
* emit-rtl.c: Likewise.
|
||
* et-forest.c: Likewise.
|
||
* except.c: Likewise.
|
||
* explow.c: Likewise.
|
||
* expmed.c: Likewise.
|
||
* expr.c: Likewise.
|
||
* final.c: Likewise.
|
||
* fixed-value.c: Likewise.
|
||
* fold-const.c: Likewise.
|
||
* function.c: Likewise.
|
||
* fwprop.c: Likewise.
|
||
* gcc-plugin.h: Likewise.
|
||
* gcse.c: Likewise.
|
||
* generic-match-head.c: Likewise.
|
||
* ggc-page.c: Likewise.
|
||
* gimple-builder.c: Likewise.
|
||
* gimple-expr.c: Likewise.
|
||
* gimple-fold.c: Likewise.
|
||
* gimple-iterator.c: Likewise.
|
||
* gimple-low.c: Likewise.
|
||
* gimple-match-head.c: Likewise.
|
||
* gimple-pretty-print.c: Likewise.
|
||
* gimple-ssa-isolate-paths.c: Likewise.
|
||
* gimple-ssa-strength-reduction.c: Likewise.
|
||
* gimple-streamer-in.c: Likewise.
|
||
* gimple-streamer-out.c: Likewise.
|
||
* gimple-streamer.h: Likewise.
|
||
* gimple-walk.c: Likewise.
|
||
* gimple.c: Likewise.
|
||
* gimplify-me.c: Likewise.
|
||
* gimplify.c: Likewise.
|
||
* godump.c: Likewise.
|
||
* graph.c: Likewise.
|
||
* graphite-blocking.c: Likewise.
|
||
* graphite-dependences.c: Likewise.
|
||
* graphite-interchange.c: Likewise.
|
||
* graphite-isl-ast-to-gimple.c: Likewise.
|
||
* graphite-optimize-isl.c: Likewise.
|
||
* graphite-poly.c: Likewise.
|
||
* graphite-scop-detection.c: Likewise.
|
||
* graphite-sese-to-poly.c: Likewise.
|
||
* graphite.c: Likewise.
|
||
* haifa-sched.c: Likewise.
|
||
* hooks.h: Likewise.
|
||
* hw-doloop.c: Likewise.
|
||
* ifcvt.c: Likewise.
|
||
* incpath.c: Likewise.
|
||
* init-regs.c: Likewise.
|
||
* internal-fn.c: Likewise.
|
||
* ipa-chkp.c: Likewise.
|
||
* ipa-comdats.c: Likewise.
|
||
* ipa-cp.c: Likewise.
|
||
* ipa-devirt.c: Likewise.
|
||
* ipa-icf-gimple.c: Likewise.
|
||
* ipa-icf.c: Likewise.
|
||
* ipa-inline-analysis.c: Likewise.
|
||
* ipa-inline-transform.c: Likewise.
|
||
* ipa-inline.c: Likewise.
|
||
* ipa-polymorphic-call.c: Likewise.
|
||
* ipa-profile.c: Likewise.
|
||
* ipa-prop.c: Likewise.
|
||
* ipa-pure-const.c: Likewise.
|
||
* ipa-ref.c: Likewise.
|
||
* ipa-reference.c: Likewise.
|
||
* ipa-split.c: Likewise.
|
||
* ipa-utils.c: Likewise.
|
||
* ipa-visibility.c: Likewise.
|
||
* ipa.c: Likewise.
|
||
* ira-build.c: Likewise.
|
||
* ira-color.c: Likewise.
|
||
* ira-conflicts.c: Likewise.
|
||
* ira-costs.c: Likewise.
|
||
* ira-emit.c: Likewise.
|
||
* ira-lives.c: Likewise.
|
||
* ira.c: Likewise.
|
||
* jump.c: Likewise.
|
||
* langhooks.c: Likewise.
|
||
* lcm.c: Likewise.
|
||
* loop-doloop.c: Likewise.
|
||
* loop-init.c: Likewise.
|
||
* loop-invariant.c: Likewise.
|
||
* loop-iv.c: Likewise.
|
||
* loop-unroll.c: Likewise.
|
||
* lower-subreg.c: Likewise.
|
||
* lra-assigns.c: Likewise.
|
||
* lra-coalesce.c: Likewise.
|
||
* lra-constraints.c: Likewise.
|
||
* lra-eliminations.c: Likewise.
|
||
* lra-lives.c: Likewise.
|
||
* lra-remat.c: Likewise.
|
||
* lra-spills.c: Likewise.
|
||
* lra.c: Likewise.
|
||
* lto-cgraph.c: Likewise.
|
||
* lto-compress.c: Likewise.
|
||
* lto-opts.c: Likewise.
|
||
* lto-section-in.c: Likewise.
|
||
* lto-section-out.c: Likewise.
|
||
* lto-streamer-in.c: Likewise.
|
||
* lto-streamer-out.c: Likewise.
|
||
* lto-streamer.c: Likewise.
|
||
* mcf.c: Likewise.
|
||
* mode-switching.c: Likewise.
|
||
* modulo-sched.c: Likewise.
|
||
* omega.c: Likewise.
|
||
* omp-low.c: Likewise.
|
||
* optabs.c: Likewise.
|
||
* opts-global.c: Likewise.
|
||
* passes.c: Likewise.
|
||
* plugin.c: Likewise.
|
||
* postreload-gcse.c: Likewise.
|
||
* postreload.c: Likewise.
|
||
* predict.c: Likewise.
|
||
* print-rtl.c: Likewise.
|
||
* print-tree.c: Likewise.
|
||
* profile.c: Likewise.
|
||
* real.c: Likewise.
|
||
* realmpfr.c: Likewise.
|
||
* realmpfr.h: Likewise.
|
||
* recog.c: Likewise.
|
||
* ree.c: Likewise.
|
||
* reg-stack.c: Likewise.
|
||
* regcprop.c: Likewise.
|
||
* reginfo.c: Likewise.
|
||
* regrename.c: Likewise.
|
||
* regs.h: Likewise.
|
||
* regstat.c: Likewise.
|
||
* reload.c: Likewise.
|
||
* reload1.c: Likewise.
|
||
* reorg.c: Likewise.
|
||
* resource.c: Likewise.
|
||
* rtl-chkp.c: Likewise.
|
||
* rtlanal.c: Likewise.
|
||
* rtlhooks.c: Likewise.
|
||
* sanopt.c: Likewise.
|
||
* sched-deps.c: Likewise.
|
||
* sched-ebb.c: Likewise.
|
||
* sched-rgn.c: Likewise.
|
||
* sched-vis.c: Likewise.
|
||
* sdbout.c: Likewise.
|
||
* sel-sched-dump.c: Likewise.
|
||
* sel-sched-ir.c: Likewise.
|
||
* sel-sched.c: Likewise.
|
||
* sese.c: Likewise.
|
||
* shrink-wrap.c: Likewise.
|
||
* shrink-wrap.h: Likewise.
|
||
* simplify-rtx.c: Likewise.
|
||
* stack-ptr-mod.c: Likewise.
|
||
* statistics.c: Likewise.
|
||
* stmt.c: Likewise.
|
||
* stor-layout.c: Likewise.
|
||
* store-motion.c: Likewise.
|
||
* stringpool.c: Likewise.
|
||
* symtab.c: Likewise.
|
||
* target-globals.c: Likewise.
|
||
* targhooks.c: Likewise.
|
||
* toplev.c: Likewise.
|
||
* tracer.c: Likewise.
|
||
* trans-mem.c: Likewise.
|
||
* tree-affine.c: Likewise.
|
||
* tree-affine.h: Likewise.
|
||
* tree-browser.c: Likewise.
|
||
* tree-call-cdce.c: Likewise.
|
||
* tree-cfg.c: Likewise.
|
||
* tree-cfgcleanup.c: Likewise.
|
||
* tree-chkp-opt.c: Likewise.
|
||
* tree-chkp.c: Likewise.
|
||
* tree-chrec.c: Likewise.
|
||
* tree-complex.c: Likewise.
|
||
* tree-data-ref.c: Likewise.
|
||
* tree-dfa.c: Likewise.
|
||
* tree-diagnostic.c: Likewise.
|
||
* tree-dump.c: Likewise.
|
||
* tree-eh.c: Likewise.
|
||
* tree-emutls.c: Likewise.
|
||
* tree-if-conv.c: Likewise.
|
||
* tree-inline.c: Likewise.
|
||
* tree-into-ssa.c: Likewise.
|
||
* tree-iterator.c: Likewise.
|
||
* tree-loop-distribution.c: Likewise.
|
||
* tree-nested.c: Likewise.
|
||
* tree-nrv.c: Likewise.
|
||
* tree-object-size.c: Likewise.
|
||
* tree-outof-ssa.c: Likewise.
|
||
* tree-parloops.c: Likewise.
|
||
* tree-phinodes.c: Likewise.
|
||
* tree-predcom.c: Likewise.
|
||
* tree-pretty-print.c: Likewise.
|
||
* tree-pretty-print.h: Likewise.
|
||
* tree-profile.c: Likewise.
|
||
* tree-scalar-evolution.c: Likewise.
|
||
* tree-sra.c: Likewise.
|
||
* tree-ssa-address.c: Likewise.
|
||
* tree-ssa-alias.c: Likewise.
|
||
* tree-ssa-ccp.c: Likewise.
|
||
* tree-ssa-coalesce.c: Likewise.
|
||
* tree-ssa-copy.c: Likewise.
|
||
* tree-ssa-copyrename.c: Likewise.
|
||
* tree-ssa-dce.c: Likewise.
|
||
* tree-ssa-dom.c: Likewise.
|
||
* tree-ssa-dse.c: Likewise.
|
||
* tree-ssa-forwprop.c: Likewise.
|
||
* tree-ssa-ifcombine.c: Likewise.
|
||
* tree-ssa-live.c: Likewise.
|
||
* tree-ssa-loop-ch.c: Likewise.
|
||
* tree-ssa-loop-im.c: Likewise.
|
||
* tree-ssa-loop-ivcanon.c: Likewise.
|
||
* tree-ssa-loop-ivopts.c: Likewise.
|
||
* tree-ssa-loop-manip.c: Likewise.
|
||
* tree-ssa-loop-niter.c: Likewise.
|
||
* tree-ssa-loop-prefetch.c: Likewise.
|
||
* tree-ssa-loop-unswitch.c: Likewise.
|
||
* tree-ssa-loop.c: Likewise.
|
||
* tree-ssa-loop.h: Likewise.
|
||
* tree-ssa-math-opts.c: Likewise.
|
||
* tree-ssa-operands.c: Likewise.
|
||
* tree-ssa-phiopt.c: Likewise.
|
||
* tree-ssa-phiprop.c: Likewise.
|
||
* tree-ssa-pre.c: Likewise.
|
||
* tree-ssa-propagate.c: Likewise.
|
||
* tree-ssa-reassoc.c: Likewise.
|
||
* tree-ssa-sccvn.c: Likewise.
|
||
* tree-ssa-scopedtables.c: Likewise.
|
||
* tree-ssa-sink.c: Likewise.
|
||
* tree-ssa-strlen.c: Likewise.
|
||
* tree-ssa-structalias.c: Likewise.
|
||
* tree-ssa-tail-merge.c: Likewise.
|
||
* tree-ssa-ter.c: Likewise.
|
||
* tree-ssa-threadedge.c: Likewise.
|
||
* tree-ssa-threadupdate.c: Likewise.
|
||
* tree-ssa-uncprop.c: Likewise.
|
||
* tree-ssa-uninit.c: Likewise.
|
||
* tree-ssa.c: Likewise.
|
||
* tree-ssanames.c: Likewise.
|
||
* tree-stdarg.c: Likewise.
|
||
* tree-streamer-in.c: Likewise.
|
||
* tree-streamer-out.c: Likewise.
|
||
* tree-streamer.c: Likewise.
|
||
* tree-switch-conversion.c: Likewise.
|
||
* tree-tailcall.c: Likewise.
|
||
* tree-vect-data-refs.c: Likewise.
|
||
* tree-vect-generic.c: Likewise.
|
||
* tree-vect-loop-manip.c: Likewise.
|
||
* tree-vect-loop.c: Likewise.
|
||
* tree-vect-patterns.c: Likewise.
|
||
* tree-vect-slp.c: Likewise.
|
||
* tree-vect-stmts.c: Likewise.
|
||
* tree-vectorizer.c: Likewise.
|
||
* tree-vrp.c: Likewise.
|
||
* tree.c: Likewise.
|
||
* tsan.c: Likewise.
|
||
* ubsan.c: Likewise.
|
||
* valtrack.c: Likewise.
|
||
* value-prof.c: Likewise.
|
||
* var-tracking.c: Likewise.
|
||
* varasm.c: Likewise.
|
||
* varpool.c: Likewise.
|
||
* vmsdbgout.c: Likewise.
|
||
* vtable-verify.c: Likewise.
|
||
* web.c: Likewise.
|
||
* wide-int-print.cc: Likewise.
|
||
* wide-int-print.h: Likewise.
|
||
* wide-int.cc: Likewise.
|
||
* xcoffout.c: Likewise.
|
||
* config/aarch64/aarch64-builtins.c: Likewise.
|
||
* config/aarch64/aarch64.c: Likewise.
|
||
* config/aarch64/cortex-a57-fma-steering.c: Likewise.
|
||
* config/alpha/alpha.c: Likewise.
|
||
* config/arc/arc.c: Likewise.
|
||
* config/arm/aarch-common.c: Likewise.
|
||
* config/arm/arm-builtins.c: Likewise.
|
||
* config/arm/arm-c.c: Likewise.
|
||
* config/arm/arm.c: Likewise.
|
||
* config/avr/avr-c.c: Likewise.
|
||
* config/avr/avr-log.c: Likewise.
|
||
* config/avr/avr.c: Likewise.
|
||
* config/bfin/bfin.c: Likewise.
|
||
* config/c6x/c6x.c: Likewise.
|
||
* config/cr16/cr16.c: Likewise.
|
||
* config/cris/cris.c: Likewise.
|
||
* config/darwin-c.c: Likewise.
|
||
* config/darwin.c: Likewise.
|
||
* config/default-c.c: Likewise.
|
||
* config/epiphany/epiphany.c: Likewise.
|
||
* config/epiphany/mode-switch-use.c: Likewise.
|
||
* config/epiphany/resolve-sw-modes.c: Likewise.
|
||
* config/fr30/fr30.c: Likewise.
|
||
* config/frv/frv.c: Likewise.
|
||
* config/ft32/ft32.c: Likewise.
|
||
* config/glibc-c.c: Likewise.
|
||
* config/h8300/h8300.c: Likewise.
|
||
* config/i386/i386-c.c: Likewise.
|
||
* config/i386/i386.c: Likewise.
|
||
* config/i386/msformat-c.c: Likewise.
|
||
* config/i386/winnt-cxx.c: Likewise.
|
||
* config/i386/winnt-stubs.c: Likewise.
|
||
* config/i386/winnt.c: Likewise.
|
||
* config/ia64/ia64-c.c: Likewise.
|
||
* config/ia64/ia64.c: Likewise.
|
||
* config/iq2000/iq2000.c: Likewise.
|
||
* config/lm32/lm32.c: Likewise.
|
||
* config/m32c/m32c-pragma.c: Likewise.
|
||
* config/m32c/m32c.c: Likewise.
|
||
* config/m32r/m32r.c: Likewise.
|
||
* config/m68k/m68k.c: Likewise.
|
||
* config/mcore/mcore.c: Likewise.
|
||
* config/mep/mep-pragma.c: Likewise.
|
||
* config/mep/mep.c: Likewise.
|
||
* config/microblaze/microblaze-c.c: Likewise.
|
||
* config/microblaze/microblaze.c: Likewise.
|
||
* config/mips/mips.c: Likewise.
|
||
* config/mmix/mmix.c: Likewise.
|
||
* config/mn10300/mn10300.c: Likewise.
|
||
* config/moxie/moxie.c: Likewise.
|
||
* config/msp430/msp430-c.c: Likewise.
|
||
* config/msp430/msp430.c: Likewise.
|
||
* config/nds32/nds32-cost.c: Likewise.
|
||
* config/nds32/nds32-fp-as-gp.c: Likewise.
|
||
* config/nds32/nds32-intrinsic.c: Likewise.
|
||
* config/nds32/nds32-isr.c: Likewise.
|
||
* config/nds32/nds32-md-auxiliary.c: Likewise.
|
||
* config/nds32/nds32-memory-manipulation.c: Likewise.
|
||
* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
|
||
* config/nds32/nds32-predicates.c: Likewise.
|
||
* config/nds32/nds32.c: Likewise.
|
||
* config/nios2/nios2.c: Likewise.
|
||
* config/nvptx/nvptx.c: Likewise.
|
||
* config/pa/pa.c: Likewise.
|
||
* config/pdp11/pdp11.c: Likewise.
|
||
* config/rl78/rl78-c.c: Likewise.
|
||
* config/rl78/rl78.c: Likewise.
|
||
* config/rs6000/rs6000-c.c: Likewise.
|
||
* config/rs6000/rs6000.c: Likewise.
|
||
* config/rx/rx.c: Likewise.
|
||
* config/s390/s390-c.c: Likewise.
|
||
* config/s390/s390.c: Likewise.
|
||
* config/sh/sh-c.c: Likewise.
|
||
* config/sh/sh-mem.cc: Likewise.
|
||
* config/sh/sh.c: Likewise.
|
||
* config/sh/sh_optimize_sett_clrt.cc: Likewise.
|
||
* config/sh/sh_treg_combine.cc: Likewise.
|
||
* config/sol2-c.c: Likewise.
|
||
* config/sol2-cxx.c: Likewise.
|
||
* config/sol2-stubs.c: Likewise.
|
||
* config/sol2.c: Likewise.
|
||
* config/sparc/sparc-c.c: Likewise.
|
||
* config/sparc/sparc.c: Likewise.
|
||
* config/spu/spu-c.c: Likewise.
|
||
* config/spu/spu.c: Likewise.
|
||
* config/stormy16/stormy16.c: Likewise.
|
||
* config/tilegx/mul-tables.c: Likewise.
|
||
* config/tilegx/tilegx-c.c: Likewise.
|
||
* config/tilegx/tilegx.c: Likewise.
|
||
* config/tilepro/mul-tables.c: Likewise.
|
||
* config/tilepro/tilepro-c.c: Likewise.
|
||
* config/tilepro/tilepro.c: Likewise.
|
||
* config/v850/v850-c.c: Likewise.
|
||
* config/v850/v850.c: Likewise.
|
||
* config/vax/vax.c: Likewise.
|
||
* config/visium/visium.c: Likewise.
|
||
* config/vms/vms-c.c: Likewise.
|
||
* config/vms/vms.c: Likewise.
|
||
* config/vxworks.c: Likewise.
|
||
* config/winnt-c.c: Likewise.
|
||
* config/xtensa/xtensa.c: Likewise.
|
||
* common/config/bfin/bfin-common.c: Likewise.
|
||
|
||
2015-06-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.h (tree_code_for_canonical_type_merging): New function.
|
||
* tree.c (gimple_canonical_types_compatible_p): Use
|
||
tree_code_for_canonical_type_merging..
|
||
|
||
2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
PR c++/66192
|
||
PR target/66200
|
||
* doc/tm.texi: Regenerate.
|
||
* doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
|
||
* target.def (TARGET_RELAXED_ORDERING): Likewise.
|
||
* config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
|
||
* config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
|
||
* config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
|
||
* config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
|
||
* config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
|
||
* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
|
||
* config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
|
||
|
||
2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
|
||
register fma steering pass.
|
||
* config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
|
||
AARCH64_TUNE_FMA_STEERING.
|
||
|
||
2015-06-03 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (verify_type_variant): Verify that type and variant is
|
||
compatible.
|
||
(gimple_canonical_types_compatible_p): Look for main variants.
|
||
|
||
2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config.gcc (powerpc*-*-*): Add support for a new configure
|
||
option --with-advance-toolchain=<xxx> which overrides using the
|
||
default header files, libraries and dynamic linker.
|
||
|
||
* config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
|
||
specs to support the configure --with-advance-toolchain=<xxx>
|
||
option.
|
||
(INCLUDE_EXTRA_SPEC): Likewise.
|
||
(LINK_OS_EXTRA_SPEC32): Likewise.
|
||
(LINK_OK_EXTRA_SPEC64): Likewise.
|
||
(LINK_OS_NEW_DTAGS_SPEC): Likewise.
|
||
(DYNAMIC_LINKER_PREFIX): Likewise.
|
||
(CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
|
||
toolchain support.
|
||
(GLIBC_DYNAMIC_LINKER32): Likewise.
|
||
(GLIBC_DYNAMIC_LINKER64): Likewise.
|
||
(LINK_OS_LINUX_SPEC32): Likewise.
|
||
(LINK_OS_LINUX_SPEC64): Likewise.
|
||
|
||
* doc/install.texi (--enable-advance-toolchain=<xx>): Document new
|
||
configuration option.
|
||
|
||
2015-06-03 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/66275
|
||
* config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
|
||
to determine current function ABI.
|
||
(ix86_function_value_regno_p): Ditto.
|
||
|
||
2015-06-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* alloc-pool.h (struct pool_usage): Correct GNU coding style.
|
||
* bitmap.h (struct bitmap_usage): Likewise.
|
||
* ggc-common.c (struct ggc_usage): Likewise.
|
||
* mem-stats.h (struct mem_location): Likewise.
|
||
(struct mem_usage): Likewise.
|
||
* vec.c (struct vec_usage): Likewise.
|
||
|
||
2015-06-03 Benigno B. Junior <bbj@gentoo.org>
|
||
|
||
* config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
|
||
-Bsymbolic.
|
||
|
||
2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
|
||
|
||
* doc/plugins.texi (enum plugin_event): New event.
|
||
* plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
|
||
and PLUGIN_FINISH_FUNCTION.
|
||
* plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
|
||
(PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
|
||
|
||
2015-06-03 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-data-refs.c (vect_analyze_group_access): Properly
|
||
compute GROUP_GAP for the first element.
|
||
* tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
|
||
on in-group gaps.
|
||
|
||
2015-06-03 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78-real.md: Add peepholes to avoid a register
|
||
copy when calling a function.
|
||
* config/rl78/rl78.c (need_to_save): Do not push the frame
|
||
pointer in an interrupt handler prologue if it is never used.
|
||
|
||
2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* ifcvt (end_ifcvt_sequence): Fix typo in comment above.
|
||
|
||
2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* ipa-chkp.c (chkp_maybe_create_clone): Create alias
|
||
reference when cloning alias node.
|
||
|
||
2015-06-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* alloc-pool.h (struct pool_usage): Correct space padding.
|
||
* ggc-page.c (ggc_print_statistics): Align columns in a report.
|
||
* mem-stats.h (struct mem_usage): Add argument to print_dash_line.
|
||
* tree.c (dump_tree_statistics): Align columns in a report.
|
||
|
||
2015-06-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* alloc-pool.c (allocate_pool_descriptor): Remove.
|
||
(struct pool_output_info): Likewise.
|
||
(print_alloc_pool_statistics): Likewise.
|
||
(dump_alloc_pool_statistics): Likewise.
|
||
* alloc-pool.h (struct pool_usage): New struct.
|
||
(pool_allocator::initialize): Change usage of memory statistics
|
||
to a new interface.
|
||
(pool_allocator::release): Likewise.
|
||
(pool_allocator::allocate): Likewise.
|
||
(pool_allocator::remove): Likewise.
|
||
* mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
|
||
for a pool allocator.
|
||
* mem-stats.h (struct mem_location): Add new ctor.
|
||
(struct mem_usage): Add counter for number of
|
||
instances.
|
||
(mem_alloc_description::register_descriptor): New overload of
|
||
* mem-stats.h (mem_location::to_string): New function.
|
||
* bitmap.h (struct bitmap_usage): Use this new function.
|
||
* ggc-common.c (struct ggc_usage): Likewise.
|
||
the function.
|
||
|
||
2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
|
||
of GCC_INSN_FLAGS_H block.
|
||
|
||
2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
|
||
|
||
* explow.c (plus_constant): Update check after force_const_mem call
|
||
to see if the value returned is not a NULL_RTX.
|
||
|
||
2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* ipa.c (symbol_table::remove_unreachable_nodes): Don't
|
||
remove instumentation thunks calling reachable functions.
|
||
* lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
|
||
* lto/lto-partition.c (privatize_symbol_name_1): New.
|
||
(privatize_symbol_name): Privatize both decl and orig_decl
|
||
names for instrumented functions.
|
||
* cgraph.c (cgraph_node::verify_node): Add transparent
|
||
alias chain check for instrumented node.
|
||
|
||
2015-06-03 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64223
|
||
PR c/29358
|
||
* tree.c (attribute_value_equal): Handle attribute format.
|
||
(cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
|
||
|
||
2015-06-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/63916
|
||
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
|
||
Forward-propagate non-invariant addresses by splicing their
|
||
reference ops if the result isn't going to be used by PRE.
|
||
(vn_reference_lookup_3): Remove pointless assert.
|
||
|
||
2015-06-03 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66375
|
||
* tree-scalar-evolution.c (follow_ssa_edge_binary): First
|
||
add to the evolution before following SSA edges.
|
||
|
||
2015-06-03 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* tree-ssa-loop-ivopts.c (dump_iv): New parameter.
|
||
(dump_use, dump_cand, find_induction_variables): Pass new argument
|
||
to dump_iv.
|
||
(record_use): Preserve the ssa name information in IV.
|
||
|
||
2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
|
||
NO_MODE_TEST.
|
||
(add_mode_tests): Don't add mode tests if the predicate only
|
||
accepts scalar constant integers. Otherwise, allow the mode
|
||
of "op" to be VOIDmode if the predicate does accept such integers.
|
||
|
||
2015-06-02 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
PR target/66258
|
||
* config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
|
||
!TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
|
||
(aarch64_secondary_reload): Likewise
|
||
(aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
|
||
to !TARGET_FLOAT.
|
||
(aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
|
||
Likewise.
|
||
|
||
2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
Zhenqiang Chen <zhenqiang.chen@linaro.org>
|
||
|
||
PR target/65768
|
||
* cprop.c (try_replace_reg): Check cost of constants before propagating.
|
||
|
||
2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
|
||
provide access to the IBM extended double floating point mode if
|
||
long double is IEEE 128-bit floating point.
|
||
(KFmode): Define KFmode to provide access to IEEE 128-bit floating
|
||
point if long double is the IBM extended double type.
|
||
|
||
* config/rs6000/rs6000.opt (-mfloat128-none): New switches to
|
||
enable adding IEEE 128-bit floating point support.
|
||
(-mfloat128-software): Likewise.
|
||
(-mfloat128-sw): Likewise.
|
||
|
||
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
|
||
128-bit floating point types to occupy any register if
|
||
-mlong-double-64. Do not allow use of IFmode/KFmode unless
|
||
-mfloat128-software is enabled.
|
||
(rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
|
||
support.
|
||
(rs6000_option_override_internal): Add -mfloat128-* support.
|
||
(rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
|
||
|
||
* config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
|
||
and float128 type nodes.
|
||
(ieee128_float_type_node): Likewise.
|
||
(ibm128_float_type_node): Likewise.
|
||
|
||
2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR target/66136
|
||
* config/aarch64/geniterators.sh: Rewrite in awk.
|
||
|
||
2015-06-02 Martin Liska <mliska@suse.cz>
|
||
|
||
* alloc-pool.h (pool_allocator::pool_allocator): Set implicit
|
||
values to avoid -Wmaybe-uninitialized errors.
|
||
|
||
2015-06-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/65549
|
||
* dwarf2out.c (lookup_context_die): New function.
|
||
(resolve_addr): Avoid forcing a full DIE for the
|
||
target of a DW_TAG_GNU_call_site during late compilation.
|
||
Instead create a stub DIE without a type if we have a
|
||
context DIE present.
|
||
|
||
2015-06-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* df-scan.c (df_scan_start_dump): Add space between regno and regname.
|
||
|
||
2015-06-02 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/48052
|
||
* cfgloop.h (struct control_iv): New.
|
||
(struct loop): New field control_ivs.
|
||
* tree-ssa-loop-niter.c : Include "stor-layout.h".
|
||
(number_of_iterations_lt): Set no_overflow information.
|
||
(number_of_iterations_exit): Init control iv in niter struct.
|
||
(record_control_iv): New.
|
||
(estimate_numbers_of_iterations_loop): Call record_control_iv.
|
||
(loop_exits_before_overflow): New. Interface factored out of
|
||
scev_probably_wraps_p.
|
||
(scev_probably_wraps_p): Factor loop niter related code into
|
||
loop_exits_before_overflow.
|
||
(free_numbers_of_iterations_estimates_loop): Free control ivs.
|
||
* tree-ssa-loop-niter.h (free_loop_control_ivs): New.
|
||
|
||
2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
|
||
the target doesn't belong to the current function.
|
||
|
||
2015-06-02 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR middle-end/66345
|
||
* gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
|
||
get_maxval_strlen does not produce an INTEGER_CST.
|
||
|
||
2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/arc/constraints.md: Use lower-case names in match_code.
|
||
* config/mmix/constraints.md: Likewise.
|
||
|
||
2015-06-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65961
|
||
* tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
|
||
check and clarify dump message.
|
||
(vect_build_slp_tree): If all children are built up from scalars
|
||
build up the parent from scalars instead.
|
||
* tree-vect-stmts.c (vect_is_simple_use): Cleanup.
|
||
|
||
2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||
|
||
PR other/65366
|
||
* gdbhooks.py: Use int(...) instead of long(...). Use print(...)
|
||
instead of print ... .
|
||
|
||
2015-06-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
|
||
2014-08-11 change.
|
||
|
||
2015-06-02 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/52563
|
||
PR tree-optimization/62173
|
||
* tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
|
||
(alloc_iv, set_iv): New parameter.
|
||
(determine_biv_step): Delete.
|
||
(find_bivs): Inline original determine_biv_step. Pass new
|
||
argument to set_iv.
|
||
(idx_find_step): Use no_overflow information for conversion.
|
||
* tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
|
||
resolve_mixers handle folded_casts.
|
||
(instantiate_scev_name): Change bool parameter to bool pointer.
|
||
(instantiate_scev_poly, instantiate_scev_binary): Ditto.
|
||
(instantiate_array_ref, instantiate_scev_not): Ditto.
|
||
(instantiate_scev_3, instantiate_scev_2): Ditto.
|
||
(instantiate_scev_1, instantiate_scev_r): Ditto.
|
||
(instantiate_scev_convert, ): Change parameter. Pass argument
|
||
to chrec_convert_aggressive.
|
||
(instantiate_scev): Change argument.
|
||
(resolve_mixers): New parameter and set it.
|
||
(scev_const_prop): New argument.
|
||
* tree-scalar-evolution.h (resolve_mixers): New parameter.
|
||
* tree-chrec.c (convert_affine_scev): Call chrec_convert instead
|
||
of chrec_conert_1.
|
||
(chrec_convert): New parameter. Move definition below.
|
||
(chrec_convert_aggressive): New parameter and set it. Call
|
||
convert_affine_scev.
|
||
* tree-chrec.h (chrec_convert): New parameter.
|
||
(chrec_convert_aggressive): Ditto.
|
||
|
||
2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
|
||
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
|
||
the LHS of a no-return call if its type has variable size.
|
||
* tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
|
||
* tree-cfg.c (verify_gimple_call): Accept these no-return calls.
|
||
|
||
2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
|
||
* config.in: Regenerate.
|
||
|
||
2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
* tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
|
||
consecutive accesses within outer-loop with force_vectorize
|
||
for references with zero step in inner-loop.
|
||
|
||
2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
|
||
|
||
* Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
|
||
rather than from gcc/build directory.
|
||
|
||
2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
PR target/65697
|
||
* config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
|
||
for __sync memory models, emit initial loads and final barriers as
|
||
appropriate.
|
||
|
||
2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
PR target/65697
|
||
* config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
|
||
(aarch64_split_atomic_op): Check for __sync memory models, emit
|
||
appropriate initial loads and final barriers.
|
||
|
||
2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
|
||
|
||
* Makefile.in: Fix gcov dependencies that should
|
||
not point to a build folder.
|
||
|
||
2015-06-01 Richard Biener <rguenther@suse.de>
|
||
|
||
Revert
|
||
2015-05-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66314
|
||
* tree-ssa-threadupdate.c (create_block_for_threading): Add
|
||
parameter that says which loop the new block belongs to.
|
||
(ssa_create_duplicates): Blocks duplicated for the threaded
|
||
path belong to the loop of the thread destination.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* sched-deps.c: Include pool-alloc.h before
|
||
cselib.h header file is included.
|
||
|
||
2015-06-01 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
|
||
functions.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* alloc-pool.h: Add ATTRIBUTE_UNUSED for
|
||
a function local variable.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* alloc-pool.c (create_alloc_pool): Remove.
|
||
(empty_alloc_pool): Likewise.
|
||
(free_alloc_pool): Likewise.
|
||
(free_alloc_pool_if_empty): Likewise.
|
||
(pool_alloc): Likewise.
|
||
(pool_free): Likewise.
|
||
* alloc-pool.h: Remove old declarations.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* ira-build.c (initiate_allocnos): Use new type-based pool allocator.
|
||
(ira_create_object): Likewise.
|
||
(ira_create_allocno): Likewise.
|
||
(ira_create_live_range): Likewise.
|
||
(copy_live_range): Likewise.
|
||
(ira_finish_live_range): Likewise.
|
||
(ira_free_allocno_costs): Likewise.
|
||
(finish_allocno): Likewise.
|
||
(finish_allocnos): Likewise.
|
||
(initiate_prefs): Likewise.
|
||
(ira_create_pref): Likewise.
|
||
(finish_pref): Likewise.
|
||
(finish_prefs): Likewise.
|
||
(initiate_copies): Likewise.
|
||
(ira_create_copy): Likewise.
|
||
(finish_copy): Likewise.
|
||
(finish_copies): Likewise.
|
||
(finish_prefs): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
|
||
(allocate_and_init_ipcp_value): Likewise.
|
||
(ipcp_lattice::add_value): Likewise.
|
||
(merge_agg_lats_step): Likewise.
|
||
(ipcp_driver): Likewise.
|
||
* ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
|
||
(ipa_free_all_structures_after_iinln): Likewise.
|
||
* ipa-prop.h: Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-inline-analysis.c (edge_set_predicate): Use new type-based
|
||
pool allocator.
|
||
(set_hint_predicate): Likewise.
|
||
(inline_summary_alloc): Likewise.
|
||
(reset_inline_edge_summary): Likewise.
|
||
(reset_inline_summary): Likewise.
|
||
(set_cond_stmt_execution_predicate): Likewise.
|
||
(set_switch_stmt_execution_predicate): Likewise.
|
||
(compute_bb_predicates): Likewise.
|
||
(estimate_function_body_sizes): Likewise.
|
||
(inline_free_summary): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
|
||
(ipa_edge_duplication_hook): Likewise.
|
||
(ipa_free_all_structures_after_ipa_cp): Likewise.
|
||
(ipa_free_all_structures_after_iinln): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-profile.c (account_time_size): Use new type-based pool allocator.
|
||
(ipa_profile_generate_summary): Likewise.
|
||
(ipa_profile_read_summary): Likewise.
|
||
(ipa_profile): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree-ssa-structalias.c (new_var_info): Use new type-based
|
||
pool allocator.
|
||
(new_constraint): Likewise.
|
||
(init_alias_vars): Likewise.
|
||
(delete_points_to_sets): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
|
||
(free_strinfo): Likewise.
|
||
(pass_strlen::execute): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
|
||
pool allocator.
|
||
(vn_reference_insert_pieces): Likewise.
|
||
(vn_phi_insert): Likewise.
|
||
(visit_reference_op_call): Likewise.
|
||
(copy_phi): Likewise.
|
||
(copy_reference): Likewise.
|
||
(process_scc): Likewise.
|
||
(allocate_vn_table): Likewise.
|
||
(free_vn_table): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
|
||
pool allocator.
|
||
(add_repeat_to_ops_vec): Likewise.
|
||
(get_ops): Likewise.
|
||
(maybe_optimize_range_tests): Likewise.
|
||
(init_reassoc): Likewise.
|
||
(fini_reassoc): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
|
||
pool allocator.
|
||
(bitmap_set_new): Likewise.
|
||
(get_or_alloc_expr_for_constant): Likewise.
|
||
(get_or_alloc_expr_for): Likewise.
|
||
(phi_translate_1): Likewise.
|
||
(compute_avail): Likewise.
|
||
(init_pre): Likewise.
|
||
(fini_pre): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* sched-deps.c (create_dep_node): Use new type-based pool allocator.
|
||
(delete_dep_node): Likewise.
|
||
(create_deps_list): Likewise.
|
||
(free_deps_list): Likewise.
|
||
(sched_deps_init): Likewise.
|
||
(sched_deps_finish): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* regcprop.c (free_debug_insn_changes): Use new type-based
|
||
pool allocator.
|
||
(replace_oldest_value_reg): Likewise.
|
||
(pass_cprop_hardreg::execute): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* ira-build.c (initiate_cost_vectors): Use new type-based
|
||
pool allocator.
|
||
(ira_allocate_cost_vector): Likewise.
|
||
(ira_free_cost_vector): Likewise.
|
||
(finish_cost_vectors): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* sel-sched-ir.c (alloc_sched_pools): Use new type-based
|
||
pool allocator.
|
||
(free_sched_pools): Likewise.
|
||
* sel-sched-ir.h (_list_alloc): Likewise.
|
||
(_list_remove): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* stmt.c (add_case_node): Use new type-based pool allocator.
|
||
(expand_case): Likewise.
|
||
(expand_sjlj_dispatch_table): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
|
||
(free_bb): Likewise.
|
||
(pass_cse_reciprocals::execute): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree-sra.c (sra_initialize): Use new type-based pool allocator.
|
||
(sra_deinitialize) Likewise.
|
||
(create_access_1) Likewise.
|
||
(build_accesses_from_assign) Likewise.
|
||
(create_artificial_child_access) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* dse.c (get_group_info):Use new type-based pool allocator.
|
||
(dse_step0) Likewise.
|
||
(free_store_info) Likewise.
|
||
(delete_dead_store_insn) Likewise.
|
||
(free_read_records) Likewise.
|
||
(record_store) Likewise.
|
||
(replace_read) Likewise.
|
||
(check_mem_read_rtx) Likewise.
|
||
(scan_insn) Likewise.
|
||
(dse_step1) Likewise.
|
||
(dse_step7) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* df-scan.c (struct df_scan_problem_data):Use new type-based
|
||
pool allocator.
|
||
(df_scan_free_internal) Likewise.
|
||
(df_scan_alloc) Likewise.
|
||
(df_grow_reg_info) Likewise.
|
||
(df_free_ref) Likewise.
|
||
(df_insn_create_insn_record) Likewise.
|
||
(df_mw_hardreg_chain_delete) Likewise.
|
||
(df_insn_info_delete) Likewise.
|
||
(df_free_collection_rec) Likewise.
|
||
(df_mw_hardreg_chain_delete_eq_uses) Likewise.
|
||
(df_sort_and_compress_mws) Likewise.
|
||
(df_ref_create_structure) Likewise.
|
||
(df_ref_record) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* df-problems.c (df_chain_create):Use new type-based pool allocator.
|
||
(df_chain_unlink_1) Likewise.
|
||
(df_chain_unlink) Likewise.
|
||
(df_chain_remove_problem) Likewise.
|
||
(df_chain_alloc) Likewise.
|
||
(df_chain_free) Likewise.
|
||
* df.h (struct dataflow) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* cselib.c (new_elt_list):Use new type-based pool allocator.
|
||
(new_elt_loc_list) Likewise.
|
||
(unchain_one_elt_list) Likewise.
|
||
(unchain_one_elt_loc_list) Likewise.
|
||
(unchain_one_value) Likewise.
|
||
(new_cselib_val) Likewise.
|
||
(cselib_init) Likewise.
|
||
(cselib_finish) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* config/sh/sh.c (add_constant):Use new type-based pool allocator.
|
||
(sh_reorg) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* cfg.c (initialize_original_copy_tables):Use new type-based
|
||
pool allocator.
|
||
(free_original_copy_tables) Likewise.
|
||
(copy_original_table_clear) Likewise.
|
||
(copy_original_table_set) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
|
||
pool allocator.
|
||
(asan_mem_ref_new) Likewise.
|
||
(free_mem_ref_resources) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* var-tracking.c (variable_htab_free):Use new type-based
|
||
pool allocator.
|
||
(attrs_list_clear) Likewise.
|
||
(attrs_list_insert) Likewise.
|
||
(attrs_list_copy) Likewise.
|
||
(shared_hash_unshare) Likewise.
|
||
(shared_hash_destroy) Likewise.
|
||
(unshare_variable) Likewise.
|
||
(var_reg_delete_and_set) Likewise.
|
||
(var_reg_delete) Likewise.
|
||
(var_regno_delete) Likewise.
|
||
(drop_overlapping_mem_locs) Likewise.
|
||
(variable_union) Likewise.
|
||
(insert_into_intersection) Likewise.
|
||
(canonicalize_values_star) Likewise.
|
||
(variable_merge_over_cur) Likewise.
|
||
(dataflow_set_merge) Likewise.
|
||
(remove_duplicate_values) Likewise.
|
||
(variable_post_merge_new_vals) Likewise.
|
||
(dataflow_set_preserve_mem_locs) Likewise.
|
||
(dataflow_set_remove_mem_locs) Likewise.
|
||
(variable_from_dropped) Likewise.
|
||
(variable_was_changed) Likewise.
|
||
(set_slot_part) Likewise.
|
||
(clobber_slot_part) Likewise.
|
||
(delete_slot_part) Likewise.
|
||
(loc_exp_insert_dep) Likewise.
|
||
(notify_dependents_of_changed_value) Likewise.
|
||
(emit_notes_for_differences_1) Likewise.
|
||
(vt_emit_notes) Likewise.
|
||
(vt_initialize) Likewise.
|
||
(vt_finalize) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* ira-color.c (init_update_cost_records):Use new type-based
|
||
pool allocator.
|
||
(get_update_cost_record) Likewise.
|
||
(free_update_cost_record_list) Likewise.
|
||
(finish_update_cost_records) Likewise.
|
||
(initiate_cost_update) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* lra.c (init_insn_regs): Use new type-based pool allocator.
|
||
(new_insn_reg) Likewise.
|
||
(free_insn_reg) Likewise.
|
||
(free_insn_regs) Likewise.
|
||
(finish_insn_regs) Likewise.
|
||
(init_insn_recog_data) Likewise.
|
||
(init_reg_info) Likewise.
|
||
(finish_reg_info) Likewise.
|
||
(lra_free_copies) Likewise.
|
||
(lra_create_copy) Likewise.
|
||
(invalidate_insn_data_regno_info) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* lra-lives.c (free_live_range): Use new type-based pool allocator.
|
||
(free_live_range_list) Likewise.
|
||
(create_live_range) Likewise.
|
||
(copy_live_range) Likewise.
|
||
(lra_merge_live_ranges) Likewise.
|
||
(remove_some_program_points_and_update_live_ranges) Likewise.
|
||
(lra_live_ranges_init) Likewise.
|
||
(lra_live_ranges_finish) Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* et-forest.c (et_new_occ): Use new type-based pool allocator.
|
||
(et_new_tree): Likewise.
|
||
(et_free_tree): Likewise.
|
||
(et_free_tree_force): Likewise.
|
||
(et_free_pools): Likewise.
|
||
(et_split): Likewise.
|
||
|
||
2015-06-01 Martin Liska <mliska@suse.cz>
|
||
|
||
* alloc-pool.c (struct alloc_pool_descriptor): Move definition
|
||
to header file.
|
||
* alloc-pool.h (pool_allocator::pool_allocator): New function.
|
||
(pool_allocator::release): Likewise.
|
||
(inline pool_allocator::release_if_empty): Likewise.
|
||
(inline pool_allocator::~pool_allocator): Likewise.
|
||
(pool_allocator::allocate): Likewise.
|
||
(pool_allocator::remove): Likewise.
|
||
|
||
2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* sched-deps.c (sched_analyze_2): Replace fuseable with fusible
|
||
in comment.
|
||
|
||
2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* gcc/config/arm/arm-protos.h (tune_params): Rename fuseable_ops
|
||
to fusible_ops.
|
||
* gcc/config/arm/arm.c (arm_print_tune_info): Likewise.
|
||
(arm_macro_fusion_p): Likewise.
|
||
(arm_macro_fusion_pair_p): Likewise.
|
||
|
||
2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (tune_params): Rename
|
||
fuseable_ops to fusible_ops.
|
||
* config/aarch64/aarch64.c (generic_tunings): Rename
|
||
fuseable_ops to fusible_ops.
|
||
(cortexa53_tunings): Likewise.
|
||
(cortexa57_tunings): Likewise.
|
||
(thunderx_tunings): Likewise.
|
||
(xgene1_tunings): Likewise.
|
||
(aarch64_macro_fusion_p): Likewise.
|
||
(aarch64_macro_fusion_pair_p): Likewise.
|
||
|
||
2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/driver-native.c: New file.
|
||
* config/s390/x-native: New file.
|
||
* config.host: Add new files for s390.
|
||
* config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
|
||
and -march=native
|
||
* config.gcc: Likewise.
|
||
* config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
|
||
* config/s390/s390-opts.h (enum processor_type): Ditto.
|
||
* config/s390/s390.c (s390_option_override): Catch unhandled
|
||
PROCESSOR_NATIVE
|
||
|
||
2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/65527
|
||
* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
|
||
redirection for instrumented calls.
|
||
* lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
|
||
(append_compiler_options): Append -fcheck-pointer-bounds.
|
||
* tree-chkp.h (chkp_copy_call_skip_bounds): New.
|
||
(chkp_redirect_edge): New.
|
||
* tree-chkp.c (chkp_copy_call_skip_bounds): New.
|
||
(chkp_redirect_edge): New.
|
||
|
||
2015-06-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66280
|
||
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
|
||
def-use walking.
|
||
|
||
2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.md
|
||
(*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
|
||
logic_shift_imm.
|
||
|
||
2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
|
||
Remove obsolete kludge.
|
||
|
||
2015-06-01 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-reassoc.c (get_rank): Simplify.
|
||
|
||
2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
|
||
* configure: Regenerated.
|
||
|
||
2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
* config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
|
||
issue (add space between string literal and macro).
|
||
* config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
|
||
|
||
2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
|
||
|
||
* config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
|
||
implict or explicit -fPIE or -fpie.
|
||
|
||
2015-05-30 Mike Frysinger <vapier@gentoo.org>
|
||
|
||
* gcc/config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
|
||
|
||
2015-05-28 DJ Delorie <dj@redhat.com>
|
||
|
||
* expmed.c (extract_bit_field_1): Avoid clobbering a
|
||
yet-to-be-used base/index register.
|
||
|
||
2015-05-30 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
|
||
(alias_stats): Add num_universal.
|
||
(alias_set_subset_of): Special case pointers; be ready for NULL
|
||
children.
|
||
(alias_sets_conflict_p): Special case pointers; be ready for NULL
|
||
children.
|
||
(init_alias_set_entry): Break out from ...
|
||
(record_alias_subset): ... here; propagate new fields;
|
||
allocate children only when really needed.
|
||
(get_alias_set): Do less generous pointer globbing.
|
||
(dump_alias_stats_in_alias_c): Update statistics.
|
||
|
||
2015-05-30 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
|
||
correct block for use of r12.
|
||
(rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
|
||
|
||
2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
PR target/66215
|
||
* config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
|
||
with -mhotpatch=.
|
||
|
||
2015-05-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/66142
|
||
* tree-if-conv.c (if_convertible_phi_p): Don't give up on
|
||
virtual phis that feed themselves.
|
||
|
||
2015-05-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66314
|
||
* tree-ssa-threadupdate.c (create_block_for_threading): Add
|
||
parameter that says which loop the new block belongs to.
|
||
(ssa_create_duplicates): Blocks duplicated for the threaded
|
||
path belong to the loop of the thread destination.
|
||
|
||
2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
|
||
to cleanup-saved-temps.
|
||
* doc/sourcebuild.texi (Clean up generated test files): Expand
|
||
introduction.
|
||
(dg-keep-saved-temps): Document new proc.
|
||
(cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
|
||
cleanup-saved-temps): Remove.
|
||
|
||
2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* configure.ac: Move the atoll check from AC_CHECK_FUNCS to
|
||
gcc_AC_CHECK_DECLS.
|
||
* configure: Regenerate.
|
||
|
||
2015-05-28 Mike Frysinger <vapier@gentoo.org>
|
||
|
||
* config/nios2/linux.h (CPP_SPEC): Define.
|
||
|
||
2015-05-28 Mike Frysinger <vapier@gentoo.org>
|
||
|
||
* config/microblaze/linux.h (CPP_SPEC): Define.
|
||
|
||
2015-05-28 Mike Frysinger <vapier@gentoo.org>
|
||
|
||
* config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
|
||
-pthread is specified.
|
||
|
||
2015-05-28 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-loop.c (vect_fixup_reduc_chain): New function.
|
||
(vect_fixup_scalar_cycles_with_patterns): Likewise.
|
||
(vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
|
||
after pattern recog.
|
||
(vect_create_epilog_for_reduction): Properly handle reductions
|
||
with patterns.
|
||
(vectorizable_reduction): Likewise.
|
||
* tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
|
||
reduction chains.
|
||
(vect_get_constant_vectors): Create the correct number of
|
||
initial values for reductions.
|
||
(vect_schedule_slp_instance): Handle reduction chains that are
|
||
type changing properly.
|
||
* tree-vect-stmts.c (vect_analyze_stmt): Adjust.
|
||
|
||
2015-05-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66142
|
||
* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
|
||
values better in memcpy destination handling. Handle non-aliasing
|
||
we discover here.
|
||
|
||
2015-05-28 Lawrence Velázquez <vq@larryv.me>
|
||
|
||
PR target/63810
|
||
* config/darwin-c.c (version_components): New global enum.
|
||
(parse_version, version_as_legacy_macro)
|
||
(version_as_modern_macro, macosx_version_as_macro): New functions.
|
||
(version_as_macro): Remove.
|
||
(darwin_cpp_builtins): Use new function.
|
||
|
||
2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* builtins.c (expand_builtin_acc_on_device): Mark parameters
|
||
with ATTRIBUTE_UNUSED.
|
||
|
||
2015-05-28 Julian Brown <julian@codesourcery.com>
|
||
|
||
PR libgomp/65742
|
||
|
||
* builtins.c (expand_builtin_acc_on_device): Don't use open-coded
|
||
sequence for !ACCEL_COMPILER.
|
||
|
||
2015-05-28 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rx/rx.c (push_regs): New function. Extracts code from...
|
||
(rx_expand_prologue): ... here. Use push_regs to push even small
|
||
spans of registers.
|
||
(pop_regs): New function.
|
||
(rx_expand_epilogue): Use pop_regs to pop even small spans of
|
||
registers.
|
||
|
||
2015-05-28 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
|
||
member.
|
||
(SLP_INSTANCE_BODY_COST_VEC): Remove.
|
||
(vect_update_slp_costs_according_to_vf): Likewise.
|
||
(vect_slp_analyze_operations): Update prototype.
|
||
* tree-vect-loop.c (vect_analyze_loop_2): Remove call to
|
||
vect_update_slp_costs_according_to_vf, adjust.
|
||
* tree-vect-slp.c (vect_free_slp_instance): Adjust.
|
||
(vect_analyze_slp_cost_1): Likewise.
|
||
(vect_analyze_slp_cost): Likewise. Properly deal with
|
||
widening reduction ops. Commit body costs.
|
||
(vect_analyze_slp_instance): Adjust. Do not analyze SLP
|
||
cost for loops from here.
|
||
(vect_slp_analyze_operations): But do it from here when
|
||
the vectorization factor is known and stmts are analyzed.
|
||
(vect_bb_vectorization_profitable_p): Simplify.
|
||
(vect_slp_analyze_bb_1): Do not compute SLP cost here.
|
||
(vect_update_slp_costs_according_to_vf): Remove.
|
||
|
||
2015-05-27 Magnus Granberg <zorry@gentoo.org>
|
||
H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
|
||
(BUILD_CFLAGS): Likewise.
|
||
(BUILD_CXXFLAGS): Likewise.
|
||
(LINKER): Add @NO_PIE_FLAG@.
|
||
(BUILD_LDFLAGS): Likewise.
|
||
(libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
|
||
--enable-default-pie.
|
||
* common.opt (fPIE): Initialize to -1.
|
||
(fpie): Likewise.
|
||
(no-pie): New option.
|
||
(pie): Replace "Negative(shared)" with "Negative(no-pie)".
|
||
* configure.ac: Add --enable-default-pie.
|
||
(NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
|
||
(NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
|
||
* defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
|
||
* gcc.c (NO_PIE_SPEC): New.
|
||
(PIE_SPEC): Likewise.
|
||
(NO_FPIE1_SPEC): Likewise.
|
||
(FPIE1_SPEC): Likewise.
|
||
(NO_FPIE2_SPEC): Likewise.
|
||
(FPIE2_SPEC): Likewise.
|
||
(NO_FPIE2_SPEC): Likewise.
|
||
(FPIE_SPEC): Likewise.
|
||
(NO_FPIE_SPEC): Likewise.
|
||
(NO_FPIC1_SPEC): Likewise.
|
||
(FPIC1_SPEC): Likewise.
|
||
(NO_FPIC2_SPEC): Likewise.
|
||
(FPIC2_SPEC): Likewise.
|
||
(NO_FPIC2_SPEC): Likewise.
|
||
(FPIC_SPEC): Likewise.
|
||
(NO_FPIC_SPEC): Likewise.
|
||
(NO_FPIE1_AND_FPIC1_SPEC): Likewise.
|
||
(FPIE1_OR_FPIC1_SPEC): Likewise.
|
||
(NO_FPIE2_AND_FPIC2_SPEC): Likewise.
|
||
(FPIE2_OR_FPIC2_SPEC): Likewise.
|
||
(NO_FPIE_AND_FPIC_SPEC): Likewise.
|
||
(FPIE_OR_FPIC_SPEC): Likewise.
|
||
(LD_PIE_SPEC): Likewise.
|
||
(LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
|
||
* opts.c (finish_options): Update opts->x_flag_pie if it is -1.
|
||
* config/darwin.h (PIE_SPEC): Renamed to ...
|
||
(DARWIN_PIE_SPEC): This.
|
||
(LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
|
||
* config/darwin9.h (PIE_SPEC): Renamed to ...
|
||
(DARWIN_PIE_SPEC): This.
|
||
* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
|
||
PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
|
||
* config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
|
||
FPIE2_OR_FPIC2_SPEC.
|
||
* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
|
||
* config/m68k/openbsd.h (ASM_SPEC): Likewise.
|
||
* gcc/config/sol2.h (ASM_PIC_SPEC): Likewise.
|
||
* config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
|
||
* config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
|
||
* config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
|
||
* config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
|
||
* config/m32r/m32r.h (ASM_SPEC): Likewise.
|
||
* config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
|
||
* config/rs6000/linux64.h (ASM_SPEC32): Likewise.
|
||
* config/rs6000/sysv4.h (ASM_SPEC): Likewise.
|
||
* config/sparc/freebsd.h (ASM_SPEC): Likewise.
|
||
* config/sparc/linux.h (ASM_SPEC): Likewise.
|
||
* config/sparc/linux64.h (ASM_SPEC): Likewise.
|
||
* config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
|
||
* config/sparc/openbsd64.h (ASM_SPEC): Likewise.
|
||
* config/sparc/sp-elf.h (ASM_SPEC): Likewise.
|
||
* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
|
||
* config/sparc/sparc.h (ASM_SPEC): Likewise.
|
||
* config/sparc/sysv4.h (ASM_SPEC): Likewise.
|
||
* config/sparc/vxworks.h (ASM_SPEC): Likewise.
|
||
* config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
|
||
FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
|
||
* config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
|
||
* config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
|
||
NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
|
||
(ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
|
||
* config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
|
||
* config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
|
||
* config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
|
||
* config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
|
||
* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
|
||
* config/vax/linux.h (ASM_SPEC): Likewise.
|
||
* doc/install.texi: Document --enable-default-pie.
|
||
* doc/invoke.texi: Document -no-pie.
|
||
* config.in: Regenerated.
|
||
* configure: Likewise.
|
||
|
||
2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR rtl-optimization/66168
|
||
* loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
|
||
can_move_invariant_reg.
|
||
|
||
2015-05-27 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR target/66148
|
||
* config/pa/pa.c (pa_emit_move_sequence): Correct placement of
|
||
REG_EQUAL note when doing insert.
|
||
|
||
* config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
|
||
instead of "%d" for 'o' operand.
|
||
|
||
2015-05-27 Nathan Sidwell <nathan@acm.org>
|
||
|
||
PR c++/66270
|
||
* tree.c (build_pointer_type_for_mode): Canonical type does not
|
||
inherit can_alias_all.
|
||
(build_reference_type_for_mode): Likewise.
|
||
|
||
2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* expr.h (array_at_struct_end_p): Move to...
|
||
(array_ref_element_size): Likewise.
|
||
(component_ref_field_offset): Likewise.
|
||
* tree.h (array_ref_element_size): ...here.
|
||
(array_at_struct_end_p): Likewise.
|
||
(component_ref_field_offset): Likewise.
|
||
* expr.c (array_ref_element_size): Move to...
|
||
(array_ref_low_bound): Likewise.
|
||
(array_at_struct_end_p): Likewise.
|
||
(array_ref_up_bound): Likewise.
|
||
(component_ref_field_offset): Likewise.
|
||
* tree.c (array_ref_element_size): ...here.
|
||
(array_ref_low_bound): Likewise.
|
||
(array_ref_up_bound): Likewise.
|
||
(array_at_struct_end_p): Likewise.
|
||
(component_ref_field_offset): Likewise.
|
||
|
||
2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
|
||
Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
|
||
|
||
2015-05-27 Jason Merrill <jason@redhat.com>
|
||
|
||
PR bootstrap/66304
|
||
* configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
|
||
ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
|
||
ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
|
||
|
||
2015-05-22 Aditya Kumar <hiraditya@msn.com>
|
||
|
||
* auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
|
||
is true.
|
||
|
||
* statistics.c (statistics_fini_pass): Print pass name.
|
||
|
||
2015-05-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66272
|
||
Revert parts of
|
||
2014-08-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/62031
|
||
* tree-data-ref.c (dr_analyze_indices): Do not set
|
||
DR_UNCONSTRAINED_BASE.
|
||
(dr_may_alias_p): All indirect accesses have to go the
|
||
formerly DR_UNCONSTRAINED_BASE path.
|
||
* tree-data-ref.h (struct indices): Remove
|
||
unconstrained_base member.
|
||
(DR_UNCONSTRAINED_BASE): Remove.
|
||
|
||
2015-05-27 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* dwarf2out.c: Remove block_map.
|
||
(gen_call_site_die): Replace block_map use with BLOCK_DIE.
|
||
(gen_lexical_block_die): Same.
|
||
(dwarf2out_function_decl): Remove block_map use.
|
||
(dwarf2out_c_finalize): Same.
|
||
* tree-core.h (struct tree_block): Add die field.
|
||
* tree.h (BLOCK_DIE): New.
|
||
|
||
2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/65358
|
||
* expr.c (memory_load_overlap): New function.
|
||
(emit_push_insn): When pushing partial args to the stack would
|
||
clobber the register part load the overlapping part into a pseudo
|
||
and put it into the hard reg after pushing. Change return type
|
||
to bool. Add bool argument.
|
||
* expr.h (emit_push_insn): Change return type to bool.
|
||
Add bool argument.
|
||
* calls.c (expand_call): Cancel sibcall optimization when encountering
|
||
partial argument on targets with ARGS_GROW_DOWNWARD and
|
||
!STACK_GROWS_DOWNWARD.
|
||
(emit_library_call_value_1): Update callsite of emit_push_insn.
|
||
(store_one_arg): Likewise.
|
||
|
||
2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
|
||
|
||
* config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
|
||
|
||
2015-05-27 Martin Liska <mliska@suse.cz>
|
||
|
||
* Makefile.in: Add additional dependencies related to memory report
|
||
enhancement.
|
||
* alloc-pool.c (allocate_pool_descriptor): Use new ctor.
|
||
* bitmap.c (struct bitmap_descriptor_d): Remove.
|
||
(struct loc): Likewise.
|
||
(struct bitmap_desc_hasher): Likewise.
|
||
(bitmap_desc_hasher::hash): Likewise.
|
||
(bitmap_desc_hasher::equal): Likewise.
|
||
(get_bitmap_descriptor): Likewise.
|
||
(bitmap_register): User new memory descriptor API.
|
||
(register_overhead): Likewise.
|
||
(bitmap_find_bit): Register nsearches and search_iter statistics.
|
||
(struct bitmap_output_info): Remove.
|
||
(print_statistics): Likewise.
|
||
(dump_bitmap_statistics): Use new memory descriptor.
|
||
* bitmap.h (struct bitmap_usage): New class.
|
||
* genmatch.c: Extend header file inclusion.
|
||
* genpreds.c: Likewise.
|
||
* ggc-common.c (struct ggc_usage): New class.
|
||
(struct ggc_loc_desc_hasher): Remove.
|
||
(ggc_loc_desc_hasher::hash): Likewise.
|
||
(ggc_loc_desc_hasher::equal): Likewise.
|
||
(struct ggc_ptr_hash_entry): Likewise.
|
||
(struct ptr_hash_hasher): Likewise.
|
||
(ptr_hash_hasher::hash): Likewise.
|
||
(ptr_hash_hasher::equal): Likewise.
|
||
(make_loc_descriptor): Likewise.
|
||
(ggc_prune_ptr): Likewise.
|
||
(dump_ggc_loc_statistics): Use new memory descriptor.
|
||
(ggc_record_overhead): Likewise.
|
||
(ggc_free_overhead): Likewise.
|
||
(final_cmp_statistic): Remove.
|
||
(cmp_statistic): Likewise.
|
||
(ggc_add_statistics): Liekwise.
|
||
(ggc_prune_overhead_list): Likewise.
|
||
* hash-map-traits.h: New file.
|
||
* hash-map.h (struct default_hashmap_traits): Move the traits to a
|
||
separate header file.
|
||
* hash-set.h: Pass memory statistics info to ctor.
|
||
* hash-table.c (void dump_hash_table_loc_statistics): New function.
|
||
* hash-table.h (hash_table::hash_table): Add new ctor arguments.
|
||
(hash_table::~hash_table): Register memory release operation.
|
||
(hash_table::alloc_entries): Handle memory allocation operation.
|
||
(hash_table::expand): Likewise.
|
||
* inchash.c (iterative_hash_hashval_t): Move implementation to header
|
||
file.
|
||
(iterative_hash_host_wide_int): Likewise.
|
||
* inchash.h (class hash): Likewise.
|
||
* mem-stats-traits.h: New file.
|
||
* mem-stats.h: New file.
|
||
(mem_location): Add new class.
|
||
(mem_usage): Likewise.
|
||
(mem_alloc_description): Likewise.
|
||
* sese.c: Add new header file inclusision.
|
||
* toplev.c (dump_memory_report): Add report for hash_table, hash_map
|
||
and hash_set.
|
||
* tree-sra.c: Add new header file inclusision.
|
||
* vec.c (struct vec_descriptor): Remove.
|
||
(hash_descriptor): Likewise.
|
||
(struct vec_usage): Likewise.
|
||
(struct ptr_hash_entry): Likewise.
|
||
(hash_ptr): Likewise.
|
||
(eq_ptr): Likewise.
|
||
(vec_prefix::register_overhead): Use new memory descriptor API.
|
||
(vec_prefix::release_overhead): Likewise.
|
||
(add_statistics): Remove.
|
||
(dump_vec_loc_statistics): Use new memory descriptor API.
|
||
* vec.h (struct vec_prefix): Likewise.
|
||
(va_heap::reserve): Likewise.
|
||
(va_heap::release): Likewise.
|
||
* emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
|
||
|
||
2015-05-27 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
|
||
earlier and remove ??? comment.
|
||
(vect_analyze_stmt): If we are analyzing a pure SLP stmt
|
||
and got called from loop analysis bail out. Always pass the SLP
|
||
node to the vectorizable_* functions.
|
||
* tree-vect-loop.c (vect_analyze_loop_operations): Remove
|
||
the premature SLP check here.
|
||
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
|
||
detected SLP stmts.
|
||
(vect_detect_hybrid_slp_1): Likewise.
|
||
|
||
2015-05-26 Jeff Law <law@redhat.com>
|
||
|
||
* combine.c (find_split_point): Verify that the shift count is a
|
||
constant when choosing (plus (ashift ...)) as a split point.
|
||
|
||
* tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
|
||
No functional changes.
|
||
|
||
2015-05-26 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-polymorphic-call.c
|
||
(ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
|
||
case when call target is already known.
|
||
|
||
2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/65979
|
||
* config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
|
||
take into account the case that operands[1] and operands[2]
|
||
are the same register.
|
||
|
||
2015-05-26 Michael Matz <matz@suse.de>
|
||
|
||
PR middle-end/66251
|
||
|
||
* tree-vect-stmts.c (vect_model_store_cost): Handled strided group
|
||
stores.
|
||
(vect_create_vectorized_demotion_stmts): Always set
|
||
STMT_VINFO_VEC_STMT, also with SLP.
|
||
(vectorizable_store): Handle strided group stores.
|
||
|
||
2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
|
||
|
||
PR target/66049
|
||
* config/aarch64/aarch64.md
|
||
(*adds_shift_imm_<mode>): New pattern.
|
||
(*subs_shift_imm_<mode>): Likewise.
|
||
(*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
|
||
(*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
|
||
(*add_uxt<mode>_shift2): Likewise.
|
||
(*add_uxtsi_shift2_uxtw): Likewise.
|
||
(*sub_uxt<mode>_shift2): Likewise.
|
||
(*sub_uxtsi_shift2_uxtw): Likewise.
|
||
|
||
2015-05-26 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* config/rs6000/constraints.md (Y, U): Use match_test.
|
||
|
||
2015-05-26 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/52144
|
||
* config/arm/arm.c (arm_option_check_internal)
|
||
(arm_option_params_internal): Check opts->target_flags to set macros.
|
||
(TREE_TARGET_ARM, TREE_TARGET_THUMB)
|
||
(TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
|
||
(TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
|
||
(builtin_define): Replaced with def_or_undef_macro.
|
||
* config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
|
||
TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
|
||
(TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
|
||
(TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
|
||
(TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
|
||
(TARGET_ARM_FEATURE_LDREX_P)
|
||
(TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
|
||
* config/arm/arm-c.c (def_or_undef_macro): New function.
|
||
(arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
|
||
|
||
2015-05-26 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* c-common.h (builtin_define_with_int_value)
|
||
(builtin_define_type_sizeof): Declare.
|
||
* c-cppbuiltin.c (builtin_define_with_int_value)
|
||
(builtin_define_type_sizeof): Externalize.
|
||
(builtin_define_std): Cleanup declaration.
|
||
* config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
|
||
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
|
||
* config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
|
||
(builtin_define, builtin_assert): New macros.
|
||
|
||
2015-05-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66142
|
||
* tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
|
||
MEM_REFs for the same base address.
|
||
|
||
2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
PR ipa/66181
|
||
* tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
|
||
|
||
2015-05-26 Jason Merrill <jason@redhat.com>
|
||
|
||
* configure.ac: Set CXXFLAGS for ISL test.
|
||
* configure: Regenerate.
|
||
|
||
* configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
|
||
strstr and basename.
|
||
* configure: Regenerate.
|
||
|
||
2015-05-26 Richard Biener <rguenther@suse.de>
|
||
|
||
* fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
|
||
X % C -> X & (C - 1) for C being a power-of two to ...
|
||
* match.pd: ... patterns.
|
||
|
||
2015-05-26 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
* match.pd (swapped_tcc_comparison): New operator list.
|
||
(-A CMP -B): New simplification.
|
||
* fold-const.c (fold_comparison): Remove corresponding code.
|
||
|
||
2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* caller-save.c (init_caller_save): Base temporary register numbers
|
||
on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
|
||
* cfgloopanal.c (init_set_costs): Likewise.
|
||
* dojump.c (prefer_and_bit_test): Likewise.
|
||
* expr.c (init_expr_target): Likewise.
|
||
* ira.c (setup_prohibited_mode_move_regs): Likewise.
|
||
* lower-subreg.c (init_lower_subreg): Likewise.
|
||
* postreload.c (reload_cse_regs_1): Likewise.
|
||
|
||
2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* gensupport.h (compute_test_codes): Declare.
|
||
* gensupport.c (compute_predicate_codes): Rename to...
|
||
(compute_test_codes): ...this. Generalize error message.
|
||
(process_define_predicate): Update accordingly.
|
||
* genpreds.c (compute_maybe_allows): Delete.
|
||
(add_constraint): Use compute_test_codes to determine whether
|
||
something can accept a SUBREG, REG or MEM.
|
||
|
||
2015-05-26 Torvald Riegel <triegel@redhat.com>
|
||
|
||
* doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
|
||
'memory model' to align with C++11; fix description of memory orders;
|
||
fix a few typos.
|
||
|
||
2015-05-26 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
|
||
(vect_analyze_loop_operations): ... here. Remove slp parameter,
|
||
detect whether we apply SLP. Remove call to
|
||
vect_update_slp_costs_according_to_vf.
|
||
(vect_analyze_loop_2): Call vect_update_vf_for_slp and
|
||
vect_update_slp_costs_according_to_vf from here. Dispatch
|
||
to vect_slp_analyze_operations to analyze SLP stmts.
|
||
* tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
|
||
unused bb_vec_info parameter, adjust assert.
|
||
(vect_slp_analyze_operations): Pass in the slp instance tree
|
||
instead of bb_vec_info.
|
||
(vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
|
||
* tree-vectorizer.h (vect_slp_analyze_operations): Declare.
|
||
|
||
2015-05-25 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
|
||
Q_REGS. Expand comment.
|
||
(REG_CLASS_NAMES): Ditto.
|
||
(REG_CLASS_CONTENTS): Ditto.
|
||
|
||
2015-05-25 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/66274
|
||
* config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
|
||
when LEGACY_INT_REGNO_P is processed.
|
||
|
||
2015-05-25 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
|
||
|
||
2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
|
||
|
||
* config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
|
||
register if not marked dead/unused, before return.
|
||
|
||
2015-05-24 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/66180
|
||
* ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
|
||
is set; check for assembler name at LTO time.
|
||
(type_in_anonymous_namespace): Remove hacks, check that all
|
||
anonymous types are called "<anon>"
|
||
(odr_type_p): Simplify; add check for "<anon>"
|
||
(odr_subtypes_equivalent): Add odr_type_p check.
|
||
* tree.c (need_assembler_name_p): Even anonymous namespace needs
|
||
assembler name.
|
||
|
||
2015-05-24 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-utils.h (method_class_type): Remove.
|
||
* cgraphunit.c (walk_polymorphic_call_targets): Use
|
||
TYPE_METHOD_BASETYPE.
|
||
* ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
|
||
on main variants only.
|
||
(method_class_type): Remove.
|
||
(update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
|
||
(build_type_inheritance_graph): Likewise.
|
||
* ipa-icf.c (sem_function::equals_wpa): Likewise.
|
||
* pa-polymorphic-call.c (decl_maybe_in_construction_p,
|
||
check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
|
||
|
||
2015-05-24 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
|
||
is_typedef_decl, typedef_variant_p): Constify.
|
||
* tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
|
||
is_typedef_decl, typedef_variant_p): Constify.
|
||
|
||
2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (gen_tablejump): New function.
|
||
(HAVE_tablejump): Add default value.
|
||
* expr.c: Adjust.
|
||
* stmt.c: Likewise.
|
||
|
||
2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (gen_store_multiple): New function.
|
||
(HAVE_store_multiple): Add default value.
|
||
* expr.c (move_block_from_reg): Adjust.
|
||
|
||
2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (gen_load_multiple): New function.
|
||
(HAVE_load_multiple): Add default value.
|
||
* expr.c (move_block_to_reg): Adjust.
|
||
|
||
2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (gen_mem_signal_fence): New function.
|
||
(HAVE_mem_signal_fence): Add default value.
|
||
* optabs.c: Adjust.
|
||
|
||
2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (gen_memory_barrier): New function.
|
||
(HAVE_memory_barrier): Add default value.
|
||
* optabs.c: Adjust.
|
||
|
||
2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (gen_mem_thread_fence): New function.
|
||
(HAVE_mem_thread_fence): Add default definition.
|
||
* optabs.c: Adjust.
|
||
|
||
2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* combine.c (find_split_point): Check the value of HAVE_lo_sum
|
||
instead of if it is defined.
|
||
(combine_simplify_rtx): Likewise.
|
||
* lra-constraints.c (process_address_1): Likewise.
|
||
* config/darwin.c: Adjust.
|
||
* genconfig.c (main): Always define HAVE_lo_sum.
|
||
|
||
2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* genmatch.c (parser::parse_operation): Reject expanding
|
||
operator-list inside 'for'.
|
||
|
||
2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* genmatch.c (parser::parse_for): Reject iterator if used as
|
||
operator-list.
|
||
|
||
2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
|
||
after end of id-list.
|
||
|
||
2015-05-22 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (gimple_canonical_types_compatible_p): Sanity check that
|
||
we do not try to compute canonical type for type that does not need
|
||
alias set.
|
||
(verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
|
||
FUNCITON_TYPE.
|
||
* tree.h (type_with_alias_set_p): New.
|
||
|
||
2015-05-22 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (gimple_canonical_types_compatible_p): Do not compare
|
||
function attributes.
|
||
(verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
|
||
|
||
2015-05-22 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
* Makefile.in (check_gcc_parallelize): Delete.
|
||
(lang_checks_parallelized): Update comment.
|
||
|
||
2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
PR rtl-optimization/66237
|
||
* bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
|
||
location of an "as_a" cast.
|
||
|
||
2015-05-22 Jeff Law <law@redhat.com>
|
||
|
||
* config/pa/pa.md (non-canonical shift-add insns): Remove.
|
||
(peepholes with non-canonical RTL sources): Remove.
|
||
(peepholes for indexed stores of FP regs in integer modes): Match and
|
||
generate canonical RTL.
|
||
|
||
2015-05-22 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR tree-optimization/63387
|
||
* match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
|
||
((x ord x) & (y ord y) -> (x ord y),
|
||
(x ord x) & (x ord y) -> (x ord y)): New simplifications.
|
||
* fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
|
||
vectors like scalars.
|
||
|
||
2015-05-22 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
* convert.c (convert_to_integer, convert_to_vector): Include the
|
||
types in the error message.
|
||
|
||
2015-05-22 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
* match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
|
||
simplifications.
|
||
|
||
2015-05-22 Jeff Law <law@redhat.com>
|
||
|
||
* config/pa/pa.md (integer_indexed_store splitters): Use
|
||
mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
|
||
insns -- adjusting the constant 2nd operand accordingly.
|
||
|
||
* combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
|
||
(plus (ashift X log2) Y) if it is a split point.
|
||
|
||
* config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
|
||
out of hppa_legitimize_address to handle both forms of a multiply
|
||
by 2, 4 or 8.
|
||
(hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
|
||
Always generate the ASHIFT variant as the result is not directly
|
||
used in a MEM. Update comments and refactor slightly to improve
|
||
readability.
|
||
|
||
2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/65491
|
||
* config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
|
||
aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
|
||
(aarch64_composite_type_p): Return false if given type and mode are
|
||
for a short vector.
|
||
|
||
2015-05-22 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
|
||
member.
|
||
* tree-vect-loop.c (vect_analyze_loop_operations): Look at
|
||
patterns when determining whether SLP is pure.
|
||
(vect_is_slp_reduction): Remove check for pattern stmts.
|
||
(vect_is_simple_reduction_1): Remove dead code.
|
||
* tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
|
||
(vect_get_and_check_slp_defs): Pass in the stmt number.
|
||
Allow the first def in a reduction to be not a pattern stmt when
|
||
the rest of the stmts def are patterns.
|
||
(vect_build_slp_tree_1): Allow tcc_expression codes like
|
||
SAD_EXPR and DOT_PROD_EXPR.
|
||
(vect_build_slp_tree): Adjust.
|
||
(vect_analyze_slp): Refactor and move BB vect error message ...
|
||
(vect_slp_analyze_bb_1): ... here.
|
||
|
||
2015-05-22 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
|
||
for CSWTCH temporary.
|
||
|
||
2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
|
||
(arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
|
||
unknown unspecs.
|
||
|
||
2015-05-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66251
|
||
* tree-vect-stmts.c (vectorizable_conversion): Properly
|
||
set STMT_VINFO_VEC_STMT even for the SLP case.
|
||
|
||
2015-05-22 Marek Polacek <polacek@redhat.com>
|
||
|
||
* doc/extend.texi: Use @pxref instead of @xref.
|
||
|
||
2015-05-22 hiraditya <hiraditya@msn.com>
|
||
|
||
* gimple.h (gimple_expr_type): Refactor to make it concise. Remove
|
||
redundant if.
|
||
|
||
2015-05-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65701
|
||
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
|
||
Move peeling cost models into one place. Peel for alignment
|
||
for single loads only if an aligned load is cheaper than
|
||
an unaligned load.
|
||
|
||
2015-05-22 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/47043
|
||
* doc/extend.texi (Enumerator Attributes): New section.
|
||
Document syntax of enumerator attributes.
|
||
|
||
2015-05-22 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-loop.c (get_reduction_op): New function.
|
||
(vect_model_reduction_cost): Use it, add reduc_index parameter.
|
||
Make ready for BB reductions.
|
||
(vect_create_epilog_for_reduction): Use get_reduction_op.
|
||
(vectorizable_reduction): Init reduc_index to a valid value.
|
||
Adjust vect_model_reduction_cost call.
|
||
* tree-vect-slp.c (vect_get_constant_vectors): Use the proper
|
||
operand for reduction defaults. Add SAD_EXPR support.
|
||
Assert we have a neutral op for SLP reductions.
|
||
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
|
||
walking pattern stmt ops only recurse to SSA names.
|
||
|
||
2015-05-22 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
|
||
assert with guard, remove check on detected reduction.
|
||
(vect_recog_sad_pattern): Likewise.
|
||
(vect_recog_widen_sum_pattern): Likewise.
|
||
|
||
2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
|
||
__always_inline__ attribute.
|
||
(vaesdq_u8): Likewise.
|
||
(vaesmcq_u8): Likewise.
|
||
(vaesimcq_u8): Likewise.
|
||
(vsha1cq_u32): Likewise.
|
||
(vsha1mq_u32): Likewise.
|
||
(vsha1pq_u32): Likewise.
|
||
(vsha1h_u32): Likewise.
|
||
(vsha1su0q_u32): Likewise.
|
||
(vsha1su1q_u32): Likewise.
|
||
(vsha256hq_u32): Likewise.
|
||
(vsha256h2q_u32): Likewise.
|
||
(vsha256su0q_u32): Likewise.
|
||
(vsha256su1q_u32): Likewise.
|
||
(vmull_p64): Likewise.
|
||
(vmull_high_p64): Likewise.
|
||
|
||
2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* final.c (final_scan_insn): Don't check HAVE_peephole with the
|
||
preprocessor.
|
||
* output.h: Likewise.
|
||
* genconfig.c (main): Alwways define HAVE_peephole.
|
||
* genpeep.c: Don't emit checks of HAVE_peephole.
|
||
|
||
2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
|
||
check HAVE_conditional_move with the preprocessor.
|
||
|
||
2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* genconfig.c (main): Always define HAVE_conditional_move.
|
||
* combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
|
||
toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
|
||
is defined.
|
||
|
||
2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
|
||
reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
|
||
and FRAME_POINTER_REGNUM with the preprocessor.
|
||
|
||
2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h: Add default for STACK_PUSH_CODE.
|
||
* expr.c: Don't redefine STACK_PUSH_CODE.
|
||
* recog.c: Likewise.
|
||
|
||
2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
|
||
sched-deps.c: Use if instead of preprocessor checks with
|
||
STACK_GROWS_DOWNWARD.
|
||
|
||
2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
|
||
is defined.
|
||
* config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
|
||
* defaults.h: Provide default for STACK_GROWS_DOWNWARD.
|
||
* doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
|
||
* doc/tm.texi: Regenerate.
|
||
|
||
2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/66232
|
||
* config/i386/constraints.md (Bg): New constraint for GOT memory
|
||
operand.
|
||
* config/i386/i386.md (*call_got_x32): New pattern.
|
||
(*call_value_got_x32): Likewise.
|
||
* config/i386/predicates.md (GOT_memory_operand): New predicate.
|
||
|
||
2015-05-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/66233
|
||
* match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
|
||
Simplify.
|
||
|
||
2015-05-21 Jeff Law <law@redhat.com>
|
||
|
||
* config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
|
||
than MULT for shadd sequences.
|
||
|
||
2015-05-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* alias.c (alias_stats): New static var.
|
||
(alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
|
||
(dump_alias_stats_in_alias_c): New function.
|
||
* alias.h (dump_alias_stats_in_alias_c): Declare.
|
||
* tree-ssa-alias.c (dump_alias_stats): Call it.
|
||
|
||
2015-05-08 Michael Matz <matz@suse.de>
|
||
|
||
* tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
|
||
to strided_p.
|
||
(STMT_VINFO_STRIDE_LOAD_P): Rename to ...
|
||
(STMT_VINFO_STRIDED_P): ... this.
|
||
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
|
||
(vect_verify_datarefs_alignment): Likewise.
|
||
(vect_enhance_data_refs_alignment): Likewise.
|
||
(vect_analyze_data_ref_access): Likewise.
|
||
(vect_analyze_data_refs): Accept strided stores.
|
||
* tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
|
||
(vect_model_load_cost): Adjust for macro rename.
|
||
(vectorizable_mask_load_store): Likewise.
|
||
(vectorizable_load): Likewise.
|
||
(vectorizable_store): Open code strided stores.
|
||
|
||
2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
|
||
Document sqrt_insn.
|
||
|
||
2015-05-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c++/66211
|
||
* match.pd: Guard pattern optimzing (int)(float)int
|
||
conversions to apply only on GIMPLE.
|
||
|
||
2015-05-21 Jeff Law <law@redhat.com>
|
||
|
||
* combine.c (find_split_point): Handle ASHIFT like MULT to encourage
|
||
multiply-accumulate/shift-add insn generation.
|
||
|
||
2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/54236
|
||
* config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
|
||
operands[1] are the same.
|
||
|
||
2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR middle-end/66221
|
||
* ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
|
||
build_distinct_type_copy to copy bounds.
|
||
|
||
2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
|
||
Change to unsigned int.
|
||
|
||
2015-05-20 Jeff Law <law@redhat.com>
|
||
|
||
* config/pa/pa.c (pa_print_operand): New 'o' output modifier.
|
||
(pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
|
||
(pa_shadd_constant_p): Allow constants for shadd insns rather
|
||
than valid scaling constants for memory addresses.
|
||
* config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
|
||
* config/pa/predicates.md (mem_shadd_operand): New predicate.
|
||
* config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
|
||
(shift-add insns using ASHIFT): New patterns.
|
||
|
||
2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
* bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
|
||
feasible.
|
||
(fix_up_fall_thru_edges): Likewise.
|
||
(fix_crossing_conditional_branches): Likewise. Promote jump targets
|
||
from to rtx_insn to rtx_code_label where feasible.
|
||
* bt-load.c (move_btr_def): Remove as-a cast of the value returned by
|
||
gen_move_insn (returned type changed to rtx_insn).
|
||
* builtins.c (expand_errno_check): Fix arguments of
|
||
do_compare_rtx_and_jump (now expects rtx_code_label).
|
||
(expand_builtin_acc_on_device): Likewise.
|
||
* cfgcleanup.c (try_simplify_condjump): Add cast when calling
|
||
invert_jump (now exprects rtx_jump_insn).
|
||
* cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
|
||
(construct_init_block): Use rtx_code_label.
|
||
* cfgrtl.c (block_label): Promote return type to rtx_code_label.
|
||
(try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
|
||
calling redirect_jump.
|
||
(patch_jump_insn): Likewise.
|
||
(redirect_branch_edge): Likewise.
|
||
(force_nonfallthru_and_redirect): Likewise.
|
||
(fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
|
||
when suitable.
|
||
(rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
|
||
* cfgrtl.h: Promote return type of block_label to rtx_code_label.
|
||
* config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
|
||
* config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
|
||
to store the value retured by gen_label_rtx.
|
||
* config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
|
||
rtx_jump_insn.
|
||
* config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
|
||
(split_branches): Fix calls of redirect_jump.
|
||
* dojump.c (jumpifnot): Promote argument type from rtx to
|
||
rtx_code_label.
|
||
(jumpifnot_1): Likewise.
|
||
(jumpif): Likewise.
|
||
(jumpif_1): Likewise.
|
||
(do_jump_1): Likewise.
|
||
(do_jump): Likewise. Use rtx_code_label when feasible.
|
||
(do_jump_by_parts_greater_rtx): Likewise.
|
||
(do_jump_by_parts_zero_rtx): Likewise.
|
||
(do_jump_by_parts_equality_rtx): Likewise.
|
||
(do_compare_rtx_and_jump): Likewise.
|
||
* dojump.h: Update function prototypes.
|
||
* dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
|
||
returns rtx_insn).
|
||
* emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
|
||
rtx_jump_insn.
|
||
(emit_label_before): Likewise.
|
||
(emit_jump_insn_after_noloc): Likewise.
|
||
(emit_jump_insn_after_setloc): Likewise.
|
||
(emit_jump_insn_after): Likewise
|
||
(emit_jump_insn_before_setloc): Likewise.
|
||
(emit_jump_insn_before): Likewise.
|
||
(emit_label_before): Promote return type to rtx_code_label.
|
||
(emit_label): Likewise.
|
||
* except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
|
||
* explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
|
||
gen_move_insn.
|
||
(emit_stack_restore): Likewise.
|
||
* expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
|
||
(do_cmp_and_jump): Likewise.
|
||
* expr.c (expand_expr_real_2): Likewise. Promote some local variables
|
||
from rtx to rtx_code_label.
|
||
(gen_move_insn_uncast): New function.
|
||
* expr.h: Update return type of gen_move_insn (promote to rtx_insn).
|
||
* function.c (convert_jumps_to_returns): Fix call of redirect_jump.
|
||
* gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
|
||
* ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
|
||
invert_jump_1 and redirect_jump_1.
|
||
* internal-fn.c (expand_arith_overflow_result_store): Fix call of
|
||
do_compare_rtx_and_jump.
|
||
(expand_addsub_overflow): Likewise.
|
||
(expand_neg_overflow): Likewise.
|
||
(expand_mul_overflow): Likewise.
|
||
* ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
|
||
return value of gen_move_insn.
|
||
* jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
|
||
* loop-doloop.c (add_test): Use rtx_code_label.
|
||
(doloop_modify): Likewise.
|
||
(doloop_optimize): Likewise.
|
||
* loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
|
||
* lra-constraints.c (emit_spill_move): Remove cast of value returned
|
||
by gen_move_insn.
|
||
(inherit_reload_reg): Add cast when calling dump_insn_slim.
|
||
(split_reg): Likewise.
|
||
* modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
|
||
gen_move_insn.
|
||
* optabs.c (expand_binop_directly): Remove casts of values returned by
|
||
maybe_gen_insn.
|
||
(expand_unop_direct): Likewise.
|
||
(expand_abs): Likewise.
|
||
(maybe_emit_unop_insn): Likewise.
|
||
(maybe_gen_insn): Promote return type to rtx_insn.
|
||
* optabs.h: Update prototype of maybe_gen_insn.
|
||
* postreload-gcse.c (eliminate_partially_redundant_load): Remove
|
||
redundant cast.
|
||
* recog.c (struct peep2_insn_data): Promote type of insn field to
|
||
rtx_insn.
|
||
(peep2_reinit_state): Use NULL instead of NULL_RTX.
|
||
(peep2_attempt): Remove casts of insn in peep2_insn_data.
|
||
(peep2_fill_buffer): Promote argument from rtx to rtx_insn
|
||
* recog.h (struct insn_gen_fn): Promote return types of function
|
||
pointers and operator ().from rtx to rtx_insn.
|
||
* reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
|
||
(fill_eager_delay_slots): Likewise.
|
||
(relax_delay_slots): Likewise.
|
||
(make_return_insns): Likewise.
|
||
(dbr_schedule): Likewise.
|
||
(optimize_skips): Likewise.
|
||
(reorg_redirect_jump): Likewise.
|
||
(fill_slots_from_thread): Likewise.
|
||
* reorg.h: Update prototypes.
|
||
* resource.c (find_dead_or_set_registers): Use dyn_cast to
|
||
rtx_jump_insn instead of check. Use it's jump_target method.
|
||
* rtl.h (rtx_jump_insn::jump_label): Define new method.
|
||
(rtx_jump_insn::jump_target): Define new method.
|
||
(rtx_jump_insn::set_jump_target): Define new method.
|
||
* rtlanal.c (tablejump_p): Promote type of one local variable.
|
||
* sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
|
||
(sched_analyze_insn): Likewise.
|
||
* sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
|
||
(print_insn): Likewise.
|
||
* stmt.c (label_rtx): Promote return type to rtx_insn.
|
||
(force_label_rtx): Likewise.
|
||
(jump_target_rtx): Define new function.
|
||
(expand_label): Use it, get rid of one cast.
|
||
(expand_naked_return): Promote rtx to rtx_code_label.
|
||
(do_jump_if_equal): Fix do_compare_rtx_and_jump call.
|
||
(expand_case): Use rtx_code_label instread of rtx where feasible.
|
||
(expand_sjlj_dispatch_table): Likewise.
|
||
(emit_case_nodes): Likewise.
|
||
* stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
|
||
* store-motion.c (insert_store): Make use of new return type of
|
||
gen_move_insn and remove a cast.
|
||
(replace_store_insn): Likewise.
|
||
|
||
2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* config/xtensa/xtensa.c (init_alignment_context): Replace MULT
|
||
by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
|
||
|
||
2015-05-20 Jeff Law <law@redhat.com>
|
||
|
||
* tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
|
||
dispose of the jump thread path when the jump threading
|
||
opportunity is cancelled.
|
||
|
||
2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
* diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
|
||
when printing the caret character.
|
||
|
||
2015-05-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
* cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
|
||
|
||
2015-05-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
* expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
|
||
* gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
|
||
* gimple-fold.c (canonicalize_bool): Likewise.
|
||
(same_bool_result_p): Likewise.
|
||
* tree-if-conv.c (parse_predicate): Likewise.
|
||
|
||
2015-05-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
* gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
|
||
* gimplify.c (gimplify_modify_expr_rhs): Likewise.
|
||
|
||
2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_class_max_nregs):
|
||
Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
|
||
values.
|
||
|
||
2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
|
||
|
||
* config/mips/mips.h (micromips_globals): Declare.
|
||
|
||
2015-05-20 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* timevar.def (TV_INITIALIZE_RTL): New.
|
||
* toplev.c (initialize_rtl): Use an auto_timevar to account this
|
||
function's time to TV_INITIALIZE_RTL.
|
||
|
||
2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
|
||
gimple_build_nop calls.
|
||
(chkp_find_bounds_for_elem): Likewise.
|
||
(chkp_get_zero_bounds): Likewise.
|
||
(chkp_get_none_bounds): Likewise.
|
||
(chkp_get_bounds_by_definition): Likewise.
|
||
(chkp_generate_extern_var_bounds): Likewise.
|
||
(chkp_get_bounds_for_decl_addr): Likewise.
|
||
(chkp_get_bounds_for_string_cst): Likewise.
|
||
|
||
2015-05-20 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/65447
|
||
* tree-ssa-loop-ivopts.c (struct iv_use): New fields.
|
||
(dump_use, dump_uses): Support to dump sub use.
|
||
(record_use): New parameters to support sub use. Remove call to
|
||
dump_use.
|
||
(record_sub_use, record_group_use): New functions.
|
||
(compute_max_addr_offset, split_all_small_groups): New functions.
|
||
(group_address_uses, rewrite_use_address): New functions.
|
||
(strip_offset): New declaration.
|
||
(find_interesting_uses_address): Call record_group_use.
|
||
(add_candidate): New assertion.
|
||
(infinite_cost_p): Move definition forward.
|
||
(add_costs): Check INFTY cost and return immediately.
|
||
(get_computation_cost_at): Clear setup cost and dependent bitmap
|
||
for sub uses.
|
||
(determine_use_iv_cost_address): Compute cost for sub uses.
|
||
(rewrite_use_address_1): Rename from old rewrite_use_address.
|
||
(free_loop_data): Free sub uses.
|
||
(tree_ssa_iv_optimize_loop): Call group_address_uses.
|
||
|
||
2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
* config/arm/aarch-common-protos.h (struct mem_cost_table): Added
|
||
new fields loadv and storev.
|
||
* config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
|
||
Initialize loadv and storev.
|
||
* config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
|
||
(cortexa53_extra_costs): Likewise.
|
||
(cortexa57_extra_costs): Likewise.
|
||
(xgene1_extra_costs): Likewise.
|
||
* config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
|
||
rtx_costs.
|
||
|
||
2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
* config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
|
||
storev.
|
||
(cortexa8_extra_costs): Likewise.
|
||
(cortexa5_extra_costs): Likewise.
|
||
(cortexa7_extra_costs): Likewise.
|
||
(cortexa12_extra_costs): Likewise.
|
||
(cortexa15_extra_costs): Likewise.
|
||
(v7m_extra_costs): Likewise.
|
||
|
||
2015-05-20 Jeff Law <law@redhat.com>
|
||
|
||
* tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
|
||
instead of open-coded version. Also delete the jump thread created
|
||
within this function.
|
||
|
||
2015-05-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
|
||
stack adjusting insn. Formatting.
|
||
(rs6000_emit_prologue): Track stack adjusting insn, and use of
|
||
r12. If possible, emit first -fsplit-stack arg pointer insn
|
||
before stack adjust. Don't use r12 to save cr if split-stack.
|
||
|
||
2015-05-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
|
||
Define.
|
||
(rs6000_supports_split_stack): New function.
|
||
* gcc/config/rs6000/rs6000.c (machine_function): Add
|
||
split_stack_arg_pointer.
|
||
(TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
|
||
(setup_incoming_varargs): Use crtl->args.internal_arg_pointer
|
||
rather than virtual_incoming_args_rtx.
|
||
(rs6000_va_start): Likewise.
|
||
(split_stack_arg_pointer_used_p): New function.
|
||
(rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
|
||
(morestack_ref): New var.
|
||
(gen_add3_const, rs6000_expand_split_stack_prologue,
|
||
rs6000_internal_arg_pointer, rs6000_live_on_entry,
|
||
rs6000_split_stack_space_check): New functions.
|
||
(rs6000_elf_file_end): Call file_end_indicate_split_stack.
|
||
* gcc/config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
|
||
(UNSPECV_SPLIT_STACK_RETURN): Define.
|
||
(split_stack_prologue, load_split_stack_limit,
|
||
load_split_stack_limit_di, load_split_stack_limit_si,
|
||
split_stack_return, split_stack_space_check): New expands and insns.
|
||
* gcc/config/rs6000/rs6000-protos.h
|
||
(rs6000_expand_split_stack_prologue): Declare.
|
||
(rs6000_split_stack_space_check): Declare.
|
||
|
||
2015-05-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
|
||
(rs6000_stack_info): Don't zero offsets when not saving registers.
|
||
(debug_stack_info): Adjust to omit printing unused offsets,
|
||
as before.
|
||
(direct_return): Test vrsave_size rather than vrsave_mask.
|
||
(rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
|
||
(rs6000_emit_epilogue): Likewise.
|
||
|
||
2015-05-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
|
||
when not saving registers.
|
||
(debug_stack_info): Adjust to omit printing unused offsets,
|
||
as before.
|
||
(rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
|
||
expression.
|
||
|
||
2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
PR c++/65835
|
||
* config/i386/winnt.c (struct wrapped_symbol_hasher): Change
|
||
value_type to const char *.
|
||
|
||
2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
|
||
to build a biarch toolchain again.
|
||
|
||
2015-05-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-devirt.c (type_in_anonymous_namespace_p): Return true
|
||
or implicit declarations.
|
||
(odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
|
||
into it.
|
||
(get_odr_type): Check type has linkage before adding bases.
|
||
(register_odr_type): Check that type has linkage before adding it.
|
||
(type_known_to_have_no_deriavations_p): Rename to ..
|
||
(type_known_to_have_no_derivations_p): This one.
|
||
* ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
|
||
(type_known_to_have_no_derivations_p): This one.
|
||
* ipa-polymorphic-call.c
|
||
(ipa_polymorphic_call_context::restrict_to_inner_type): Check that
|
||
type has linkage.
|
||
|
||
2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
|
||
(layout_type): Use RECORD_OR_UNION_TYPE_P.
|
||
|
||
2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_vector_bool_type_p): New function.
|
||
(s390_invalid_binary_op): New function.
|
||
(TARGET_INVALID_BINARY_OP): Define macro.
|
||
|
||
2015-05-19 David Sherwood <david.sherwood@arm.com>
|
||
|
||
* loop-invariant.c (create_new_invariant): Don't calculate address cost
|
||
if mode is not a scalar integer.
|
||
(get_inv_cost): Increase computational cost for unused invariants.
|
||
|
||
2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
|
||
c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
|
||
* config/s390/s390-builtin-types.def: New file.
|
||
* config/s390/s390-builtins.def: New file.
|
||
* config/s390/s390-builtins.h: New file.
|
||
* config/s390/s390-c.c: New file.
|
||
* config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
|
||
CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
|
||
* config/s390/s390-protos.h (s390_expand_vec_compare_cc)
|
||
(s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
|
||
prototypes.
|
||
* config/s390/s390.c (s390-builtins.h, s390-builtins.def):
|
||
Include.
|
||
(flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
|
||
(s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
|
||
variable definitions.
|
||
(s390_const_operand_ok): New function.
|
||
(s390_expand_builtin): Rewrite.
|
||
(s390_init_builtins): New function.
|
||
(s390_handle_vectorbool_attribute): New function.
|
||
(s390_attribute_table): Add s390_vector_bool attribute.
|
||
(s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
|
||
(s390_branch_condition_mask): Generate masks for new modes.
|
||
(s390_expand_vec_compare_cc): New function.
|
||
(s390_mangle_type): Add mangling for vector bool types.
|
||
(enum s390_builtin): Remove.
|
||
(s390_atomic_assign_expand_fenv): Rename constants for sfpc and
|
||
efpc builtins.
|
||
* config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
|
||
s390_cpu_cpp_builtins.
|
||
(REGISTER_TARGET_PRAGMAS): New macro.
|
||
* config/s390/s390.md: Define more UNSPEC_VEC_* constants.
|
||
(insn_cmp mode attribute): Add new CC modes.
|
||
(s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
|
||
(lcbb): New pattern definition.
|
||
* config/s390/s390intrin.h: Include vecintrin.h.
|
||
* config/s390/t-s390: New file.
|
||
* config/s390/vecintrin.h: New file.
|
||
* config/s390/vector.md: Include vx-builtins.md.
|
||
* config/s390/vx-builtins.md: New file.S/390 zvector builtin
|
||
support.
|
||
|
||
2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
|
||
CCVFHE.
|
||
* config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
|
||
(s390_select_ccmode): Likewise.
|
||
(s390_canonicalize_comparison): Swap operands if necessary.
|
||
(s390_expand_vec_compare_scalar): Expand DFmode compare using
|
||
single element vector instructions.
|
||
(s390_emit_compare): Call s390_expand_vec_compare_scalar.
|
||
(s390_branch_condition_mask): Generate CC masks for the new modes.
|
||
* config/s390/s390.md (v0, vf, vd): New mode attributes.
|
||
(VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
|
||
(*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
|
||
(*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
|
||
(*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
|
||
(*extend<DSF:mode><BFP:mode>2): New insn definition.
|
||
(fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
|
||
(extend<DSF:mode><BFP:mode>2): Turn into expander.
|
||
(floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
|
||
(div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
|
||
(sqrt<mode>2): Add vector instruction.
|
||
|
||
2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
|
||
constraints.
|
||
* config/s390/predicates.md (const0_operand, constm1_operand)
|
||
(constable_operand): Accept vector operands.
|
||
* config/s390/s390-modes.def: Add supported vector modes.
|
||
* config/s390/s390-protos.h (s390_cannot_change_mode_class)
|
||
(s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
|
||
(s390_bytemask_vector_p, s390_expand_vec_strlen)
|
||
(s390_expand_vec_compare, s390_expand_vcond)
|
||
(s390_expand_vec_init): Add prototypes.
|
||
* config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
|
||
(s390_vector_mode_supported_p): New function.
|
||
(s390_contiguous_bitmask_p): Mask out the irrelevant bits.
|
||
(s390_contiguous_bitmask_vector_p): New function.
|
||
(s390_bytemask_vector_p): New function.
|
||
(s390_split_ok_p): Vector regs don't work either.
|
||
(regclass_map): Add VEC_REGS.
|
||
(s390_legitimate_constant_p): Handle vector constants.
|
||
(s390_cannot_force_const_mem): Handle CONST_VECTOR.
|
||
(legitimate_reload_vector_constant_p): New function.
|
||
(s390_preferred_reload_class): Handle CONST_VECTOR.
|
||
(s390_reload_symref_address): Likewise.
|
||
(s390_secondary_reload): Vector memory instructions only support
|
||
short displacements. Rename reload*_nonoffmem* to reload*_la*.
|
||
(s390_emit_ccraw_jump): New function.
|
||
(s390_expand_vec_strlen): New function.
|
||
(s390_expand_vec_compare): New function.
|
||
(s390_expand_vcond): New function.
|
||
(s390_expand_vec_init): New function.
|
||
(s390_dwarf_frame_reg_mode): New function.
|
||
(print_operand): Handle addresses with 'O' and 'R' constraints.
|
||
(NR_C_MODES, constant_modes): Add vector modes.
|
||
(s390_output_pool_entry): Handle vector constants.
|
||
(s390_hard_regno_mode_ok): Handle vector registers.
|
||
(s390_class_max_nregs): Likewise.
|
||
(s390_cannot_change_mode_class): New function.
|
||
(s390_invalid_arg_for_unprototyped_fn): New function.
|
||
(s390_function_arg_vector): New function.
|
||
(s390_function_arg_float): Remove size variable.
|
||
(s390_pass_by_reference): Handle vector arguments.
|
||
(s390_function_arg_advance): Likewise.
|
||
(s390_function_arg): Likewise.
|
||
(s390_return_in_memory): Vector values are returned in a VR if
|
||
possible.
|
||
(s390_function_and_libcall_value): Handle vector arguments.
|
||
(s390_gimplify_va_arg): Likewise.
|
||
(s390_call_saved_register_used): Consider the arguments named.
|
||
(s390_conditional_register_usage): Disable v16-v31 for non-vec
|
||
targets.
|
||
(s390_preferred_simd_mode): New function.
|
||
(s390_support_vector_misalignment): New function.
|
||
(s390_vector_alignment): New function.
|
||
(TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
|
||
(TARGET_VECTOR_MODE_SUPPORTED_P)
|
||
(TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
|
||
(TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
|
||
(TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
|
||
(TARGET_VECTOR_ALIGNMENT): Define target macro.
|
||
* config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
|
||
(FIRST_PSEUDO_REGISTER): Increase value.
|
||
(VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
|
||
(VECTOR_REG_P): Define macros.
|
||
(FIXED_REGISTERS, CALL_USED_REGISTERS)
|
||
(CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
|
||
(HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
|
||
(FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
|
||
Add vector registers.
|
||
(CANNOT_CHANGE_MODE_CLASS): Call C function.
|
||
(enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
|
||
(SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
|
||
memory.
|
||
(DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
|
||
(SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
|
||
* config/s390/s390.md (UNSPEC_VEC_*): New constants.
|
||
(VR*_REGNUM): New constants.
|
||
(ALL): New mode iterator.
|
||
(INTALL): Remove mode iterator.
|
||
Include vector.md.
|
||
(movti): Implement TImode moves for VRs.
|
||
Disable TImode splitter for VR targets.
|
||
Implement splitting TImode GPR<->VR moves.
|
||
(reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
|
||
(reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
|
||
reload<mode>_la_in, reload<mode>_la_out.
|
||
(*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
|
||
(*mov<mode>_64, *mov<mode>_31): Add vector instructions.
|
||
(TD/TF mode splitter): Enable for GPRs only (formerly !FP).
|
||
(mov<mode> SF SD): Prefer lder, lde for loading.
|
||
Add lrl and strl instructions.
|
||
Add vector instructions.
|
||
(strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
|
||
Call s390_expand_vec_strlen on z13.
|
||
(*cc_to_int): Change predicate to nonimmediate_operand.
|
||
(addti3): Rename to *addti3. New expander.
|
||
(subti3): Rename to *subti3. New expander.
|
||
* config/s390/vector.md: New file.
|
||
|
||
2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* common/config/s390/s390-common.c (processor_flags_table): Add
|
||
z13.
|
||
* config.gcc: Add z13.
|
||
* config/s390/s390-opts.h (enum processor_type): Add
|
||
PROCESSOR_2964_Z13.
|
||
* config/s390/s390.c (s390_adjust_priority): Check for
|
||
PROCESSOR_2964_Z13.
|
||
(s390_reorg): Likewise.
|
||
(s390_sched_reorder): Likewise.
|
||
(s390_sched_variable_issue): Likewise.
|
||
(s390_loop_unroll_adjust): Likewise.
|
||
(s390_option_override): Likewise. Default to -mvx when available.
|
||
* config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
|
||
(TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
|
||
(TARGET_VX_ABI): Define macros.
|
||
macros.
|
||
(TARGET_DEFAULT): Add MASK_OPT_VX.
|
||
* config/s390/s390.md ("cpu" attribute): Add z13.
|
||
("cpu_facility" attribute): Add vec.
|
||
* config/s390/s390.opt (processor_type): Add z13.
|
||
(mvx): New options.
|
||
* doc/invoke.texi: Add z13 option for -march.
|
||
|
||
2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/predicates.md (shift_count_or_setmem_operand): Add
|
||
mode check to make sure that only scalar integer values are
|
||
accepted.
|
||
|
||
2015-05-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (verify_type_variant): Fix #undef.
|
||
(gimple_canonical_types_compatible_p): Move here from lto.c
|
||
(verify_type): Verify TYPE_CANONICAL compatibility.
|
||
* tree.h (gimple_canonical_types_compatible_p): Declare.
|
||
|
||
2015-05-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/66199
|
||
* tree.h (OMP_TEAMS_COMBINED): Define.
|
||
* gimplify.c (enum gimplify_omp_var_data): Add
|
||
GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
|
||
(enum omp_region_type): Add ORT_COMBINED_TEAMS.
|
||
(omp_notice_variable): Accept both ORT_TEAMS
|
||
and ORT_COMBINED_TEAMS. Don't recurse if
|
||
GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
|
||
GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
|
||
GOVD_FIRSTPRIVATE.
|
||
(omp_no_lastprivate): New function.
|
||
(gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
|
||
and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
|
||
notice_outer and set appropriate bits, otherwise make
|
||
sure default(none) combined constructs won't complain.
|
||
(gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
|
||
outer special casing, for OMP_CLAUSE_LASTPRIVATE if
|
||
omp_no_lastprivate either remove the clause or turn it
|
||
into OMP_CLAUSE_PRIVATE.
|
||
(gimplify_omp_for): Fix up handling of implicit
|
||
lastprivate or linear iterators.
|
||
(gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
|
||
ORT_COMBINED_TEAMS.
|
||
* omp-low.c (lower_omp_for_lastprivate): For combined
|
||
for simd use fd.loop.n2 from the for rather than simd.
|
||
|
||
2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
|
||
instead of gen_rtx_raw_REG.
|
||
(cris_expand_epilogue): Likewise.
|
||
* config/microblaze/microblaze.c (microblaze_classify_address):
|
||
Likewise.
|
||
* config/sparc/sparc.md: Likewise.
|
||
|
||
2015-05-19 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/alpha/alpha.c (alpha_legitimize_reload_address)
|
||
(alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
|
||
CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
|
||
(alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
|
||
Use CASE_CONST_SCALAR_INT.
|
||
(print_operand) <case 'M'>: Use mode_width_operand to check the
|
||
value of the constant.
|
||
* config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
|
||
* config/alpha/predicates.md (input_operand): Use general_operand
|
||
instead of match_code as operand check.
|
||
(symbolic_operand): Use match_code with subexpression digits.
|
||
* config/alpha/constraints.md (Q): Ditto.
|
||
|
||
2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
|
||
|
||
2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_secondary_reload): Fix check for
|
||
load/store relative.
|
||
|
||
2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
|
||
alternative_mask to uint64_t.
|
||
|
||
2015-05-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/66187
|
||
* match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
|
||
Pass TYPE_SIGN to tree_int_cst_min_precision. If
|
||
!TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
|
||
|
||
2015-05-19 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* diagnostic.c (diagnostic_report_current_module): Strengthen
|
||
local "new_map" from const line_map * to
|
||
const line_map_ordinary *.
|
||
* genmatch.c (error_cb): Likewise for local "map".
|
||
(output_line_directive): Likewise for local "map".
|
||
* input.c (expand_location_1): Likewise for local "map".
|
||
Pass NULL rather than &map to
|
||
linemap_unwind_to_first_non_reserved_loc, since the value is never
|
||
read from there, and the value written back not read from here.
|
||
(is_location_from_builtin_token): Strengthen local "map" from
|
||
const line_map * to const line_map_ordinary *.
|
||
(dump_location_info): Strengthen locals "map" from
|
||
line_map *, one to const line_map_ordinary *, the other
|
||
to const line_map_macro *.
|
||
* tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
|
||
const line_map * to const line_map_macro *.
|
||
(maybe_unwind_expanded_macro_loc): Add a call to
|
||
linemap_check_macro when writing to the "map" field of the
|
||
loc_map_pair.
|
||
Introduce local const line_map_ordinary * "ord_map", using it in
|
||
place of "map" in the part of the function where we know we have
|
||
an ordinary map. Strengthen local "m" from const line_map * to
|
||
const line_map_ordinary *.
|
||
|
||
2015-05-19 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/66156
|
||
* config/msp430/msp430.md (zero_extendhisi2): Add support for
|
||
separate source and destination registers.
|
||
|
||
2015-05-19 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66165
|
||
* tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
|
||
for no load permutation.
|
||
|
||
PR tree-optimization/66185
|
||
* tree-vect-slp.c (vect_build_slp_tree): Properly roll back
|
||
when building the SLP node from scalars.
|
||
|
||
2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
Tristan Gingold <gingold@adacore.com>
|
||
|
||
* insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
|
||
* builtins.c (expand_builtin_update_setjmp_buf): Make global.
|
||
(expand_stack_restore): Call record_new_stack_level.
|
||
(expand_stack_save): Do not call do_pending_stack_adjust.
|
||
* builtins.h (expand_builtin_update_setjmp_buf): Declare.
|
||
* calls.c (expand_call): Call record_new_stack_level for alloca.
|
||
* except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
|
||
wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
|
||
(update_sjlj_context): New global function.
|
||
* except.h (update_sjlj_context): Declare.
|
||
* explow.c (record_new_stack_level): New global function.
|
||
(allocate_dynamic_stack_space): Call record_new_stack_level.
|
||
* explow.h (record_new_stack_level): Declare.
|
||
* final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
|
||
* cfgrtl.c (duplicate_insn_chain): Likewise.
|
||
|
||
2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
|
||
(mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
|
||
STACK_GROWS_DOWNWARD as normal if.
|
||
(expand_call): Likewise.
|
||
|
||
2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/54236
|
||
* config/sh/sh.md (*round_int_even): New insn_and_split and
|
||
accompanying new unnamed split.
|
||
|
||
2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* bitmap.c (bitmap_set_range): Handle count==1 specially.
|
||
(bitmap_clear_range): Likewise.
|
||
* cfgcleanup.c (mark_effect): Use bitmap_clear_range and
|
||
bitmap_set_range unconditionally.
|
||
* df-problems.c (df_simulate_one_insn_forwards): Likewise.
|
||
* df-scan.c (df_mark_reg): Likewise.
|
||
* haifa-sched.c (setup_ref_regs): Likewise.
|
||
* sched-rgn.c (update_live_1): Likewise.
|
||
|
||
2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* regs.h (END_HARD_REGNO): Delete.
|
||
(END_REGNO): Move to...
|
||
* rtl.h: ...here.
|
||
* bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
|
||
* caller-save.c (mark_set_regs): Likewise.
|
||
* combine.c (move_deaths, distribute_notes): Likewise.
|
||
* cse.c (invalidate, invalidate_for_call): Likewise.
|
||
* df-scan.c (df_ref_record): Likewise.
|
||
* postreload-gcse.c (reg_changed_after_insn_p): Likewise.
|
||
(record_last_reg_set_info): Likewise.
|
||
* reg-stack.c (convert_regs_exit): Likewise.
|
||
* reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
|
||
* resource.c (update_live_status): Likewise.
|
||
* rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
|
||
|
||
2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* rtl.h (reg_info): Add an nregs field.
|
||
(REG_NREGS): Use it.
|
||
(SET_REGNO_RAW): Delete.
|
||
(set_regno_raw): New function.
|
||
* regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
|
||
(END_REGNO): Redefine in terms of REG_NREGS.
|
||
* read-rtl.c (read_rtx_code): Call set_regno_raw instead of
|
||
SET_REGNO_RAW.
|
||
* emit-rtl.c (set_mode_and_regno): Likewise.
|
||
* df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
|
||
instead of SET_REGNO_RAW.
|
||
|
||
2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* rtl.h (PUT_MODE_RAW): New macro.
|
||
(PUT_REG_NOTE_KIND): Use it.
|
||
(set_mode_and_regno): Declare.
|
||
(gen_raw_REG): Change regno to "unsigned int".
|
||
(gen_rtx_REG): Change "unsigned" to "unsigned int".
|
||
(PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
|
||
use set_mode_and_regno to change the mode of registers.
|
||
* gengenrtl.c (gendef): Use PUT_MODE_RAW.
|
||
* emit-rtl.c (set_mode_and_regno): New function.
|
||
(gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
|
||
* caller-save.c (reg_save_code): Use set_mode_and_regno.
|
||
* expr.c (init_expr_target): Likewise.
|
||
* ira.c (setup_prohibited_mode_move_regs): Likewise.
|
||
* postreload.c (reload_cse_simplify_operands): Likewise.
|
||
|
||
2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* caller-save.c (init_caller_save): Use word_mode and
|
||
FIRST_PSEUDO_REGISTER when creating temporary rtxes.
|
||
* expr.c (init_expr_target): Likewise.
|
||
* ira.c (setup_prohibited_mode_move_regs): Likewise.
|
||
* postreload.c (reload_cse_regs_1): Likewise.
|
||
|
||
2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* rtl.def (REG): Change format to "r".
|
||
* rtl.h (rtunion): Remove rt_reg.
|
||
(reg_info): New structure.
|
||
(rtx_def): Add reg field to main union.
|
||
(X0REGATTR): Delete.
|
||
(REG_CHECK): New macro.
|
||
(SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
|
||
* rtl.c (rtx_format): Document "r".
|
||
(rtx_code_size): Handle REG specially.
|
||
* gengenrtl.c (special_format): Return true for formats
|
||
that include 'r'.
|
||
* gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
|
||
Deal with REG_ATTRS after the field loop.
|
||
* emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
|
||
* expmed.c (init_expmed): Call gen_raw_REG instead of
|
||
gen_rtx_raw_REG.
|
||
* expr.c (init_expr_target): Likewise.
|
||
* regcprop.c (maybe_mode_change): Likewise.
|
||
* varasm.c (make_decl_rtl): Likewise.
|
||
* final.c (leaf_renumber_regs_insn): Return early after
|
||
handling REGs.
|
||
* genemit.c (gen_exp): Handle 'r' fields.
|
||
* genpeep.c (match_rtx): Likewise.
|
||
* gensupport.c (subst_pattern_match): Likewise.
|
||
(get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
|
||
(alter_constraints, subst_dup): Likewise.
|
||
* read-rtl.c (read_rtx_code): Likewise.
|
||
* print-rtl.c (print_rtx): Likewise.
|
||
* genrecog.c (find_operand, find_matching_operand): Likewise.
|
||
(validate_pattern, match_pattern_2): Likewise.
|
||
(parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
|
||
(rtx_test::regno_field): New function.
|
||
(operator ==, safe_to_hoist_p, transition_parameter_type)
|
||
(parameter_type_string, print_parameter_value)
|
||
(print_nonbool_test, print_test): Handle new enum values.
|
||
* cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
|
||
* lra-constraints.c (operands_match_p): Likewise.
|
||
|
||
2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
|
||
Change type of new_regno to unsigned int.
|
||
* df-scan.c (df_ref_change_reg_with_loc_1): Change type of
|
||
new_regno to unsigned int.
|
||
(df_ref_change_reg_with_loc): Remove old_regno parameter.
|
||
Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
|
||
* rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
|
||
(SET_REGNO_RAW): Add space after ",".
|
||
|
||
2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* rtl.h (REG_NREGS): New macro
|
||
* alias.c (record_set): Use it.
|
||
* cfgcleanup.c (mark_effect): Likewise.
|
||
* combine.c (likely_spilled_retval_1): Likewise.
|
||
(likely_spilled_retval_p, can_change_dest_mode): Likewise.
|
||
(move_deaths, distribute_notes): Likewise.
|
||
* cselib.c (cselib_record_set): Likewise.
|
||
* df-problems.c (df_simulate_one_insn_forwards): Likewise.
|
||
* df-scan.c (df_mark_reg): Likewise.
|
||
* dse.c (look_for_hardregs): Likewise.
|
||
* dwarf2out.c (reg_loc_descriptor): Likewise.
|
||
(multiple_reg_loc_descriptor): Likewise.
|
||
* expr.c (write_complex_part, read_complex_part): Likewise.
|
||
(emit_move_complex): Likewise.
|
||
* haifa-sched.c (setup_ref_regs): Likewise.
|
||
* ira-lives.c (mark_hard_reg_live): Likewise.
|
||
* lra.c (lra_set_insn_recog_data): Likewise.
|
||
* mode-switching.c (create_pre_exit): Likewise.
|
||
* postreload.c (reload_combine_recognize_const_pattern): Likewise.
|
||
(reload_combine_recognize_pattern): Likewise.
|
||
(reload_combine_note_use, move2add_record_mode): Likewise.
|
||
(reload_cse_move2add): Likewise.
|
||
* reg-stack.c (subst_stack_regs_pat): Likewise.
|
||
* regcprop.c (kill_value, copy_value): Likewise.
|
||
(copyprop_hardreg_forward_1): Likewise.
|
||
* regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
|
||
(build_def_use): Likewise.
|
||
* sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
|
||
(deps_analyze_insn): Likewise.
|
||
* sched-rgn.c (check_live_1, update_live_1): Likewise.
|
||
* sel-sched.c (count_occurrences_equiv): Likewise.
|
||
* valtrack.c (dead_debug_insert_temp): Likewise.
|
||
|
||
2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
|
||
* dse.c (note_add_store): Likewise.
|
||
* ira-lives.c (mark_hard_reg_dead): Likewise.
|
||
* loop-invariant.c (mark_reg_store): Likewise.
|
||
(mark_reg_death): Likewise.
|
||
* postreload.c (reload_combine): Likewise.
|
||
(reload_combine_note_store): Likewise.
|
||
(reload_combine_note_use): Likewise.
|
||
* recog.c (peep2_reg_dead_p): Likewise.
|
||
|
||
2015-05-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
|
||
hard registers numbered greater or equal to ARG_POINTER_REGNUM.
|
||
(reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
|
||
unused predicates.
|
||
* config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
|
||
Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
|
||
* config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
|
||
* config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
|
||
|
||
2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
|
||
|
||
* config/mips/mips.md (JOIN_MODE): New mode iterator.
|
||
(join2_load_Store<JOIN_MODE:mode>): New pattern.
|
||
(join2_loadhi): Likewise.
|
||
(define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
|
||
load-load and store-stores.
|
||
* config/mips/mips.opt (mload-store-pairs): New option.
|
||
(TARGET_LOAD_STORE_PAIRS): New macro.
|
||
* config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
|
||
* config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
|
||
* config/mips/mips.c (mips_load_store_bonding_p): New function.
|
||
|
||
2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
* bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
|
||
explicit swaps.
|
||
* dojump.c (do_compare_rtx_and_jump): Likewise.
|
||
* expmed.c (emit_store_flag_1): Likewise.
|
||
* fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
|
||
* final.c (sprint_ul): Use std::reverse for reversing a string.
|
||
* fold-const.c (extract_muldiv_1): Use std::swap.
|
||
* genmodes.c (emit_mode_int_n): Likewise.
|
||
* ifcvt.c (dead_or_predicable): Likewise.
|
||
* ira-build.c (ira_merge_live_ranges): Likewise.
|
||
(swap_allocno_copy_ends_if_necessary): Likewise.
|
||
* ira.c (ira_setup_alts): Likewise.
|
||
* loop-iv.c (iv_analyze_expr): Likewise.
|
||
(implies_p): Likewise.
|
||
(canon_condition): Likewise.
|
||
* lra-constraints.c (swap_operands): Likewise.
|
||
* lra-lives.c (lra_merge_live_ranges): Likewise.
|
||
* omega.c (swap): Remove.
|
||
(bswap): Remove.
|
||
(omega_unprotect_1): Use std::swap.
|
||
(omega_solve_geq): Likewise.
|
||
* optabs.c (expand_binop_directly): Likewise.
|
||
(expand_binop): Likewise.
|
||
(emit_conditional_move): Likewise.
|
||
(emit_conditional_add): Likewise.
|
||
* postreload.c (reload_cse_simplify_operands): Likewise.
|
||
* reg-stack.c (emit_swap_insn): Likewise.
|
||
(swap_to_top): Likewise.
|
||
(compare_for_stack_reg): Likewise.
|
||
(subst_asm_stack_regs): Likewise.
|
||
* reload.c (find_reloads): Likewise.
|
||
* reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
|
||
* sel-sched.c (invoke_reorder_hooks): Likewise.
|
||
(create_block_for_bookkeeping): Likewise.
|
||
* tree-data-ref.c (lambda_matrix_row_exchange): Remove.
|
||
(lambda_matrix_right_hermite): Use std::swap.
|
||
* tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
|
||
* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
|
||
* tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
|
||
* tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
|
||
* tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
|
||
* tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
|
||
* tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
|
||
* tree-vrp.c (compare_ranges): Likewise.
|
||
* var-tracking.c (add_with_sets): Likewise.
|
||
(vt_find_locations): Likewise.
|
||
|
||
2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
|
||
pie executables.
|
||
(FBSD_ENDFILE_SPEC): Likewise.
|
||
* config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
|
||
config/freebsd-spec.h.
|
||
(ENDFILE_SPEC): Likewise.
|
||
|
||
2015-05-18 Uros Bizjak <ubizjak@gmail.com>
|
||
Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/57032
|
||
* config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
|
||
Check for a memory location that is not a reference (using an AND)
|
||
to an unaligned location here.
|
||
* config/alpha/predicates.md (normal_memory_operand): Remove.
|
||
|
||
2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
|
||
|
||
* config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
|
||
(andsi_not_shiftsi_si_scc_no_reuse): New pattern.
|
||
|
||
2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
|
||
|
||
* config/mips/mips.c (micromips_globals): New variable.
|
||
(mips_set_compression_mode): Save and reinitialize target-dependent
|
||
state for microMIPS.
|
||
|
||
2015-05-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* dbgcnt.def: Add new counter.
|
||
* ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
|
||
|
||
2015-05-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* dbgcnt.def: Sort counters.
|
||
* opts.c (common_handle_option): Do not compile if
|
||
-fdbg-cnt-list is enabled.
|
||
|
||
2015-05-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* gimplify.c (gimplify_modify_expr): Remove do_deref handling.
|
||
(gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
|
||
address operator to va_list operand.
|
||
* tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
|
||
unconditionally.
|
||
* config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
|
||
operand.
|
||
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
|
||
* config/s390/s390.c (s390_gimplify_va_arg): Same.
|
||
* config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
|
||
|
||
2015-05-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-ssa-tail-merge.c: Fix whitespace.
|
||
|
||
2015-05-17 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
* doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
|
||
cortex-a17, and cortex-a17.cortex-a7.
|
||
|
||
2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/54236
|
||
* config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
|
||
|
||
2015-05-17 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/66174
|
||
* config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
|
||
QImode inner modes for TARGET_AVX512BW. Force mask operand
|
||
to a register for AVX512F modes.
|
||
|
||
2015-05-16 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* toplev.c (emit_debug_global_declarations): Do not output debug info
|
||
when doing slim LTO objects.
|
||
|
||
2015-05-16 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
|
||
odr_types_equivalent_p): Declare.
|
||
(odr_type_p): Use gcc_checking_assert.
|
||
(type_in_anonymous_namespace_p) Declare.
|
||
(type_with_linkage_p): Declare.
|
||
* common.opt (Wlto-type-mismatch): New warning.
|
||
* ipa-devirt.c (compound_type_base): New function.
|
||
(odr_or_derived_type_p): New function.
|
||
(odr_types_equivalent_p): New function.
|
||
(add_type_duplicate): Simplify.
|
||
(type_with_linkage_p): Add hack to prevent false positives on C types
|
||
(type_in_anonymous_namespace_p): Likewise.
|
||
* tree.c (need_assembler_name_p): Use type_with_linkage.
|
||
* tree.h (type_in_anonymous_namespace_p): Remove.
|
||
* doc/invoke.texi (-Wlto-type-mismatch): Document
|
||
|
||
2015-05-16 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (verify_type_variant): Verify tree_base and type_common flags.
|
||
(verify_type): Verify STRING_FLAG.
|
||
|
||
2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR fortran/44054
|
||
* tree-pretty-print.c (percent_K_format): Replace locus pointer
|
||
with accessor function.
|
||
* tree-diagnostic.c (diagnostic_report_current_function): Use
|
||
diagnostic_location function.
|
||
(maybe_unwind_expanded_macro_loc): Likewise.
|
||
(virt_loc_aware_diagnostic_finalizer): Likewise.
|
||
(default_tree_printer): Replace locus pointer with accessor function.
|
||
* diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
|
||
(diagnostic_set_info_translated): Initialize second location.
|
||
(diagnostic_build_prefix): Use CARET_LINE_MARGIN.
|
||
(diagnostic_show_locus): Handle two locations. Call
|
||
diagnostic_print_caret_line.
|
||
(diagnostic_print_caret_line): New.
|
||
(default_diagnostic_starter): Use diagnostic_location function.
|
||
(diagnostic_report_diagnostic): Use diagnostic_location function.
|
||
(verbatim): Do not set text.locus.
|
||
* diagnostic.h (struct diagnostic_info): Remove location field.
|
||
(struct diagnostic_context): Make caret_chars an array of two.
|
||
(diagnostic_location): New inline.
|
||
(diagnostic_expand_location): Handle two locations.
|
||
(diagnostic_same_line): New inline.
|
||
(diagnostic_print_caret_line): Declare.
|
||
(CARET_LINE_MARGIN): New constant.
|
||
* pretty-print.c (pp_printf): Do not set text.locus.
|
||
(pp_verbatim): Do not set text.locus.
|
||
* pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
|
||
(struct text_info): Replace locus pointer with locations
|
||
array. Add accessor functions.
|
||
|
||
2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
Zhenqiang Chen <zhenqiang.chen@linaro.org>
|
||
|
||
PR target/65768
|
||
* config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
|
||
* config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
|
||
large constants in register instead of splitting them.
|
||
|
||
2015-05-16 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/66140
|
||
* config/alpha/alpha.c (get_aligned_mem): Also look for reload
|
||
replacements in memory addresses.
|
||
(get_unaligned_address): Ditto.
|
||
|
||
2015-05-16 James Bowman <james.bowman@ftdichip.com>
|
||
|
||
* config/ft32/*: New files for FT32 port.
|
||
* doc/install.texi: Add FT32 information.
|
||
* doc/invoke.texi: Add FT32 information.
|
||
* doc/md.texi: Add FT32 information.
|
||
* doc/contrib.texi: Self added.
|
||
|
||
2015-05-15 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR tree-optimization/64454
|
||
* match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
|
||
(-1 - A -> ~A): Remove unnecessary condition.
|
||
|
||
2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
|
||
|
||
* config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
|
||
* config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
|
||
(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
|
||
|
||
2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* ipa-chkp.h (chkp_wrap_function): New.
|
||
* ipa-chkp.c (chkp_wrap_function): Remove 'static'.
|
||
(chkp_wrap_function_name): New.
|
||
(chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
|
||
to get wrapper name.
|
||
* lto-cgraph.c: Include ipa-chkp.h.
|
||
(input_cgraph_1): Avoid alias chain for wrappers.
|
||
|
||
2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
PR middle-end/66134
|
||
* tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
|
||
(chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
|
||
|
||
2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
|
||
(AARCH64_FL_SLOWMUL): Delete.
|
||
(AARCH64_FL_CRC): Redefine to 1<<3.
|
||
(AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
|
||
|
||
2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
* config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
|
||
casting.
|
||
|
||
2015-05-15 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/alpha/alpha.md (extendqidi2): Use general_operand
|
||
instead of some_operand for operand[1] predicate.
|
||
(extendhidi2): Ditto.
|
||
(cbranchdi4): Use general_operand instead of some_operand
|
||
for operand[1] and operands[2] predicates.
|
||
(cstoredi4): Ditto.
|
||
* config/alpha/predicates.md (some_operand): Remove unused predicate.
|
||
(some_ni_operand): Ditto.
|
||
|
||
2015-05-15 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/alpha/alpha.c (alpha_extract_integer): Do not handle
|
||
CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
|
||
(alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
|
||
low part of the constant using alpha_emit_set_const_1.
|
||
(alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
|
||
|
||
2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
|
||
|
||
* varasm.c (output_constant_pool_1): Pass down alignment from
|
||
constant pool entry's descriptor to output_constant_pool_2.
|
||
(output_object_block): Add comment prior to call to
|
||
output_constant_pool_1.
|
||
|
||
2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/65862
|
||
* target.def (ira_change_pseudo_allocno_class): New hook.
|
||
* targhooks.c (default_ira_change_pseudo_allocno_class): Default
|
||
value of the hook.
|
||
* targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
|
||
* doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
|
||
hook.
|
||
* ira-costs.c (find_costs_and_classes): Call the hook and change
|
||
classes when it is necessary.
|
||
* doc/tm.texi: Update.
|
||
|
||
2015-05-14 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* config/i386/i386.md (sibcall_memory): Check that register with
|
||
callee address is not also used as one of the arguments, instead
|
||
of checking that it is not live after the sibcall.
|
||
(sibcall_pop_memory): Ditto.
|
||
(sibcall_value_memory): Ditto.
|
||
(sibcall_value_pop_memory): Ditto.
|
||
|
||
2015-05-14 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
* generic-match-head.c (types_match): Handle non-types.
|
||
* gimple-match-head.c (types_match): Likewise.
|
||
* match.pd: Remove unnecessary TREE_TYPE for types_match.
|
||
|
||
2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
|
||
(csneg3<mode>_insn): Enable expansion of pattern.
|
||
|
||
2015-05-14 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78.c (rl78_select_section): Select the correct
|
||
default section based upon the category of the decl.
|
||
|
||
2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/30967
|
||
* config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
|
||
destination mode for the cost of scc patterns.
|
||
|
||
2015-05-13 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
|
||
using SWIM248 mode iterator.
|
||
(*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
|
||
(*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
|
||
for operand[2] constraint.
|
||
(*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
|
||
|
||
2015-05-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/66133
|
||
* omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
|
||
make sure it is never noreturn, even when the task body does not
|
||
return.
|
||
(lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
|
||
right before GIMPLE_OMP_RETURN.
|
||
(make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
|
||
for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
|
||
GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
|
||
|
||
2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
|
||
* tree-ssa-math-opts.c: Include params.h
|
||
(pow_synth_sqrt_info): New struct.
|
||
(representable_as_half_series_p): New function.
|
||
(get_fn_chain): Likewise.
|
||
(print_nested_fn): Likewise.
|
||
(dump_fractional_sqrt_sequence): Likewise.
|
||
(dump_integer_part): Likewise.
|
||
(expand_pow_as_sqrts): Likewise.
|
||
(gimple_expand_builtin_pow): Use above to attempt to expand
|
||
pow as series of square roots. Removed now unused variables.
|
||
|
||
2015-05-13 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
|
||
(alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
|
||
Remove *p0 and *p1 arguments. Rewrite function.
|
||
(alpha_legitimate_constant_p): Update call to alpha_extract_integer.
|
||
(alpha_split_const_mov): Update calls to alpha_extract_integer and
|
||
alpha_emit_set_long_const.
|
||
(alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
|
||
(alpha_output_mi_thunk_osf): Ditto.
|
||
* config/alpha/alpha.md (movti): Do not check operands[1]
|
||
for CONST_DOUBLE.
|
||
|
||
2015-05-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66129
|
||
* tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
|
||
commutative.
|
||
(vect_schedule_slp_instance): Fix typo.
|
||
|
||
2015-05-13 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* common.opt (fdump-internal-locations): New option.
|
||
* input.c: Include diagnostic-core.h.
|
||
(get_end_location): New function.
|
||
(write_digit): New function.
|
||
(write_digit_row): New function.
|
||
(dump_location_range): New function.
|
||
(dump_labelled_location_range): New function.
|
||
(dump_location_info): New function.
|
||
* input.h (dump_location_info): New prototype.
|
||
* toplev.c (compile_file): Handle flag_dump_locations.
|
||
|
||
2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gimple-expr.h (is_gimple_constant): Reorder.
|
||
* tree-ssa-propagate.c (before_dom_children): Use inline accessor.
|
||
|
||
2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* combine.c (simplify_set): When generating a CC set, if the
|
||
source already is in the correct mode, do not wrap it in a
|
||
compare. Simplify the rest of that code.
|
||
|
||
2015-05-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66123
|
||
* tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
|
||
a taken edge.
|
||
|
||
2015-05-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/66110
|
||
* alias.c (alias_sets_conflict_p): Do not treat has_zero_child
|
||
specially.
|
||
* Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
|
||
|
||
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
|
||
|
||
* doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
|
||
* aclocal.m4: Regenerated with automake-1.11.6.
|
||
|
||
2015-05-13 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/66010
|
||
* gimplify.h (gimplify_va_arg_internal): Remove declaration.
|
||
* gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
|
||
* tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
|
||
and rval based on do_deref.
|
||
|
||
2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/65103
|
||
* config/i386/i386.c (ix86_rtx_costs): We want to propagate
|
||
link time constants into adress expressions and therefore set
|
||
their cost to 0.
|
||
|
||
2015-05-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/66112
|
||
* config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
|
||
Use SWI248 iterator instead of SWI.
|
||
(*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
|
||
Use eq_attr "alternative" "0" instead of match_test in
|
||
length_immediate attribute computation.
|
||
(*mulvhi4, *mulvhi4_1): New define_insns.
|
||
|
||
PR target/66112
|
||
* internal-fn.c (get_min_precision): Use UNSIGNED instead of
|
||
SIGNED to get precision of non-negative value.
|
||
|
||
2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/66048
|
||
* function.c (diddle_return_value_1): Process bounds first.
|
||
* config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
|
||
register.
|
||
|
||
2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR rtl-optimization/64616
|
||
* loop-invariant.c (can_move_invariant_reg): New.
|
||
(move_invariant_reg): Call above new function to decide whether
|
||
instruction can just be moved, skipping creation of temporary
|
||
register.
|
||
|
||
2015-05-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR target/pr66047.c
|
||
* i386.c (ix86_function_sseregparm): Only return -1 if local function
|
||
with implied regparm is called from -mno-sse function.
|
||
(init_cumulative_args): Output error if ix86_function_sseregparm
|
||
return -1 and SSE register would be needed.
|
||
(function_arg_advance_32): Likewise.
|
||
(function_arg_32): Likewise.
|
||
* i386.h (ix86_args): Add decl field.
|
||
|
||
2015-05-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65873
|
||
* ipa-inline.c (can_inline_edge_p): Allow early inlining of always
|
||
inlines across optimization boundary.
|
||
|
||
2015-05-12 Jason Merrill <jason@redhat.com>
|
||
|
||
* config/mmix/mmix.c, config/msp430/msp430.c: Add space between
|
||
string literal and macro name.
|
||
|
||
2015-05-12 Steve Ellcey <sellcey@imgtec.com>
|
||
|
||
* config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
|
||
* config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
|
||
* config/mips/predicates.md (const_immlsa_operand): Remove log call.
|
||
|
||
2015-05-12 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
|
||
(-Wmisleading-indentation): New option.
|
||
* Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
|
||
|
||
2015-05-12 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
|
||
* config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
|
||
(alpha_extract_integer): Ditto.
|
||
(alpha_legitimate_constant_p): Ditto.
|
||
(alpha_split_tmode_pair): Ditto.
|
||
(alpha_preferred_reload_class): Add CONST_WIDE_INT.
|
||
(alpha_expand_mov): Ditto.
|
||
(print_operand): Remove handling of 'H' modifier.
|
||
<case 'm'>: Remove CONST_DOUBLE handling.
|
||
(summarize_insn): Handle CONST_WIDE_INT.
|
||
* config/alpha/alpha.md (*andsi_internal): Remove H constraint.
|
||
(anddi3): Ditto.
|
||
(movti): Handle CONST_WIDE_INT.
|
||
* config/alpha/constraints.md ('H'): Remove constraint definition.
|
||
('G'): Do not match MODE_FLOAT class.
|
||
* config/alpha/predicates.md (const0_operand): Also match
|
||
const_wide_int.
|
||
(non_add_const_operand): Ditto.
|
||
(non_zero_const_operand): Ditto.
|
||
(some_operand): Ditto.
|
||
(input_operand): Ditto. Handle CONST_WIDE_INT.
|
||
(and_operand): Do not match const_double.
|
||
* config/alpha/sync.md (fetchop_constr): Remove H constraint.
|
||
|
||
2015-05-12 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR target/65697
|
||
* coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
|
||
(enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
|
||
* tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
|
||
is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
|
||
is_mm_seq_cst, is_mm_sync): New accessor functions.
|
||
* builtins.c (expand_builtin_sync_operation,
|
||
expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
|
||
(expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
|
||
(get_memmodel, expand_builtin_atomic_compare_exchange,
|
||
expand_builtin_atomic_load, expand_builtin_atomic_store,
|
||
expand_builtin_atomic_clear): Use new accessor routines.
|
||
(expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
|
||
* optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
|
||
(maybe_emit_sync_lock_test_and_set): Use new accessors and
|
||
MEMMODEL_SYNC_ACQUIRE.
|
||
(expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
|
||
(expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
|
||
expand_atomic_store): Use new accessors.
|
||
* emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
|
||
* tsan.c (instrument_builtin_call): Update check for memory model beyond
|
||
final enum to use MEMMODEL_LAST.
|
||
* c-family/c-common.c: Use new accessor for memmodel_base.
|
||
* config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
|
||
accessors.
|
||
* config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
|
||
arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
|
||
mem_thread_fence, *dmb): Likewise.
|
||
* config/alpha/alpha.c (alpha_split_compare_and_swap,
|
||
alpha_split_compare_and_swap_12): Likewise.
|
||
* config/arm/arm.c (arm_expand_compare_and_swap,
|
||
arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
|
||
* config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
|
||
atomic_loaddi): Likewise.
|
||
* config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
|
||
Likewise.
|
||
* config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
|
||
* config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
|
||
use new accessors.
|
||
* config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
|
||
atomic_store<mode>, atomic_compare_and_swap<mode>,
|
||
atomic_exchange<mode>): Use new accessors.
|
||
* config/mips/mips.c (mips_process_sync_loop): Likewise.
|
||
* config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
|
||
* config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
|
||
rs6000_post_atomic_barrier): Add new cases.
|
||
(rs6000_expand_atomic_compare_and_swap): Use new accessors.
|
||
* config/rs6000/sync.md (mem_thread_fence): Add new cases.
|
||
(atomic_load<mode>): Add new cases and use new accessors.
|
||
(store_quadpti): Add new cases.
|
||
* config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
|
||
accessors.
|
||
* config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
|
||
* doc/extend.texi: Update docs to indicate 16 bits are used for memory
|
||
model, not 8.
|
||
|
||
2015-05-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-devirt.c (type_with_linkage_p): New function.
|
||
(type_in_anonymous_namespace_p): Move here from tree.c; assert that
|
||
type has linkage.
|
||
(odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
|
||
(can_be_name_hashed_p): Simplify.
|
||
(hash_odr_name): Check that type has linkage before checking if it is
|
||
anonymous.
|
||
(types_same_for_odr): Likewise.
|
||
(odr_name_hasher::equal): Likewise.
|
||
(odr_subtypes_equivalent_p): Likewise.
|
||
(warn_types_mismatch): Likewise.
|
||
(get_odr_type): Likewise.
|
||
(odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
|
||
* ipa-utils.h (odr_type_p): Move offline.
|
||
* tree.c (need_assembler_name_p): Fix handling of types
|
||
without linkages.
|
||
(type_in_anonymous_namespace_p): Move to ipa-devirt.c
|
||
|
||
2015-05-12 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* timevar.c (timevar_enable): Delete in favor of...
|
||
(g_timer): New global.
|
||
(struct timevar_def): Move to timevar.h inside class timer.
|
||
(struct timevar_stack_def): Likewise.
|
||
(timevars): Delete global in favor of field "m_timevars" within
|
||
class timer in timevar.h
|
||
(stack): Likewise, in favor of field "m_stack".
|
||
(unused_stack_instances): Likewise, in favor of field
|
||
"m_unused_stack_instances".
|
||
(start_time): Likewise, in favor of field "m_start_time".
|
||
(get_time): Eliminate check for timevar_enable.
|
||
(timer::timer): New function, built from part of timevar_init.
|
||
(timevar_init): Rewrite idempotency test from using
|
||
"timevar_enable" bool to using dynamic allocation of "g_timer".
|
||
Move rest of implementation into timer's constructor.
|
||
(timevar_push_1): Rename to...
|
||
(timer::push): ...this, adding "m_" prefixes to variables that
|
||
are now fields of timer.
|
||
(timevar_pop_1): Likewise, rename to...
|
||
(timer::pop): ...this, and add "m_" prefixes.
|
||
(timevar_start): Replace test for "timevar_enable" with one for
|
||
"g_timer", and move bulk of implementation to...
|
||
(timer::start): ...here, adding "m_" prefixes.
|
||
(timevar_stop): Likewise, from here...
|
||
(timer::stop): ...to here.
|
||
(timevar_cond_start): Likewise, from here...
|
||
(timer::cond_start): ...to here.
|
||
(timevar_cond_stop): Likewise, from here...
|
||
(timer::cond_stop): ...to here.
|
||
(validate_phases): Rename to...
|
||
(timer::validate_phases): ...this, and add "m_" prefixes. Make
|
||
locals "total" and "tv" const.
|
||
(timevar_print): Rename to...
|
||
(timer::print): ...this, and add "m_" prefixes. Make locals
|
||
"total" and "tv" const. Eliminate test for timevar_enable.
|
||
* timevar.h (timevar_enable): Eliminate.
|
||
(g_timer): New declaration.
|
||
(timevar_push_1): Eliminate.
|
||
(timevar_pop_1): Eliminate.
|
||
(timevar_print): Eliminate.
|
||
(class timer): New class.
|
||
(timevar_push): Rewrite to use g_timer.
|
||
(timevar_pop): Likewise.
|
||
* toplev.c (toplev::~toplev): Likewise.
|
||
|
||
2015-05-12 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm-protos.h (arm_sched_autopref): Delete.
|
||
(tune_params): Re-organize, use enums for flag values.
|
||
(FUSE_OPS): New macro.
|
||
* arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
|
||
(ARM_PREFETCH_BENEFICIAL): Likewise.
|
||
(ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
|
||
(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
|
||
(arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
|
||
(arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
|
||
(arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
|
||
(arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
|
||
(arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
|
||
(arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
|
||
format.
|
||
(arm_option_override, thumb2_reorg, arm_print_tune_info)
|
||
(aarch_macro_fusion_pair_p): Update uses of current_tune.
|
||
* arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
|
||
|
||
2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
|
||
"break".
|
||
|
||
2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
|
||
Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
|
||
value.
|
||
(REG_CLASS_NAMES): Add "IJMP_REGS".
|
||
(REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
|
||
* config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
|
||
use new "c" register constraint.
|
||
* config/nios2/constraint.md (c): New register constraint
|
||
corresponding to IJMP_REGS.
|
||
|
||
2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
|
||
*rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
|
||
define_splits): Delete, revamp, transmogrify into ...
|
||
(*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
|
||
*ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
|
||
*lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
|
||
New.
|
||
|
||
2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
|
||
gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
|
||
|
||
2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md (extzv): FAIL for SImode.
|
||
(extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
|
||
*rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
|
||
*rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
|
||
*rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
|
||
*rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
|
||
*lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
|
||
*lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
|
||
*lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
|
||
*lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
|
||
*rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
|
||
*rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
|
||
*rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
|
||
*rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
|
||
*rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
|
||
*rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
|
||
and 30 corresponding splitters): Delete.
|
||
|
||
2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md (define_split for bswaphi): Don't use
|
||
zero_extract.
|
||
|
||
2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* combine.c (recog_for_combine_1): New function, factored out
|
||
from recog_for_combine.
|
||
(change_zero_ext): New function.
|
||
(recog_for_combine): If recog fails, try again with the pattern
|
||
modified by change_zero_ext; if that still fails, restore the
|
||
pattern.
|
||
|
||
2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* combine.c (get_undo_marker): New function.
|
||
(undo_to_marker): New function, largely factored out from ...
|
||
(undo_all): ... this. Adjust.
|
||
|
||
2015-05-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66101
|
||
* tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
|
||
fixup if we turn a loop exit edge to a fallthru edge.
|
||
|
||
2015-05-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/37021
|
||
* tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
|
||
(SLP_TREE_TWO_OPERATORS): New define.
|
||
* tree-vect-slp.c (vect_create_new_slp_node): Initialize
|
||
SLP_TREE_TWO_OPERATORS.
|
||
(vect_build_slp_tree_1): Allow two mixing plus/minus in an
|
||
SLP node.
|
||
(vect_build_slp_tree): Adjust.
|
||
(vect_analyze_slp_cost_1): Likewise.
|
||
(vect_schedule_slp_instance): Vectorize mixing plus/minus by
|
||
emitting two vector stmts and mixing the results.
|
||
|
||
2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* call.c (print_z_candidates): Remove dead code.
|
||
|
||
2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
|
||
and zEC12_simple_fp.
|
||
* config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
|
||
to 1.
|
||
|
||
2015-05-12 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/66010
|
||
* gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
|
||
ifn_va_arg.
|
||
* gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
|
||
(gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
|
||
va_lists are passed, and remove corresponding handling.
|
||
(gimplify_va_arg_expr): Only take address of ap if necessary. Add
|
||
do_deref argument to ifn_va_arg.
|
||
* tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
|
||
ifn_va_arg.
|
||
|
||
2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/65955
|
||
* config/arm/arm.md (movcond_addsi): Check that operands[2] is a
|
||
REG before taking its REGNO.
|
||
|
||
2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
|
||
rsp->sign_bit_copies and rsp->nonzero_bits into ...
|
||
(update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
|
||
present to get more accurate information about the number of sign bit
|
||
copies and non zero bits.
|
||
|
||
2015-05-12 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
|
||
do not allow unrolling.
|
||
|
||
2015-05-11 Richard Henderson <rth@redhat.com>
|
||
|
||
* config/i386/i386-modes.def (CCP): New.
|
||
* config/i386/i386.c (put_condition_code): Handle it.
|
||
(ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
|
||
|
||
2015-05-11 Richard Henderson <rth@redhat.com>
|
||
|
||
* target.def (md_asm_clobbers): Replace with...
|
||
(md_asm_adjust): this.
|
||
* tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
|
||
(TARGET_MD_ASM_ADJUST): New.
|
||
* tm.texi: Rebuild.
|
||
* hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
|
||
* hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
|
||
* system.h (TARGET_MD_ASM_CLOBBERS): Poison.
|
||
|
||
* cfgexpand.c (check_operand_nalternatives): Accept vector of
|
||
constraints instead of lists of outputs and inputs.
|
||
(expand_asm_stmt): Save and restore input_location around the
|
||
body of the function. Move asm data into vectors instead of
|
||
building tree lists. Generate cleanup sequences as needed,
|
||
rather than waiting til the end. Use new md_asm_adjust hook.
|
||
|
||
* config/vxworks.c: Include vec.h before target.h.
|
||
* gimple.c: Likewise.
|
||
* incpath.c: Likewise.
|
||
* mode-switching.c: Likewise.
|
||
|
||
* config/cris/cris.c (cris_md_asm_clobbers): Convert to...
|
||
(cris_md_asm_adjust): this.
|
||
(TARGET_MD_ASM_CLOBBERS): Remove.
|
||
(TARGET_MD_ASM_ADJUST): New.
|
||
* config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
|
||
(ix86_md_asm_adjust): this.
|
||
(TARGET_MD_ASM_CLOBBERS): Remove.
|
||
(TARGET_MD_ASM_ADJUST): New.
|
||
* config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
|
||
(mn10300_md_asm_adjust): this.
|
||
(TARGET_MD_ASM_CLOBBERS): Remove.
|
||
(TARGET_MD_ASM_ADJUST): New.
|
||
* config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
|
||
(rs6000_md_asm_adjust): this.
|
||
(TARGET_MD_ASM_CLOBBERS): Remove.
|
||
(TARGET_MD_ASM_ADJUST): New.
|
||
* config/visium/visium.c (visium_md_asm_clobbers): Convert to...
|
||
(visium_md_asm_adjust): this.
|
||
(TARGET_MD_ASM_CLOBBERS): Remove.
|
||
(TARGET_MD_ASM_ADJUST): New.
|
||
|
||
2015-05-11 Richard Henderson <rth@redhat.com>
|
||
|
||
* gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
|
||
if noutputs is zero.
|
||
* cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
|
||
|
||
* cfgexpand.c (expand_asm_operands): Merge into...
|
||
(expand_asm_stmt): ... here.
|
||
|
||
* cfgexpand.c (expand_asm_operands): Don't call
|
||
resolve_asm_operand_names.
|
||
* stmt.c (resolve_asm_operand_names): Clarify block comment.
|
||
|
||
2015-05-11 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* dwarf2out.c (gen_member_die): Sanity check that we access
|
||
TYPE_MAIN_VARIANT for TYPE_METHODS.
|
||
* function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
|
||
checking TYPE_METHODS.
|
||
* tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
|
||
if non-null.
|
||
(build_distinct_type_copy): Clear TYPE_METHODS.
|
||
(verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
|
||
(verify_type): Allow TYPE_METHODS to be error_mark_node.
|
||
* tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
|
||
|
||
2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
|
||
(emit_pattern_before_setloc): Likewise.
|
||
|
||
2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
|
||
for define_peephole2s.
|
||
(get_peephole2_pattern): New function.
|
||
(main): Use it. Call validate_pattern.
|
||
|
||
2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
|
||
|
||
* config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
|
||
LAST_CALLEE_SAVED_REG instead of hard-coded register number.
|
||
(Last callee saved reg is different for AVR_TINY architecture)
|
||
|
||
2015-05-11 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
|
||
when looking for memory references.
|
||
|
||
2015-05-11 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
PR target/65753
|
||
* config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
|
||
via function pointers.
|
||
|
||
2015-05-11 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* calls.c (prepare_call_address): Transform PLT call to GOT lookup and
|
||
indirect call by forcing address into a pseudo with -fno-plt.
|
||
* common.opt (flag_plt): New option.
|
||
* doc/invoke.texi (Code Generation Options): Add -fno-plt.
|
||
([-fno-plt]): Document.
|
||
|
||
2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
PR bootstrap/66105
|
||
* config/rs6000/option-defaults.h: Add space between string literal
|
||
and macro name.
|
||
|
||
2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* gcc.target/arm/pr64616.c: Test dump rather than assembly to work
|
||
accross ARM targets.
|
||
|
||
2015-05-11 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
|
||
* config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
|
||
|
||
2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR rtl-optimization/66076
|
||
* rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
|
||
Don't grow the heap array if it is already big enough from a
|
||
previous iteration.
|
||
|
||
2015-05-11 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* config/arm/arm-protos.h (arm_declare_function_name): Declare.
|
||
(is_called_in_ARM_mode): Remove.
|
||
* config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
|
||
(arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
|
||
* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
|
||
arm_declare_function_name.
|
||
|
||
2015-05-11 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* config/arm/arm.c (arm_option_override): Reoganized and split into :
|
||
(arm_option_params_internal); New function.
|
||
(arm_option_check_internal): New function.
|
||
(arm_option_override_internal): New function.
|
||
(thumb_code, thumb1_code): Remove.
|
||
* config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
|
||
(TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
|
||
(thumb_code, thumb1_code): Remove.
|
||
* config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
|
||
|
||
2015-05-11 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/alpha/alpha.c (alpha_emit_set_const_1)
|
||
(alpha_emit_set_long_const, alpha_extract_integer)
|
||
(alpha_legitimate_constant_p, alpha_split_const_mov)
|
||
(alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
|
||
[HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
|
||
(alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
|
||
HOST_WIDE_INT_1U.
|
||
* config/alpha/predicates.md (mode_mask_operand): Do not match
|
||
const_double RTX.
|
||
[HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
|
||
* config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
|
||
Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
|
||
[HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
|
||
(*negtf_internal): Use gen_int_mode instead of immed_double_const.
|
||
|
||
2015-05-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65780
|
||
* config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
|
||
default_binds_local_p_2.
|
||
* config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
|
||
* config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
|
||
|
||
2015-05-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
|
||
|
||
2015-05-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
Patch by Richard Biener
|
||
* coverage.c (coverage_obj_init): Delay building of type variant
|
||
until the type is finished.
|
||
|
||
2015-05-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
|
||
mismatch between C and C++ type; compoare correctly ARG_TYPES
|
||
for non-prototypes and output correctly parameter index for METHOD_TYPE.
|
||
(odr_types_equivalent_p): Fix wording of warning about attributes;
|
||
it is OK to match prototype and non-prototype.
|
||
|
||
2015-05-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
|
||
TYPE_ARG_TYPES list.
|
||
(verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
|
||
* tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
|
||
|
||
2015-05-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
|
||
* tree.h (is_lang_specific): Constify.
|
||
|
||
2015-05-09 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR tree-optimization/64454
|
||
* tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
|
||
Rewrite.
|
||
|
||
2015-05-08 Jason Merrill <jason@redhat.com>
|
||
|
||
* bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
|
||
config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
|
||
config/darwin.h, config/darwin9.h, config/elfos.h,
|
||
config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
|
||
config/microblaze/microblaze.h, config/mips/mips.h,
|
||
config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
|
||
config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
|
||
config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
|
||
config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
|
||
config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
|
||
cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
|
||
dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
|
||
ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
|
||
ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
|
||
modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
|
||
tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
|
||
between string literal and macro name.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* jump.c: Change argument types to rtx_insn *.
|
||
* rtl.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* lra-constraints.c: Change argument type to rtx_insn *.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* df-problems.c: Change argument type to rtx_insn *.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* combine.c: Change argument type to rtx_insn *.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* rtl.h: Adjust.
|
||
* rtlanal.c: Change argument type to rtx_insn *.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* sched-deps.c: Change argument types to rtx_insn *.
|
||
* sched-int.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* dwarf2cfi.c: Change argument type to rtx_insn *.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* ira.c (decrease_live_ranges_number): Changetype of local
|
||
variable to rtx_insn *.
|
||
* recog.c: Change argument types to rtx_insn *.
|
||
* recog.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* reorg.c: Change argument types to rtx_insn *.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* ira-color.c: Change argument types to rtx_insn *.
|
||
* lra-eliminations.c: Likewise.
|
||
* ira.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* gcse.c: Change argument types to rtx_insn *.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* emit-rtl.c (emit_debug_insn_before): Change argument type to
|
||
rtx_insn *.
|
||
* rtl.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
|
||
* rtl.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
|
||
* rtl.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
|
||
* rtl.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
|
||
* rtl.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
|
||
to rtx_insn *.
|
||
* rtl.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
|
||
to rtx_insn *.
|
||
* rtl.h: Likewise.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* except.c (can_nonlocal_goto): Change type of argument to
|
||
rtx_insn *.
|
||
* rtl.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
|
||
* rtl.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
|
||
* cfgrtl.c (can_delete_label_p): Adjust.
|
||
* rtl.h: likewise.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* reorg.c (stop_search_p): Change argument to rtx_insn *.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* except.c (make_reg_eh_region_note): Change argument to
|
||
rtx_insn *.
|
||
(make_reg_eh_region_note_nothrow_nononlocal): Likewise.
|
||
* except.h: Adjust.
|
||
|
||
2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* mode-switching.c (commit_mode_sets): Change type of local
|
||
variable from rtx to rtx_insn *.
|
||
|
||
2015-05-08 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
* doc/install.texi (--enable-languages): Add missing jit and lto info.
|
||
Add ^ to grep command.
|
||
* doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
|
||
arg to last gimple_simplify declaration. Add missing gimple_build
|
||
declaration for built-in function case with four tree args.
|
||
|
||
2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
|
||
Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
|
||
(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
|
||
(GNU_USER_DYNAMIC_LINKERN32): Update.
|
||
|
||
2015-05-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66036
|
||
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
|
||
Handle strided group loads.
|
||
(vect_verify_datarefs_alignment): Likewise.
|
||
(vect_enhance_data_refs_alignment): Likewise.
|
||
(vect_analyze_group_access): Likewise.
|
||
(vect_analyze_data_ref_access): Likewise.
|
||
(vect_analyze_data_ref_accesses): Likewise.
|
||
* tree-vect-stmts.c (vect_model_load_cost): Likewise.
|
||
(vectorizable_load): Likewise.
|
||
|
||
2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md: Require operand inequality in one
|
||
of the peepholes.
|
||
|
||
2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
|
||
Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||
|
||
* config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
|
||
from (set ...).
|
||
* config/rx/rx.md (movdi, movdf): Likewise.
|
||
Likewise for define_peephole2s.
|
||
|
||
2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
|
||
vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
|
||
vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
|
||
vtst_u64): Rewrite using gcc vector extensions.
|
||
|
||
2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
|
||
vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
|
||
|
||
2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
|
||
|
||
2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* config/glibc-stdint.h (OPTION_MUSL): Define.
|
||
(INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
|
||
Change the definition based on OPTION_MUSL for 64 bit targets.
|
||
* config/linux.h (OPTION_MUSL): Redefine.
|
||
* config/alpha/linux.h (OPTION_MUSL): Redefine.
|
||
* config/rs6000/linux.h (OPTION_MUSL): Redefine.
|
||
* config/rs6000/linux64.h (OPTION_MUSL): Redefine.
|
||
|
||
2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
|
||
Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* config.gcc (LIBC_MUSL): New tm_defines macro.
|
||
* config/linux.h (OPTION_MUSL): Define.
|
||
(MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
|
||
(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
|
||
(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
|
||
(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
|
||
(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
|
||
* config/linux.opt (mmusl): New option.
|
||
* doc/invoke.texi (GNU/Linux Options): Document -mmusl.
|
||
* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
|
||
(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
|
||
* configure: Regenerate.
|
||
|
||
2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
PR target/48904
|
||
* config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
|
||
* config/i386/knetbsd-gnu64.h: New file.
|
||
|
||
2015-05-08 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64918
|
||
* doc/invoke.texi: Document -Woverride-init-side-effects.
|
||
|
||
2015-05-07 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/65179
|
||
* doc/invoke.texi: Document -Wshift-negative-value.
|
||
|
||
2015-05-06 Aditya Kumar <hiraditya@msn.com>
|
||
|
||
* gcov-tool.c (do_merge): Refactore to remove int ret.
|
||
* ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
|
||
!type == FUNC to type != FUNC.
|
||
* reload.h (struct target_reload): Changee to type of
|
||
x_spill_indirect_levels from bool to unsigned char.
|
||
|
||
2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* rtl.h (always_void_p): New function.
|
||
* gengenrtl.c (always_void_p): Likewise.
|
||
(genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
|
||
with code foo are always VOIDmode.
|
||
* genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
|
||
* builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
|
||
compare-elim.c, config/aarch64/aarch64.c,
|
||
config/aarch64/aarch64.md, config/alpha/alpha.c,
|
||
config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
|
||
config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
|
||
config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
|
||
config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
|
||
config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
|
||
config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
|
||
config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
|
||
config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
|
||
config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
|
||
config/ia64/vect.md, config/iq2000/iq2000.c,
|
||
config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
|
||
config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
|
||
config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
|
||
config/mep/mep.c, config/microblaze/microblaze.c,
|
||
config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
|
||
config/mn10300/mn10300.c, config/msp430/msp430.c,
|
||
config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
|
||
config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
|
||
config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
|
||
config/rs6000/altivec.md, config/rs6000/rs6000.c,
|
||
config/rs6000/rs6000.md, config/rs6000/vector.md,
|
||
config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
|
||
config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
|
||
config/sh/sh.md, config/sh/sh_treg_combine.cc,
|
||
config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
|
||
config/spu/spu.md, config/stormy16/stormy16.c,
|
||
config/tilegx/tilegx.c, config/tilegx/tilegx.md,
|
||
config/tilepro/tilepro.c, config/tilepro/tilepro.md,
|
||
config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
|
||
config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
|
||
expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
|
||
lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
|
||
reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
|
||
var-tracking.c: Update calls accordingly.
|
||
|
||
2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR middle-end/192
|
||
PR middle-end/54303
|
||
* varasm.c (function_mergeable_rodata_prefix): New function.
|
||
(mergeable_string_section): Use it.
|
||
(mergeable_constant_section): Use it.
|
||
|
||
2015-05-07 Jeff Law <law@redhat.com>
|
||
|
||
PR target/39726
|
||
* match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
|
||
simplifier to narrow arithmetic.
|
||
* generic-match-head.c: (types_match, single_use): New functions.
|
||
* gimple-match-head.c: (types_match, single_use): New functions.
|
||
|
||
2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
|
||
|
||
* combine.c (make_compound_operation): Remove checks for PLUS/MINUS
|
||
rtx type.
|
||
|
||
2015-05-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/66002
|
||
* passes.def: Schedule another pass_merge_phi after ifcombine, right
|
||
before phiopt.
|
||
|
||
2015-05-07 Marek Polacek <polacek@redhat.com>
|
||
Martin Uecker <uecker@eecs.berkeley.edu>
|
||
|
||
* doc/invoke.texi: Document -fsanitize=bounds-strict.
|
||
* flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
|
||
into SANITIZE_NONDEFAULT.
|
||
* opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
|
||
|
||
2015-05-07 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/66015
|
||
* config/alpha/alpha.c (alpha_override_options_after_change): New.
|
||
(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
|
||
(alpha_override_options): Move align_loops, align_jumps and
|
||
align_functions handling into alpha_override_options_after_change.
|
||
|
||
2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
|
||
Chris Jones <chrisj@nvidia.com>
|
||
Joshua Conner <jconner@nvidia.com>
|
||
|
||
* config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
|
||
linking of crtfastmath.o.
|
||
* config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
|
||
|
||
2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
|
||
(cstore<mode>4_unsigned_imm): New expander.
|
||
(cstore<mode>4): Remove empty constraint strings. Use the new
|
||
expanders.
|
||
|
||
2015-05-06 Yvan Roux <yvan.roux@linaro.org>
|
||
|
||
PR target/64208
|
||
* config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
|
||
alternatives.
|
||
|
||
2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* config/aarch64/geniterators.sh: Use standard BRE in sed.
|
||
|
||
2015-05-06 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/66033
|
||
* config/rs6000/rs6000.md (nop): Use an unspec pattern.
|
||
(UNSPEC_NOP): Define.
|
||
(reload_vsx_from_gpr<mode>): Add missing DONE.
|
||
(reload_gpr_from_vsx<mode>): Likewise.
|
||
* config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
|
||
(vsx_div_v2di, vsx_udiv_v2di): Likewise.
|
||
|
||
2015-05-06 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/66015
|
||
* config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
|
||
align_jumps, align_functions into aarch64_override_options_after_change.
|
||
|
||
2015-05-06 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-slp.c (vect_supported_load_permutation_p): Use
|
||
vect_transform_slp_perm_load to check if we support a permutation
|
||
for basic-block vectorization.
|
||
|
||
2015-05-06 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78.c (need_to_save): Save register 22 if it is
|
||
used, even if it is not being used as a frame pointer.
|
||
|
||
2015-05-05 Jason Merrill <jason@redhat.com>
|
||
|
||
* dwarf2out.c (gen_member_die): Don't emit anything for an
|
||
anonymous class constructor.
|
||
|
||
2015-05-05 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* auto-profile.c (afdo_find_equiv_class): Fix indentation so
|
||
that it reflects the block structure.
|
||
(afdo_propagate_edge): Likewise.
|
||
(afdo_calculate_branch_prob): Likewise.
|
||
(afdo_annotate_cfg): Likewise.
|
||
* cfgcleanup.c (equal_different_set_p): Likewise.
|
||
(try_crossjump_to_edge): Likewise.
|
||
* cgraph.c (cgraph_node::verify_node): Likewise.
|
||
* cgraphunit.c (expand_all_functions): Likewise.
|
||
* config/i386/i386.c (ix86_expand_copysign): Likewise.
|
||
(exact_dependency_1): Likewise.
|
||
* dwarf2asm.c (dw2_output_indirect_constants): Likewise.
|
||
* dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
|
||
* gensupport.c (process_define_subst): Likewise.
|
||
* lto-wrapper.c (merge_and_complain): Likewise.
|
||
* tree-if-conv.c (if_convertible_bb_p): Likewise.
|
||
* tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
|
||
* tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
|
||
* tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
|
||
* tree-vect-loop.c (vectorizable_reduction): Likewise.
|
||
* tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
|
||
* tree-vect-stmts.c (vectorizable_shift): Likewise.
|
||
* tree-vrp.c (vrp_finalize): Likewise.
|
||
* tree.c (variably_modified_type_p): Likewise.
|
||
|
||
2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
|
||
|
||
* config.gcc: Use darwin9.h, darwin10.h and darwin12.h
|
||
on darwin12 and later.
|
||
* config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
|
||
file to pass -rdynamic on darwin12 and later.
|
||
* config/darwin.opt (rdynamic): Add.
|
||
|
||
2015-05-05 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* doc/extend.texi (C Extensions): Update menu for moved Variable
|
||
Attributes and Type Attributes sections.
|
||
|
||
2015-05-05 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/65990
|
||
* config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
|
||
if rep_8byte stringop strategy was specified for 32-bit target.
|
||
|
||
2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
|
||
|
||
PR target/65915
|
||
* config/i386/i386.md (vector convert to float spltiter): Check for
|
||
xmm16+, when splitting scalar float conversion.
|
||
* config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
|
||
|
||
2015-05-05 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/msp430/msp430-opts.h (enum msp430_regions): New.
|
||
* config/msp430/msp430.c (msp430_override_options): Complain if
|
||
-mcode-region or -mdata-region is used on a non MSP430X.
|
||
(msp430_section_attr): New function. Checks lower, upper and
|
||
either attributes.
|
||
(msp430_attribute_table): Add lower, upper and either.
|
||
(gen_prefix): New function. Generates a prefix for a section
|
||
name.
|
||
(msp430_select_section): New function - handles the choice of
|
||
section for an object. Takes into account memory region
|
||
attributes and options.
|
||
(msp430_function_section): Use gen_prefix.
|
||
(TARGET_SECTION_TYPE_FLAGS): Define.
|
||
(msp430_section_type_flags): New function.
|
||
(TARGET_ASM_UNIQUE_SECTION): Define.
|
||
(msp430_unique_section): New function.
|
||
(msp430_output_aligned_decl_common): New function.
|
||
(msp430_do_not_relax_short_jumps): New function.
|
||
* config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
|
||
Define.
|
||
(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
|
||
* config/msp430/msp430-protos.h
|
||
(msp430_do_not_relax_short_jumps): New prototype.
|
||
(msp430_output_aligned_decl_common): New prototype.
|
||
* config/msp430/msp430.md (length): New attribute.
|
||
(cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
|
||
then use a long code sequence for short jumps.
|
||
* config/msp430/msp430.opt (mcode-region): New.
|
||
(mdata-region): New.
|
||
* doc/invoke.texi: Document new options.
|
||
* doc/extend.texi: Document new attributes.
|
||
|
||
2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
* gcc/config/aarch64-protos.h (struct cpu_branch_cost): New.
|
||
(tune_params): Add field branch_costs.
|
||
(aarch64_branch_cost): Declare.
|
||
* gcc/config/aarch64.c (generic_branch_cost): New.
|
||
(generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
|
||
(cortexa53_tunings): Likewise.
|
||
(cortexa57_tunings): Likewise.
|
||
(thunderx_tunings): Likewise.
|
||
(xgene1_tunings): Likewise.
|
||
(aarch64_branch_cost): Define.
|
||
* gcc/config/aarch64/aarch64.h (BRANCH_COST): Redefine.
|
||
|
||
2015-05-05 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
|
||
and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
|
||
* config/i386/i386.md: Ditto.
|
||
* config/i386/winnt.c: Ditto.
|
||
|
||
2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
* doc/extend.texi (__atomic Builtins): Move implementation details
|
||
to the end of the description, rewrite opening paragraphs, state
|
||
difference with __sync builtins, state C11/C++11 assumptions,
|
||
weaken itemized descriptions, add explanation of memory model
|
||
behaviour, expand description of compare-exchange, simplify text.
|
||
|
||
2015-05-05 Renlin Li <renlin.li@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
|
||
|
||
2015-05-05 Yvan Roux <yvan.roux@linaro.org>
|
||
|
||
* config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
|
||
(LINK_SPEC): Include CA53_ERR_843419_SPEC.
|
||
* config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
|
||
(LINK_SPEC): Include CA53_ERR_843419_SPEC.
|
||
* config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
|
||
* configure: Regenerate.
|
||
* configure.ac: Add --enable-fix-cortex-a53-843419 option.
|
||
* doc/install.texi (aarch64*-*-*): Document new
|
||
--enable-fix-cortex-a53-843419 option.
|
||
* doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
|
||
and -mno-fix-cortex-a53-843419 options.
|
||
|
||
2015-05-05 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/65871
|
||
* config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
|
||
|
||
2015-05-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (verify_type): Check various uses of TYPE_MAXVAL;
|
||
fix overactive TYPE_MIN_VALUE check and add FIXME for type
|
||
compatibility problems.
|
||
|
||
2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
|
||
|
||
* config/microblaze/microblaze.md (cbranchsi4): Added immediate
|
||
constraints.
|
||
(cbranchsi4_reg): New.
|
||
* config/microblaze/microblaze.c
|
||
(microblaze_expand_conditional_branch_reg): New.
|
||
* config/microblaze/microblaze-protos.h
|
||
(microblaze_expand_conditional_branch_reg): New prototype.
|
||
|
||
2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
|
||
|
||
* config/microblaze/microblaze.md (peephole2): New.
|
||
|
||
2015-05-04 Jeff Law <law@redhat.com>
|
||
|
||
Revert:
|
||
2015-05-04 Jeff Law <law@redhat.com>
|
||
|
||
* match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
|
||
simplifier to narrow arithmetic.
|
||
* generic-match-head.c: (types_match, single_use): New functions.
|
||
* gimple-match-head.c: (types_match, single_use): New functions.
|
||
|
||
2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
PR target/65987
|
||
* config/sh/sh.c (output_far_jump): Take into account crossing jumps.
|
||
(split_branches): Likewise.
|
||
|
||
2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* common.opt (fdelete-null-pointer-checks): Init to -1.
|
||
* config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
|
||
override flag_delete_null_pointer_checks default.
|
||
* doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
|
||
behavior re address zero. Better document target-specific behavior.
|
||
(-fisolate-errneous-paths-dereference): Mention relationship to
|
||
-fdelete-null-pointer-checks.
|
||
|
||
2015-05-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65984
|
||
* ubsan.c: Include tree-cfg.h.
|
||
(instrument_bool_enum_load): Use stmt_ends_bb_p instead of
|
||
stmt_could_throw_p test, rename can_throw variable to ends_bb.
|
||
|
||
2015-05-04 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
|
||
to CONST_DOUBLE_P predicate.
|
||
(standard_sse_constant_p): Return 0 for !TARGET_SSE.
|
||
(ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
|
||
allow only operands that satisfy standard_sse_constant_p predicate.
|
||
* config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
|
||
to CONST_DOUBLE_P predicate.
|
||
|
||
2015-05-04 Jeff Law <law@redhat.com>
|
||
|
||
* match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
|
||
simplifier to narrow arithmetic.
|
||
* generic-match-head.c: (types_match, single_use): New functions.
|
||
* gimple-match-head.c: (types_match, single_use): New functions.
|
||
|
||
2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config/arm/arm.c: Restore bootstrap.
|
||
|
||
2015-05-04 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
|
||
* config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
|
||
as CONST_WIDE_INT, not CONST_DOUBLE.
|
||
(ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
|
||
(output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
|
||
(ix86_find_base_term): Do not check for CONST_DOUBLE.
|
||
(ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
|
||
(ix86_build_signbit_mask): Rewrite using wide ints.
|
||
(ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
|
||
(ix86_rtx_costs): Handle CONST_WIDE_INT.
|
||
(find_constant): Ditto.
|
||
* config/i386/i386.md (bts, btr, btc peepholes): Rewrite
|
||
using gen_int_mode.
|
||
* config/i386/predicates.md (x86_64_immediate_operand)
|
||
<case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
|
||
(x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
|
||
<case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
|
||
(const0_operand): Also match const_wide_int.
|
||
(constm1_operand): Ditto.
|
||
(const1_operand): Ditto.
|
||
|
||
2015-05-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65965
|
||
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
|
||
store groups at gaps.
|
||
|
||
2015-05-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65935
|
||
* tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
|
||
then make sure to apply that swapping to the IL.
|
||
|
||
2015-05-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* Makefile.in (PATCHLEVEL_c): New variable.
|
||
(DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
|
||
expand the same way as if DEVPHASE_c was non-empty.
|
||
|
||
2015-05-04 Kai Tietz <ktietz@redhat.com>
|
||
|
||
PR target/65559
|
||
* lto-wrapper.c (run_gcc): Open filename
|
||
in binary-mode.
|
||
|
||
2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Variable Attributes, Type Attributes): Move
|
||
sections up in file, to immediately after the Function Attributes
|
||
section.
|
||
|
||
2015-05-02 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (verify_type): Check various uses of TYPE_MINVAL.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
|
||
(insert_partition_copy_on_edge): Adjust.
|
||
(insert_rtx_to_part_on_edge): Likewise.
|
||
(insert_part_to_rtx_on_edge): Likewise.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* function.c (set_return_jump_label): Change type of argument to
|
||
rtx_insn *.
|
||
* function.h (set_return_jump_label): Adjust.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* reload.h (struct reg_equivs_t): Change type of init to
|
||
rtx_insn *.
|
||
* ira.c (fix_reg_equiv_init): Adjust.
|
||
* reload1.c (eliminate_regs_1): Likewise.
|
||
(init_eliminable_invariants): Likewise.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* cselib.c (fp_setter_insn): Take a rtx_insn *.
|
||
* cselib.h (fp_setter_insn): Adjust.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* recog.c (struct validate_replace_src_data): Change type of
|
||
insn field to rtx_insn *.
|
||
(validate_replace_src_group): Change type of argument to rtx_insn *.
|
||
* recog.h (validate_replace_src_group): Adjust.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* haifa-sched.c: Change the type of some variables to rtx_insn *.
|
||
* sched-deps.c: Likewise.
|
||
* sched-int.h: Likewise.
|
||
* sched-rgn.c: Likewise.
|
||
* sel-sched.c: Likewise.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
to rtx_insn *.
|
||
* config/i386/i386.c: Change the type of some arguments to
|
||
rtx_insn *.
|
||
* config/arm/arm.c: Likewise.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* lra-constraints.c: Change type of some arguments to rtx_insn *.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* regcprop.c (kill_autoinc_value): Change type of argument to
|
||
rtx_insn *.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* genrecog.c (print_subroutine): Adjust.
|
||
* recog.c (get_bool_attr_mask_uncached): Likewise.
|
||
* recog.h (struct recog_data_d): Change the type of insn to
|
||
rtx_insn *.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* df-problems.c (df_set_note): Change type of argument to
|
||
rtx_insn *.
|
||
|
||
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* builtins.c (expand_builtin_trap): Change type of local
|
||
variable to rtx_insn *.
|
||
(add_sched_insns_for_speculation): Likewise.
|
||
(ix86_emit_save_regs): Likewise.
|
||
(get_scratch_register_on_entry): Likewise.
|
||
(ix86_emit_restore_reg_using_pop): Likewise.
|
||
(ix86_emit_leave): Likewise.
|
||
(ix86_emit_restore_regs_using_mov): Likewise.
|
||
(ix86_expand_epilogue): Likewise.
|
||
Likewise.
|
||
(rl78_alloc_physical_registers_umul): Likewise.
|
||
* cselib.c (discard_useless_locs): Likewise.
|
||
(cselib_invalidate_regno): Likewise.
|
||
(cselib_invalidate_mem): Likewise.
|
||
* function.c (expand_function_start): Likewise.
|
||
(emit_use_return_register_into_block): Likewise.
|
||
* gcse.c: Likewise.
|
||
* haifa-sched.c (ok_for_early_queue_removal): Likewise.
|
||
* ifcvt.c (noce_get_alt_condition): Likewise.
|
||
* loop-doloop.c (doloop_condition_get): Likewise.
|
||
* lra-constraints.c (inherit_in_ebb): Likewise.
|
||
* modulo-sched.c (sms_schedule_by_order): Likewise.
|
||
* recog.c (next_insn_tests_no_inequality): Likewise.
|
||
* reorg.c (emit_delay_sequence): Likewise.
|
||
(update_reg_dead_notes): Likewise.
|
||
(fix_reg_dead_note): Likewise.
|
||
(fill_slots_from_thread): Likewise.
|
||
(delete_computation): Likewise.
|
||
|
||
2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Variable Attributes): Add menu and proper
|
||
@nodes to subsections. Move Microsoft Windows attributes to
|
||
their own subsection.
|
||
(Type Attributes): Reorganize introduction to remove duplicate
|
||
list of attributes. Add menu and proper @nodes to subsections.
|
||
Alphabetize the main table of common attributes.
|
||
|
||
2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
|
||
|
||
* match.pd: New simplification patterns.
|
||
(x + (x & 1)) -> ((x + 1) & ~1)
|
||
(x & ~(x & y)) -> ((x & ~y))
|
||
(x | ~(x | y)) -> ((x | ~y))
|
||
|
||
2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* target.def (attribute_table): Mention that struct attribute_spec
|
||
is defined in tree-core.h rather than tree.h
|
||
* doc/tm.texi: Regenerate.
|
||
|
||
2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* genrecog.c (test): Rename to rtx_test. Update rest of file
|
||
accordingly.
|
||
|
||
2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
|
||
|
||
PR translation/65959
|
||
* params.h (DEFPARAM): Rename msgid to nocmsgid.
|
||
|
||
2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* gcc/config/aarch64/aarch64-protos.h (tune_params):
|
||
Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
|
||
* gcc/config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
|
||
Return value depending on target.
|
||
(generic_tunings): Initialize new target settings.
|
||
(cortexa53_tunings): Likewise.
|
||
(cortexa57_tunings): Likewise.
|
||
(thunderx_tunings): Likewise.
|
||
(xgene1_tunings): Likewise.
|
||
|
||
2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
|
||
Make Cortex-A53 shift costs more accurate.
|
||
|
||
2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
|
||
UNSIGNED_FLOAT.
|
||
|
||
2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
|
||
|
||
* gcc/config/aarch64/aarch64.c (aarch64_rtx_costs):
|
||
Calculate cost of op0 and op1 in PLUS and MINUS cases.
|
||
|
||
2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
|
||
Add cost of op0 in the compare-with-fpzero case.
|
||
|
||
2015-04-30 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* builtins.c (fold_builtin_1): Remove spurious second
|
||
semicolon.
|
||
* cgraph.h (symtab_node::get_availability): Likewise.
|
||
* opts.c (common_handle_option): Remove spurious second semicolon.
|
||
* tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
|
||
* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
|
||
|
||
2015-04-30 Caroline Tice <cmtice@google.com>
|
||
|
||
PR gcov-profile/65929
|
||
* config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
|
||
(ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
|
||
* doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
|
||
(ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
|
||
* doc/tm.texi: Regenerate.
|
||
* final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
|
||
instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
|
||
* varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
|
||
instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
|
||
|
||
2015-04-30 Marek Polacek <polacek@redhat.com>
|
||
|
||
* varasm.c (handle_cache_entry): Fix logic.
|
||
|
||
2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
|
||
(*extrsi5_insn_uxtw_alt): Likewise.
|
||
* config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
|
||
(aarch64_rtx_costs, IOR case): Use above to properly cost extr
|
||
operations.
|
||
|
||
2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
|
||
fabd in ABS case.
|
||
|
||
2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.md
|
||
(*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
|
||
(*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
|
||
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
|
||
appropriately. Handle alternative EON form.
|
||
|
||
2015-04-30 Renlin Li <renlin.li@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
|
||
* config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
|
||
|
||
2015-04-30 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65873
|
||
* ipa-inline.c (can_inline_edge_p): It is safe to inline across
|
||
-fstrict-aliasing boundaries.
|
||
|
||
2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
|
||
and [SU]MNEGL patterns.
|
||
|
||
2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_shift_p): New function.
|
||
(aarch64_rtx_mult_cost): Update comment to reflect that it also handles
|
||
combined arithmetic-shift ops. Properly handle all shift and extend
|
||
operations that can occur in combination with PLUS/MINUS.
|
||
Rename maybe_fma to compound_p.
|
||
(aarch64_rtx_costs): Use aarch64_shift_p when costing compound
|
||
arithmetic and shift operations.
|
||
|
||
2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
|
||
rather than arith_shift cost when costing ADD/MINUS of an
|
||
extended value.
|
||
|
||
2015-04-30 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/65948
|
||
* ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
|
||
to itself.
|
||
|
||
2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
|
||
are for the same position.
|
||
|
||
2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
|
||
|
||
* tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
|
||
vectorize_loops.
|
||
(vectorize_loops): Use it.
|
||
|
||
2015-04-29 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
|
||
for aggregate types.
|
||
(register_odr_type): Be ready for MAIN_VARIANT of ODR type
|
||
type to be non_ODR.
|
||
* tree.c (need_assembler_name_p): Compute mangled name for
|
||
non-fundamental types and integer types.
|
||
|
||
2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
* dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
|
||
manual swaps.
|
||
* expr.c (expand_expr_real_2): Likewise.
|
||
|
||
2015-04-29 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (build_common_builtin_nodes): Do not build
|
||
__builtin_alloca_with_align as equivalent of library alloca.
|
||
|
||
2015-04-29 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* dwarf2out.c (gen_type_die_with_usage): Call verify_type.
|
||
* ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
|
||
bugus variants.
|
||
* tree.c: Include print-tree.h and ipa-utils.h
|
||
(free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
|
||
(free_lang_data_in_cgraph): Call verify_type.
|
||
(verify_type_variant): New function.
|
||
(verify_type): New function.
|
||
* tree.h (verify_type): Declare.
|
||
|
||
2015-04-29 Steve Ellcey <sellcey@imgtec.com>
|
||
|
||
* config/mips/mips-cpus.def: (mips4): Change default processor
|
||
from PROCESSOR_R8000 to PROCESSOR_R10000.
|
||
|
||
2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
|
||
|
||
* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
|
||
la/jalr instead of jal.
|
||
|
||
2015-04-29 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/65871
|
||
* config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
|
||
(*bmi2_bzhi_<mode>3_1_ccz): Ditto.
|
||
(setcc+movzbl peephole2): Check also clobbered reg.
|
||
(setcc+andl peephole2): Ditto.
|
||
|
||
2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR libgomp/65099
|
||
* config/nvptx/mkoffload.c (target_ilp32): New variable.
|
||
(main): Set it depending on "-foffload-abi=[...]".
|
||
(compile_native, main): Use it to pass "-m32" or "-m64" to the
|
||
compiler.
|
||
|
||
2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
PR target/65770
|
||
* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
|
||
vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
|
||
Flip lane index back at assembly time for bigendian.
|
||
|
||
2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* tree.h (OMP_STANDALONE_CLAUSES): New macro.
|
||
* gimplify.c (gimplify_omp_workshare): Use it.
|
||
|
||
2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* Makefile.in (build/genrecog.o): Depend on inchash.h.
|
||
(build/genrecog$(build_exeext): Depend on build/hash-table.o and
|
||
build/inchash.o
|
||
* genrecog.c: Rewrite most of the code except for the third page.
|
||
|
||
2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* inchash.h, inchash.c: Include bconfig.h for build objects.
|
||
* Makefile.in (build/inchash.o): New rule.
|
||
|
||
2015-04-29 Yvan Roux <yvan.roux@linaro.org>
|
||
|
||
PR target/65924
|
||
* config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
|
||
number in type attribute expression.
|
||
|
||
2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* loop-iv.c (canon_condition): Generalize to all types of integer
|
||
constant.
|
||
|
||
2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* gimple-walk.c: Prune duplicate or unneeded includes.
|
||
(walk_gimple_asm): Only call parse_input_constraint or
|
||
parse_output_constraint if their findings are used.
|
||
Honour parse_input_constraint and parse_output_constraint
|
||
result.
|
||
|
||
2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
|
||
|
||
2015-04-29 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/65893
|
||
* passes.def (pass_all_optimizations): Move pass_stdarg to after
|
||
pass_dce.
|
||
|
||
2015-04-29 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-data-refs.c (vect_analyze_group_access): Properly
|
||
compute GROUP_SIZE for basic-block SLP.
|
||
* tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
|
||
take into account gaps.
|
||
(vect_get_mask_element): Properly reject references to previous
|
||
vectors.
|
||
(vect_transform_slp_perm_load): Likewise.
|
||
|
||
2015-04-29 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/64835
|
||
* config/i386/i386.c (ix86_default_align): New function.
|
||
(ix86_override_options_after_change): Call ix86_default_align.
|
||
(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
|
||
(ix86_override_options_after_change): New function.
|
||
|
||
2015-04-28 Jeff Law <law@redhat.com>
|
||
|
||
* tree-ssa-dom.c (record_equality); Fix comment typos.
|
||
|
||
2015-04-28 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/65887
|
||
* gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
|
||
|
||
2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Declaring Attributes of Functions): Split into
|
||
subsections by target. Alphabetize the table of common attributes.
|
||
Rewrite some of the introductory text to reflect the new structure.
|
||
Update some cross-references to point to the new subsections.
|
||
(Attribute Syntax): Put paragraph about "__" naming here. Remove
|
||
duplicate copies in the discussion of function, label, and type
|
||
attributes.
|
||
|
||
2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
|
||
|
||
PR bootstrap/65910
|
||
* varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
|
||
|
||
2015-04-28 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/65734
|
||
* stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
|
||
(finalize_type_size): Respect TYPE_USER_ALIGN.
|
||
(layout_type) [ARRAY_TYPE]: Likewise.
|
||
|
||
2015-04-28 Yvan Roux <yvan.roux@linaro.org>
|
||
|
||
* config/arm/arm.md (*arm_movt): Fix type attribute.
|
||
(*cmpsi_shiftsi): Likewise.
|
||
(*cmpsi_shiftsi_swp): Likewise.
|
||
(*movsicc_insn): Likewise.
|
||
(*cond_move): Likewise.
|
||
(*if_plus_move): Likewise.
|
||
(*if_move_plus): Likewise.
|
||
(*if_arith_move): Likewise.
|
||
(*if_move_arith): Likewise.
|
||
(*if_shift_move): Likewise.
|
||
(*if_move_shift): Likewise.
|
||
(*arm_movtas_ze): Likewise.
|
||
* config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
|
||
redundancy and type attribute.
|
||
(*thumb2_movsi_insn): Fix type attribute.
|
||
(*thumb2_addsi_short): Likewise.
|
||
(thumb2_addsi3_compare0): Likewise.
|
||
(*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
|
||
attributes accordingly.
|
||
|
||
2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||
|
||
PR other/65911
|
||
* function.c (pad_to_arg_alignment): Add parentheses.
|
||
|
||
2015-04-28 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
|
||
libgcc/config/frv/elf-lib.h.
|
||
|
||
2015-04-28 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-call-cdce.c: Fix example in header comment.
|
||
|
||
2015-04-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/62283
|
||
* tree-vect-slp.c (vect_build_slp_tree): When the SLP build
|
||
fails fatally and we are vectorizing a basic-block simply
|
||
cause the child to be constructed piecewise.
|
||
(vect_analyze_slp_cost_1): Adjust.
|
||
(vect_detect_hybrid_slp_stmts): Likewise.
|
||
(vect_bb_slp_scalar_cost): Likewise.
|
||
(vect_get_constant_vectors): For piecewise constructed
|
||
constants place them after the last def.
|
||
(vect_get_slp_defs): Adjust.
|
||
* tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
|
||
externals for basic-block vectorization.
|
||
|
||
2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR target/63503
|
||
* config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
|
||
aarch64-*-*.
|
||
* config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
|
||
* config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
|
||
(AARCH64_TUNE_FMA_STEERING): Likewise.
|
||
* config/aarch64/aarch64-cores.def: Set
|
||
AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
|
||
FMUL/FMADD instructions.
|
||
* config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
|
||
(aarch64_override_options): Include cortex-a57-fma-steering.h. Call
|
||
aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
|
||
* config/aarch64/cortex-a57-fma-steering.h: New file.
|
||
* config/aarch64/cortex-a57-fma-steering.c: Likewise.
|
||
|
||
2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* gensupport.c (std_preds): Add missing codes to address_operand entry.
|
||
|
||
2015-04-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65851
|
||
* tree-ssa-ccp.c (set_lattice_value): Perform a meet when
|
||
changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
|
||
(ccp_lattice_meet): Remove stray argument. Use operand_equal_p
|
||
rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
|
||
(ccp_visit_phi_node): Adjust.
|
||
(evaluate_stmt): For simplifications to SSA names return its
|
||
lattice value if that isn't VARYING. Return immediately when
|
||
simplified to a constant.
|
||
(visit_assignment): Adjust.
|
||
(ccp_visit_stmt): Likewise.
|
||
|
||
2015-04-28 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/65818
|
||
* tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
|
||
evaluated.
|
||
|
||
2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* calls.c (save_fixed_argument_area): Don't check
|
||
ARGS_GROW_DOWNWARD with the preprocessor.
|
||
(restore_fixed_argument_area): Likewise.
|
||
(mem_overlaps_already_clobbered_arg_p): Likewise.
|
||
(check_sibcall_argument_overlap): Likewise.
|
||
(expand_call): Likewise.
|
||
(emit_library_call_value_1): Likewise.
|
||
(store_one_arg): Likewise.
|
||
* function.c (assign_parms): Likewise.
|
||
(locate_and_pad_parm): Likewise.
|
||
(pad_to_arg_alignment): Likewise.
|
||
* targhooks.c (std_gimplify_va_arg_expr): Likewise.
|
||
|
||
2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
|
||
* defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
|
||
* calls.c (save_fixed_argument_area): Don't chekc if
|
||
ARGS_GROW_DOWNWARD is defined.
|
||
(restore_fixed_argument_area): Likewise.
|
||
(mem_overlaps_already_clobbered_arg_p): Likewise.
|
||
(check_sibcall_argument_overlap): Likewise.
|
||
(expand_call): Likewise.
|
||
(emit_library_call_value_1): Likewise.
|
||
(store_one_arg): Likewise.
|
||
* function.c (assign_parms): Likewise.
|
||
(locate_and_pad_parm): Likewise.
|
||
(pad_to_arg_alignment): Likewise.
|
||
* targhooks.c (std_gimplify_va_arg_expr): Likewise.
|
||
|
||
2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (gen_epilogue): New function.
|
||
* alias.c (init_alias_analysis): don't check if HAVE_epilogue is
|
||
defined.
|
||
* cfgrtl.c (cfg_layout_finalize): Likewise.
|
||
* df-scan.c: Likewise.
|
||
* function.c (thread_prologue_and_epilogue_insns): Likewise.
|
||
(reposition_prologue_and_epilogue_notes): Likewise.
|
||
* reorg.c (find_end_label): Likewise.
|
||
* toplev.c: Likewise.
|
||
|
||
2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* bb-reorder.c (HAVE_return): Don't check if its undefined.
|
||
* defaults.h (gen_simple_return): New function.
|
||
(gen_simple_return): Likewise.
|
||
(HAVE_return): Add default definition to false.
|
||
(HAVE_simple_return): Likewise.
|
||
* cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
|
||
HAVE_return and HAVE_simple_return are defined.
|
||
* function.c (gen_return_pattern): Likewise.
|
||
(convert_jumps_to_returns): Likewise.
|
||
(thread_prologue_and_epilogue_insns): Likewise.
|
||
* reorg.c (find_end_label): Likewise.
|
||
(dbr_schedule): Likewise.
|
||
* shrink-wrap.c: Likewise.
|
||
* shrink-wrap.h: Likewise.
|
||
|
||
2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (EPILOGUE_USES): Add default definition of false.
|
||
* df-scan.c (EPILOGUE_USES): Remove check if its undefined.
|
||
* resource.c (init_resource_info): Likewise.
|
||
|
||
2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
|
||
to false.
|
||
* dwarf2out.c (field_byte_offset): REmove check if
|
||
PCC_BITFIELD_TYPE_MATTERS is defined.
|
||
* stor-layout.c (layout_decl): Likewise.
|
||
(update_alignment_for_field): Likewise.
|
||
(place_field): Likewise.
|
||
|
||
2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
|
||
true.
|
||
* regrename.c (check_new_reg_p): Remove check if
|
||
HARD_REGNO_RENAME_OK is defined.
|
||
* sel-sched.c (sel_hard_regno_rename_ok): Likewise.
|
||
|
||
2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
|
||
* cse.c (fold_rtx): Likewise.
|
||
* config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
|
||
* config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
|
||
* Likewise.
|
||
* config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
|
||
* config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
|
||
* defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
|
||
* doc/tm.texi: Regenerate.
|
||
* doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
|
||
either true or false.
|
||
|
||
2015-04-27 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/65217
|
||
* tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
|
||
of them has a single use, make sure it is the LHS of the implied
|
||
copy.
|
||
|
||
2015-04-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/65810
|
||
* config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
|
||
(offsettable_ok_by_alignment): Use minimum of decl and toc
|
||
pointer alignment. Replace dead code with assertion.
|
||
(use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
|
||
case if size exceeds toc pointer alignment.
|
||
(rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
|
||
(rs6000_emit_move): Likewise.
|
||
* configure.ac: Add linker toc pointer alignment check.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
|
||
2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
|
||
|
||
* config.gcc: Add h8300-*-linux.
|
||
* config/h8300/linux.h: New.
|
||
* config/h8300/t-linux: New.
|
||
* config/h8300/h8300.c (h8300_option_override): Normal mode
|
||
is not supported for h8300-*-linux.
|
||
(h8300_file_start): Target priority change.
|
||
(get_shift_alg): Likewise.
|
||
(h8300_shift_need_scratch_p): Likewise.
|
||
* config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
|
||
* config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
|
||
|
||
2015-04-27 Caroline Tice <cmtice@google.com>
|
||
|
||
* final.c (final_scan_insn): Output cold_function_name as function
|
||
type.
|
||
* varasm.c (cold_function_name): Make global.
|
||
(assemble_start_function): Re-set cold_function_name.
|
||
(assemble_end_function): Output cold partition size.
|
||
* varasm.h (cold_function_name): Declare global.
|
||
|
||
2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
|
||
|
||
* config/i386/i386.h (EXT_REX_SSE_REG_P): New.
|
||
* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
|
||
constraint.
|
||
(*movxi_internal_avx512f): Ditto.
|
||
(define_split): Check for xmm16+, when splitting scalar float_extend.
|
||
(*extendsfdf2_mixed): Use "v" constraint.
|
||
(define_split): Check for xmm16+, when splitting scalar float_truncate.
|
||
(*truncdfsf_fast_sse): Use "v" constraint.
|
||
(fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
|
||
(*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
|
||
(define_peephole2): Check for xmm16+, when converting scalar
|
||
float_truncate.
|
||
(define_peephole2): Check for xmm16+, when converting scalar
|
||
float_extend.
|
||
(*fop_<mode>_comm_mixed): Use "v" constraint.
|
||
(*fop_<mode>_comm_sse): Ditto.
|
||
(*fop_<mode>_1_mixed): Ditto.
|
||
(*sqrt<mode>2_sse): Ditto.
|
||
(*ieee_s<ieee_maxmin><mode>3): Ditto.
|
||
|
||
2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* combine.c (simplify_if_then_else): Use std::swap instead
|
||
of manually swapping.
|
||
(known_cond): Likewise.
|
||
(simplify_comparison): Likewise.
|
||
|
||
2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
|
||
|
||
PR target/64579
|
||
* config/rs6000/htm.md: Remove all define_expands.
|
||
(UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
|
||
UNSPECV_HTM_TABORTWCI): Remove.
|
||
(UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
|
||
(tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
|
||
trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
|
||
(tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
|
||
(tabortdc_internal, tabortdci_internal, tabortwc_internal,
|
||
tabortwci_internal): Remove define_insns.
|
||
(tabort<wd>c, tabort<wd>ci): New define_insns.
|
||
(tabort): Use gpc_reg_operand.
|
||
(tcheck): Remove operand.
|
||
(htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
|
||
* config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
|
||
expected value.
|
||
* config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
|
||
(BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
|
||
(tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
|
||
tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
|
||
tsr, ttest): Pass in the RS6000_BTC_CR attribute.
|
||
(get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
|
||
get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
|
||
(tcheck): Remove builtin argument.
|
||
* config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
|
||
not TARGET_64BIT.
|
||
(htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
|
||
tabortdc and tabortdci builtins when not in 64-bit mode.
|
||
Modify code to handle the loss of the HTM define_expands.
|
||
Emit code to copy the CR register to TARGET.
|
||
(htm_init_builtins): Modify code to handle the loss of the HTM
|
||
define_expands.
|
||
* config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
|
||
(RS6000_BTC_64BIT): Likewise.
|
||
(RS6000_BTC_CR): New macro.
|
||
* doc/extend.texi: Update documentation for htm builtins.
|
||
|
||
2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* simplify-rtx.c (simplify_gen_binary): Use std::swap instead
|
||
of manually swapping.
|
||
(simplify_associative_operation): Likewise.
|
||
(simplify_binary_operation): Likewise.
|
||
(simplify_plus_minus): Likewise.
|
||
(simplify_relational_operation): Likewise.
|
||
(simplify_ternary_operation): Likewise.
|
||
|
||
2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/stormy16/predicates.md (xs_hi_general_operand): Delete.
|
||
(xs_hi_nonmemory_operand): Remove error.
|
||
* config/stormy16/stormy16.md (movhi, movhi_internal): Use
|
||
general_operand rather than xs_hi_general_operand.
|
||
|
||
2015-04-27 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
|
||
(record_equivalences_from_stmt): Valueize rhs.
|
||
(record_equality): Canonicalize x and y order via
|
||
tree_swap_operands_p. Do not swap operands for same loop depth.
|
||
|
||
2015-04-27 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/65296
|
||
PR target/65895
|
||
* config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
|
||
Add hint how to use own spec file.
|
||
|
||
2015-04-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65875
|
||
* tree-vrp.c (update_value_range): If in is_new case setting
|
||
old_vr to VR_VARYING, also set new_vr to it. Remove
|
||
old_vr->type == VR_VARYING test.
|
||
(vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
|
||
SSA_PROP_INTERESTING if update_value_range returned true,
|
||
but new range is VR_VARYING.
|
||
|
||
2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* combine.c (sign_extend_short_imm): New.
|
||
(set_nonzero_bits_and_sign_copies): Use above new function for sign
|
||
extension of src short immediate.
|
||
(reg_nonzero_bits_for_combine): Likewise for tem.
|
||
|
||
2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* stor-layout.c (self_referential_component_ref_p): New predicate.
|
||
(copy_self_referential_tree_r): Use it.
|
||
(self_referential_size): Punt for simple operations directly involving
|
||
self-referential component references.
|
||
* tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
|
||
|
||
2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* ipa-icf.c (icf_handled_component_p): Remove redundant tests.
|
||
|
||
2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* vec.h (vec): Make splice arguments const. Update definitions
|
||
accordingly.
|
||
|
||
2015-04-27 Yvan Roux <yvan.roux@linaro.org>
|
||
|
||
* config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
|
||
alternatives.
|
||
|
||
2015-04-26 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/65826
|
||
* internal-fn.def: Mark VA_ARG with ECF_LEAF.
|
||
|
||
2015-04-24 Steve Ellcey <sellcey@imgtec.com>
|
||
|
||
* config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
|
||
(*madd3<mode>): Ditto.
|
||
(*msub4<mode>): Ditto.
|
||
(*msub3<mode>): Ditto.
|
||
(*nmadd4<mode>): Ditto.
|
||
(*nmadd3<mode>): Ditto.
|
||
(*nmadd4<mode>_fastmath): Ditto.
|
||
(*nmadd3<mode>_fastmath): Ditto.
|
||
(*nmsub4<mode>): Ditto.
|
||
(*nmsub3<mode>): Ditto.
|
||
(*nmsub4<mode>_fastmath): Ditto.
|
||
(*nmsub3<mode>_fastmath): Ditto.
|
||
|
||
2015-04-24 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/50800
|
||
* tree.c (build_reference_type_for_mode): Don't pass can_alias_all
|
||
down when building TYPE_CANONICAL.
|
||
(build_pointer_type_for_mode): Likewise.
|
||
|
||
2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
|
||
|
||
* genrecog.c (validate_pattern): Check matching constraint refers
|
||
to a lower numbered operand.
|
||
|
||
2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/65849
|
||
* config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
|
||
save to independent variables use the Save attribute. This will
|
||
allow these options to be modified with the #pragma/attribute
|
||
target support.
|
||
(-mallow-movmisalign): Likewise.
|
||
(-mallow-df-permute): Likewise.
|
||
(-msched-groups): Likewise.
|
||
(-malways-hint): Likewise.
|
||
(-malign-branch-targets): Likewise.
|
||
(-mvectorize-builtins): Likewise.
|
||
(-msave-toc-indirect): Likewise.
|
||
|
||
* config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
|
||
can be set via the #pragma/attribute target support.
|
||
(rs6000_opt_vars): Likewise.
|
||
(rs6000_inner_target_options): If VSX was set, also set
|
||
-mno-avoid-indexed-addresses.
|
||
|
||
2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/iterators.md (shiftable_ops): Rename to...
|
||
(SHIFTABLE_OPS): ... This. Update use in comments.
|
||
(ior_xor): Rename to...
|
||
(IOR_XOR): ... This.
|
||
(vqh_ops): Rename to...
|
||
(VQH_OPS): ... This.
|
||
(vqhs_ops): Rename to...
|
||
(VQHS_OPS): ... This.
|
||
(rshifts): Rename to...
|
||
(RSHIFTS): ... This.
|
||
(returns): Rename to...
|
||
(RETURNS): ... This.
|
||
* config/arm/arm.md: Update uses of the above.
|
||
* config/arm/neon.md: Likewise.
|
||
|
||
2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config.host (case ${host}): Add aarch64*-*-linux case.
|
||
* config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
|
||
fields to all the cores.
|
||
* config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
|
||
Add MCPU_MTUNE_NATIVE_SPECS.
|
||
* config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
|
||
field to all extensions.
|
||
* config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
|
||
* config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
|
||
Adjust definition of AARCH64_OPT_EXTENSION.
|
||
* config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
|
||
(MCPU_MTUNE_NATIVE_SPECS): Define.
|
||
* config/aarch64/driver-aarch64.c: New file.
|
||
* config/aarch64/x-arch64: New file.
|
||
* doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
|
||
-mtune and -march.
|
||
|
||
2015-04-24 Uros Bizjak <ubizjak@gmail.com>
|
||
Wei Mi <wmi@google.com>
|
||
|
||
* config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
|
||
* config/i386/i386.c (extract_base_offset_in_addr): New function.
|
||
(ix86_operands_ok_for_move_multiple): Ditto.
|
||
* config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
|
||
(movlpd/movhpd to movupd peephole2): Ditto.
|
||
|
||
2015-04-24 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/61534
|
||
* input.h (from_macro_expansion_at): Define.
|
||
|
||
PR c/63357
|
||
* doc/invoke.texi: Update description of -Wlogical-op.
|
||
|
||
2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
|
||
ternary operator in fprintf and harmonize spacing.
|
||
|
||
2015-04-24 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
|
||
Mark operand1 commutative.
|
||
|
||
2015-04-24 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
|
||
input operands in memory.
|
||
(*vec_concatv2si_sse4_1): Ditto.
|
||
(*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
|
||
(vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
|
||
register_operand.
|
||
(vec_extract_hi_v32hi): Ditto.
|
||
(vec_extract_hi_v64hi): Ditto.
|
||
(<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
|
||
|
||
2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
PR rtl-optimization/34503
|
||
* cprop.c (cprop_reg_p): New.
|
||
(hash_scan_set): Use above function to check if register can be
|
||
propagated.
|
||
(find_avail_set): Return up to two sets, one whose source is a
|
||
register and one whose source is a constant. Sets are returned in an
|
||
array passed as parameter rather than as a return value.
|
||
(cprop_insn): Use a do while loop rather than a goto. Try each of the
|
||
sets returned by find_avail_set, starting with the one whose source is
|
||
a constant. Use cprop_reg_p to check if register can be propagated.
|
||
(do_local_cprop): Use cprop_reg_p to check if register can be
|
||
propagated.
|
||
(implicit_set_cond_p): Likewise.
|
||
|
||
2015-04-23 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
|
||
(sem_function::equals): IGNORED_NODES parameter is now unused;
|
||
update call of equals_private.
|
||
(sem_function::equals_private): Do not call equals_wpa; skip
|
||
gimple body matching if there is no body.
|
||
(sem_function::init): Add logic to hash tthunk info.
|
||
(sem_function::parse): Also parse thunks.
|
||
* ipa-icf.h (equals_private): Update declaration.
|
||
|
||
2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
|
||
asterisk from name so this can be generated directly.
|
||
(*altivec_stvx_<mode>_internal): Likewise.
|
||
* config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
|
||
that this is never called during or after reload/lra.
|
||
(rs6000_frame_related): Remove split_reg
|
||
argument and logic that references it.
|
||
(emit_frame_save): Remove last parameter from call to
|
||
rs6000_frame_related.
|
||
(rs6000_emit_prologue): Remove last parameter from eight calls to
|
||
rs6000_frame_related. Force generation of stvx instruction for
|
||
Altivec register saves. Remove split_reg handling, which is no
|
||
longer needed.
|
||
(rs6000_emit_epilogue): Force generation of lvx instruction for
|
||
Altivec register restores.
|
||
|
||
2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.opt (mcrypto): Change option description to
|
||
match category changes in ISA 2.07B.
|
||
|
||
2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
|
||
iterators.
|
||
(cmp_op, cmp_type): New code attributes.
|
||
(NEON_VCMP, NEON_VACMP): New int iterators.
|
||
(cmp_op_unsp): New int attribute.
|
||
* config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
|
||
(neon_vceq<mode>): Delete.
|
||
(neon_vc<cmp_op><mode>_insn): New pattern.
|
||
(neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
|
||
(neon_vcgeu<mode>): Delete.
|
||
(neon_vcle<mode>): Likewise.
|
||
(neon_vclt<mode>: Likewise.
|
||
(neon_vcage<mode>): Likewise.
|
||
(neon_vcagt<mode>): Likewise.
|
||
(neon_vca<cmp_op><mode>): New define_expand.
|
||
(neon_vca<cmp_op><mode>_insn): New pattern.
|
||
(neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
|
||
|
||
2015-04-23 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.h (attribute_value_equal): Declare.
|
||
* tree.c (attribute_value_equal): Export.
|
||
|
||
2015-04-23 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (sem_item::compare_attributes): New function.
|
||
(sem_item::compare_referenced_symbol_properties): Compare variable
|
||
attributes.
|
||
(sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
|
||
(sem_function::param_used_p): New function.
|
||
(sem_function::equals_wpa): Fix attribute comparsion; match
|
||
parameter type codes; do not compare paremter flags when
|
||
they are not used; compare edge flags; compare indirect calls.
|
||
(sem_item::update_hash_by_addr_refs): Hash reference type.
|
||
(sem_function::equals_private): Do not match DECL_ATTRIBUTES.
|
||
(sem_variable::equals_wpa): Do not match DECL_ALIGN; match
|
||
reference use type.
|
||
(sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
|
||
* ipa-icf.h (compare_attributes, param_used_p): Declare.
|
||
|
||
2015-04-23 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
|
||
cleanup.
|
||
(sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
|
||
DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
|
||
(sem_item::compare_referenced_symbol_properties): New.
|
||
(sem_item::hash_referenced_symbol_properties): New.
|
||
(sem_item::compare_cgraph_references): Rename to ...
|
||
(sem_item::compare_symbol_references): ... this one; use
|
||
compare_referenced_symbol_properties.
|
||
(sem_function::equals_wpa): Do not compare
|
||
DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
|
||
DECL_IS_OPERATOR_NEW; compare pointer sizes.
|
||
(sem_item::update_hash_by_addr_refs): Call
|
||
hash_referenced_symbol_properties.
|
||
(sem_item::update_hash_by_local_refs): Cleanup.
|
||
(sem_function::merge): Do not mix up symbol properties.
|
||
(sem_variable::equals_wpa): Use compare_symbol_references.
|
||
* ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
|
||
(sem_item::hash_referenced_symbol_properties): New.
|
||
(sem_item::compare_symbol_references): New.
|
||
(sem_item::compare_cgraph_references): Remove.
|
||
|
||
2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
|
||
PR target/26702
|
||
* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
|
||
Emit size of local.
|
||
|
||
2015-04-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78.c (rl78_preferred_reload_class): Add
|
||
ATTRIBUTE_UNUSED to x parameter.
|
||
* config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
|
||
|
||
2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
|
||
TARGET_CRYPTO to TARGET_P8_VECTOR>
|
||
(crypto_vpermxor_<mode>): Likewise.
|
||
* config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
|
||
(BU_CRYPTO_3A): Likewise.
|
||
(BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
|
||
(BU_CRYPTO_OVERLOAD_3A): New #define.
|
||
(VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
|
||
(VPMSUMH): Likewise.
|
||
(VPMSUMW): Likewise.
|
||
(VPMSUMD): Likewise.
|
||
(VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
|
||
(VPERMXOR_V4SI): Likewise.
|
||
(VPERMXOR_V8HI): Likewise.
|
||
(VPERMXOR_V16QI): Likewise.
|
||
(VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
|
||
BU_CRYPTO_OVERLOAD_2A.
|
||
(VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
|
||
BU_CRYPTO_OVERLOAD_3A.
|
||
* config/rs6000/rs6000.opt (mcrypto): Change description of
|
||
option.
|
||
|
||
2015-04-23 Richard Biener <rguenther@suse.de>
|
||
|
||
* passes.def: Remove copy propagation passes run directly after CCP.
|
||
* tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
|
||
SSA names.
|
||
(ccp_visit_phi_node): Rework to handle first executable edge
|
||
specially.
|
||
|
||
2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
* config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
|
||
(ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
|
||
(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
|
||
* config/arm/arm.c (arm_legimitimize_reload_address): Remove.
|
||
(thumb_legimitimize_reload_address): Remove.
|
||
* config/arm/arm-protos.h (arm_legimitimize_reload_address):
|
||
Remove.
|
||
(thumb_legimitimize_reload_address): Remove.
|
||
|
||
2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
|
||
|
||
2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm.md (load_multiple): Reject operand 2 greater than
|
||
MAX_LDM_STM_OPS.
|
||
(store_multiple): Likewise.
|
||
|
||
2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
|
||
* config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
|
||
arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
|
||
arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
|
||
arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
|
||
arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
|
||
arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
|
||
Specify issue_rate value.
|
||
(arm_issue_rate): Look up issue rate from tuning structs. Remove
|
||
large switch statement.
|
||
(arm_marvell_pj4_tune): New struct.
|
||
* config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
|
||
struct.
|
||
|
||
2015-04-23 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
|
||
(vect_find_last_store_in_slp_instance): Rename to ...
|
||
(vect_find_last_scalar_stmt_in_slp): ... this and generalize.
|
||
(vect_analyze_slp_cost_1): Use vector_load for constant defs
|
||
and vec_construct for external defs when estimating prologue cost.
|
||
(vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
|
||
Compute costs here only when vectorizing loops.
|
||
(vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
|
||
have been determined.
|
||
(vect_schedule_slp_instance): Simplify vectorized code placement
|
||
and prepare for in-BB external defs.
|
||
* tree-vectorizer.h (struct _slp_instance): Remove first_load member.
|
||
(SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
|
||
* tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
|
||
guard.
|
||
(vect_model_load_cost): Likewise.
|
||
(vectorizable_store): Instead add it here.
|
||
(vectorizable_load): Likewise.
|
||
(vect_is_simple_use): Dump def type textually.
|
||
|
||
2015-04-23 Richard Biener <rguenther@suse.de>
|
||
|
||
* cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
|
||
* cfgloop.c (verify_loop_structure): Verify the root loop node.
|
||
* except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
|
||
instead of get_eh_region_from_lp_number.
|
||
* loop-init.c (fix_loop_structure): If we removed a loop, reset
|
||
the SCEV cache.
|
||
|
||
2015-04-23 Anton Blanchard <anton@samba.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_output_function_prologue): No
|
||
need for -mprofile-kernel to save LR to stack.
|
||
|
||
2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
|
||
adjustments.
|
||
(insn_is_swappable_p): Return 1 for a convert from double to
|
||
single precision when all of its uses are splats of BE element
|
||
zero.
|
||
|
||
2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
* ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
|
||
|
||
2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/65456
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): For
|
||
VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
|
||
TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
|
||
option.
|
||
(rs6000_builtin_mask_for_load): Return 0 for targets with
|
||
efficient unaligned VSX accesses so that the vectorizer will use
|
||
direct unaligned loads.
|
||
(rs6000_builtin_support_vector_misalignment): Always return true
|
||
for targets with efficient unaligned VSX accesses.
|
||
(rs6000_builtin_vectorization_cost): Cost of unaligned loads and
|
||
stores on targets with efficient unaligned VSX accesses is almost
|
||
always the same as the cost of an aligned load or store, so model
|
||
it that way.
|
||
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
|
||
unaligned vectors if we have efficient unaligned VSX accesses.
|
||
* config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
|
||
undocumented option.
|
||
|
||
2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
Revert:
|
||
2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
|
||
|
||
* config.gcc (LIBC_MUSL): New tm_defines macro.
|
||
* config/linux.h (OPTION_MUSL): Define.
|
||
(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
|
||
(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
|
||
(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
|
||
|
||
* config/linux.opt (mmusl): New option.
|
||
* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
|
||
(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
|
||
|
||
* configure: Regenerate.
|
||
|
||
2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
|
||
|
||
* config.gcc (LIBC_MUSL): New tm_defines macro.
|
||
* config/linux.h (OPTION_MUSL): Define.
|
||
(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
|
||
(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
|
||
(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
|
||
|
||
* config/linux.opt (mmusl): New option.
|
||
* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
|
||
(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
|
||
|
||
* configure: Regenerate.
|
||
|
||
2015-04-22 Yury Gribov <y.gribov@samsung.com>
|
||
|
||
* doc/invoke.texi (-fsanitize-sections): Update description.
|
||
* asan.c (set_sanitized_sections): Parse incoming arg.
|
||
(section_sanitized_p): Support wildcards.
|
||
|
||
2015-04-22 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/65823
|
||
* gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
|
||
equality between ap_copy and ap.
|
||
|
||
2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
PR target/47098
|
||
* config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
|
||
|
||
2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
PR target/47122
|
||
* config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
|
||
|
||
2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
PR target/55144
|
||
* config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
|
||
remove already contained t-files.
|
||
|
||
2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
|
||
Remove unneeded forward declarations.
|
||
(suitable_for_tail_call_opt_p): Commentary typo fix.
|
||
|
||
2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* varasm.c (emit_bss): Remove redundant guard.
|
||
|
||
2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
|
||
|
||
2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
|
||
|
||
2015-04-22 Hale Wang <hale.wang@arm.com>
|
||
Terry Guo <terry.guo@arm.com>
|
||
|
||
PR rtl-optimization/64818
|
||
* combine.c (can_combine_p): Don't combine user-specified
|
||
register if it is in an asm input.
|
||
|
||
2015-04-21 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65076
|
||
* passes.def (early_optimizations): Add pass_dse.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
|
||
* reorg.c (redundant_insn): Remove ifdef
|
||
INSN_REFERENCES_ARE_DELAYED.
|
||
* resource.c (mark_referenced_resources): Likewise.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (INSN_SETS_ARE_DELAYED): New definition.
|
||
* reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
|
||
* resource.c (mark_set_resources): Likewise.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
|
||
* cfgcleanup.c (flow_find_cross_jump): Likewise.
|
||
(flow_find_head_matching_sequence): Likewise.
|
||
(try_head_merge_bb): Likewise.
|
||
* combine.c (can_combine_p): Likewise.
|
||
(try_combine): Likewise.
|
||
(distribute_notes): Likewise.
|
||
* df-problems.c (can_move_insns_across): Likewise.
|
||
* final.c (final): Likewise.
|
||
* gcse.c (insert_insn_end_basic_block): Likewise.
|
||
* ira.c (find_moveable_pseudos): Likewise.
|
||
* reorg.c (try_merge_delay_insns): Likewise.
|
||
(fill_simple_delay_slots): Likewise.
|
||
(fill_slots_from_thread): Likewise.
|
||
* sched-deps.c (sched_analyze_2): Likewise.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* df-scan.c (df_get_entry_block_def_set): Remove #ifdef
|
||
PIC_OFFSET_TABLE_REGNUM.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* alias.c (init_alias_target): Remove ifdef
|
||
* HARD_FRAME_POINTER_IS_FRAME_POINTER.
|
||
* df-scan.c (df_insn_refs_collect): Likewise.
|
||
(df_get_regular_block_artificial_uses): Likewise.
|
||
(df_get_eh_block_artificial_uses): Likewise.
|
||
(df_get_entry_block_def_set): Likewise.
|
||
(df_get_exit_block_use_set): Likewise.
|
||
* emit-rtl.c (gen_rtx_REG): Likewise.
|
||
* ira.c (ira_setup_eliminable_regset): Likewise.
|
||
* reginfo.c (init_reg_sets_1): Likewise.
|
||
* regrename.c (rename_chains): Likewise.
|
||
* reload1.c (reload): Likewise.
|
||
(eliminate_regs_in_insn): Likewise.
|
||
* resource.c (mark_referenced_resources): Likewise.
|
||
(init_resource_info): Likewise.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (MASK_RETURN_ADDR): New definition.
|
||
* except.c (expand_builtin_extract_return_addr): Remove ifdef
|
||
MASK_RETURN_ADDR.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h (RETURN_ADDR_OFFSET): New definition.
|
||
* except.c (expand_builtin_extract_return_addr): Remove ifdef
|
||
RETURN_ADDR_OFFSET.
|
||
(expand_builtin_frob_return_addr): Likewise.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
|
||
(try_redirect_by_replacing_jump): Likewise.
|
||
(rtl_tidy_fallthru_edge): Likewise.
|
||
* combine.c (insn_a_feeds_b): Likewise.
|
||
(find_split_point): Likewise.
|
||
(simplify_set): Likewise.
|
||
* cprop.c (cprop_jump): Likewise.
|
||
* cse.c (cse_extended_basic_block): Likewise.
|
||
* df-problems.c (can_move_insns_across): Likewise.
|
||
* function.c (emit_use_return_register_into_block): Likewise.
|
||
* haifa-sched.c (sched_init): Likewise.
|
||
* ira.c (find_moveable_pseudos): Likewise.
|
||
* loop-invariant.c (find_invariant_insn): Likewise.
|
||
* lra-constraints.c (curr_insn_transform): Likewise.
|
||
* postreload.c (reload_combine_recognize_const_pattern):
|
||
* Likewise.
|
||
* reload.c (find_reloads): Likewise.
|
||
* reorg.c (delete_scheduled_jump): Likewise.
|
||
(steal_delay_list_from_target): Likewise.
|
||
(steal_delay_list_from_fallthrough): Likewise.
|
||
(redundant_insn): Likewise.
|
||
(fill_simple_delay_slots): Likewise.
|
||
(fill_slots_from_thread): Likewise.
|
||
(delete_computation): Likewise.
|
||
* sched-rgn.c (add_branch_dependences): Likewise.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* genconfig.c (main): Always define HAVE_cc0.
|
||
* caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
|
||
HAVE_cc0.
|
||
* cfgcleanup.c (flow_find_cross_jump): Likewise.
|
||
(flow_find_head_matching_sequence): Likewise.
|
||
(try_head_merge_bb): Likewise.
|
||
* cfgrtl.c (rtl_merge_blocks): Likewise.
|
||
(try_redirect_by_replacing_jump): Likewise.
|
||
(rtl_tidy_fallthru_edge): Likewise.
|
||
* combine.c (do_SUBST_MODE): Likewise.
|
||
(insn_a_feeds_b): Likewise.
|
||
(combine_instructions): Likewise.
|
||
(can_combine_p): Likewise.
|
||
(try_combine): Likewise.
|
||
(find_split_point): Likewise.
|
||
(subst): Likewise.
|
||
(simplify_set): Likewise.
|
||
(distribute_notes): Likewise.
|
||
* cprop.c (cprop_jump): Likewise.
|
||
* cse.c (cse_extended_basic_block): Likewise.
|
||
* df-problems.c (can_move_insns_across): Likewise.
|
||
* final.c (final): Likewise.
|
||
(final_scan_insn): Likewise.
|
||
* function.c (emit_use_return_register_into_block): Likewise.
|
||
* gcse.c (insert_insn_end_basic_block): Likewise.
|
||
* haifa-sched.c (sched_init): Likewise.
|
||
* ira.c (find_moveable_pseudos): Likewise.
|
||
* loop-invariant.c (find_invariant_insn): Likewise.
|
||
* lra-constraints.c (curr_insn_transform): Likewise.
|
||
* optabs.c (prepare_cmp_insn): Likewise.
|
||
* postreload.c (reload_combine_recognize_const_pattern):
|
||
* Likewise.
|
||
* reload.c (find_reloads): Likewise.
|
||
(find_reloads_address_1): Likewise.
|
||
* reorg.c (delete_scheduled_jump): Likewise.
|
||
(steal_delay_list_from_target): Likewise.
|
||
(steal_delay_list_from_fallthrough): Likewise.
|
||
(try_merge_delay_insns): Likewise.
|
||
(redundant_insn): Likewise.
|
||
(fill_simple_delay_slots): Likewise.
|
||
(fill_slots_from_thread): Likewise.
|
||
(delete_computation): Likewise.
|
||
(relax_delay_slots): Likewise.
|
||
* sched-deps.c (sched_analyze_2): Likewise.
|
||
* sched-rgn.c (add_branch_dependences): Likewise.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
|
||
that is trivially ded on non cc0 targets.
|
||
(simplify_set): Likewise.
|
||
(mark_used_regs_combine): Likewise.
|
||
* cse.c (new_basic_block): Likewise.
|
||
(fold_rtx): Likewise.
|
||
(cse_insn): Likewise.
|
||
(cse_extended_basic_block): Likewise.
|
||
(set_live_p): Likewise.
|
||
* rtlanal.c (canonicalize_condition): Likewise.
|
||
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* conditions.h: Define macros even if HAVE_cc0 is undefined.
|
||
* emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
|
||
* final.c: Likewise.
|
||
* jump.c: Likewise.
|
||
* recog.c: Likewise.
|
||
* recog.h: Declare functions even when HAVE_cc0 is undefined.
|
||
* sched-deps.c (sched_analyze_2): Always compile case for cc0.
|
||
|
||
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* defaults.h: New definition of EH_RETURN_DATA_REGNO.
|
||
* except.c: Remove definition of EH_RETURN_DATA_REGNO.
|
||
* builtins.c (expand_builtin): Remove check if
|
||
EH_RETURN_DATA_REGNO is defined.
|
||
* df-scan.c (df_bb_refs_collect): Likewise.
|
||
(df_get_exit_block_use_set): Likewise.
|
||
* haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
|
||
* ira-lives.c (process_bb_node_lives): Likewise.
|
||
* lra-lives.c (process_bb_lives): Likewise.
|
||
|
||
2015-04-21 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
|
||
FIRST_PSEUDO_REG): New.
|
||
* config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
|
||
(ARG_POINTER_REGNUM): Define to ARGP_REG.
|
||
(FRAME_POINTER_REGNUM): Define to FRAME_REG.
|
||
(HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
|
||
(FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
|
||
(FIRST_INT_REG): New.
|
||
(LAST_INT_REG): New.
|
||
(FIRST_*_REG): Define using *_REG.
|
||
(LAST_*_REG): Ditto.
|
||
(QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
|
||
(LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
|
||
(FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
|
||
|
||
2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* expmed.c: (synth_mult): Only assume overlapping
|
||
shift with previous steps in alg_sub_t_m2 case.
|
||
|
||
2015-04-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65650
|
||
* tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
|
||
transitions involving copies.
|
||
(set_lattice_value): Adjust for copy lattice state.
|
||
(ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
|
||
if that doesn't dominate the merge point.
|
||
(bit_value_unop): Adjust what we treat as varying mask.
|
||
(bit_value_binop): Likewise.
|
||
(bit_value_assume_aligned): Likewise.
|
||
(evaluate_stmt): When we simplified to a SSA name record a copy
|
||
instead of dropping to varying.
|
||
(visit_assignment): Simplify.
|
||
|
||
* gimple-match.h (gimple_simplify): Add another callback.
|
||
* gimple-fold.c (fold_stmt_1): Adjust caller.
|
||
(gimple_fold_stmt_to_constant_1): Likewise - pass valueize
|
||
for the 2nd callback.
|
||
* gimple-match-head.c (gimple_simplify): Add a callback that is
|
||
used to valueize the stmt operands and use it that way.
|
||
|
||
2015-04-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65788
|
||
* tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
|
||
|
||
2015-04-21 Richard Biener <rguenther@suse.de>
|
||
|
||
* config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
|
||
vec_construct cost by vec_stmt_cost.
|
||
|
||
2015-04-21 Richard Biener <rguenther@suse.de>
|
||
|
||
* cfghooks.h (create_basic_block): Replace with two overloads
|
||
for RTL and GIMPLE.
|
||
(split_block): Likewise.
|
||
* cfghooks.c (split_block): Rename to ...
|
||
(split_block_1): ... this.
|
||
(split_block): Add two type-safe overloads for RTL and GIMPLE.
|
||
(split_block_after_labels): Call split_block_1.
|
||
(create_basic_block): Rename to ...
|
||
(create_basic_block_1): ... this.
|
||
(create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
|
||
(create_empty_bb): Call create_basic_block_1.
|
||
* cfgrtl.c (fixup_fallthru_exit_predecessor): Use
|
||
split_block_after_labels.
|
||
* omp-low.c (expand_parallel_call): Likewise.
|
||
(expand_omp_target): Likewise.
|
||
(simd_clone_adjust): Likewise.
|
||
* tree-chkp.c (chkp_get_entry_block): Likewise.
|
||
* cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
|
||
create_basic_block overload.
|
||
(cgraph_node::expand_thunk): Likewise.
|
||
* tree-cfg.c (make_blocks): Likewise.
|
||
(handle_abnormal_edges): Likewise.
|
||
* tree-inline.c (copy_bb): Likewise.
|
||
|
||
2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
|
||
New pattern.
|
||
(*xor_one_cmplsidi3_ze): Likewise.
|
||
|
||
2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
|
||
use df_remove_problem rather than manually removing problems, leaving
|
||
holes in df->problems_in_order[].
|
||
|
||
2015-04-21 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/65802
|
||
* internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
|
||
|
||
2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
|
||
Increase to 128.
|
||
(aarch64_rewrite_selected_cpu): Do not chop off extensions starting
|
||
at '.'. Assert that there's enough space for everything.
|
||
|
||
2015-04-21 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR tree-optimization/64950
|
||
Revert:
|
||
2010-08-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/41089
|
||
* config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
|
||
as volatile.
|
||
|
||
2015-04-20 Shiva Chen <shiva0217@gmail.com>
|
||
|
||
PR rtl-optimization/64916
|
||
* cfgcleanup.c (values_equal_p): New function.
|
||
(can_replace_by): Use it.
|
||
|
||
2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/65801
|
||
* doc/invoke.texi ([-Wnarrowing]): Update.
|
||
|
||
2015-04-20 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/65658
|
||
* tree-ssa-threadupdate.c (redirection_block_p): Remove
|
||
redundant test for GIMPLE_ASSIGN in last change.
|
||
|
||
2015-04-20 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (set_pic_reg_ever_live): Remove.
|
||
(legitimize_pic_address): Do not call set_pic_reg_ever_live.
|
||
(legitimize_tls_address): Ditto.
|
||
(ix86_expand_move): Ditto.
|
||
(ix86_expand_binary_operator): Remove reload_in_progress checks.
|
||
(ix86_expand_unary_operator): Ditto.
|
||
* config/i386/predicates.md (index_register_operand): Ditto.
|
||
|
||
2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
|
||
|
||
* reorg.c (try_merge_delay_insns): Improve correctness checking
|
||
for targets with multiple delay slots.
|
||
|
||
2015-04-20 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/65658
|
||
* tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
|
||
statements too.
|
||
|
||
2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
|
||
* config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
|
||
Delete.
|
||
|
||
2015-04-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/65807
|
||
* dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
|
||
|
||
2015-04-20 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-fold.h (gimple_build): Remove optional valueize arguments.
|
||
* gimple-fold.c (gimple_build_valueize): New function.
|
||
(gimple_build): Always use gimple_build_valueize as valueize hook.
|
||
|
||
2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
PR target/64134
|
||
* config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
|
||
and overwrite variable parts if <= 1/2 the elements are variable.
|
||
|
||
2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/65805
|
||
* lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
|
||
Don't use difference of offset and previous offset if
|
||
update_sp_offset is non-zero.
|
||
(eliminate_regs_in_insn): Ditto.
|
||
* lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
|
||
lra_eliminate_regs_1 call.
|
||
* lra-constraints.c (get_equiv_with_elimination): Ditto.
|
||
|
||
2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* hash-table.h: Remove version of hash_table that stored value_type *.
|
||
* asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
|
||
config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
|
||
config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
|
||
dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
|
||
gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
|
||
hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
|
||
ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
|
||
loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
|
||
reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
|
||
tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
|
||
tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
|
||
tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
|
||
tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
|
||
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
|
||
tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
|
||
valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
|
||
|
||
2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65787
|
||
* config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
|
||
subsequent SH_NONE operand does not overwrite an existing *special
|
||
value.
|
||
(adjust_extract): Handle case where a vec_extract operation is
|
||
wrapped in a PARALLEL.
|
||
|
||
2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/65780
|
||
* config/i386/i386.c (ix86_binds_local_p): Define only if
|
||
TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
|
||
|
||
2015-04-17 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/47679
|
||
* Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
|
||
* tree-ssa-scopedtables.c: New file.
|
||
* tree-ssa-scopedtables.h: New file.
|
||
* tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
|
||
(const_and_copies): Change name/type.
|
||
(record_const_or_copy): Move into tree-ssa-scopedtables.c
|
||
(record_const_or_copy_1): Similarly.
|
||
(restore_vars_to_original_value): Similarly.
|
||
(pass_dominator::execute): Create and destroy const_and_copies table.
|
||
(thread_across_edge): Update passing of const_and_copies.
|
||
(record_temporary_equivalence): Use method calls rather than
|
||
manipulating const_and_copies directly.
|
||
(record_equality, cprop_into_successor_phis): Similarly.
|
||
(dom_opt_dom_walker::before_dom_children): Similarly.
|
||
(dom_opt_dom_walker::after_dom_children): Similarly.
|
||
(eliminate_redundant_computations): Similarly.
|
||
* tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
|
||
(record_temporary_equivalence): Likewise.
|
||
(invalidate_equivalences): Likewise.
|
||
(record_temporary_equivalences_from_phis): Update due to type
|
||
change of const_and_copies. Use method calls rather than
|
||
manipulating the stack directly.
|
||
(record_temporary_equivalences_from_stmts_at_dest): Likewise.
|
||
(thread_through_normal_block, thread_across_edge): Likewise.
|
||
(thread_across_edge): Likewise.
|
||
* tree-ssa-threadedge.h (thread_across_edge): Update prototype.
|
||
* tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
|
||
of equiv_stack.
|
||
(identify_jump_threads): Update due to type change of equiv_stack.
|
||
(finalize_jump_threads): Delete the equiv_stack when complete.
|
||
|
||
2015-04-17 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
|
||
* config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
|
||
* config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
|
||
|
||
2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
PR target/65535
|
||
* config.gcc: Exit with a comment when we do not have a major version
|
||
number for the FreeBSD target.
|
||
|
||
2015-04-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65689
|
||
* genpreds.c (struct constraint_data): Add maybe_allows_reg and
|
||
maybe_allows_mem bitfields.
|
||
(maybe_allows_none_start, maybe_allows_none_end,
|
||
maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
|
||
maybe_allows_mem_end): New variables.
|
||
(compute_maybe_allows): New function.
|
||
(add_constraint): Use it to initialize maybe_allows_reg and
|
||
maybe_allows_mem fields.
|
||
(choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
|
||
is_address constraints such that those that allow neither mem nor
|
||
reg come first, then those that only allow reg but not mem, then
|
||
those that only allow mem but not reg, then the rest.
|
||
(write_allows_reg_mem_function): New function.
|
||
(write_tm_preds_h): Call it.
|
||
* stmt.c (parse_output_constraint, parse_input_constraint): Use
|
||
the generated insn_extra_constraint_allows_reg_mem function
|
||
instead of always setting *allows_reg = true; *allows_mem = true;
|
||
for unknown extra constraints.
|
||
|
||
2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/65780
|
||
* output.h (default_binds_local_p_3): New.
|
||
* varasm.c (default_binds_local_p_3): Make it public. Take an
|
||
argument to indicate if common symbol may be local. If common
|
||
symbol may be local, treat non-external variable as defined
|
||
locally.
|
||
(default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
|
||
(default_binds_local_p_1): Pass false to default_binds_local_p_3.
|
||
* config/i386/i386.c (ix86_binds_local_p): New.
|
||
(TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
|
||
ix86_binds_local_p.
|
||
|
||
2015-04-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/65771
|
||
* dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
|
||
trying mem_loc_descriptor on XEXP (rtl, 0).
|
||
|
||
2015-04-17 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
|
||
Release symbol_compare_collection.
|
||
* ipa-reference.c: Add TODO that a vector should be released.
|
||
|
||
2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
|
||
|
||
PR target/65296
|
||
* config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
|
||
to new AVR-LibC file layout (bug #44574).
|
||
(*avrlibc_devicelib): Same.
|
||
* config/avr/avr-mcus.def: Adjust comments.
|
||
* config/avr/avr.opt (nodevicelib): Adjust help.
|
||
|
||
2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
|
||
|
||
2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c++/64527
|
||
* gimplify.c (gimplify_init_constructor): Always emit a
|
||
side-effecting constructor.
|
||
|
||
2015-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/64950
|
||
* gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
|
||
in cfun->curr_properties.
|
||
(gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
|
||
if we generate an IFN_VA_ARG.
|
||
* tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
|
||
function if PROP_gimple_lva is not set in src function.
|
||
|
||
2015-04-17 Tom de Vries <tom@codesourcery.com>
|
||
Michael Matz <matz@suse.de>
|
||
|
||
PR tree-optimization/64950
|
||
* gimple-iterator.c (update_modified_stmts): Remove static.
|
||
* gimple-iterator.h (update_modified_stmts): Declare.
|
||
* gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
|
||
(gimplify_va_arg_internal): New function.
|
||
(gimplify_va_arg_expr): Use IFN_VA_ARG.
|
||
* gimplify.h (gimplify_va_arg_internal): Declare.
|
||
* internal-fn.c (expand_VA_ARG): New unreachable function.
|
||
* internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
|
||
* tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
|
||
(expand_ifn_va_arg): New function.
|
||
(pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
|
||
(pass_stdarg::execute): Call expand_ifn_va_arg.
|
||
(pass_data_lower_vaarg): New pass_data.
|
||
(pass_lower_vaarg): New gimple_opt_pass.
|
||
(pass_lower_vaarg::gate, pass_lower_vaarg::execute)
|
||
(make_pass_lower_vaarg): New function.
|
||
* cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
|
||
properties_required field.
|
||
* passes.def (all_passes): Add pass_lower_vaarg.
|
||
* tree-pass.h (PROP_gimple_lva): Add define.
|
||
(make_pass_lower_vaarg): Declare.
|
||
|
||
2015-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
|
||
* calls.c (call_expr_flags): Same.
|
||
|
||
2015-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
|
||
(pass_stdarg::execute): ... here.
|
||
|
||
2015-04-17 Tom de Vries <tom@codesourcery.com>
|
||
Michael Matz <matz@suse.de>
|
||
|
||
* tree-cfg.c (make_blocks_1): Factor out of ...
|
||
(make_blocks): ... here.
|
||
(make_edges_bb): Factor out of ...
|
||
(make_edges): ... here.
|
||
(gimple_find_sub_bbs): New function.
|
||
* tree-cfg.h (gimple_find_sub_bbs): Declare.
|
||
|
||
2015-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
|
||
|
||
2015-04-17 Yury Gribov <y.gribov@samsung.com>
|
||
|
||
* asan.c (set_sanitized_sections): New function.
|
||
(section_sanitized_p): Ditto.
|
||
(asan_protect_global): Optionally sanitize user-defined
|
||
sections.
|
||
* asan.h (set_sanitized_sections): Declare new function.
|
||
* common.opt (fsanitize-sections): New option.
|
||
* doc/invoke.texi (-fsanitize-sections): Document new option.
|
||
* opts-global.c (handle_common_deferred_options): Handle new
|
||
option.
|
||
|
||
2015-04-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/65771
|
||
* dwarf2out.c (loc_list_from_tree): Return NULL
|
||
for DEBUG_EXPR_DECL.
|
||
|
||
2015-04-17 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
|
||
same attributes.
|
||
|
||
2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
|
||
|
||
* ira-color.c (setup_left_conflict_sizes_p): Do not process
|
||
node itself when computing left conflict subnode size.
|
||
|
||
2015-04-16 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/predicates.md (register_mixssei387nonimm_operand): New.
|
||
* config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
|
||
*fop_<mode>_1_sse using enabled attribute. Use
|
||
register_mixssei387nonimm_operand operand 1 predicate. Change
|
||
alternative 3 constraints from "x" to "v".
|
||
|
||
2015-04-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65774
|
||
* tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
|
||
bit-value tracking on.
|
||
|
||
2015-04-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64277
|
||
* tree-vrp.c (check_array_ref): Fix anti-range handling,
|
||
simplify upper bound handling.
|
||
(search_for_addr_array): Simplify.
|
||
(check_array_bounds): Handle ADDR_EXPRs here.
|
||
(check_all_array_refs): Simplify.
|
||
|
||
2015-04-16 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (print_reg): Rewrite function.
|
||
|
||
2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||
|
||
* config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
|
||
Invert the condition.
|
||
|
||
2015-04-16 Renlin Li <renlin.li@arm.com>
|
||
|
||
* simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
|
||
simplifications for UNSIGNED_FLOAT.
|
||
|
||
2015-04-16 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
|
||
MUL_UNINIT.
|
||
(enum rl78_cpu_type): New.
|
||
* config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
|
||
(umulhi3_shift_virt): Remove m constraint from operand 1.
|
||
(umulqihi3_virt): Likewise.
|
||
* config/rl78/rl78.c (rl78_option_override): Add code to process
|
||
-mcpu and -mmul options.
|
||
(rl78_alloc_physical_registers): Add code to handle divhi and
|
||
divsi valloc attributes.
|
||
(set_origin): Likewise.
|
||
* config/rl78/rl78.h (RL78_MUL_G14): Define.
|
||
(TARGET_G10, TARGET_G13, TARGET_G14): Define.
|
||
(TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
|
||
__RL78_Gxx__.
|
||
(ASM_SPEC): Pass -mcpu on to assembler.
|
||
* config/rl78/rl78.md (mulqi3): Add a clobber of AX.
|
||
(mulqi3_rl78): Likewise.
|
||
(mulhi3_g13): Likewise.
|
||
(mulhi3): Generate the G13 or G14 versions of the insn directly.
|
||
(mulsi3): Likewise.
|
||
(mulhi3_g14): Add clobbers of AX and BC.
|
||
(mulsi3_g14): Likewise.
|
||
(mulsi3_g13): Likewise.
|
||
(udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
|
||
(udivmodsi4_g14, udivmodsi4_g13): New patterns.
|
||
* config/rl78/rl78.opt (mmul): Initialise value to
|
||
RL78_MUL_UNINIT.
|
||
(mcpu): New option.
|
||
(m13, m14, mrl78): New option aliases.
|
||
* config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
|
||
(MULTILIB_DIRNAMES): Add g13 and g14.
|
||
* doc/invoke.texi: Document -mcpu and -mmul options.
|
||
|
||
2015-04-16 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-ccp.c (likely_value): See if we have operands that
|
||
are marked as never simulate again and return CONSTANT in this
|
||
case.
|
||
* tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
|
||
not have any operands that will be simulated again as
|
||
not being simulated again.
|
||
|
||
2015-04-15 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
|
||
Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
|
||
(*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
|
||
attribute.
|
||
(*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
|
||
enabled attribute.
|
||
(*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
|
||
*float<SWI48:mode><MODEF:mode>2_sse.
|
||
(*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
|
||
enabled attribute.
|
||
(*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
|
||
enabled attribute.
|
||
|
||
2015-04-15 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR other/65487
|
||
* function.c (push_dummy_function): New function.
|
||
(init_dummy_function_start): Use push_dummy_function.
|
||
(pop_dummy_function): New function. Factored out of ...
|
||
(expand_dummy_function_end): ... here.
|
||
* function.h (push_dummy_function, pop_dummy_function): Declare.
|
||
* passes.c (pass_manager::dump_passes): Use push_dummy_function and
|
||
pop_dummy_function.
|
||
* tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
|
||
|
||
2015-04-15 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/47679
|
||
* tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
|
||
need for forward declaration in upcoming changes.
|
||
(record_conditions, record_edge_info): Likewise.
|
||
|
||
PR rtl-optimization/42522
|
||
* cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
|
||
SIGN_EXTRACT as a whole object rather than simplifying
|
||
its operand.
|
||
|
||
2015-04-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/65765
|
||
* ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
|
||
and GIMPLE_PREDICT use break instead of return true. For
|
||
GIMPLE_EH_DISPATCH, compare dispatch region.
|
||
|
||
2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
* doc/extend.texi (__sync Builtins): Simplify some text. Update
|
||
details about the implementation. Make clear preference for
|
||
__atomic builtins. Reduce possibility of future change.
|
||
|
||
2015-04-15 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rx/rx.opt (mallow-string-insns): New option.
|
||
* config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
|
||
builtin if string instructions are denied.
|
||
* config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
|
||
__RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
|
||
appropriate.
|
||
(ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
|
||
* config/rx/rx.md (movstr): Enable pattern only if string
|
||
instructions are allowed.
|
||
(rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
|
||
(cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
|
||
* config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
|
||
(MULTILIB_DIRNAMES): Add no-strings.
|
||
* doc/invoke.texi: Document -mno-allow-string-insns.
|
||
|
||
2015-04-15 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/65408
|
||
PR target/58744
|
||
PR middle-end/36043
|
||
* calls.c (load_register_parameters): Don't load past end of
|
||
mem unless suitably aligned.
|
||
|
||
2015-04-15 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
|
||
decrement instruction as being frame related.
|
||
(rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
|
||
based addresses.
|
||
If zero extending a function address enclose the operation in
|
||
%code(...).
|
||
(rl78_preferred_reload_class): New function.
|
||
(TARGET_PREFERRED_RELOAD_CLASS): Define.
|
||
* config/rl78/rl78.md: Remove useless constraints in expanders.
|
||
(mulqi3_rl78): Remove + qualifier on input-only operand 1.
|
||
(mulhi3_rl78): Likewise.
|
||
(mulhi3_g13): Likewise.
|
||
(mulsi3_rl78): Likewise.
|
||
(es_addr): Move to before the multiply patterns.
|
||
|
||
2015-04-15 Alan Modra <amodra@gmail.com>
|
||
|
||
* function.h (struct emit_status): Delete x_first_insn, x_last_insn
|
||
and sequence_stack. Add seq.
|
||
(seq_stack): Delete.
|
||
* function.c (prepare_function_start): Don't access x_last_insn.
|
||
* emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
|
||
(get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
|
||
* emit_rtl.c (start_sequence, push_topmost_sequence,
|
||
pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
|
||
sequence accessors.
|
||
(get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
|
||
remove_insn): Likewise. Simplify.
|
||
* config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
|
||
and pop_topmost_sequence.
|
||
(m32c_function_needs_enter): Use get_topmost_sequence. Ignore
|
||
debug insns.
|
||
* config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
|
||
|
||
2015-04-14 Yvan Roux <yvan.roux@linaro.org>
|
||
|
||
PR target/65729
|
||
* lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
|
||
the assertiion.
|
||
|
||
2015-04-14 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.h (LEGACY_INT_REG_P): New define.
|
||
(LEGACY_INT_REGNO_P): Ditto.
|
||
(GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
|
||
(ANY_MASK_REG_P): Remove.
|
||
(BND_REG_P): Rename from ANY_BND_REG_P.
|
||
* config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
|
||
legacy integer registers. Do not handle MMX_REG_P in a special way.
|
||
Merge 64byte and 32byte SSE handling.
|
||
|
||
2015-04-14 Nick Clifton <nickc@redhat.com>
|
||
|
||
* expr.c (expand_assignment): Force an address offset computation
|
||
into a register before changing its mode.
|
||
(expand_expr_real_1): Likewise.
|
||
|
||
2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
* config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
|
||
vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
|
||
vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
|
||
vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
|
||
vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
|
||
vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
|
||
vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
|
||
and __aarch64_vget_lane_any.
|
||
|
||
2015-04-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/65761
|
||
* cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
|
||
get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
|
||
|
||
2015-04-14 Richard Biener <rguenther@suse.de>
|
||
|
||
* graphite-scop-detection.c: Do not include cp/cp-tree.h.
|
||
(graphite_can_represent_scev): Use POINTER_TYPE_P.
|
||
|
||
2015-04-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65758
|
||
* tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
|
||
against -1.
|
||
(ccp_lattice_meet): Likewise.
|
||
(bit_value_unop): Likewise.
|
||
(bit_value_binop): Likewise.
|
||
(bit_value_assume_aligned): Likewise.
|
||
|
||
2015-04-14 Christian Bruel <christian.bruel@st.com>
|
||
|
||
* execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
|
||
function.
|
||
|
||
2015-04-14 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR tree-optimization/63387
|
||
* match.pd ((x unord x) | (y unord y) -> (x unord y),
|
||
(x unord x) | (x unord y) -> (x unord y)): New simplifications.
|
||
|
||
2015-04-14 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/predicates.md (any_QIreg_operand): Rename from
|
||
q_regs_operand. Do not process subregs.
|
||
(QIreg_operand): Use QI_REGNO_P predicate.
|
||
(ext_QIreg_operand): Ditto.
|
||
(ext_register_operand): Ditto.
|
||
* config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
|
||
(AND splitters): Ditto.
|
||
(AND with -65536 splitter): Add SWI48 mode for operand 0.
|
||
(AND with -256 splitter): Use any_QIreg_operand predicate and
|
||
SWI248 mode for operand 0.
|
||
(AND with -65281 splitter): Use QIreg_operand predicate and SWI248
|
||
mode for operand 0.
|
||
(SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
|
||
|
||
2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/plugins.texi: Rewrite first introductory paragraph.
|
||
|
||
2015-04-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
|
||
(gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
|
||
|
||
2015-04-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-profie.c (ipa_profile): Check number of parameters
|
||
and possible polymorphic call targets before
|
||
devirtualizing.
|
||
|
||
2015-04-13 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
|
||
*bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
|
||
|
||
2015-04-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65204
|
||
* tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
|
||
takens for bit-CCP.
|
||
|
||
2015-04-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR target/65660
|
||
* config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
|
||
and cond_not_taken_branch_cost to 4 and 2.
|
||
(bdver2_cost): Likewise.
|
||
(bdver3_cost): Likewise.
|
||
(bdver4_cost): Likewise.
|
||
|
||
2015-04-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* hash-table.h (hash_table constructor): Add mem stats.
|
||
(alloc_entries): Likewise.
|
||
|
||
2015-04-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-cp.c (ipcp_driver): Relase prev_edge.
|
||
* passes.c (execute_one_pass): Only add transform if pass has one.
|
||
|
||
2015-04-12 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* config/i386/i386.c (ix86_option_override_internal): Don't set
|
||
-fprefetch-loop-arrays if optimizing for size.
|
||
|
||
2015-04-12 Jan Hubicka <hubicka@ucw.cz>
|
||
Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/contrib.texi (Contributors): Add Martin Jambor and
|
||
Michael Matz.
|
||
|
||
2015-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* BASE-VER: Set to 6.0.0.
|
||
|
||
PR tree-optimization/65747
|
||
* ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
|
||
rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
|
||
|
||
2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/invoke.texi (-Wmemset-transposed-args): Break a long
|
||
sentence. Improve grammar.
|
||
|
||
2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
|
||
|
||
2015-04-11 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65743
|
||
* ipa-inline-transform.c (speculation_removed): Remove static var.
|
||
(check_speculations): New function.
|
||
(clone_inlined_nodes): Do not check spculations.
|
||
(inline_call): Call check_speculations.
|
||
* ipa-prop.c (ipa_make_edge_direct_to_target): Do not
|
||
consider non-invariants.
|
||
|
||
2015-04-11 Jan Hubicka <hubicka@ucw.cz>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/65722
|
||
* ipa-icf.c (sem_item::compare_cgraph_references): function and
|
||
variable can not match.
|
||
(sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
|
||
(sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
|
||
|
||
2015-04-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65735
|
||
* tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
|
||
Remove visited_phis argument, add visited_bbs, avoid recursing into the
|
||
same bb rather than just into the same phi node.
|
||
(thread_through_normal_block): Adjust caller.
|
||
|
||
2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/contrib.texi (Contributors): Add Ira Rosen.
|
||
|
||
2015-04-11 Benno Schulenberg <bensberg@justemail.net>
|
||
|
||
* gcov.c (find_source): Fix miswording in error message.
|
||
* config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
|
||
(ix86_expand_sse_comi_round): Fix typo in error message.
|
||
|
||
2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/contrib.texi (Contributors): Add Laurynas Biveinis.
|
||
|
||
2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/contrib.texi (Contributors): Update Joe Buck's entry.
|
||
|
||
2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/65710
|
||
* lra-assigns.c (spill_for): Update smallest_bad_spills_num.
|
||
Print bad_spills_num and insn_pseudos_num.
|
||
|
||
2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/65694
|
||
* config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
|
||
when creating +1 values for SImode.
|
||
|
||
2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/65729
|
||
* lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
|
||
assert.
|
||
|
||
2015-04-10 Jakub Jelinek <jakub@redhat.com>
|
||
Iain Sandoe <iain@codesourcery.com>
|
||
|
||
PR target/65351
|
||
* configure: Regenerate.
|
||
|
||
2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
PR target/65671
|
||
* config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
|
||
|
||
2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/contrib.texi (Contributors): Add John Marino.
|
||
|
||
2015-04-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65709
|
||
* ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
|
||
TREE_TYPE (TREE_TYPE (t)).
|
||
|
||
2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/65710
|
||
* lra-int.h (lra_bad_spill_regno_start): New.
|
||
* lra.c (lra_bad_spill_regno_start): New.
|
||
(lra): Set up lra_bad_spill_regno_start. Set up
|
||
lra_constraint_new_regno_start unconditionally.
|
||
* lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
|
||
spill preferences.
|
||
|
||
2015-04-09 Marek Polacek <polacek@redhat.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/65554
|
||
* gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
|
||
(fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
|
||
of STRIP_NOPS.
|
||
|
||
2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/65693
|
||
* combine.c (is_parallel_of_n_reg_sets): Move outside of
|
||
#ifndef HAVE_cc0.
|
||
|
||
2015-04-09 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/65296
|
||
* config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
|
||
device specs file if "device-specs%s" didn't resolve to a path.
|
||
|
||
2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
PR target/65676
|
||
* config/i386/i386.c (fixup_modeless_constant): New.
|
||
(ix86_expand_args_builtin): Fixup modeless constant operand.
|
||
(ix86_expand_round_builtin): Ditto.
|
||
(ix86_expand_special_args_builtin): Ditto.
|
||
(ix86_expand_builtin): Ditto.
|
||
|
||
2015-04-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65693
|
||
* config/i386/i386.md (*udivmod<mode>4_pow2): Allow
|
||
any pow2 integer in between 2 and 0x80000000U inclusive.
|
||
|
||
2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/65693
|
||
* combine.c (is_parallel_of_n_reg_sets): Change first argument
|
||
from an rtx_insn * to an rtx.
|
||
(try_combine): Adjust both callers. Use it once more.
|
||
|
||
2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* tree-chkp.c (chkp_find_const_bounds_var): Remove.
|
||
(chkp_make_static_const_bounds): Search existing
|
||
symbol by assembler name. Use make_decl_one_only.
|
||
(chkp_get_zero_bounds_var): Remove node search which
|
||
is now performed in chkp_make_static_const_bounds.
|
||
(chkp_get_none_bounds_var): Likewise.
|
||
|
||
2015-04-08 Michael Witten <mfwitten@gmail.com>
|
||
|
||
* doc/extend.texi (Attribute Syntax): Add a trailing semicolon
|
||
to an example.
|
||
|
||
2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* tree.h (CONVERT_EXPR_P): Commentary typo fix.
|
||
|
||
2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/extend.texi (__sync Builtins): Fix grammar.
|
||
|
||
2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* doc/cfg.texi (GIMPLE statement iterators): Fix typo.
|
||
|
||
2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
* varasm.c (emit_local): Move definition of align.
|
||
|
||
2015-04-08 Julian Brown <julian@codesourcery.com>
|
||
|
||
* config/nvptx/mkoffload.c (process): Support variable mapping.
|
||
|
||
2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
|
||
|
||
* config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
|
||
alpha_links **.
|
||
(alpha_write_one_linkage): Correct typo.
|
||
|
||
2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* ipa-comdats.c (propagate_comdat_group): Walk through thunks.
|
||
|
||
2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/install.texi (bootstrap-lto-noplugin): Rewrite.
|
||
|
||
2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* tree-chkp.h (chkp_insert_retbnd_call): New.
|
||
* tree-chkp.c (chkp_insert_retbnd_call): New.
|
||
* ipa-split.c (insert_bndret_call_after): Remove.
|
||
(split_function): Use chkp_insert_retbnd_call.
|
||
* cgraphunit.c (cgraph_node::expand_thunk): Build returned
|
||
bounds for instrumented functions.
|
||
|
||
2015-04-07 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65540
|
||
* calls.c (initialize_argument_information): When producing tail
|
||
call also turn SSA_NAMES passed by references to original PARM_DECLs
|
||
|
||
2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/65648
|
||
* lra-remat.c (do_remat): Process input and non-input insn
|
||
registers separately.
|
||
|
||
2015-04-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/65678
|
||
* valtrack.c (debug_lowpart_subreg): New function.
|
||
(dead_debug_insert_temp): Use it.
|
||
|
||
PR middle-end/65680
|
||
* expr.c (get_inner_reference): Handle bit_offset that doesn't fit
|
||
into signed HOST_WIDE_INT the same as negative bit_offset.
|
||
|
||
2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* ipa-comdats.c (ipa_comdats): Visit all thunks
|
||
to set proper comdat group.
|
||
|
||
2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/65489
|
||
* config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
|
||
on constants for NEON VSTRUCT modes.
|
||
|
||
2015-04-07 Jakub Jelinek <jakub@redhat.com>
|
||
Iain Sandoe <iain@codesourcery.com>
|
||
|
||
PR target/65351
|
||
* configure: Regenerate.
|
||
|
||
2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/65614
|
||
* config/rs6000/rs6000.c (struct processor_costs): Add cost field
|
||
for SF->DF conversions to make FLOAT_EXTEND more expensive, so
|
||
that LFD is used to load double constants instead of LFS. Add
|
||
defaults for all costs structures. Add comments for missing
|
||
initialization fields.
|
||
(size32_cost): Likewise.
|
||
(size64_cost): Likewise.
|
||
(rs64a_cost): Likewise.
|
||
(mpccore_cost): Likewise.
|
||
(ppc403_cost): Likewise.
|
||
(ppc405_cost): Likewise.
|
||
(ppc440_cost): Likewise.
|
||
(ppc476_cost): Likewise.
|
||
(ppc601_cost): Likewise.
|
||
(ppc603_cost): Likewise.
|
||
(ppc604_cost): Likewise.
|
||
(ppc604e_cost): Likewise.
|
||
(ppc620_cost): Likewise.
|
||
(ppc630_cost): Likewise.
|
||
(ppccell_cost): Likewise.
|
||
(ppc750_cost): Likewise.
|
||
(ppc7450_cost): Likewise.
|
||
(ppc8540_cost): Likewise.
|
||
(ppce300c2c3_cost): Likewise.
|
||
(ppce500mc_cost): Likewise.
|
||
(ppce500mc64_cost): Likewise.
|
||
(ppce5500_cost): Likewise.
|
||
(ppce6500_cost): Likewise.
|
||
(titan_cost): Likewise.
|
||
(power4_cost): Likewise.
|
||
(power6_cost): Likewise.
|
||
(power7_cost): Likewise.
|
||
(power8_cost): Likewise.
|
||
(ppca2_cost): Likewise.
|
||
(rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
|
||
|
||
* config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
|
||
instead of XXLOR to copy SFmode to clear out dirty bits created
|
||
when SFmode denormals are generated.
|
||
(mov<mode>_hardfloat, FMOVE32 case): Likewise.
|
||
(truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
|
||
|
||
2015-04-06 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
* doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
|
||
* config/aarch64/aarch64-cores.def (exynos-m1): New core.
|
||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||
|
||
2015-04-06 Evandro Menezes <e.menezes@samsung.com>
|
||
|
||
* doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
|
||
* config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
|
||
* config/arm/arm-cores.def (exynos-m1): New core.
|
||
* config/arm/arm-tune.md: Regenerate.
|
||
* config/arm/arm-tables.opt: Add entry for "exynos-m1".
|
||
* config/arm/bpabi.h: Likewise.
|
||
|
||
2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* ipa-cp (set_single_call_flag): Remove too
|
||
restrictive assert.
|
||
|
||
2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
|
||
|
||
* config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
|
||
GOMP_offload_unregister from the destructor.
|
||
|
||
2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
|
||
flags for instrumentation thunk.
|
||
(chkp_produce_thunks): Likewise.
|
||
|
||
2015-04-05 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/65665
|
||
* ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
|
||
has computed data structure.
|
||
(sem_item_optimizer::update_hash_by_addr_refs): Likewise.
|
||
|
||
2015-04-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* invoke.texi (inline-unit-growth): Increase growth to 20%
|
||
* params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
|
||
|
||
2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/65647
|
||
* lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
|
||
value checking.
|
||
(lra_rematerialization_iter): New.
|
||
* lra.c (lra): Initialize lra_rematerialization_iter.
|
||
Stop updating lra_constraint_new_regno_start after switching of
|
||
inheritance and rematerialization.
|
||
* lra-remat.c (lra_rematerialization_iter): New.
|
||
(lra_remat): Add printing pass iteration. Do rematerialization
|
||
only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
|
||
|
||
2015-04-04 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64909
|
||
PR tree-optimization/65660
|
||
* tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
|
||
to take a cost vector for scalar iteration cost.
|
||
(vect_get_single_scalar_iteration_cost): Likewise.
|
||
* tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
|
||
Compute the scalar iteration cost into a cost vector.
|
||
(vect_get_known_peeling_cost): Use the scalar cost vector to
|
||
account for the cost of the peeled iterations.
|
||
(vect_estimate_min_profitable_iters): Likewise.
|
||
* tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
|
||
Likewise.
|
||
|
||
2015-04-04 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/65576
|
||
PR target/65240
|
||
* config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
|
||
0.0 constant unless TARGET_VSX.
|
||
* config/rs6000/rs6000.md (extenddftf2_internal): Remove last
|
||
alternative.
|
||
|
||
2015-04-03 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65654
|
||
* ipa-inline-transform.c (inline_call): Skip sanity check to work
|
||
around the ICE
|
||
|
||
2015-04-03 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65655
|
||
* ipa-inline-analysis.c (edge_set_predicate): Do not redirect
|
||
speculative indirect edges to avoid ordering issue.
|
||
|
||
2015-04-03 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65076
|
||
* ipa-inline.c (edge_badness): Add combined size to the denominator.
|
||
|
||
2015-04-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
|
||
TYPE_ARTIFICIAL on the .omp_data* types.
|
||
|
||
2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* cgraphunit.c (cgraph_node::expand_thunk): Don't expand
|
||
instrumentation thunks.
|
||
|
||
2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* config/i386/i386.c (ix86_expand_call): Avoid nested
|
||
PARALLEL in returned call value.
|
||
|
||
2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* lto-cgraph.c (input_cgraph_1): Always link instrumented
|
||
assembler name with original one.
|
||
|
||
2015-04-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (ix86_register_priority): Use AX_REG.
|
||
|
||
2015-04-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
Revert parts of r216820.
|
||
* config/i386/i386.md (movqi_internal): Correct type calculation
|
||
for alternatives 3 and 5.
|
||
|
||
2015-04-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR preprocessor/61977
|
||
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
|
||
predefine __vector/__bool/__pixel macros nor context sensitive
|
||
macros for CLK_ASM.
|
||
* config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
|
||
|
||
2015-04-02 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (pa_output_move_double): Directly handle register
|
||
indexed memory operand. Simplify handling of scaled register indexed
|
||
memory operands.
|
||
|
||
2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR driver/65444
|
||
* config/i386/linux-common.h (MPX_SPEC): New.
|
||
(CHKP_SPEC): Add MPX_SPEC.
|
||
* doc/invoke.texi (-fcheck-pointer-boudns): Document
|
||
possible issues with '-z bndplt' support in linker.
|
||
|
||
2015-04-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
|
||
(loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
|
||
(storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
|
||
* reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
|
||
(subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
|
||
|
||
2015-04-01 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sync.md (UNSPEC_MOVA): Remove.
|
||
(atomic_load<mode>): Change operand 0 predicate to
|
||
nonimmediate_operand and fix up the destination when needed.
|
||
Use UNSPEC_LDA.
|
||
(atomic_loaddi_fpu): Use UNSPEC_LDA.
|
||
(atomic_store<mode>): Change operand 1 predicate to
|
||
nonimmendate_operand and move the source to register when needed.
|
||
Use UNSPEC_STA.
|
||
(atomic_store<mode>_1): Use UNSPEC_STA.
|
||
(atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
|
||
Fix moves from memory operand. Use UNSPEC_STA.
|
||
|
||
2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* expmed.c (strict_volatile_bitfield_p): Check that the access will
|
||
not cross a MODESIZE boundary.
|
||
(store_bit_field, extract_bit_field): Added assertions in the
|
||
strict volatile bitfields code path.
|
||
|
||
2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
|
||
|
||
PR target/65624
|
||
* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
|
||
Increase args array size by one to avoid buffer overflow.
|
||
|
||
2015-03-31 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
|
||
split_part.
|
||
* ipa-inline.c (edge_badness): Add wrapper penalty.
|
||
(sum_callers): Move up.
|
||
(inline_small_functions): Set single_caller.
|
||
* ipa-inline.h (inline_summary): Add single_caller.
|
||
* ipa-split.c (split_function): Set split_part.
|
||
(cgraph_node::create_clone): Do not shadow decl; copy split_part.
|
||
* cgraph.h (cgraph_node): Add split_part.
|
||
|
||
2015-03-31 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/58945
|
||
* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
|
||
Do not split operands 0 and operands 2 to halfmode.
|
||
(atomic_compare_and_swap<mode>): Update for
|
||
atomic_compare_and_swap<dwi>_doubleword changes.
|
||
|
||
2015-03-31 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree.c (need_assembler_name_p): Artificial types have no ODR names.
|
||
* ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
|
||
no caching is done.
|
||
|
||
2015-03-31 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/65557
|
||
* ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
|
||
has already filled up function summary.
|
||
(sem_item_optimizer::update_hash_by_addr_refs): Likewise.
|
||
|
||
2015-03-31 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-sra.c (create_access_replacement): Drop under-/over-alignment
|
||
of types.
|
||
|
||
2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
|
||
nested functions.
|
||
(s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
|
||
(s390_asm_output_function_label): Adapt to new signature of
|
||
s390_function_num_hotpatch_hw
|
||
Optimise the code generating assembler output.
|
||
Add comments to assembler file.
|
||
|
||
2015-03-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/65626
|
||
* tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
|
||
of the noreturn call so it is last and cleanup_control_flow_bb
|
||
can do the CFG part.
|
||
|
||
2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/65531
|
||
* ipa-chkp.c (chkp_maybe_create_clone): Don't set
|
||
same_comdat_group for external symbols.
|
||
* symtab.c (symtab_node::verify_symtab_nodes): Avoid
|
||
infinite same_comdat_group traversal loop.
|
||
|
||
2015-03-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR plugins/61176
|
||
* Makefile.in (install-plugin): Add all gcc/*.{h,def} files
|
||
automatically to $headers.
|
||
|
||
2015-03-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/65610
|
||
* ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
|
||
* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
|
||
function.
|
||
(decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
|
||
Use it.
|
||
* ipa-prop.c (param_type_may_change_p): Likewise.
|
||
* tree-ssa-live.c: Include ipa-utils.h and its dependencies.
|
||
(remove_unused_scope_block_p): Add in_ctor_dtor_block
|
||
argument. Before inlining, preserve
|
||
inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
|
||
with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
|
||
recursive calls.
|
||
(remove_unused_locals): Adjust remove_unused_scope_block_p caller.
|
||
|
||
2015-03-27 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65076
|
||
* ipa-inline.c (edge_badness): Base denominator on callee's
|
||
grwoth squared.
|
||
|
||
2015-03-27 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/65478
|
||
* params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
|
||
(PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
|
||
* ipa-prop.h (ipa_node_params): New flags node_within_scc and
|
||
node_calling_single_call.
|
||
* ipa-cp.c (count_callers): New function.
|
||
(set_single_call_flag): Likewise.
|
||
(initialize_node_lattices): Count callers and set single_flag_call if
|
||
necessary.
|
||
(incorporate_penalties): New function.
|
||
(good_cloning_opportunity_p): Use it, dump new flags.
|
||
(propagate_constants_topo): Set node_within_scc flag if appropriate.
|
||
* doc/invoke.texi (ipa-cp-recursion-penalty,
|
||
ipa-cp-single-call-pentalty): Document.
|
||
|
||
2015-03-27 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65588
|
||
* symtab.c (symtab_node::get_partitioning_class): Register vars
|
||
are duplicated.
|
||
* varpool.c (symbol_table::output_variables) Do not assemble unefined
|
||
decls for non-symbols.
|
||
|
||
2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/65248
|
||
* output.h (default_binds_local_p_2): New.
|
||
* varasm.c (default_binds_local_p_2): Renamed to ...
|
||
(default_binds_local_p_3): This. Don't return true on protected
|
||
data symbol if protected data may be external.
|
||
(default_binds_local_p): Use default_binds_local_p_3.
|
||
(default_binds_local_p_1): Likewise.
|
||
(default_binds_local_p_2): New.
|
||
* config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
|
||
default_binds_local_p_2 if TARGET_MACHO is undefined.
|
||
|
||
2015-03-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65593
|
||
* config/i386/i386.c (legitimize_pic_address): If base
|
||
is SYMBOL_REF or LABEL_REF using %rip addressing, force
|
||
it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
|
||
|
||
2015-03-27 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR target/65531
|
||
* symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
|
||
comdat groups.
|
||
|
||
2015-03-27 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65600
|
||
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
|
||
of optimized out indirect call.
|
||
(redirect_to_unreachable): Always build symbol table node for
|
||
BUILT_IN_UNREACHABLE
|
||
|
||
2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/65407
|
||
* ira-costs.c (record_reg_classes): Process all constraint string
|
||
containing 0-9.
|
||
|
||
2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
|
||
|
||
* config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
|
||
memory_operand.
|
||
|
||
PR target/65052
|
||
* config/c6x/constraints.md (S3): New constraint.
|
||
* config/c6x/c6x.md (real_jump): Use it.
|
||
|
||
2015-03-26 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/65595
|
||
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
|
||
do redirection if the call is not optimized out.
|
||
|
||
2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/65495
|
||
* c-family/c.opt (fcheck-pointer-bounds): List supported languages.
|
||
(fchkp-check-incomplete-type): Add LTO.
|
||
(fchkp-zero-input-bounds-for-main): Likewise.
|
||
(fchkp-first-field-has-own-bounds): Likewise.
|
||
(fchkp-narrow-bounds): Likewise.
|
||
(fchkp-narrow-to-innermost-array): Likewise.
|
||
(fchkp-use-static-bounds): Likewise.
|
||
(fchkp-use-static-const-bounds): Likewise.
|
||
(fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
|
||
|
||
2015-03-27 Marek Polacek <polacek@redhat.com>
|
||
|
||
* gimple-iterator.h (gsi_prev_nondebug): Fix typo.
|
||
|
||
2015-03-27 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/65583
|
||
* ubsan.c (ubsan_create_edge): New function.
|
||
(instrument_bool_enum_load): Call it.
|
||
(instrument_nonnull_arg): Likewise.
|
||
(instrument_nonnull_return): Likewise.
|
||
(instrument_object_size): Likewise.
|
||
|
||
2015-03-26 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* lto-streamer.h (class lto_location_cache): Turn loc_cache into
|
||
auto_vec.
|
||
|
||
2015-03-26 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/65536
|
||
* lto-streamer.h (class lto_location_cache): New.
|
||
(struct data_in): Add location_cache.
|
||
(lto_input_location): Update prototype.
|
||
(stream_input_location_now): New.
|
||
* streamer-hooks.h (struct streamer_hooks): Make input_location to take
|
||
pointer to location.
|
||
(stream_input_location): Update.
|
||
* ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
|
||
(warn_odr): Apply location cache before warning.
|
||
(lto_input_location): Update prototype.
|
||
* gimple-streamer-in.c (input_phi, input_gimple_stmt):
|
||
Use stream_input_location_now.
|
||
* lto-streamer-in.c (lto_location_cache::current_cache): New static
|
||
variable.
|
||
(lto_location_cache::cmp_loc): New function.
|
||
(lto_location_cache::apply_location_cache): New function.
|
||
(lto_location_cache::accept_location_cache): New function.
|
||
(lto_location_cache::revert_location_cache): New function.
|
||
(lto_location_cache::input_location): New function.
|
||
(lto_input_location): Do location caching.
|
||
(stream_input_location_now): New function.
|
||
(input_eh_region, input_struct_function_base): Use
|
||
stream_input_location_now.
|
||
(lto_data_in_create): use new.
|
||
(lto_data_in_delete): Use delete.
|
||
* tree-streamer-in.c (unpack_ts_block_value_fields,
|
||
unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
|
||
lto_input_ts_exp_tree_pointers): Update for cached location api.
|
||
|
||
2015-03-26 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65076
|
||
* passes.def: Add pass_nothrow.
|
||
* ipa-pure-const.c: (pass_data_nothrow): New.
|
||
(pass_nothrow): New.
|
||
(pass_nothrow::execute): New.
|
||
(make_pass_nothrow): New.
|
||
* tree-pass.h (make_pass_nothrow): Declare.
|
||
|
||
2015-03-26 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
|
||
edge to change by speculation resolution or redirection.
|
||
(edge_set_predicate): Likewise.
|
||
(inline_summary_t::duplicate): Likewise.
|
||
(remap_edge_summaries): Likewise.
|
||
|
||
2015-03-26 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
|
||
New macros.
|
||
(can_inline_edge_p): Relax option matching for always inline functions.
|
||
|
||
2015-03-26 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/65561
|
||
* config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
|
||
Check operand 4 and operand 0 for equality.
|
||
(avx512f_vextract<shuffletype>32x4_1_maskm):
|
||
Check operand 6 and operand 0 for equality.
|
||
(vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
|
||
for equality.
|
||
(vec_extract_hi_<mode>_maskm): Ditto.
|
||
|
||
2015-03-26 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
|
||
dead calls back to live.
|
||
(cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
|
||
cross check to ...
|
||
(cgraph_node::verify_node): ... here; verify only callee edges,
|
||
not caller.
|
||
* cif-code.def (CILK_SPAWN): New code.
|
||
|
||
2015-03-26 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-inline-analysis.c (redirect_to_unreachable): New function.
|
||
(edge_set_predicate): Use it to mark unreachable edges.
|
||
(inline_summary_t::duplicate): Remove unnecesary code.
|
||
(remap_edge_summaries): Likewise.
|
||
(dump_inline_summary): Report contains_cilk_spawn.
|
||
(compute_inline_parameters): Compute contains_cilk_spawn.
|
||
(inline_read_section, inline_write_summary): Stream
|
||
contains_cilk_spawn.
|
||
* ipa-inline.c (can_inline_edge_p): Do not touch
|
||
DECL_STRUCT_FUNCTION that may not be available;
|
||
use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
|
||
remove check for callee_fun->can_throw_non_call_exceptions and
|
||
replace it by optimization attribute check; check for flag_exceptions.
|
||
* ipa-inline-transform.c (inline_call): Maintain
|
||
DECL_FUNCTION_PERSONALITY
|
||
* ipa-inline.h (inline_summary): Add contains_cilk_spawn.
|
||
|
||
2015-03-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65551
|
||
* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
|
||
TYPE_PRECISION only for INTEGRAL_TYPE_P types.
|
||
|
||
2015-03-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/65555
|
||
* tree-cfg.c (verify_gimple_call): Do not require a call to
|
||
have no LHS if it wasn't recognized as control altering yet.
|
||
|
||
2015-03-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/64715
|
||
* passes.def: Add another instance of pass_object_sizes before ccp1.
|
||
* tree-object-size.c (pass_object_sizes::execute): In
|
||
first_pass_instance, only handle __bos (, 1) and __bos (, 3)
|
||
calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
|
||
__bos result and the computed constant. Remove redundant
|
||
checks, obsoleted by gimple_call_builtin_p test.
|
||
|
||
* var-tracking.c (variable_tracking_main_1): Don't track
|
||
variables for targetm.no_register_allocation targets.
|
||
|
||
2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
* config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
|
||
* config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
|
||
|
||
2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/65569
|
||
* config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
|
||
XXLXOR to create 0.0. On pre-VSX systems make sure the constant
|
||
0.0 is correctly setup.
|
||
(extenddftf2_internal): Likewise.
|
||
|
||
2015-03-25 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
PR tree-optimization/65177
|
||
* tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
|
||
(bb_in_bbs): New.
|
||
(duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
|
||
edges not adjacent on the path to the original code.
|
||
|
||
2015-03-25 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR bootstrap/65537
|
||
* doc/install.texi (Building a native compiler): Document new
|
||
bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
|
||
configuration assumes that the host supports the linker plugin.
|
||
|
||
2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/65508
|
||
* tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
|
||
chain for generated call.
|
||
|
||
2015-03-25 Richard Biener <rguenther@suse.de>
|
||
|
||
* passes.c (pass_manager::execute_early_local_passes): Guard
|
||
execution of pass_chkp_instrumentation_passes with
|
||
flag_check_pointer_bounds.
|
||
(pass_chkp_instrumentation_passes::gate): Likewise.
|
||
|
||
2015-03-25 Martin Liska <mliska@suse.cz>
|
||
|
||
PR tree-optimization/65538
|
||
* symbol-summary.h (function_summary::~function_summary):
|
||
Relese memory for allocated summaries.
|
||
(function_summary::release): New function.
|
||
|
||
2015-03-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/65515
|
||
* lto-streamer-out.c (DFS::worklist): New struct.
|
||
(DFS::worklist_vec): New data member.
|
||
(DFS::next_dfs_num): Remove.
|
||
(DFS::DFS): Rewritten using worklist instead of recursion,
|
||
using most of code from DFS::DFS_write_tree.
|
||
(DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
|
||
pass it to DFS_write_tree calls.
|
||
(DFS::DFS_write_tree): Remove SINGLE_P argument, after
|
||
quick initial checks push it into worklist_vec and return.
|
||
|
||
2015-03-25 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/65519
|
||
* genmatch.c (expr::gen_transform): Re-write to avoid
|
||
using gimple_build.
|
||
|
||
2015-03-25 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
|
||
|
||
2015-03-25 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* config/arm/arm.opt (print_tune_info): New option.
|
||
* config/arm/arm.c (arm_print_tune_info): New function.
|
||
(arm_file_start): Call arm_print_tune_info.
|
||
* config/arm/arm-protos.h (struct tune_params): Add comment.
|
||
* doc/invoke.texi (@item -mprint-tune-info): New item.
|
||
(-mtune): mention it in ARM Option Summary.
|
||
|
||
2015-03-25 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
|
||
correct clause.
|
||
|
||
2015-03-24 Jan Hubicka <hubicka@ucw.cz>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
|
||
* ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
|
||
(sem_item::add_type): New function.
|
||
(sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
|
||
(sem_function::compare_polymorphic_p): Do not consider indirect calls.
|
||
(sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
|
||
(sem_function::equals_wpa): Fix typo.
|
||
* ipa-icf.h (sem_item::add_type): New function.
|
||
(symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
|
||
order.
|
||
|
||
2015-03-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65533
|
||
* tree-vect-slp.c (vect_build_slp_tree): Before re-trying
|
||
with swapped operands, call vect_free_slp_tree on
|
||
SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
|
||
vector.
|
||
|
||
2015-03-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/65517
|
||
* tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
|
||
for fixup if necessary.
|
||
|
||
2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Function Attributes): Add @cindex entries
|
||
for all attributes and regularize their format. Delete text
|
||
about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
|
||
information about "eightbit_data", "tiny_data", and "model"
|
||
variable attributes to the Variable Attributes section. Fix
|
||
some obvious typos and copy-editing issues.
|
||
(Variable Attributes, Type Attributes): Likewise add/fix
|
||
@cindex entries for all attributes.
|
||
|
||
2015-03-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65523
|
||
* tree-chkp.c (chkp_build_returned_bound): Ignore
|
||
ERF_RETURNS_ARG calls if they have fewer than needed arguments.
|
||
|
||
2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/65505
|
||
* config/sh/predicates.md (simple_mem_operand,
|
||
displacement_mem_operand): Add test for reg.
|
||
(short_displacement_mem_operand): Test for displacement_mem_operand
|
||
before invoking sh_disp_addr_displacement.
|
||
* config/sh/constraints.md (Sdd, Sra): Simplify.
|
||
* config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
|
||
Remove redundant displacement_mem_operand tests.
|
||
|
||
2015-03-23 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/65296
|
||
* config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
|
||
the same -mmcu=MCU more than once.
|
||
|
||
2015-03-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/65522
|
||
* ipa-devirt.c: Remove duplicate demangle.h include.
|
||
|
||
PR target/65504
|
||
* config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
|
||
on the pseudo.
|
||
(expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
|
||
REG_POINTER on *destptr after adjusting it for prologue size.
|
||
|
||
PR ipa/65521
|
||
* ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
|
||
ultimate_alias_target ()->order ints instead of
|
||
ultimate_alias_target () pointers.
|
||
|
||
2015-03-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65518
|
||
* tree-vect-stmts.c (vectorizable_load): Reject single-element
|
||
interleaving cases we generate absymal code for.
|
||
|
||
2015-03-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65494
|
||
* tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
|
||
matches here.
|
||
(vect_analyze_slp_instance): But do that here, always and once.
|
||
|
||
2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* expmed.c (synth_mult): Fix comment about multiplying by T-1 and
|
||
adding T or multiplying by T+1 and subracting T.
|
||
|
||
2015-03-22 Jeff Law <law@redhat.com>
|
||
|
||
PR rtl-optimization/64317
|
||
* Makefile.in (OBJS): Add gcse-common.c
|
||
* gcse.c: Include gcse-common.h
|
||
(struct modify_pair_s): Move structure definition to gcse-common.h
|
||
(compute_transp): Move function to gcse-common.c.
|
||
(canon_list_insert): Similarly.
|
||
(record_last_mem_set_info): Break out some code and put it into
|
||
gcse-common.c. Call into the new common code.
|
||
(compute_local_properties): Pass additional arguments to compute_transp.
|
||
* postreload-gcse.c: Include gcse-common.h and df.h
|
||
(modify_mem_list_set, blocks_with_calls): New variables.
|
||
(modify_mem_list, canon_modify_mem_list, transp): Likewise.
|
||
(get_bb_avail_insn): Pass in the expression index too.
|
||
(alloc_mem): Allocate memory for the new bitmaps and lists.
|
||
(free_mem): Free memory for the new bitmaps and lists.
|
||
(insert_expr_in_table): Record a bitmap index for each entry we
|
||
add to the table.
|
||
(record_last_mem_set_info): Call into common code in gcse-common.c.
|
||
(get_bb_avail_insn): If no available insn was found in the requested
|
||
BB. If BB has a single predecessor, see if the expression is
|
||
transparent in BB and available in that single predecessor.
|
||
(compute_expr_transp): New wrapper for compute_transp.
|
||
(eliminate_partially_redundant_load): Pass expression's bitmap_index
|
||
to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
|
||
(gcse_after_reload_main): If there are elements in the hash table,
|
||
then compute transparency for all the elements in the hash table.
|
||
* gcse-common.h: New file.
|
||
* gcse-common.c: New file.
|
||
|
||
2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/cpp.texi (Search Path): Hyphenate "command-line" when used
|
||
as an adjective.
|
||
(System Headers): Likewise.
|
||
(Ifdef): Likewise.
|
||
(Traditional macros): Likewise.
|
||
(Invocation): Likewise.
|
||
(Option Index): Likewise.
|
||
* doc/cppopts.texi (-M): Likewise.
|
||
(-finput-charset): Likewise.
|
||
(--help): Likewise.
|
||
* doc.invoke.texi (AVR Options): Likewise.
|
||
(V850 Options): Likewise.
|
||
|
||
2015-03-22 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65475
|
||
* ipa-devirt.c: Include demangle.h
|
||
(odr_type_d): Add field rtti_broken.
|
||
(odr_subtypes_equivalent_p): Do not require name to match.
|
||
(compare_virtual_tables): Fix typo; if type already has ODR violation,
|
||
bypass the tests; be ready for function referneces in vtables that are
|
||
not DECL_VIRTUAL; make warnings to be OPT_Wodr.
|
||
(warn_odr): Give up for nameless types.
|
||
(warn_types_mismatch): Report mismatch in mangled names;
|
||
report mismatch in anonymous namespaces; look into component types to
|
||
give useful error; report when mismatch is dragged in from other ODR
|
||
type.
|
||
(odr_types_equivalent_p): Match types for being polymorphic; avoid
|
||
duplicated diagnostics.
|
||
(add_type_duplicate): Reorder checks so more informative ones come
|
||
first; fix typo; do not output "the extra base is defined here" when
|
||
we did not warn.
|
||
(BINFO_N_BASE_BINFOS): Relax sanity check.
|
||
|
||
2015-03-22 Martin Liska <mliska@suse.cz>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/i386.c (def_builtin): Set deferred_isa_values for
|
||
masks that can potentially include a builtin.
|
||
(ix86_add_new_builtins): Introduce fast filter for isa values
|
||
that cannot trigger builtin inclusion.
|
||
|
||
2015-03-22 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
|
||
(sem_item::update_hash_by_local_refs): Likewise.
|
||
(sem_variable::get_hash): Empty line is fixed.
|
||
(sem_item_optimizer::execute): Include adding of hash references.
|
||
(sem_item_optimizer::update_hash_by_addr_refs): New function.
|
||
(sem_item_optimizer::build_hash_based_classes): Use local hash.
|
||
* ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
|
||
(sem_item::update_hash_by_local_refs): Likewise.
|
||
|
||
2015-03-20 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65502
|
||
* ipa-comdats.c (enqueue_references): Walk through thunks.
|
||
(ipa_comdats): Likewise.
|
||
(set_comdat_group_1): New function.
|
||
|
||
2015-03-20 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65475
|
||
* ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
|
||
non-polymorphic
|
||
|
||
2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
|
||
Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* doc/contrib.texi (Contributors): Update entry for Danny Smith.
|
||
|
||
2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
|
||
Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
|
||
function parameter declaration.
|
||
* config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
|
||
Update arguments to nios2_adjust_call_address().
|
||
(sibcall_internal): Rename from *sibcall.
|
||
(sibcall_value_internal): Rename from *sibcall_value.
|
||
* config/nios2/nios2.c (nios2_emit_add_constant): New function.
|
||
(nios2_large_got_address): Add target temp reg parameter.
|
||
(nios2_got_address): Adjust call to nios2_large_got_address, add
|
||
force_reg around it.
|
||
(nios2_load_pic_address): Add target temp reg parameter, replace call
|
||
to nios2_got_address with corresponding code.
|
||
(nios2_legitimize_constant_address): Update call to
|
||
nios2_load_pic_address.
|
||
(nios2_adjust_call_address): Add temp reg parameter, update PIC case
|
||
to use temp reg for PIC loading purposes.
|
||
(nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
|
||
(TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
|
||
(TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
|
||
|
||
2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (-fno-diagnostics-show-caret): Fix
|
||
usage of "the @option{...}".
|
||
(-Wopenmp-simd): Likewise.
|
||
(-fsanitize-recover): Likewise.
|
||
(-fsanitize-undefined-trap-on-error): Likewise.
|
||
(-flto): Likewise.
|
||
(tracer-dynamic-coverage-feedback): Likewise.
|
||
(reorder-block-duplicate-feedback): Likewise.
|
||
(loop-unroll-jam-size): Likewise.
|
||
(-B): Likewise.
|
||
(-I-): Likewise.
|
||
(-mabs=legacy): Likewise.
|
||
(-mupper-regs-df): Likewise.
|
||
(-mupper-regs-sf): Likewise.
|
||
(-mpointers-to-nested-functions): Likewise.
|
||
|
||
2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Cilk Plus Builtins): Add markup.
|
||
|
||
2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
|
||
additional index entries and cross-references.
|
||
(-fchkp-check-incomplete-type): Likewise.
|
||
(-fchkp-first-field-has-own-bounds): Likewise.
|
||
(-fchkp-narrow-to-innermost-array): Likewise.
|
||
(-fchkp-use-fast-string-functions): Likewise.
|
||
(-fchkp-use-nochk-string-functions): Likewise.
|
||
(-fchkp-use-static-const-bounds): Likewise.
|
||
(-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
|
||
(-fchkp-instrument-marked-only): Likewise.
|
||
(-fchkp-use-wrappers): Likewise.
|
||
(-static-libmpx): Likewise.
|
||
(-static-libmpxwrappers): Likewise.
|
||
* doc/extend.texi (bnd_legacy): Likewise.
|
||
(bnd_instrument): Likewise.
|
||
(bnd_variable_size): Likewise.
|
||
(Pointer Bounds Checker builtins): Likewise.
|
||
|
||
2015-03-21 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/65458
|
||
* cgraph.c (cgraph_node::dump): Handle parallelized_function field.
|
||
* cgraph.h (cgraph_node): Add parallelized_function field.
|
||
* lto-cgraph.c (lto_output_node): Write parallelized_function field.
|
||
(input_overwrite_node): Read parallelized_function field.
|
||
* omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
|
||
parallelized_function on cgraph_node for child_fn.
|
||
* tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
|
||
Remove include of gt-tree-parloops.h.
|
||
(parallelized_functions): Remove static variable.
|
||
(parallelized_function_p): Rewrite using parallelized_function field of
|
||
cgraph_node.
|
||
(create_loop_fn): Remove adding to parallelized_functions.
|
||
* Makefile.in (GTFILES): Remove tree-parloops.c
|
||
|
||
2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/64366
|
||
* lra.c (lra_update_insn_regno_info): Consider regs in
|
||
CALL_INSN_FUNCTION_USAGE memory.
|
||
|
||
2015-03-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/64715
|
||
* tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
|
||
for type comparison and gcc_checking_assert.
|
||
(chrec_fold_plus_poly_poly): Likewise.
|
||
(chrec_fold_multiply_poly_poly): Likewise.
|
||
(chrec_convert_1): Likewise.
|
||
* gimplify.c (gimplify_expr): Remove premature folding of
|
||
&X + CST to &MEM[&X, CST].
|
||
|
||
2015-03-20 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
|
||
already is final.
|
||
(ipa_inline): Recompute inline_failed codes.
|
||
* cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
|
||
USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
|
||
CIF_FINAL_ERROR.
|
||
|
||
2015-03-20 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR rtl-optimization/60851
|
||
* recog.c (constrain_operands): Accept a pseudo register before reload
|
||
for LRA enabled targets.
|
||
|
||
2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/65240
|
||
* config/rs6000/predicates.md (easy_fp_constant): Remove special
|
||
-ffast-math handling that kept non-0 constants live in the RTL
|
||
until reload. Remove logic testing the number of instructions it
|
||
took to create a constant in a GPR that was never used, due to a
|
||
test for soft-float earlier.
|
||
(memory_fp_constant): Delete, no longer used.
|
||
|
||
* config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
|
||
alternatives for loading non-0 constants into GPRs for hard
|
||
floating point that is no longer needed due to changes in
|
||
easy_fp_constant. Add support for loading 0.0 into GPRs.
|
||
(mov<mode>_hardfloat32): Likewise.
|
||
(mov<mode>_hardfloat64): Likewise.
|
||
(mov<mode>_64bit_dm): Likewise.
|
||
(movtd_64bit_nodm): Likewise.
|
||
(pre-reload move FP constant define_split): Delete define_split,
|
||
since it is no longer used.
|
||
(extenddftf2_internal): Remove GHF constraints that are not valid
|
||
for extenddftf2.
|
||
|
||
2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/63491
|
||
* lra-constraints.c (check_and_process_move): Use src instead of
|
||
sreg. Remove some dead code.
|
||
|
||
2015-03-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65380
|
||
* ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
|
||
(sem_variable::merge): Likewise.
|
||
|
||
2015-03-19 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/65465
|
||
* cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
|
||
all fields of cgraph_thunk_info.
|
||
|
||
2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* ipa-chkp.c (chkp_maybe_create_clone): Don't try to
|
||
clone instrumented thunks.
|
||
|
||
2015-03-19 Richard Biener <rguenther@suse.de>
|
||
|
||
Revert
|
||
2015-03-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/63155
|
||
* tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
|
||
* tree-ssa-coalesce.c: Include timevar.h.
|
||
(attempt_coalesce): Handle graph being NULL.
|
||
(coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
|
||
Split out abnormal coalescing to ...
|
||
(perform_abnormal_coalescing): ... this function.
|
||
(coalesce_ssa_name): Perform abnormal coalescing without computing
|
||
live/conflict.
|
||
(verify_ssa_coalescing_worker): New function.
|
||
(verify_ssa_coalescing): Likewise.
|
||
|
||
2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/65400
|
||
* tsan.c (instrument_gimple): Clear tail call flag on
|
||
calls.
|
||
|
||
2015-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/65400
|
||
* ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
|
||
call in the return bb.
|
||
(find_split_points): Add RETURN_BB argument, don't call
|
||
find_return_bb.
|
||
(split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
|
||
if true append TSAN_FUNC_EXIT internal call after the call to
|
||
the split off function.
|
||
(execute_split_functions): Call find_return_bb here.
|
||
Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
|
||
Adjust find_split_points and split_function calls.
|
||
|
||
2015-03-18 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
|
||
(iorqi3_virt): Likewise.
|
||
|
||
2015-03-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-parloops.c (parallelize_loops): Make static.
|
||
* tree-parloops.h (parallelize_loops): Remove extern declaration.
|
||
|
||
2015-03-18 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
PR middle-end/64491
|
||
Revert:
|
||
2014-11-20 Andrew Stubbs <ams@codesourcery.com>
|
||
|
||
* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
|
||
condition would be removed due to undefined behaviour.
|
||
|
||
2015-03-18 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/65432
|
||
* cgraph.c (cgraph_node::get_create): Remove unnecessary
|
||
xstrdup_for_dump wrapper.
|
||
* ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
|
||
sem_item::name.
|
||
(sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
|
||
with xstrdup_for_dump.
|
||
(sem_variable::equals): Likewise.
|
||
(sem_item_optimizer::read_section): Use symtab_node::name instead of
|
||
sem_item::name.
|
||
(sem_item_optimizer::parse_funcs_and_vars): Likewise.
|
||
(sem_item_optimizer::merge_classes): Wrap symtab_node::name and
|
||
symtab_node::asm_name with xstrdup_for_dump.
|
||
(congruence_class::dump): Use symtab_node::name instead of
|
||
sem_item::name.
|
||
* ipa-icf.h (symtab_node::name): Remove.
|
||
(symtab_node::asm_name): Likewise.
|
||
|
||
2015-03-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65450
|
||
* tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
|
||
function.
|
||
(vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
|
||
it instead of duplicate_ssa_name_ptr_info.
|
||
|
||
PR target/65222
|
||
* doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
|
||
|
||
2015-03-18 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-data-ref.h (struct access_matrix): Remove.
|
||
(AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
|
||
AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
|
||
AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
|
||
(am_vector_index_for_loop): Likewise.
|
||
(struct data_reference): Remove access_matrix member.
|
||
(DR_ACCESS_MATRIX): Remove.
|
||
(lambda_vector_new): Add comment.
|
||
(lambda_matrix_new): Use XOBNEWVEC.
|
||
|
||
2015-03-18 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
|
||
(pass_ch::execute): Cleanup the CFG only if we did sth.
|
||
* tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
|
||
|
||
2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* expmed.c (synth_mult): Use std::swap instead of manually
|
||
swapping algorithms.
|
||
|
||
2015-03-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65078
|
||
* config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
|
||
|
||
2015-03-16 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/65296
|
||
* config/avr/avr.opt (-nodevicelib): New option.
|
||
* doc/invoke.texi (AVR Options): Document it.
|
||
* config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
|
||
libgcc.a, libc.a, libm.a.
|
||
* config/avr/specs.h: Same.
|
||
* config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
|
||
which don't (directly) depend on the device. Print more help.
|
||
(*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
|
||
(*cpp): Don't define __AVR_DEV_LIB_NAME__.
|
||
* config/avr/driver-avr.c: Remove -nodevicelib from option list in
|
||
case of an error.
|
||
(avr_devicespecs_file): Use suffix "%s" instead of absolute path
|
||
for specs file name.
|
||
* config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
|
||
* config/avr/avr-mcus.def: Adjust initializers and comments.
|
||
|
||
2015-03-16 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree-sra.c (ipa_sra_preliminary_function_checks): Use
|
||
DECL_ONE_ONLY to check if decl is one only.
|
||
* ipa-split.c (consider_split): Limit splitt of one only functions.
|
||
|
||
2015-03-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65427
|
||
* tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
|
||
functions.
|
||
(expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
|
||
|
||
2015-03-16 Marek Polacek <polacek@redhat.com>
|
||
|
||
* cgraph.h (add_new_static_var): Remove declaration.
|
||
* varpool.c (add_new_static_var): Remove function.
|
||
|
||
2015-03-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
|
||
instead of vec<tree> * with vec_alloc and release for args.
|
||
Adjust all users.
|
||
|
||
PR middle-end/65431
|
||
* omp-low.c (delete_omp_context): Only splay_tree_delete
|
||
reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
|
||
is_gimple_omp_oacc contexts. Don't look at ctx->outer.
|
||
|
||
2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
|
||
|
||
PR sanitizer/64820
|
||
* cfgexpand.c (align_base): New function.
|
||
(alloc_stack_frame_space): Call it.
|
||
(expand_stack_vars): Align prev_frame to be sure
|
||
data->asan_vec elements aligned properly.
|
||
|
||
2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR middle-end/65409
|
||
* expr.c (store_field): Do not do a direct block copy if the source is
|
||
a PARALLEL with BLKmode.
|
||
|
||
2015-03-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR middle-end/65414
|
||
Revert:
|
||
2015-03-12 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR rtl-optimization/64895
|
||
* lra-lives.c (check_pseudos_live_through_calls): Use
|
||
actual_call_used_reg_set instead of call_used_reg_set, if available.
|
||
|
||
2015-03-16 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/63150
|
||
* config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
|
||
Modify Z->r bswapdi splitter to use dest in place of scratch.
|
||
In r->Z and Z->r bswapdi splitter rename word_high, word_low
|
||
to word1, word2 and rearrange logic to suit.
|
||
(bswapdi2_64bit): Remove early clobber on Z->r alternative.
|
||
(bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
|
||
(bswapdi2_32bit): Remove early clobber on Z->r alternative.
|
||
Add one '?' on r->r. Modify Z->r splitter to avoid need for
|
||
early clobber.
|
||
|
||
2015-03-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65369
|
||
* tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
|
||
Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
|
||
(vs - 1) * TYPE_SIZE_UNIT (elem_type).
|
||
|
||
PR tree-optimization/65418
|
||
* tree-ssa-reassoc.c (extract_bit_test_mask): If there
|
||
are casts in the first PLUS_EXPR operand, ensure tbias and
|
||
*totallowp are in the inner type.
|
||
|
||
PR rtl-optimization/65401
|
||
* combine.c (rtx_equal_for_field_assignment_p): Add widen_x
|
||
argument. If true, adjust_address_nv of x with big-endian
|
||
correction for the mode widening to GET_MODE (y).
|
||
(make_field_assignment): Don't do MEM mode widening here.
|
||
Use MEM_P instead of GET_CODE == MEM.
|
||
|
||
2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
|
||
|
||
* varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
|
||
the external decls.
|
||
|
||
2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/64600
|
||
* config/arm/arm.c (arm_gen_constant, AND case): Use
|
||
ARM_SIGN_EXTEND when constructing AND mask.
|
||
|
||
2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* graph.c (print_graph_cfg): Make function names visible and append
|
||
parenthesis to it. Also make groups of basic blocks belonging to the
|
||
same function visible.
|
||
|
||
2015-03-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/44563
|
||
* tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
|
||
to avoid quadratic behavior with inline expansion splitting blocks.
|
||
* tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
|
||
with the successor if the predecessor will be merged with it.
|
||
* tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
|
||
entry block with its successor.
|
||
|
||
2015-03-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/44563
|
||
* tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
|
||
(cleanup_tree_cfg_1): Do not call it.
|
||
(execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
|
||
(fixup_noreturn_call): Mark the stmt as control altering.
|
||
* tree-cfg.c (execute_fixup_cfg): Do not dump the function
|
||
here.
|
||
(pass_data_fixup_cfg): Produce a dump file.
|
||
* tree-ssa-dom.c: Include tree-cfgcleanup.h.
|
||
(need_noreturn_fixup): New global.
|
||
(pass_dominator::execute): Fixup queued noreturn calls.
|
||
(optimize_stmt): Queue calls that became noreturn for fixup.
|
||
* tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
|
||
* tree-ssa-pre.c: Include tree-cfgcleanup.h.
|
||
(el_to_fixup): New global.
|
||
(eliminate_dom_walker::before_dom_childre): Queue calls that
|
||
became noreturn for fixup.
|
||
(eliminate): Fixup queued noreturn calls.
|
||
* tree-ssa-propagate.c: Include tree-cfgcleanup.h.
|
||
(substitute_and_fold_dom_walker): New member stmts_to_fixup.
|
||
(substitute_and_fold_dom_walker::before_dom_children): Queue
|
||
alls that became noreturn for fixup.
|
||
(substitute_and_fold): Fixup queued noreturn calls.
|
||
|
||
2015-03-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
|
||
and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
|
||
are building; for methods check ODR type of class they belong to if
|
||
they may lead to a polymorphic call.
|
||
(sem_function::compare_polymorphic_p): Be bit smarter about testing
|
||
when function may lead to a polymorphic call.
|
||
(sem_function::compare_type_list): Remove.
|
||
(sem_variable::equals): Update use of compatible_types_p.
|
||
(sem_variable::parse_tree_refs): Remove.
|
||
(sem_item_optimizer::filter_removed_items): Do not filter out CXX
|
||
cdtor.
|
||
* ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
|
||
matching here.
|
||
(func_checker::compatible_polymorphic_types_p): Break out from ...
|
||
(unc_checker::compatible_types_p): ... here.
|
||
* ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
|
||
Declare.
|
||
(unc_checker::compatible_types_p): Update.
|
||
* ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
|
||
Remove.
|
||
|
||
2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR rtl-optimization/65235
|
||
* simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
|
||
When first element of vec_concat is const_int, calculate its size
|
||
using second element.
|
||
|
||
2015-03-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/65270
|
||
* fold-const.c (operand_equal_p): Fix ordering of resetting
|
||
OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
|
||
|
||
2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_reorg): Move code to output nops after label
|
||
to s390_reorg ().
|
||
(s390_asm_output_function_label): Likewise.
|
||
* config/s390/s390.c (s390_asm_output_function_label):
|
||
Fix function label alignment with -mhtopatch.
|
||
* config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
|
||
UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
|
||
("nop_2_byte"): New define_insn.
|
||
("nop_4_byte"): Likewise.
|
||
("nop_6_byte"): Likewise.
|
||
* doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
|
||
* doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
|
||
|
||
2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/65103
|
||
* config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
|
||
register.
|
||
|
||
2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/65044
|
||
* toplev.c (process_options): Restrict Pointer Bounds Checker
|
||
usage with Address Sanitizer.
|
||
|
||
2015-03-12 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-cfg.c (gimple_split_block): Remove loop finding stmt
|
||
to split on.
|
||
* omp-low.c (expand_omp_taskreg): Split block before removing
|
||
the stmt.
|
||
(expand_omp_target): Likewise.
|
||
* ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
|
||
* tree-parloops.c (create_call_for_reduction_1): Pass a proper
|
||
stmt to split_block.
|
||
|
||
2015-03-12 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR rtl-optimization/64895
|
||
* lra-lives.c (check_pseudos_live_through_calls): Use
|
||
actual_call_used_reg_set instead of call_used_reg_set, if available.
|
||
|
||
2015-03-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
|
||
(cgraph_node::remove): Likewise.
|
||
(cgraph_node::get_untransformed_body): Likewise.
|
||
* varpool.c (varpool_node::remove): Likewise.
|
||
(varpool_node::get_constructor): Add sanity check.
|
||
|
||
2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (-fgnu89-inline): Remove discussion about
|
||
old GCC versions.
|
||
(-fabi-compat-version): Likewise.
|
||
(-ffriend-injection): Likewise.
|
||
(-Wdeclaration-after-statement): Likewise.
|
||
(-fomit-frame-pointer): Likewise.
|
||
(-ftree-coalesce-inlined-vars): Likewise.
|
||
(-fvisibility=): Likewise.
|
||
* doc/extend.texi (Typeof): Likewise.
|
||
(Zero Length): Likewise.
|
||
(Escaped Newlines): Likewise.
|
||
(Compound Literals): Likewise.
|
||
(Function Attributes): Likewise.
|
||
(Label Attributes): Likewise.
|
||
(Type Attributes): Likewise.
|
||
(Function Names): Likewise.
|
||
(Other Builtins): Likewise.
|
||
(Function Specific Option Pragmas): Likewise.
|
||
(C++ Interface): Likewise.
|
||
|
||
2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
|
||
|
||
2015-03-11 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR tree-optimization/65388
|
||
* tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
|
||
|
||
2015-03-10 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/65296
|
||
* configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
* doc/invoke.texi (AVR Options) [-mrmw]: Document it.
|
||
[-mn-flash]: Document it.
|
||
[__AVR_ARCH__]: Document avrtiny.
|
||
|
||
* config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
|
||
(*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
|
||
(*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
|
||
|
||
2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* doc/invoke.texi: Add missing cpu values (z196, zEC12).
|
||
|
||
2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/65242
|
||
* config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
|
||
allow reloads of PLUS in floating point/VSX registers.
|
||
|
||
2015-03-11 Junmo Park <junmoz.park@samsung.com>
|
||
|
||
* config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
|
||
crypto_sha256_fast.
|
||
(cortex_a57_crypto_complex): Add crypto_sha256_slow.
|
||
|
||
2015-03-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65310
|
||
* tree-sra.c (build_ref_for_offset): Also preserve larger
|
||
alignment.
|
||
|
||
2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
|
||
|
||
* asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
|
||
|
||
2015-03-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65368
|
||
* config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
|
||
new define_expand.
|
||
(*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
|
||
|
||
2015-03-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
|
||
(sem_function::equals_wpa): ... here.
|
||
|
||
2015-03-10 Marek Polacek <polacek@redhat.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/65367
|
||
* ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
|
||
when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
|
||
separately.
|
||
|
||
2015-03-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/65286
|
||
* config/rs6000/t-linux: For powerpc64* target set
|
||
MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
|
||
|
||
2015-03-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/44563
|
||
* tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
|
||
for redirect_all_calls.
|
||
|
||
2015-03-10 Marek Polacek <polacek@redhat.com>
|
||
|
||
* gdbinit.in (pcfun): Define and document.
|
||
|
||
2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
|
||
|
||
* config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
|
||
of libgomp-plugin.h.
|
||
(find_target_compiler): Support a case when the path to gcc is
|
||
specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
|
||
(generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
|
||
intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
|
||
libgomp-plugin.h.
|
||
(main): Use GCC_INSTALL_NAME as target_driver_name.
|
||
* config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
|
||
define.
|
||
(mkoffload.o): Remove obsolete include path and defines.
|
||
(mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
|
||
|
||
2015-03-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/63155
|
||
* tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
|
||
* tree-ssa-coalesce.c: Include timevar.h.
|
||
(attempt_coalesce): Handle graph being NULL.
|
||
(coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
|
||
Split out abnormal coalescing to ...
|
||
(perform_abnormal_coalescing): ... this function.
|
||
(coalesce_ssa_name): Perform abnormal coalescing without computing
|
||
live/conflict.
|
||
(verify_ssa_coalescing_worker): New function.
|
||
(verify_ssa_coalescing): Likewise.
|
||
|
||
2015-03-10 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/65296
|
||
* config.gcc (extra_options) [avr]: Remove.
|
||
(extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
|
||
(tm_file) [avr]: Add avr/specs.h after avr/avr.h.
|
||
(tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
|
||
|
||
* config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
|
||
(-mmcu=): Add Var and MissingArgError properties.
|
||
(-march=): Remove.
|
||
* config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
|
||
* config/avr/t-multilib: Regenerate.
|
||
* config/avr/specs.h: New file.
|
||
* config/avr/driver-avr.c: New file.
|
||
* config/avr/genopt.sh: Remove file.
|
||
* config/avr/avr-tables.opt: Remove file.
|
||
* config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
|
||
* config/avr/avr-c.c: Same.
|
||
* avr-arch.h: Same.
|
||
(avr_current_device): Remove proto.
|
||
* config/avr/avr.h (avr_current_arch): Rename to avr_arch.
|
||
(AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
|
||
(EXTRA_SPEC_FUNCTIONS): Define.
|
||
(avr_devicespecs_file): New specs function proto.
|
||
(DRIVER_SELF_SPECS): Use device-specs-file spec function.
|
||
* config/avr/avr.c (avr_current_arch): Rename to avr_arch.
|
||
(avr_current_device): Remove definition and usage.
|
||
(avr_set_core_architecture): New static function.
|
||
(avr_option_override): Use it.
|
||
* config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
|
||
(mcu_name): New static array.
|
||
(comparator, avr_archs_str, avr_mcus_str): New static functions.
|
||
(avr_inform_devices, avr_inform_core_architectures): New functions.
|
||
* config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
|
||
(avrlibc.h) [WITH_AVRLIBC]: Include.
|
||
(../rtems.h, rtems.h) [WITH_RTEMS]: Include.
|
||
(print_mcu): Rewrite from scratch.
|
||
* config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
|
||
Forward to avr-specific specs defined in device-specs file.
|
||
* config/avr/t-avr (driver-avr.o): New rule.
|
||
(avr-devices.o): Depend on avr-arch.h.
|
||
(avr-mcus): No more depend on avr-tables.opt.
|
||
(avr-tables.opt): Remove rule.
|
||
(install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
|
||
|
||
2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* c-family/c.opt (fchkp-use-wrappers): New.
|
||
* ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
|
||
(chkp_wrap_function): New.
|
||
(chkp_build_instrumented_fndecl): Support wrapped
|
||
functions.
|
||
* doc/invoke.texi (-fcheck-pointer-bounds): New.
|
||
(-fchkp-check-incomplete-type): New.
|
||
(-fchkp-first-field-has-own-bounds): New.
|
||
(-fchkp-narrow-bounds): New.
|
||
(-fchkp-narrow-to-innermost-array): New.
|
||
(-fchkp-optimize): New.
|
||
(-fchkp-use-fast-string-functions): New.
|
||
(-fchkp-use-nochk-string-functions): New.
|
||
(-fchkp-use-static-bounds): New.
|
||
(-fchkp-use-static-const-bounds): New.
|
||
(-fchkp-treat-zero-dynamic-size-as-infinite): New.
|
||
(-fchkp-check-read): New.
|
||
(-fchkp-check-write): New.
|
||
(-fchkp-store-bounds): New.
|
||
(-fchkp-instrument-calls): New.
|
||
(-fchkp-instrument-marked-only): New.
|
||
(-fchkp-use-wrappers): New.
|
||
(-static-libmpx): New.
|
||
(-static-libmpxwrappers): New.
|
||
|
||
2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
|
||
(CHKP_SPEC): Add wrappers library.
|
||
* c-family/c.opt (static-libmpxwrappers): New.
|
||
|
||
2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* config/i386/linux-common.h (LIBMPX_LIBS): New.
|
||
(LIBMPX_SPEC): New.
|
||
(CHKP_SPEC): New.
|
||
* gcc.c (CHKP_SPEC): New.
|
||
(LINK_COMMAND_SPEC): Add CHKP_SPEC.
|
||
* c-family/c.opt (static-libmpx): New.
|
||
|
||
2015-03-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/44563
|
||
* cgraph.h (struct cgraph_edge_hasher): Add hash overload
|
||
for compare_type.
|
||
* cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
|
||
(cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
|
||
(cgraph_add_edge_to_call_site_hash): Likewise.
|
||
(cgraph_node::get_edge): Likewise.
|
||
(cgraph_edge::set_call_stmt): Likewise.
|
||
(cgraph_edge::remove_caller): Likewise.
|
||
|
||
2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
|
||
(callee_saved_gpr_regs_size): ... this.
|
||
(callee_saved_regs_first_regno): Rename to ...
|
||
(callee_saved_first_gpr_regno): ... this.
|
||
(callee_saved_regs_last_regno) Rename to ...
|
||
(callee_saved_last_gpr_regno): ... this.
|
||
* config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
|
||
variables.
|
||
(nds32_initial_elimination_offset): Likewise.
|
||
(nds32_expand_prologue): Likewise.
|
||
(nds32_expand_epilogue): Likewise.
|
||
(nds32_expand_prologue_v3push): Likewise.
|
||
(nds32_expand_epilogue_v3pop): Likewise.
|
||
* config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
|
||
Adjust renamed variables.
|
||
(nds32_output_stack_pop): Likewise.
|
||
|
||
2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
|
||
code in comment.
|
||
|
||
2015-03-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/65321
|
||
* cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
|
||
than shift mode.
|
||
* var-tracking.c (use_narrower_mode): Likewise.
|
||
|
||
2015-03-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR tree-optimization/65355
|
||
* varasm.c (notice_global_symbol): Do not produce RTL.
|
||
* symtab.c (symtab_node::can_increase_alignment_p): Check for section
|
||
anchor.
|
||
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
|
||
check for section anchors.
|
||
|
||
2015-03-10 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/65286
|
||
* config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
|
||
to be single-arch by default. Set cpu_is_64bit for powerpc64
|
||
given --with-cpu=native.
|
||
* config/rs6000/t-fprules: Do not set default MULTILIB vars.
|
||
* config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
|
||
and powerpc64le.
|
||
* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
|
||
rs6000_isa_flags rather than TARGET_64BIT.
|
||
|
||
2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
|
||
Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
* config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
|
||
|
||
2015-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/65361
|
||
* ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
|
||
on a TREE_BINFO, instead use BINFO_TYPE.
|
||
|
||
2015-03-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/65270
|
||
* tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
|
||
* fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
|
||
operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
|
||
of that. When comparing dereferences compare alignment.
|
||
When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
|
||
|
||
2015-03-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-inline-analysis.c (check_callers): Check
|
||
node->can_remove_if_no_direct_calls_and_refs_p.
|
||
(growth_likely_positive): Reorganize to call
|
||
can_remove_if_no_direct_calls_p later.
|
||
* cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
|
||
will_be_removed_from_program_if_no_direct_calls_p): Add
|
||
will_inline parameter.
|
||
* cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
|
||
cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
|
||
Handle inliner case correctly.
|
||
|
||
2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR tree-optimization/63743
|
||
* cfgexpand.c (reorder_operands): Also reorder if only second operand
|
||
had its definition forwarded by TER.
|
||
|
||
2015-03-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/65316
|
||
* ipa-utils.h (types_odr_comparable): Add strict argument.
|
||
* ipa-devirt.c: Fix whitespace;
|
||
(odr_hasher): Remove.
|
||
(odr_name_hasher, odr_vtable_hasher): New hashers.
|
||
(can_be_name_hashed_p): New predicate.
|
||
(hash_type_name): remove.
|
||
(hash_odr_name): New.
|
||
(odr_name_hasher::hash): new.
|
||
(can_be_vtable_hashed_p): New.
|
||
(hash_odr_vtable): New.
|
||
(odr_vtable_hasher::hash): New.
|
||
(types_same_for_odr): Add strict parameter.
|
||
(types_odr_comparable): Likewise.
|
||
(odr_name_hasher::equal): New.
|
||
(odr_vtable_hasher::equal): New.
|
||
(odr_name_hasher::remove): New.
|
||
(odr_hash_type): Change to hash_table<odr_name_hasher>.
|
||
(odr_vtable_hash_type): New.
|
||
(odr_vtable_hash): New.
|
||
(odr_subtypes_equivalent_p): Do strict comparsion.
|
||
(add_type_duplicate): Merge type names; cleanup; avoid type
|
||
duplicates.
|
||
(register_odr_type): Initialize vtable hash.
|
||
(build_type_inheritance_graph): Likewise
|
||
(get_odr_type): Reorg to use two hashes.
|
||
(dump_possible_polymorphic_call_targets): Move sanity check after debug
|
||
output.
|
||
(ipa_devirt): Dump type_inheritance_graph.
|
||
(types_same_for_odr): Add strict mode.
|
||
|
||
2015-03-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65334
|
||
* cgraph.h (symtab_node): Add definition_alignment,
|
||
can_increase_alignment_p and increase_alignment.
|
||
* symtab.c (symtab_node::can_increase_alignment_p,
|
||
increase_alignment_1, symtab_node::increase_alignment,
|
||
symtab_node::definition_alignment): New.
|
||
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
|
||
can_increase_alignment_p.
|
||
* tree-vectorizer.c (increase_alignment): Use increase_alignment.
|
||
* tree-vect-stmts.c (ensure_base_align): Likewise.
|
||
* varasm.c (function_section_1): Use definition_alignment.
|
||
(assemble_start_function): Likewise.
|
||
(emit_local): likewise.
|
||
(build_constant_desc): Likewsie.
|
||
(output_constant_def_contents): Likewise.
|
||
(place_block_symbol): Likewise.
|
||
(output_object_block): Likewise.
|
||
|
||
2015-03-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65316
|
||
* tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
|
||
when outputting debug.
|
||
|
||
2015-03-07 Marek Polacek <polacek@redhat.com>
|
||
Martin Uecker <uecker@eecs.berkeley.edu>
|
||
|
||
PR sanitizer/65280
|
||
* doc/invoke.texi: Update description of -fsanitize=bounds.
|
||
|
||
2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
|
||
|
||
* tree-ssa-phiopt.c (neg_replacement): Remove.
|
||
(tree_ssa_phiopt_worker): Remove negate optimization.
|
||
|
||
2015-03-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65302
|
||
* value-prof.c (gimple_ic): Pure dead eh edges when needed.
|
||
|
||
2015-03-06 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/64928
|
||
* tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
|
||
and liveout_obstack members.
|
||
(calculate_live_on_exit): Remove.
|
||
(calculate_live_ranges): Change declaration.
|
||
* tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
|
||
(new_tree_live_info): Adjust.
|
||
(calculate_live_ranges): Delete livein when not wanted.
|
||
(calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
|
||
Deal with partly deleted live info.
|
||
(loe_visit_block): Remove temporary bitmap by using
|
||
bitmap_ior_and_compl_into.
|
||
(live_worklist): Adjust accordingly.
|
||
(calculate_live_on_exit): Make static.
|
||
* tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
|
||
we do not need livein.
|
||
|
||
2015-03-06 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* real.c (real_from_string): Fix typo in assertion.
|
||
|
||
2015-03-06 Alex Velenko <alex.velenko@arm.com>
|
||
|
||
* ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
|
||
the patch.
|
||
|
||
2015-03-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
|
||
|
||
2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/64342
|
||
* lra-assigns.c (find_hard_regno_for): Rename to
|
||
find_hard_regno_for_1. Add a new parameter.
|
||
(find_hard_regno_for): New function using find_hard_regno_for_1.
|
||
|
||
2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR rtl-optimization/65067
|
||
* expmed.c (store_bit_field, extract_bit_field): Reworked the
|
||
strict volatile bitfield handling.
|
||
|
||
2015-03-05 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/65318
|
||
* ipa-icf.c (sem_variable::equals): Compare variables types.
|
||
|
||
2015-03-05 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/65121
|
||
* config/arm/arm.c (arm_function_in_section_p): Fix predicate to
|
||
correctly check weak symbol binding.
|
||
|
||
2015-03-05 Steve Ellcey <sellcey@imgtec.com>
|
||
|
||
PR middle-end/65315
|
||
* cfgexpand.c (expand_stack_vars): Update large_align to maximum
|
||
needed alignment.
|
||
|
||
2015-03-05 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-inline.c (inline_small_functions): Set default value to
|
||
prevent warning during bootstrap.
|
||
* tree.h: Add pragma guard that ignores false positives during
|
||
bootstrap.
|
||
|
||
2015-03-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65310
|
||
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
|
||
Properly preserve alignment of the base of the access.
|
||
|
||
2015-03-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/65270
|
||
* ipa-icf-gimple.c (func_checker::compare_memory_operand):
|
||
Compare dependence info.
|
||
|
||
2015-03-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/65233
|
||
* ipa-polymorphic-call.c: Include tree-ssa-operands.h and
|
||
tree-into-ssa.h.
|
||
(walk_ssa_copies): Revert last chage. Instead do not walk
|
||
SSA names registered for SSA update.
|
||
|
||
2015-03-03 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65270
|
||
* ipa-icf.c (sem_item::compare_cgraph_references): Compare
|
||
vtable references for their containing type.
|
||
(sem_function::equals_wpa): Compare TYPE_RESTRICT
|
||
and type attributes.
|
||
|
||
2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* fold-const.c (round_up_loc): Cast divisor to signed on all paths
|
||
before negating it.
|
||
* stor-layout.c (finalize_record_size): Revert latest change.
|
||
|
||
2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
|
||
|
||
2015-03-03 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
|
||
for correct comdat handling.
|
||
(cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
|
||
Likewise.
|
||
* cgraph.h (call_for_symbol_and_aliases): Fix formating.
|
||
(used_from_object_file_p_worker): Remove.
|
||
(cgraph_node::only_called_directly_or_alised): Add
|
||
used_from_object_file_p.
|
||
* ipa-inline-analysis.c (growth_likely_positive): Optimie.
|
||
* ipa-inline-transform.c (can_remove_node_now_p_1): Use
|
||
can_remove_if_no_direct_calls_and_refs_p.
|
||
|
||
2015-03-04 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78.h (enum reg_class): Remove real registers from
|
||
General register class.
|
||
* config/rl78/rl78-real.md: Replace general register constraints
|
||
with real+virtual register constraints.
|
||
|
||
2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
|
||
from checking for -mhtm option.
|
||
|
||
2015-03-03 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
|
||
(struct ipa_sra_check_caller_data): Add has_thunk field.
|
||
(ipa_sra_check_caller): Check for thunk.
|
||
(ipa_sra_preliminary_function_checks): Give up on function with
|
||
thunks.
|
||
(ipa_early_sra): Use call_for_symbol_and_aliases.
|
||
|
||
2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
PR target/65249
|
||
* config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
|
||
called for __stack_chk_guard symbol.
|
||
|
||
2015-03-03 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
|
||
inc/dec.
|
||
(*addhi3_real): Likewise.
|
||
* config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
|
||
pattern to match incrementing memory.
|
||
* config/rl78/predicates.md (rl78_1_2_operand): New.
|
||
* config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
|
||
it's the same and only mem.
|
||
(rl78_alloc_physical_registers_op2): If there's effectively only
|
||
one MEM, transcode it into HL.
|
||
(rl78_far_p): Reject addresses that aren't legitimate.
|
||
|
||
2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
|
||
negating it.
|
||
|
||
* tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
|
||
|
||
2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
Implement call0 ABI for xtensa
|
||
* config/xtensa/constraints.md ("a" constraint): Include stack
|
||
pointer in case of call0 ABI.
|
||
("q" constraint): Make empty in case of call0 ABI.
|
||
("D" constraint): Include stack pointer in case of call0 ABI.
|
||
* config/xtensa/xtensa-protos.h (xtensa_set_return_address,
|
||
xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
|
||
prototypes.
|
||
* config/xtensa/xtensa.c (xtensa_callee_save_size): New
|
||
variable.
|
||
(xtensa_regno_to_class): Make it a local variable in the
|
||
function xtensa_regno_to_class.
|
||
(xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
|
||
macro, function prototype and implementation.
|
||
(reg_nonleaf_alloc_order): Make it a local variable in the
|
||
function order_regs_for_local_alloc.
|
||
(xtensa_conditional_register_usage): New function.
|
||
(TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
|
||
(xtensa_valid_move): Allow direct moves to stack pointer
|
||
register in call0 ABI.
|
||
(xtensa_setup_frame_addresses): Only spill register windows in
|
||
windowed ABI.
|
||
(xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
|
||
call0 ABI respectively.
|
||
(xtensa_function_arg_1): Only mark a7 register for copying in
|
||
windowed ABI.
|
||
(xtensa_call_save_reg): New function.
|
||
(compute_frame_size): Add space for callee saved register
|
||
storage to the frame size in call0 ABI.
|
||
(xtensa_expand_prologue): Generate code to set up stack frame
|
||
and save callee-saved registers in call0 ABI.
|
||
(xtensa_expand_epilogue): New function.
|
||
(xtensa_set_return_address): New function.
|
||
(xtensa_return_addr): Calculate return address in call0 ABI.
|
||
(xtensa_builtin_saveregs): Only mark a7 register for copying and
|
||
emit copying code in windowed ABI.
|
||
(order_regs_for_local_alloc): Add preferred register allocation
|
||
order for non-leaf function in call0 ABI.
|
||
(xtensa_static_chain): Add atatic chain passing for call0 ABI.
|
||
(xtensa_asm_trampoline_template): Add trampoline generation for
|
||
call0 ABI.
|
||
(xtensa_trampoline_init): Add trampoline initialization for
|
||
call0 ABI.
|
||
(xtensa_conditional_register_usage, xtensa_regno_to_class): New
|
||
functions.
|
||
* config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
|
||
(TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
|
||
(CALL_USED_REGISTERS): Modify to encode both windowed and call0
|
||
ABI call-used registers.
|
||
(HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
|
||
(INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
|
||
call0 ABI.
|
||
(REG_CLASS_CONTENTS): Include all registers into the preferred
|
||
reload registers set, adjust the set in the
|
||
xtensa_conditional_register_usage.
|
||
(xtensa_regno_to_class): Drop variable declaration.
|
||
(REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
|
||
function.
|
||
(WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
|
||
respectively.
|
||
(FUNCTION_PROFILER): Add _mcount call for call0 ABI.
|
||
(TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
|
||
(RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
|
||
(ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
|
||
location in call0 ABI.
|
||
(EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
|
||
stack adjustment size when handling exception.
|
||
(CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
|
||
* config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
|
||
definitions.
|
||
("return" pattern): Generate ret.n/ret in call0 ABI.
|
||
("epilogue" pattern): Expand epilogue.
|
||
("nonlocal_goto" pattern): Use default in call0 ABI.
|
||
("eh_return" pattern): Move implementation to eh_set_a0_windowed,
|
||
emit eh_set_a0_* depending on ABI.
|
||
("eh_set_a0_windowed" pattern): Former eh_return pattern.
|
||
("eh_set_a0_call0", "blockage"): New patterns.
|
||
|
||
2015-03-03 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/65287
|
||
* ipa-icf.c (sem_variable::parse): Skip all alias variables.
|
||
|
||
2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR 65138/target
|
||
* config/rs6000/rs6000-tables.opt: Regenerate table.
|
||
|
||
2015-03-03 Renlin Li <renlin.li@arm.com>
|
||
|
||
* doc/md.texi (@item ^): Change ? into ^.
|
||
|
||
2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* doc/tm.texi: Regenerated.
|
||
|
||
2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* builtins.c (expand_builtin_return_addr): Add
|
||
RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
|
||
surrounding #ifdef.
|
||
* config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
|
||
definition to 1.
|
||
* config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
|
||
Likewise.
|
||
* defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
|
||
undefined.
|
||
* doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
|
||
paragraph.
|
||
|
||
2015-03-03 Martin Jambor <mjambor@suse.cz>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* tree-sra.c (ipa_sra_check_caller_data): New type.
|
||
(has_caller_p): Removed.
|
||
(ipa_sra_check_caller): New function.
|
||
(ipa_sra_preliminary_function_checks): Use it.
|
||
|
||
2015-03-03 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
|
||
instead of if branch.
|
||
|
||
2015-03-03 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/65282
|
||
* ipa-icf.c (sem_variable::equals): Fix wrong condition.
|
||
|
||
2015-03-23 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/65241
|
||
* tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
|
||
hash table if INSERT is true.
|
||
|
||
2015-03-03 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/65296
|
||
* config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
|
||
|
||
2015-03-03 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/64331
|
||
* config/avr/avr.c (context.h, tree-pass.h): Include them.
|
||
(avr_pass_data_recompute_notes): New static variable.
|
||
(avr_pass_recompute_notes): New class.
|
||
(avr_register_passes): New static function.
|
||
(avr_option_override): Call it.
|
||
|
||
2015-03-03 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Fix various problems with specs file generation.
|
||
|
||
PR target/65296
|
||
* config.gcc (extra_gcc_objs) [avr]: Remove.
|
||
* config/avr/driver-avr.c: Remove file.
|
||
* config/avr/t-avr (driver-avr.o): Remove rule.
|
||
(gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
|
||
INCLUDES to build. Depend on TM_H.
|
||
* config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
|
||
build warnings. Fix non-matching types and non-existing %-codes.
|
||
(tm.h): Include.
|
||
(*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
|
||
(*libgcc) [WITH_AVRLIBC]: Add "-lm".
|
||
* config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
|
||
* config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
|
||
(CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
|
||
(LIBGCC_SPEC): Remove definitions.
|
||
|
||
2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
|
||
to create a register in testing mode.
|
||
|
||
2015-03-03 Martin Liska <mliska@suse.cz>
|
||
Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65263
|
||
* cgraph.c (cgraph_node::has_thunk_p): New function.
|
||
* cgraph.h (cgraph_node::has_thunk_p: Likewise.
|
||
* ipa-icf.c (redirect_all_callers): Do not redirect thunks.
|
||
(sem_function::merge): Assert is changed.
|
||
|
||
2015-03-03 Martin Liska <mliska@suse.cz>
|
||
Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/65087
|
||
* ipa-icf.c (sem_item_optimizer::execute): Change function
|
||
return value to boolean.
|
||
(sem_item_optimizer::merge_classes): Likewise.
|
||
(ipa_icf_driver): Return TODO_remove_functions in case there's
|
||
a merge operation processed.
|
||
* ipa-icf.h: Change function return value to boolean.
|
||
|
||
2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR 65138/target
|
||
* config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
|
||
processor type for 64-bit little endian PowerPC.
|
||
|
||
* config/rs6000/rs6000.c (rs6000_option_override_internal): If
|
||
-mdebug=reg, print TARGET_DEFAULT. Fix logic to use
|
||
TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
|
||
printing built-in mask so it does not pass NULL pointers.
|
||
|
||
* doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
|
||
-mcpu=powerpc64le.
|
||
|
||
2015-03-02 Steve Ellcey <sellcey@imgtec.com>
|
||
|
||
PR target/58158
|
||
* config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
|
||
!ISA_HAS_FP_CONDMOVE.
|
||
|
||
2015-03-02 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* config/i386/i386.md (*udivmod<mode>4_pow2): Remove
|
||
reload_completed.
|
||
|
||
2015-03-02 Ulrich Drepper <drepper@gmail.com>
|
||
|
||
* doc/invoke.texi (Options for Code Generation Conventions):
|
||
Fix URL of DSO paper.
|
||
|
||
2015-03-02 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65130
|
||
* ipa-inline.c (check_callers): Looks for recursion.
|
||
(inline_to_all_callers): Give up on uninlinable or recursive edges.
|
||
* ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
|
||
summary of inline clones.
|
||
(do_estimate_growth_1): Fix recursion check.
|
||
|
||
2015-03-02 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64988
|
||
* ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
|
||
comdat groups.
|
||
|
||
2015-03-02 Jan Hubicka <hubicka@ucw.cz>
|
||
Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR lto/65276
|
||
* ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
|
||
when checking TYPE_BINFO.
|
||
|
||
2015-03-02 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/65270
|
||
* ipa-icf-gimple.c: Include builtins.h.
|
||
(func_checker::compare_memory_operand): Compare base alignment.
|
||
|
||
2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/65184
|
||
* gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
|
||
are never passed by reference.
|
||
|
||
2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/65183
|
||
* tree-chkp.c (chkp_check_lower): Don't check against
|
||
zero bounds for already instrumented functions.
|
||
(chkp_check_upper): Likewise.
|
||
(chkp_fini): Clean pass local data to avoid wrong reusage.
|
||
|
||
2015-02-28 Martin Liska <mliska@suse.cz>
|
||
Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (sem_variable::equals): Improve debug output;
|
||
get variable constructor.
|
||
(sem_variable::parse): Do not filter out too early; give up on
|
||
volatile and register vars.
|
||
(sem_item_optimizer::filter_removed_items): Filter out nonreadonly
|
||
variables.
|
||
* ipa-icf.h (sem_variable::init): Do not set ctor.
|
||
(sem_variable::ctor): Remove.
|
||
|
||
2015-03-01 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR middle-end/65233
|
||
* ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
|
||
|
||
2015-02-28 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c: Include stor-layout.h
|
||
(sem_function::compare_cgraph_references): Rename to ...
|
||
(sem_item::compare_cgraph_references): ... this one.
|
||
(sem_variable::equals_wpa): New function
|
||
(sem_variable::equals): Do not check stuff already verified by
|
||
equals_wpa.
|
||
(sem_variable::equals): Reorg based on varasm.c:compare_constant.
|
||
* ipa-icf.h (sem_item): Add compare_cgraph_references.
|
||
(sem_function): Remove compare_cgraph_references.
|
||
(sem_variable): Turns equals_wpa into non-inline.
|
||
|
||
2015-02-28 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
|
||
(sem_item::add_expr): New function.
|
||
(sem_function::hash_stmt): Handle operands of most statements.
|
||
(sem_variable::get_hash): Hash the actual constructor.
|
||
* ipa-icf.h (sem_item): Add add_expr.
|
||
(sem_function): Update prototype of hash_stmt
|
||
|
||
2015-02-28 Martin Liska <mliska@suse.cz>
|
||
Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65245
|
||
* ipa-icf-gimple.c (func_checker::compare_function_decl):
|
||
Remove.
|
||
(func_checker::compare_variable_decl): Skip symtab vars.
|
||
(func_checker::compare_cst_or_decl): Update.
|
||
* ipa-icf.c (sem_function::parse): Do not consider aliases.
|
||
(sem_function::compare_cgraph_references): Add ADDRESS parameter;
|
||
use correct symtab predicates.
|
||
(sem_function::equals_wpa): Update uses of compare_cgraph_references.
|
||
(sem_variable::parse): Update comment.
|
||
(sem_item_optimizer::build_graph): Consider ultimate aliases
|
||
for references.
|
||
|
||
2015-02-28 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
|
||
of OBJ_TYPE_REF.
|
||
|
||
2015-02-28 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
|
||
(sem_variable::merge) Likewise.
|
||
|
||
2015-02-28 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
|
||
target; also match flag_ipa_devirt.
|
||
|
||
2015-03-01 Martin Liska <mliska@suse.cz>
|
||
Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-icf-gimple.c (func_checker::compare_variable_decl):
|
||
Validate variable alignment.
|
||
* ipa-icf.c (sem_function::equals_private): Be more precise
|
||
about non-common function attributes.
|
||
(sem_variable::equals): Likewise.
|
||
|
||
2015-02-28 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65237
|
||
* ipa-icf.c (sem_function::merge): Do not attempt to produce alias
|
||
across COMDAT group boundary.
|
||
|
||
2015-02-28 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65232
|
||
* ipa-icf.c (clear_decl_rtl): New function.
|
||
(sem_function::merge): Clear RTL before forming alias.
|
||
(sem_variable::merge): Clear RTL before forming alias.
|
||
|
||
2015-02-28 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65236
|
||
* cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
|
||
|
||
2015-02-28 Xingxing Pan <xxingpan@marvell.com>
|
||
|
||
* config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
|
||
to neon_to_gp<q>.
|
||
|
||
2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
* params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
|
||
a typo in the description.
|
||
|
||
2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/64317
|
||
* params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
|
||
* params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
|
||
* lra-constraints.c: Include "params.h".
|
||
(EBB_PROBABILITY_CUTOFF): Use
|
||
LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
|
||
(lra_inheritance): Use '<' instead of '<=' for
|
||
EBB_PROBABILITY_CUTOFF.
|
||
* doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
|
||
Document change.
|
||
|
||
2015-02-27 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
|
||
vector length condition.
|
||
|
||
2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (x86 transactional memory intrinsics):
|
||
Reorganize discussion of _xbegin. Clarify that the return
|
||
value is a bit mask. Expand example and move to end of section.
|
||
|
||
2015-02-26 Jakub Jelinek <jakub@redhat.com>
|
||
Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR rtl-optimization/65220
|
||
* config/i386/i386.md (*udivmod<mode>4_pow2): New.
|
||
|
||
2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/65032
|
||
* lra-remat.c (update_scratch_ops): New.
|
||
(do_remat): Call it.
|
||
* lra.c (lra_register_new_scratch_op): New. Take code from ...
|
||
(remove_scratches): ... here.
|
||
* lra-int.h (lra_register_new_scratch_op): New prototype.
|
||
|
||
2015-02-27 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/65040
|
||
* doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
|
||
-Wformat-signedness anymore.
|
||
|
||
2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||
|
||
* config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
|
||
function.
|
||
(TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
|
||
|
||
2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||
|
||
* config/s390/s390.c (enum s390_builtin):
|
||
Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
|
||
(code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
|
||
(s390_init_builtins): Generate new builtin functions.
|
||
* config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
|
||
(s390_sfpc, s390_efpc): New pattern definitions.
|
||
|
||
2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||
|
||
* config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
|
||
Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
|
||
(s390_builtin_decls): New array.
|
||
(s390_init_builtins): Put builtin decls into s390_builtin_decls.
|
||
(s390_builtin_decl): New function.
|
||
(TARGET_BUILTIN_DECL): Define macro.
|
||
|
||
2015-02-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/63175
|
||
* builtins.c (get_object_alignment_2): Make sure to re-apply
|
||
the ANDed mask after recursing to its operand gets us a new
|
||
misalignment bit position.
|
||
|
||
2015-02-26 Jan Hubicka <hubicka@ucw.cz>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
PR bootstrap/65150
|
||
* ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
|
||
Use address_matters_p.
|
||
(redirect_all_callers, set_addressable): New functions.
|
||
(sem_function::merge): Reorganize and fix merging issues.
|
||
(sem_variable::merge): Likewise.
|
||
(sem_variable::compare_sections): Remove.
|
||
* common.opt (fmerge-all-constants, fmerge-constants): Remove
|
||
Optimization flag.
|
||
* symtab.c (symtab_node::resolve_alias): When alias has aliases,
|
||
redirect them.
|
||
(symtab_node::make_decl_local): Set ADDRESSABLE bit when
|
||
decl is used.
|
||
(address_matters_1): New function.
|
||
(symtab_node::address_matters_p): New function.
|
||
* cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
|
||
check for merged flag.
|
||
* cgraph.h (address_matters_p): Declare.
|
||
(symtab_node::address_taken_from_non_vtable_p): Remove.
|
||
(symtab_node::address_can_be_compared_p): New method.
|
||
(ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
|
||
* ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
|
||
Remove.
|
||
(comdat_can_be_unshared_p_1) Use address_matters_p.
|
||
(update_vtable_references): Fix formating.
|
||
* ipa-ref.c (ipa_ref::address_matters_p): Move inline.
|
||
* cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
|
||
* cgraphclones.c: Preserve merged and icf_merged flags.
|
||
|
||
2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Function Attributes): Fix spelling and typos.
|
||
(Label Attributes): Likewise.
|
||
(Cilk Plus Builtins): Likewise.
|
||
(ARC SIMD Built-in Functions): Likewise.
|
||
(ARM C Language Extensions (ACLE)): Likewise.
|
||
(PowerPC Built-in Functions): Likewise.
|
||
(PowerPC Hardware Transactional Memory Built-in Functions):
|
||
Likewise.
|
||
|
||
2015-02-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65216
|
||
* tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
|
||
new stmt and new SSA_NAME for lhs whenever the arguments have
|
||
changed and weren't just swapped. Fix comment typo.
|
||
|
||
PR tree-optimization/65215
|
||
* tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
|
||
for PDP endian targets.
|
||
(perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
|
||
Fix up formatting issues.
|
||
(bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
|
||
size is smaller than the original, adjust MEM_REF offset by the
|
||
difference of sizes. Use is_gimple_mem_ref_addr instead of
|
||
is_gimple_min_invariant test to avoid adding address temporaries.
|
||
|
||
2015-02-26 Martin Liska <mliska@suse.cz>
|
||
Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64693
|
||
* ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
|
||
(sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
|
||
(sem_item_optimizer::process_cong_reduction): Include division by
|
||
sensitive references.
|
||
* ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
|
||
* ipa-ref.c (ipa_ref::address_matters_p): New function.
|
||
* ipa-ref.h (ipa_ref::address_matters_p): Likewise.
|
||
|
||
2015-02-26 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/65192
|
||
* config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
|
||
Remove.
|
||
* config/avr/avr.c: Same.
|
||
(avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
|
||
Refuse any constant address not in 0..0xbf.
|
||
* config/avr/avr.md (*mov<mode>, *movsf): Remove
|
||
tiny_valid_direct_memory_access_range from insn conditions.
|
||
(mov<mode>): Don't special-case expansion of avrtiny addresses.
|
||
|
||
2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/61142
|
||
* config/sh/sh.c (sh_check_add_incdec_notes): New function.
|
||
* config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
|
||
* config/sh/predicates.md (const_logical_operand): New predicate.
|
||
* config/sh/sh.md: Add new peephole2 patterns.
|
||
|
||
2015-02-26 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR ipa/65008
|
||
* ipa-inline.c (early_inliner): Recompute inline parameters.
|
||
|
||
2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
PR target/65171
|
||
* config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
|
||
instructions with TImode operands are included in the analysis.
|
||
|
||
2015-02-26 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
* tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
|
||
of an EDGE_FSM_THREAD.
|
||
|
||
2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
|
||
|
||
* config/rs6000/htm.md (tcheck): Fix assembly encoding.
|
||
|
||
2015-02-25 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR debug/46102
|
||
* dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
|
||
|
||
2015-02-26 Sebastian Pop <s.pop@samsung.com>
|
||
|
||
PR tree-optimization/65048
|
||
* tree-ssa-threadupdate.c (valid_jump_thread_path): New.
|
||
(thread_through_all_blocks): Call valid_jump_thread_path.
|
||
Remove invalid FSM jump-thread paths.
|
||
|
||
2015-02-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
|
||
(ipa_write_optimization_summaries): Likewise.
|
||
* tree-streamer.h: Include data-streamer.h.
|
||
(streamer_mode_table): Declare extern variable.
|
||
(bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
|
||
* lto-streamer-out.c (lto_output_init_mode_table,
|
||
lto_write_mode_table): New functions.
|
||
(produce_asm_for_decls): Call lto_write_mode_table when streaming
|
||
offloading LTO.
|
||
* lto-section-in.c (lto_section_name): Add "mode_table" entry.
|
||
(lto_create_simple_input_block): Add mode_table argument to the
|
||
lto_input_block constructors.
|
||
* ipa-prop.c (ipa_prop_read_section, read_replacements_section):
|
||
Likewise.
|
||
* data-streamer-in.c (string_for_index): Likewise.
|
||
* ipa-inline-analysis.c (inline_read_section): Likewise.
|
||
* ipa-icf.c (sem_item_optimizer::read_section): Likewise.
|
||
* lto-cgraph.c (input_cgraph_opt_section): Likewise.
|
||
* lto-streamer-in.c (lto_read_body_or_constructor,
|
||
lto_input_toplevel_asms): Likewise.
|
||
(lto_input_mode_table): New function.
|
||
* tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
|
||
pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
|
||
Use bp_pack_machine_mode.
|
||
* real.h (struct real_format): Add name field.
|
||
* lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
|
||
(class lto_input_block): Add mode_table member.
|
||
(lto_input_block::lto_input_block): Add mode_table_ argument,
|
||
initialize mode_table.
|
||
(struct lto_file_decl_data): Add mode_table field.
|
||
(lto_input_mode_table, lto_output_init_mode_table): New prototypes.
|
||
* tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
|
||
unpack_ts_decl_common_value_fields,
|
||
unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
|
||
* tree-streamer.c (streamer_mode_table): New variable.
|
||
* real.c (ieee_single_format, mips_single_format,
|
||
motorola_single_format, spu_single_format, ieee_double_format,
|
||
mips_double_format, motorola_double_format,
|
||
ieee_extended_motorola_format, ieee_extended_intel_96_format,
|
||
ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
|
||
ibm_extended_format, mips_extended_format, ieee_quad_format,
|
||
mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
|
||
decimal_single_format, decimal_double_format, decimal_quad_format,
|
||
ieee_half_format, arm_half_format, real_internal_format): Add name
|
||
field.
|
||
* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
|
||
|
||
2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR target/65161
|
||
* config/i386/i386.c (ix86_sched_reorder): Skip instruction
|
||
reordering for selective scheduling.
|
||
|
||
2015-02-26 Terry Guo <terry.guo@arm.com>
|
||
|
||
* config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
|
||
* config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
|
||
(arm_arch_no_volatile_ce): Declare new global variable.
|
||
* config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
|
||
(arm_option_override): Assign value to arm_arch_no_volatile_ce.
|
||
* config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
|
||
(TARGET_NO_VOLATILE_CE): New macro.
|
||
* config/arm/arm.md (arm_comparison_operator): Disabled if not allow
|
||
volatile memory access in IT block
|
||
|
||
2015-02-25 Kai Tietz <ktietz@redhat.com>
|
||
|
||
PR tree-optimization/61917
|
||
* tree-vect-loop.c (vectorizable_reduction): Handle obvious case
|
||
that reduc_def_stmt is null.
|
||
|
||
2015-02-25 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
|
||
hard register variables.
|
||
|
||
2015-02-25 Kai Tietz <ktietz@redhat.com>
|
||
|
||
PR target/64212
|
||
* symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
|
||
(symtab::noninterposable_alias): Likewise.
|
||
|
||
2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/65167
|
||
* gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
|
||
bounds registers.
|
||
(avoid_func_arg_motion): Add dependencies for BNDSTX insns.
|
||
|
||
2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
PR target/64997
|
||
* config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
|
||
as split condition; force split via '#' in output pattern.
|
||
|
||
2015-02-25 Richard Biener <rguenther@suse.de>
|
||
Kai Tietz <ktietz@redhat.com>
|
||
|
||
PR tree-optimization/61917
|
||
* tree-vect-loop.c (vectorizable_reduction): Allow
|
||
vect_internal_def without reduction to exit graceful.
|
||
|
||
2015-02-25 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/65196
|
||
* config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
|
||
only with NONDEBUG_INSN_P.
|
||
|
||
2015-02-25 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
Use variadic macros with avr-log.c.
|
||
|
||
* config/avr/avr-protos.h (avr_vdump): New prototype.
|
||
(avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
|
||
(avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
|
||
* config/avr/avr-log.c: Adjust comments.
|
||
(avr_vdump): New function.
|
||
(avr_vadump): Pass caller as 2nd argument instead of format string.
|
||
(avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
|
||
(avr_log_set_caller_e, avr_log_set_caller_f): Remove.
|
||
|
||
2015-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/64374
|
||
* target.def (target_option_stream_in): New target hook.
|
||
* tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
|
||
targetm.target_option.post_stream_in if non-NULL.
|
||
* doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
|
||
* doc/tm.texi: Updated.
|
||
* config/i386/i386.c (ix86_function_specific_post_stream_in): New
|
||
function.
|
||
(TARGET_OPTION_POST_STREAM_IN): Redefine.
|
||
|
||
2015-02-24 Jeff Law <law@redhat.com>
|
||
|
||
PR target/65117
|
||
* config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
|
||
of operand 0 and operand 2.
|
||
(zero_cost_loop_end, loop_end): Similarly.
|
||
|
||
2015-02-24 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
|
||
CXX_MEM_STAT_INFO.
|
||
|
||
2015-02-24 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
|
||
* config/rl78/rl78-expand.md (movsf): New, same as movsi.
|
||
* config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
|
||
instead of hardcoding SImode.
|
||
|
||
2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
|
||
|
||
* omp-low.c (create_omp_child_function): Tag entrypoint
|
||
functions with a special attribute.
|
||
|
||
2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
|
||
|
||
PR target/65058
|
||
* config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
|
||
|
||
2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/65123
|
||
* lra-remat.c (operand_to_remat): Check hard regs in insn
|
||
definition too.
|
||
|
||
2015-02-24 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
|
||
to the assembler.
|
||
|
||
2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR libgomp/64625
|
||
* omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
|
||
BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
|
||
BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
|
||
(BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
|
||
BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
|
||
BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
|
||
(BUILT_IN_GOACC_PARALLEL): Specify as
|
||
BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
|
||
BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
|
||
* builtin-types.def
|
||
(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
|
||
(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
|
||
Remove function types.
|
||
(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
|
||
(BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
|
||
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
|
||
New function types.
|
||
|
||
2015-02-24 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
* config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
|
||
|
||
2015-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65170
|
||
* wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
|
||
if val[1] < 0, clear also val[2] and return 3.
|
||
|
||
2015-02-24 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/65172
|
||
* config/rs6000/rs6000.c (get_memref_parts): Only return true
|
||
when *base is a reg. Handle nested plus addresses. Simplify
|
||
pre_modify test.
|
||
|
||
2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
|
||
use natural alignment when optimizing for size.
|
||
|
||
2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
PR target/65153
|
||
* config/sh/sh.md (movsicc_true+3): Remove peephole.
|
||
* config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
|
||
* config/sh/sh.c (replace_n_hard_rtx): Remove.
|
||
|
||
2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR fortran/63427
|
||
* wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
|
||
too big for a wide_int. Implement missing wrapping operation.
|
||
|
||
2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/65163
|
||
* config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
|
||
instead of const_int 4294901760.
|
||
|
||
2015-02-23 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
* config/avr/t-avr: Fix typo in comment.
|
||
|
||
2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* doc/rtl.texi (fma): Clarify documentation.
|
||
|
||
2015-02-20 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
PR debug/58123
|
||
* gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
|
||
over input_location.
|
||
|
||
2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
|
||
|
||
* tree-streamer-in.c (unpack_ts_decl_common_value_fields,
|
||
unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
|
||
restrict alignments to absolute_biggest_alignment.
|
||
* config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
|
||
Define.
|
||
* doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
|
||
* doc/tm.texi: Regenerate.
|
||
* target.def (absolute_biggest_alignment): New DEFHOOKPOD.
|
||
|
||
2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/64172
|
||
* ira-color.c (color_pass): Prevent splitting multi-register pseudos.
|
||
|
||
2015-02-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65136
|
||
* tree-ssa-propagate.c: Include cfgloop.h.
|
||
(replace_phi_args_in): Avoid replacing loop latch edge PHI
|
||
arguments with constants.
|
||
|
||
2015-02-20 Jakub Jelinek <jakub@redhat.com>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/63892
|
||
* ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
|
||
don't try to create_thunk if stdarg_p. If
|
||
!sem_item::target_supports_symbol_aliases_p (), similarly, and try to
|
||
redirect_callers if possible.
|
||
(sem_item_optimizer::execute): Call unregister_hooks here...
|
||
(ipa_icf_driver): ... instead of here.
|
||
|
||
2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
|
||
Mark operand 0 as earlyclobber in 2nd alternative.
|
||
(1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
|
||
Write negated shift amount into QI lowpart operand 0 and use it
|
||
in the shift step.
|
||
(2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
|
||
|
||
2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
|
||
|
||
* cgraph.h (clone_function_name_1): Declare.
|
||
* cgraphclones.c (clone_function_name_1): New function.
|
||
(clone_function_name): Use it.
|
||
* lto-partition.c: Include "stringpool.h".
|
||
(must_not_rename, maybe_rewrite_identifier)
|
||
(validize_symbol_for_target): New static functions.
|
||
(privatize_symbol_name): Use must_not_rename.
|
||
(promote_symbol): Call validize_symbol_for_target.
|
||
(lto_promote_cross_file_statics): Likewise.
|
||
(lto_promote_statics_nonwpa): Likewise.
|
||
|
||
2015-02-20 Georg-Johann Lay <avr@gjlay.de>
|
||
|
||
PR target/64452
|
||
* config/avr/avr.md (pushhi_insn): New insn.
|
||
(push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
|
||
|
||
2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* tree-streamer.c (preload_common_nodes): Don't preload
|
||
TI_VA_LIST* for offloading.
|
||
* tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
|
||
in_lto_p.
|
||
|
||
2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (pa_emit_move_sequence): Always force
|
||
(const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
|
||
note on insn.
|
||
|
||
* config/pa/pa.c (pa_reloc_rw_mask): New function.
|
||
(TARGET_ASM_RELOC_RW_MASK): Define.
|
||
(pa_cannot_force_const_mem): Revert previous change.
|
||
|
||
2015-02-19 Martin Jambor <mjmabor@suse.cz>
|
||
Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65028
|
||
* ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
|
||
across jump functions.
|
||
|
||
2015-02-19 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
|
||
|
||
2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
|
||
|
||
2015-02-19 Richard Henderson <rth@redhat.com>
|
||
|
||
PR middle-end/65074
|
||
* varasm.c (default_binds_local_p_2): Don't test node->definition;
|
||
test DECL_EXTERNAL independent of symtab_node.
|
||
|
||
2015-02-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR lto/65012
|
||
* varpool.c (varpool_node::get_constructor): Return early
|
||
if this->lto_file_data is NULL.
|
||
|
||
2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
|
||
|
||
* haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
|
||
(rank_for_schedule_debug): Update.
|
||
(ready_sort): Make static. Move sorting logic to ...
|
||
(ready_sort_debug, ready_sort_real): New static functions.
|
||
(schedule_block): Sort both debug insns and real insns in preparation
|
||
for ready list trimming. Improve debug output.
|
||
* sched-int.h (ready_sort): Remove global declaration.
|
||
|
||
2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* ipa-icf.c (sem_function::equals_private): Adjust.
|
||
(sem_function::bb_dict_test): Take a vec<int> * instead of
|
||
auto_vec<int>.
|
||
* ipa-icf.h (bb_dict_test): Likewise.
|
||
|
||
2015-02-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR gcov-profile/64634
|
||
* tree-eh.c (frob_into_branch_around): Fix up typos
|
||
in function comment.
|
||
(lower_catch): Put eh_seq resulting from EH lowering of
|
||
the cleanup sequence after the cleanup rather than before it.
|
||
|
||
2015-02-18 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* common.opt (fstdarg-opt): New option.
|
||
* tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
|
||
* doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
|
||
(@item -fstdarg-opt): New item.
|
||
|
||
2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/65064
|
||
* config/ia64/predicates.md (sdata_symbolic_operand): Return false
|
||
for common symbols.
|
||
|
||
2015-02-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/i386/t-intelmic (mkoffload.o): Remove dependency on
|
||
insn-modes.h.
|
||
(ALL_HOST_OBJS): Add mkoffload.o.
|
||
* config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
|
||
|
||
2015-02-18 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
|
||
(compare_virtual_tables): Be smarter about skipping typeinfos;
|
||
do sane output on virtual table table mismatch.
|
||
(warn_odr): Be ready for forward declarations of enums;
|
||
output sane info on base mismatch and virtual table mismatch.
|
||
(add_type_duplicate): Fix code choosing prevailing type; do not ICE
|
||
when only one type is polymorphic.
|
||
(get_odr_type): Fix hashtable corruption.
|
||
(dump_odr_type): Dump mangled names.
|
||
|
||
2015-02-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65063
|
||
* tree-predcom.c (determine_unroll_factor): Return 1 if we
|
||
have replaced looparound PHIs.
|
||
|
||
2015-02-18 Martin Liska <mliska@suse.cz>
|
||
|
||
* lto-streamer.c (lto_streamer_init): Encapsulate
|
||
streamer_check_handled_ts_structures with checking macro.
|
||
|
||
2015-02-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/65087
|
||
* cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
|
||
section if !implicit_section.
|
||
(cgraph_node::create_version_clone_with_body): Likewise.
|
||
* trans-mem.c (ipa_tm_create_version): Likewise.
|
||
|
||
2015-02-18 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/62217
|
||
* tree-ssa-dom.c (cprop_operand): Avoid propagating copies
|
||
into BIVs.
|
||
|
||
2015-02-18 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/65081
|
||
* ubsan.c (OBJSZ_MAX_OFFSET): Define.
|
||
(ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
|
||
is in range [-16K, -1]. Don't issue run-time error if
|
||
(ptr > ptr + offset).
|
||
|
||
2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* doc/install.texi (nvptx-*-none): New section.
|
||
* doc/invoke.texi (Nvidia PTX Options): Likewise.
|
||
* config/nvptx/nvptx.opt: Update.
|
||
|
||
* config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
|
||
(access_check): New functions, copied from
|
||
config/i386/intelmic-mkoffload.c.
|
||
(main): For non-installed testing, look in all COMPILER_PATHs for
|
||
GCC_INSTALL_NAME.
|
||
|
||
* config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
|
||
|
||
2015-02-18 Andrew Pinski <apinski@cavium.com>
|
||
Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
|
||
|
||
* config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
|
||
Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
|
||
|
||
2015-02-17 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-visibility.c (function_and_variable_visibility): Only
|
||
check locality if node is not already local.
|
||
* ipa-inline.c (want_inline_function_to_all_callers_p): Use
|
||
call_for_symbol_and_aliases instead of
|
||
call_for_symbol_thunks_and_aliases.
|
||
(ipa_inline): Likewise.
|
||
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
|
||
first walk aliases.
|
||
* ipa.c (symbol_table::remove_unreachable_nodes): Use
|
||
call_for_symbol_and_aliases.
|
||
* ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
|
||
(ipa_propagate_frequency_1): Use it; use opt_for_fn
|
||
(ipa_propagate_frequency): Update.
|
||
(ipa_profile): Add opt_for_fn gueards.
|
||
|
||
2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
* config/sh/sh.opt (mcbranch-force-delay-slot): New option.
|
||
* doc/invoke.texi (SH options): Document it.
|
||
* config/sh/sh.c (sh_insn_length_adjustment): Check
|
||
TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
|
||
|
||
2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* common.opt (fipa-cp-alignment): New.
|
||
* ipa-cp.c (ipcp_store_alignment_results): Check
|
||
flag_ipa_cp_alignment.
|
||
* opts.c (default_options_table): Enable -fipa-cp-alignment for
|
||
-O2.
|
||
(enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
|
||
* doc/invoke.texi: Document -fipa-cp-alignment.
|
||
|
||
2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/64793
|
||
* config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
|
||
to nil. Adjust comments.
|
||
|
||
2015-02-17 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-visibility.c (function_and_variable_visibility): Only
|
||
check locality if node is not already local.
|
||
* ipa-inline.c (want_inline_function_to_all_callers_p): Use
|
||
call_for_symbol_and_aliases instead of
|
||
call_for_symbol_thunks_and_aliases.
|
||
(ipa_inline): Likewise.
|
||
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
|
||
first walk aliases.
|
||
* ipa.c (symbol_table::remove_unreachable_nodes): Use
|
||
call_for_symbol_and_aliases.
|
||
* ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
|
||
(ipa_propagate_frequency_1): Use it; use opt_for_fn
|
||
(ipa_propagate_frequency): Update.
|
||
(ipa_profile): Add opt_for_fn guards.
|
||
|
||
2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* config/nvptx/mkoffload.c (parse_file): Fix logic error in
|
||
skipping of "strange" tokens.
|
||
|
||
2015-02-17 Jeff Law <law@redhat.com>
|
||
|
||
* tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
|
||
obsolete comment.
|
||
|
||
2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
|
||
as forcing a HARD_DEP between instructions, thereby
|
||
disallowing rewriting to break dependencies.
|
||
|
||
2015-02-16 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
|
||
* lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
|
||
variables in boundary that have no inlitalizer encoded and are
|
||
not aliases.
|
||
* varasm.c (default_binds_local_p_2): External definitions do not
|
||
count as definitions here.
|
||
|
||
2015-02-16 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/64823
|
||
* tree-vrp.c (identify_jump_threads): Handle blocks with no real
|
||
statements.
|
||
* tree-ssa-threadedge.c (potentially_threadable_block): Allow
|
||
threading through blocks with PHIs, but no statements.
|
||
(thread_through_normal_block): Distinguish between blocks where
|
||
we did not process all the statements and blocks with no statements.
|
||
|
||
2015-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
PR ipa/64963
|
||
* cgraphclones.c (cgraph_node::create_virtual_clone): Copy
|
||
section if not linkonce. Fix up formatting.
|
||
(cgraph_node::create_version_clone_with_body): Copy section.
|
||
* trans-mem.c (ipa_tm_create_version): Likewise.
|
||
|
||
2015-02-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/65077
|
||
* tree-ssa-structalias.c (get_constraint_for_1): Handle
|
||
IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
|
||
(find_func_aliases): Allow float values to carry pointers again.
|
||
|
||
2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* doc/install.texi (Specific): Reorder targets list to put
|
||
aarch64 in alphabetical order. Add a link to aarch64*-*-*
|
||
from the top menu.
|
||
|
||
2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
|
||
David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/65058
|
||
* config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
|
||
mapping class to external variable or function reference.
|
||
* config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
|
||
mapping class.
|
||
|
||
2015-02-16 David Eelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/53348
|
||
* config/rs6000/rs6000.c (rs6000_declare_alias): Only use
|
||
ASM_WEAKEN_DECL if defined.
|
||
|
||
2015-02-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/65015
|
||
* varasm.c (default_file_start): For LTO produced units
|
||
emit <artificial> as file directive.
|
||
|
||
2015-02-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/63593
|
||
* tree-predcom.c (execute_pred_commoning_chain): Delay removing
|
||
stmts and releasing SSA names until...
|
||
(execute_pred_commoning): ... after processing all chains.
|
||
|
||
2015-02-16 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65059
|
||
* ipa-comdats.c (ipa_comdats): Do not categorize thunks to
|
||
external functions.
|
||
|
||
2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/bugreport.texi: Adjust section titles throughout the file
|
||
to use "Title Case".
|
||
* doc/extend.texi: Likewise.
|
||
* doc/gcov.texi: Likewise.
|
||
* doc/implement-c.texi: Likewise.
|
||
* doc/implement-cxx.texi: Likewise.
|
||
* doc/invoke.texi: Likewise.
|
||
* doc/objc.texi: Likewise.
|
||
* doc/standards.texi: Likewise.
|
||
* doc/trouble.texi: Likewise.
|
||
|
||
2015-02-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* cgraph.h (symtab_node::has_aliases_p): Simplify.
|
||
(symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
|
||
* tree.c (lookup_binfo_at_offset): Make static.
|
||
(get_binfo_at_offset): Do not shadow offset; add explanatory
|
||
comment.
|
||
|
||
2015-02-15 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.c (pa_secondary_reload): Request a secondary reload
|
||
for all floading point loads and stores except those using a register
|
||
index address.
|
||
* config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
|
||
to a register.
|
||
|
||
2015-02-14 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-inline-analysis.c (growth_data): Add uninlinable field.
|
||
(do_estimate_growth_1): Record if any uninlinable edge was seen.
|
||
(estimate_growth): Handle uninlinable edges correctly.
|
||
(check_callers): New.
|
||
(growth_likely_positive): Handle aliases correctly.
|
||
|
||
2015-02-14 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-chkp.c: Use iterate_direct_aliases.
|
||
* symtab.c (resolution_used_from_other_file_p): Move inline.
|
||
(symtab_node::create_reference): Fix formating.
|
||
(symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
|
||
(symtab_node::iterate_reference): Move inline.
|
||
(symtab_node::iterate_referring): Move inline.
|
||
(symtab_node::iterate_direct_aliases): Move inline.
|
||
(symtab_node::used_from_object_file_p_worker): Inline into ...
|
||
(symtab_node::used_from_object_file_p): ... this one; move inline.
|
||
(symtab_node::call_for_symbol_and_aliases): Move inline;
|
||
use iterate_direct_aliases.
|
||
(symtab_node::call_for_symbol_and_aliases_1): New method.
|
||
(cgraph_node::call_for_symbol_and_aliases): Move inline;
|
||
use iterate_direct_aliases.
|
||
(cgraph_node::call_for_symbol_and_aliases_1): New method.
|
||
(varpool_node::call_for_node_and_aliases): Rename to ...
|
||
(varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
|
||
use iterate_direct_aliases.
|
||
(varpool_node::call_for_symbol_and_aliases_1): New method.
|
||
* ipa.c (ipa_single_use): Use iterate_direct_aliases.
|
||
(ipa_discover_readonly_nonaddressable_var): Update.
|
||
* ipa-devirt.c: Fix formating.
|
||
* cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
|
||
Move inline.
|
||
(cgraph_node::call_for_symbol_and_aliases): Move inline.
|
||
(cgraph_node::call_for_symbol_and_aliases_1): New function..
|
||
* cgraph.h (used_from_object_file_p_worker): Remove.
|
||
(resolution_used_from_other_file_p): Move inline.
|
||
(symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
|
||
(symtab_node::iterate_reference): Move inline.
|
||
(symtab_node::iterate_referring): Move inline.
|
||
(symtab_node::iterate_direct_aliases): Move inline.
|
||
(symtab_node::used_from_object_file_p_worker): Inline into ...
|
||
(symtab_node::used_from_object_file_p): Move inline.
|
||
* tree-emutls.c (ipa_lower_emutls): Update.
|
||
* varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
|
||
(varpool_node::call_for_node_and_aliases): Remove.
|
||
|
||
2015-02-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/62209
|
||
* tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
|
||
op == range->exp, insert seq and gimplified code after labels
|
||
instead of after the phi.
|
||
|
||
2015-02-13 Jeff Law <law@redhat.com>
|
||
|
||
PR bootstrap/65060
|
||
Revert my change for tree-optimization/64823.
|
||
|
||
2015-02-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/65053
|
||
* tree-ssa-phiopt.c (value_replacement): When moving assign before
|
||
cond, either reset VR on lhs or set it to phi result VR.
|
||
|
||
2015-02-13 Jeff Law <law@redhat.com>
|
||
|
||
PR tree-optimization/64823
|
||
* tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
|
||
* tree-ssa-threadedge.c (potentially_threadable_block): Allow
|
||
threading through blocks with PHIs, but no statements.
|
||
(thread_through_normal_block): Distinguish between blocks where
|
||
we did not process all the statements and blocks with no statements.
|
||
|
||
PR rtl-optimization/47477
|
||
* match.pd (convert (plus/minus (convert @0) (convert @1): New
|
||
simplifier to narrow arithmetic.
|
||
|
||
2015-02-13 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65028
|
||
* ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
|
||
polymorphic call info when type is not known to be preserved.
|
||
|
||
2015-02-13 Maritn Jambor <mjambor@suse.cz>
|
||
|
||
PR ipa/65028
|
||
* ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
|
||
(inline_call): Use it.
|
||
|
||
2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
|
||
GOMP_DEVICE_NVIDIA_PTX.
|
||
|
||
2015-02-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/65034
|
||
* stmt.c (emit_case_nodes): Use void_type_node instead of
|
||
NULL_TREE as LABEL_DECL type.
|
||
|
||
2015-02-13 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/constraints.md: Change "Q" and "T" constraints to memory
|
||
constraints.
|
||
* config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
|
||
symbolic references to data to be forced to constant memory on the
|
||
SOM target.
|
||
|
||
2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR tree-optimization/65002
|
||
* tree-cfg.c (pass_data_fixup_cfg): Don't update
|
||
SSA on start.
|
||
* tree-sra.c (some_callers_have_no_vuse_p): New.
|
||
(ipa_early_sra): Reject functions whose callers
|
||
assume function is read only.
|
||
|
||
2015-02-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/65015
|
||
* dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
|
||
for LTO produced CUs.
|
||
|
||
2015-02-13 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
PR tree-optimization/64705
|
||
* tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
|
||
* tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
|
||
* tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
|
||
(find_bivs, find_givs_in_stmt_scev): Pass new argument to
|
||
expand_simple_operations.
|
||
|
||
2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
|
||
Richard Henderson <rth@redhat.com>
|
||
|
||
PR rtl/32219
|
||
* cgraphunit.c (cgraph_node::finalize_function): Set definition
|
||
before notice_global_symbol.
|
||
(varpool_node::finalize_decl): Likewise.
|
||
* varasm.c (default_binds_local_p_2): Rename from
|
||
default_binds_local_p_1, add weak_dominate argument. Use direct
|
||
returns instead of assigning to local variable. Unify varpool and
|
||
cgraph paths via symtab_node. Reject undef weak variables before
|
||
testing visibility. Reorder tests for simplicity.
|
||
(default_binds_local_p): Use default_binds_local_p_2.
|
||
(default_binds_local_p_1): Likewise.
|
||
(decl_binds_to_current_def_p): Unify varpool and cgraph paths
|
||
via symtab_node.
|
||
(default_elf_asm_output_external): Emit visibility when specified.
|
||
|
||
2015-02-13 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
|
||
code setting up r11 for out-of-line fp restore.
|
||
|
||
2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
|
||
(muser-mode): Likewise.
|
||
|
||
2015-02-13 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
|
||
or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
|
||
|
||
2015-02-12 David Howells <dhowells@redhat.com>
|
||
|
||
* tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
|
||
warning.
|
||
* tree-ssa-uninit.c (dump_predicates): Likewise.
|
||
* opts.c (print_filtered_help): Likewise.
|
||
|
||
2015-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* dwarf2out.c (output_die): Use "%s", name instead of name to
|
||
avoid -Wformat-security warning.
|
||
|
||
* dwarf2asm.c (dw2_asm_output_vms_delta): Only define
|
||
if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
|
||
* dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
|
||
only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
|
||
|
||
2015-02-12 Jason Merrill <jason@redhat.com>
|
||
|
||
* common.opt (-flifetime-dse): New.
|
||
|
||
2015-02-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/65019
|
||
* ubsan.c (ubsan_expand_objsize_ifn): Always return true.
|
||
|
||
PR tree-optimization/65014
|
||
* fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
|
||
use original second operand of arg0 or arg1 instead of
|
||
that adjusted by STRIP_NOPS.
|
||
|
||
2015-02-11 Jeff Law <law@redhat.com>
|
||
|
||
PR target/63347
|
||
* haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
|
||
that needs to be queued, just queue it for a single cycle.
|
||
|
||
2015-02-11 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
|
||
bodies of thunks; comment on why.
|
||
* symtab.c (symtab_node::get_partitioning_class): Aliases of extern
|
||
symbols are extern.
|
||
|
||
2015-02-11 Richard Henderson <rth@redhat.com>
|
||
|
||
PR sanitize/65000
|
||
* tree-eh.c (mark_reachable_handlers): Mark source and destination
|
||
regions of __builtin_eh_copy_values.
|
||
|
||
2015-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/65003
|
||
* varasm.c (place_block_symbol): Assert that DECL_RTL of the
|
||
ultimate alias is MEM with SYMBOL_REF satisfying
|
||
SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
|
||
to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
|
||
|
||
2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
|
||
"diagnostic-core.h".
|
||
(main): Initialize progname, and call diagnostic_initialize.
|
||
|
||
* config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
|
||
instead of __OPENMP_TARGET__.
|
||
|
||
* config/nvptx/mkoffload.c: Include "gomp-constants.h".
|
||
(process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
|
||
hard-coding PTX_ID.
|
||
|
||
2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* doc/sourcebuild.texi (pie_enabled): Document.
|
||
|
||
2015-02-11 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/64813
|
||
* cgraphunit.c (cgraph_node::expand_thunk): Do not create
|
||
a return value for call to a function that is noreturn.
|
||
|
||
2015-02-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/65015
|
||
* dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
|
||
and -fresolution.
|
||
|
||
2015-02-11 Andrew Pinski <apinski@cavium.com>
|
||
|
||
PR target/64893
|
||
* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
|
||
Change the first argument type to size_type_node and add another
|
||
size_type_node.
|
||
(aarch64_simd_expand_builtin): Handle the new argument to
|
||
AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
|
||
print an out when the first two arguments are not
|
||
nonzero integer constants.
|
||
* config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
|
||
Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
|
||
|
||
2015-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/61925
|
||
* config/i386/i386.c (ix86_reset_to_default_globals): Removed.
|
||
(ix86_reset_previous_fndecl): Restore it here, unconditionally.
|
||
(ix86_set_current_function): Rewritten.
|
||
(ix86_add_new_builtins): Temporarily clear current_target_pragma
|
||
when creating builtin fndecls.
|
||
|
||
2015-02-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/65005
|
||
* ipa-visibility.c (cgraph_node::non_local_p): Turn into static
|
||
function.
|
||
* symtab.c (symtab_node::verify_base): Remove check that non-definitions
|
||
have no comdat group.
|
||
* lto-cgraph.c (lto_output_node): Always output thunk and alias info.
|
||
(lto_output_varpool_node): Always output alias info.
|
||
(output_refs): Output refs of boundary aliases, too.
|
||
(compute_ltrans_boundary): Add alias and thunk target into boundaries.
|
||
(output_symtab): Output call eges in thunks in boundary.
|
||
(get_alias_symbol): Remove.
|
||
(input_node, input_varpool_node): Do not special case weakrefs.
|
||
* ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
|
||
alias and thunks targets in the boundary; do not take removed symbols
|
||
from their comdat groups.
|
||
* cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
|
||
(cgraph_node::global_info): Remove.
|
||
(cgraph_node::rtl_info): Look through aliases and thunks.
|
||
* cgrpah.h (global_info): Remove.
|
||
(non_local_p): Remove.
|
||
|
||
2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
|
||
Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
|
||
to inline asm. List dialects in proper order.
|
||
|
||
2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
|
||
Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
|
||
|
||
2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
|
||
|
||
* doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
|
||
modified) reference to Solaris.
|
||
|
||
2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Extended Asm): Fix typos.
|
||
|
||
2015-02-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/65004
|
||
* ubsan.c (ubsan_expand_vptr_ifn): Always return true.
|
||
|
||
2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/64661
|
||
* config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
|
||
TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
|
||
TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
|
||
* config/sh/constraints.md (Ara, Add): New constraints.
|
||
* config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
|
||
predicates.
|
||
(atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
|
||
atomic_mem_operand_0. Don't use force_reg on the memory address.
|
||
(atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
|
||
Sra constraint. Convert to insn_and_split. Add workaround for
|
||
PR 64974.
|
||
(atomic_compare_and_swap<mode>_hard): Copy to
|
||
atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
|
||
Use atomic_mem_operand_0 predicate.
|
||
(atomic_compare_and_swap<mode>_soft_gusa,
|
||
atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
|
||
AraAdd constraints.
|
||
(atomic_compare_and_swap<mode>_soft_tcb,
|
||
atomic_compare_and_swap<mode>_soft_imask,
|
||
atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
|
||
atomic_mem_operand_0 predicate and SraSdd constraints.
|
||
(atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
|
||
constraint.
|
||
(atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
|
||
Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
|
||
(atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
|
||
atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
|
||
force_reg on the memory address.
|
||
(atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
|
||
atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
|
||
atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
|
||
atomic_mem_operand_1 predicate and Sra constraint.
|
||
(atomic_fetch_<fetchop_name><mode>_hard): Copy to
|
||
atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
|
||
Use atomic_mem_operand_1 predicate.
|
||
(atomic_<fetchop_name><mode>_hard): Copy to
|
||
atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
|
||
Use atomic_mem_operand_1 predicate.
|
||
(atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
|
||
Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
|
||
(atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
|
||
insn_and_split. Use atomic_mem_operand_1 predicate.
|
||
(atomic_<fetchop_name>_fetch<mode>_hard): Copy to
|
||
atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
|
||
Use atomic_mem_operand_1 predicate.
|
||
(atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
|
||
Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
|
||
(atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
|
||
in generated insn with original mem operand before emitting the insn.
|
||
(atomic_fetch_<fetchop_name><mode>_soft_gusa,
|
||
atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
|
||
atomic_<fetchop_name>_fetch<mode>_soft_gusa,
|
||
atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
|
||
Use atomic_mem_operand_1 predicate and AraAdd constraints.
|
||
(atomic_fetch_<fetchop_name><mode>_soft_tcb,
|
||
atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
|
||
atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
|
||
atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
|
||
atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
|
||
atomic_<fetchop_name>_fetch<mode>_soft_tcb,
|
||
atomic_not_fetch<mode>_soft_tcb,
|
||
atomic_<fetchop_name>_fetch<mode>_soft_imask,
|
||
atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
|
||
atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
|
||
Use atomic_mem_operand_1 predicate and SraSdd constraints.
|
||
|
||
2015-02-10 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
|
||
and 3 earlyclobber operands.
|
||
|
||
2015-02-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* common.opt (fstack-reuse): Mark as optimization.
|
||
|
||
2015-02-10 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64982
|
||
* cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
|
||
|
||
2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
PR tree-optimization/64326
|
||
* cfghooks.c (make_forwarder_block): Cap frequency of created block.
|
||
|
||
2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
|
||
|
||
PR gcov-profile/61889
|
||
* gcov-tool.c: Remove wrong #if !defined(_WIN32)
|
||
|
||
2015-02-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64995
|
||
* tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
|
||
value we use is final.
|
||
(visit_reference_op_store): Always valueize op.
|
||
(visit_use): Properly valueize vuses.
|
||
|
||
2015-02-10 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64909
|
||
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
|
||
pass a scalar-stmt count estimate to the cost model.
|
||
* tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
|
||
|
||
2015-02-10 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
|
||
enabled by default together with var-tracking.
|
||
|
||
2015-02-10 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78.c: Remove DIV attribute code accidentally
|
||
included in previous rl78 commit.
|
||
|
||
2015-02-10 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-streamer.h (streamer_read_tree_bitfields): Adjust.
|
||
* tree-streamer-in.c (streamer_read_tree_bitfields): Do not
|
||
return the bitpack.
|
||
|
||
2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
PR gcov-profile/61889
|
||
* config.in: regenerate.
|
||
* configure.in: Likewise.
|
||
* configure.ac: Check for ftw.h.
|
||
* gcov-tool.c: Check for ftw.h before using nftw.
|
||
|
||
2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
PR lto/64076
|
||
* ipa-visibility.c (update_visibility_by_resolution_info): Only
|
||
assert when not in lto mode.
|
||
|
||
2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
|
||
|
||
* ira-color.c (setup_left_conflict_sizes_p): Simplify
|
||
initialization/assignment of conflict_size.
|
||
|
||
2015-02-09 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64978
|
||
* ipa-cp.c (gather_caller_stats): Skip thunks.
|
||
(propagate_constants_topo): Skip aliases.
|
||
|
||
2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
PR target/64761
|
||
* config/sh/sh.c (sh_option_override): Don't change
|
||
-freorder-blocks-and-partition to -freorder-blocks even when
|
||
unwinding is enabled.
|
||
(sh_can_follow_jump): Return false if the followee jump is
|
||
a crossing jump when -freorder-blocks-and-partition is specified.
|
||
* config/sh/sh.md (*jump_compact_crossing): New insn.
|
||
|
||
2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
|
||
Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
PR target/64761
|
||
* config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
|
||
* config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
|
||
(sh_can_redirect_branch): Rename to ...
|
||
(sh_can_follow_jump): ... this. Constify argument types.
|
||
* config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
|
||
* doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
|
||
* reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
|
||
* doc/tm.texi: Regenerate.
|
||
|
||
2015-02-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/64981
|
||
* builtins.c (expand_builtin): Call targetm.expand_builtin
|
||
for BUILT_IN_MD builtins regardless of asan_intercepted_p.
|
||
|
||
2015-02-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/61548
|
||
* tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
|
||
|
||
2015-02-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/63566
|
||
* ipa-icf.c (set_local): New function.
|
||
(sem_function::merge): Use it.
|
||
|
||
2015-02-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-devirt.c (odr_types_equivalent_p): Fix formating.
|
||
(add_type_duplicate): Fix comparison of BINFOs.
|
||
|
||
2015-02-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
|
||
on getting VOID pointer.
|
||
|
||
2015-02-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/64979
|
||
* tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
|
||
va_list escapes.
|
||
|
||
2015-02-09 Richard Biener <rguenther@suse.de>
|
||
|
||
* genmatch.c (replace_id): Copy expr_type.
|
||
|
||
2015-02-09 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-streamer.h (streamer_pack_tree_bitfields): Remove.
|
||
(streamer_write_tree_bitfields): Declare.
|
||
* tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
|
||
properly unpack padding.
|
||
(unpack_value_fields): Inline ...
|
||
(streamer_read_tree_bitfields): ... here.
|
||
* tree-streamer-out.c (pack_ts_base_value_fields): Inline
|
||
and properly add padding bits.
|
||
(streamer_pack_tree_bitfields): Fold into ...
|
||
(streamer_write_tree_bitfields): ... this new function,
|
||
exposing the bitpack object.
|
||
* lto-streamer-out.c (lto_write_tree_1): Call
|
||
streamer_write_tree_bitfields.
|
||
|
||
2015-02-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/54000
|
||
* tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
|
||
(struct ivopts_data): Add loop_loc member.
|
||
(tree_ssa_iv_optimize_loop): Dump loop location.
|
||
(create_new_ivs): Likewise, also dump number of IVs generated.
|
||
|
||
2015-02-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
|
||
just if not yet registered.
|
||
(ipa_icf_generate_summary): Register callgraph hooks.
|
||
|
||
2015-02-08 Andrew Pinski <apinski@cavium.com>
|
||
|
||
* config/aarch64/aarch64.c (gty_dummy): Delete.
|
||
|
||
2015-02-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/63566
|
||
* ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
|
||
(cgraph_node::local_p): Remove thunk related FIXME.
|
||
|
||
2015-02-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/63566
|
||
* i386.c (ix86_function_regparm): Look through aliases to see if callee
|
||
is local and optimized.
|
||
(ix86_function_sseregparm): Likewise; also use target's SSE math
|
||
settings; error out instead of silently generating wrong code
|
||
on mismatches.
|
||
(init_cumulative_args): Look through aliases.
|
||
|
||
2015-02-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/63566
|
||
* ipa-split.c (execute_split_functions): Split if function has aliases.
|
||
|
||
2015-02-08 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/63566
|
||
* cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
|
||
aliases before trying to expand it.
|
||
(cgraph_node::expand_thunk): Fix formating.
|
||
|
||
2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi (Function Attributes [naked]): Copy-edit.
|
||
(Using Assembly Language with C): Expand introduction.
|
||
(Basic Asm): Copy-edit. Add more information about uses of
|
||
basic asm.
|
||
(Extended Asm): Copy-edit. Document new escape syntax and
|
||
%l[label] syntax.
|
||
(Global Reg Vars): Copy-edit.
|
||
(Local Reg Vars): Likewise.
|
||
|
||
2015-02-06 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR debug/2714
|
||
PR bootstrap/64256
|
||
* xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
|
||
(DBX_CONTIN_CHAR): Define.
|
||
|
||
2015-02-06 Sebastian Pop <s.pop@samsung.com>
|
||
Brian Rzycki <b.rzycki@samsung.com>
|
||
|
||
PR tree-optimization/64878
|
||
* tree-ssa-threadedge.c: Include tree-ssa-loop.h.
|
||
(fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
|
||
Stop recursion at loop phi nodes after having visited a loop phi node.
|
||
|
||
2015-02-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* toplev.c (process_options): Change flag_ipa_ra before creating
|
||
optimization_{default,current}_node.
|
||
|
||
PR ipa/64896
|
||
* cgraphunit.c (cgraph_node::expand_thunk): If
|
||
restype is not is_gimple_reg_type nor the thunk_fndecl
|
||
returns aggregate_value_p, set restmp to a temporary variable
|
||
instead of resdecl.
|
||
|
||
2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
* lra.c (lra_emit_add): Fix a typo in using disp instead of base.
|
||
|
||
2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/64205
|
||
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
|
||
add a general secondary reload handler for SDmode, unless we have
|
||
both read/write support for SDmode.
|
||
|
||
2015-02-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/64937
|
||
* dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
|
||
Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
|
||
or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
|
||
1 before, push it to abstract_vec.
|
||
(dwarf2out_abstract_function): Adjust caller. Don't call
|
||
set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
|
||
DECL_ABSTRACT_P flags for all abstract_vec elts.
|
||
|
||
2015-02-06 Renlin Li <renlin.li@arm.com>
|
||
|
||
* tree-ssa-forwprop.c (execute): Keep location info while rewrite
|
||
complex gimple.
|
||
* tree-ssa.c (execute_update_addresses_taken): Likewise.
|
||
|
||
2015-02-06 Jeff Law <law@redhat.com>
|
||
|
||
PR target/64889
|
||
* config/h8300/h8300.c (push): New argument "in_prologue".
|
||
Pass "in_prologue" along to "F".
|
||
(h8300_push_pop): Corresponding changes.
|
||
(h8300_expand_prologue): Likewise.
|
||
(h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
|
||
|
||
2015-02-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/64957
|
||
PR debug/64817
|
||
* simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
|
||
IOR rather than for AND.
|
||
|
||
2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/62631
|
||
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
|
||
of shift-add and (add + shift) operations. Rename local variable.
|
||
|
||
2015-02-05 Jeff Law <law@redhat.com>
|
||
|
||
PR target/17306
|
||
* config/h8300/constraints.md (U): Correctly dectect
|
||
"eightbit_data" memory addresses.
|
||
* config/h8300/h8300.c (eightbit_constant_address_p): Also
|
||
handle (const (plus (symbol_ref (x)))) where x is declared
|
||
as an 8-bit data memory address.
|
||
* config/h8300/h8300.md (call, call_value): Correctly detect
|
||
"funcvec" functions.
|
||
|
||
PR target/43264
|
||
* config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
|
||
24 to 28 bits for the H8/300.
|
||
|
||
2015-02-06 Alan Modra <amodra@gmail.com>
|
||
|
||
PR target/64876
|
||
* config/rs6000/rs6000.c (chain_already_loaded): New function.
|
||
(rs6000_call_aix): Use it.
|
||
|
||
2015-02-05 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
|
||
check.
|
||
|
||
2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
|
||
|
||
* config/h8300/constraints.md ("U" constraint): Use strict
|
||
variant of REG_OK_FOR_BASE_P after reload has started.
|
||
|
||
2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
|
||
|
||
* config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
|
||
define to zero if !TARGET_NEON.
|
||
(TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
|
||
|
||
2015-02-04 Jan Hubicka <hubicka@ucw.cz>
|
||
Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
PR ipa/61548
|
||
* tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
|
||
|
||
2015-02-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/61548
|
||
* ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
|
||
when removing varpool nodes.
|
||
|
||
2015-02-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/61548
|
||
* varpool.c (varpool_node::remove): Fix order of variables.
|
||
|
||
2015-02-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64686
|
||
* ipa-inline.c (inline_small_functions): Fix ordering issue between
|
||
speculation resolution and key updates.
|
||
|
||
2015-02-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-prop.c (update_indirect_edges_after_inlining): By more careful
|
||
about not letting any speculative edges unupdated.
|
||
|
||
2015-02-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR gcov/64123
|
||
* gcov-io.c (gcov_var): Export.
|
||
|
||
2015-02-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/64922
|
||
* ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
|
||
edges that become speculative.
|
||
|
||
2015-02-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
|
||
or DW_LANG_Fortran08.
|
||
(lower_bound_default): Return 1 for DW_LANG_Fortran03 or
|
||
DW_LANG_Fortran08.
|
||
(gen_compile_unit_die): Handle "GNU Fortran2003" and
|
||
"GNU Fortran2008" language strings.
|
||
* dbxout.c (get_lang_number): Use lang_GNU_Fortran.
|
||
* langhooks.h (lang_GNU_Fortran): New prototype.
|
||
* langhooks.c (lang_GNU_Fortran): New function.
|
||
* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
|
||
lang_GNU_Fortran.
|
||
|
||
2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
|
||
(RTX_OK_FOR_OLO10_P): Likewise.
|
||
|
||
2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
|
||
|
||
2015-02-04 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/64922
|
||
* gimple.c: Include gimple-ssa.h.
|
||
(maybe_remove_unused_call_args): New function.
|
||
* gimple.h (maybe_remove_unused_call_args): Declare.
|
||
* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
|
||
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
|
||
* gimple-fold.c (gimple_fold_call): Likewise.
|
||
|
||
2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR rtl-optimization/64905
|
||
* lra-eliminations.c (setup_can_eliminate): Clear hard frame
|
||
pointer alignment if it isn't needed.
|
||
|
||
2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
* config/aarch64/aarch64-cores.def: Add cortex-a72 and
|
||
cortex-a72.cortex-a53.
|
||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||
* doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
|
||
|
||
2015-02-04 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
|
||
inside a MEM.
|
||
|
||
2015-02-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
|
||
(DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
|
||
(DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
|
||
of DEF_BUILTIN.
|
||
(BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
|
||
BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
|
||
DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
|
||
(BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
|
||
BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
|
||
BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
|
||
DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
|
||
* tree-core.h (enum built_in_function): In between
|
||
BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
|
||
for builtins that use DEF_BUILTIN_CHKP macro.
|
||
|
||
2015-02-04 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR debug/64817
|
||
* cfgexpand.c (expand_debug_expr): Compute unsignedp from
|
||
operands for tcc_comparison exprs. Fix typos.
|
||
|
||
PR debug/64817
|
||
* simplify-rtx.c (simplify_binary_operation_1): Simplify one
|
||
of two XORs that have an intervening AND or IOR.
|
||
|
||
PR debug/64817
|
||
* simplify-rtx.c (simplify_binary_operation_1): Rewrite
|
||
simplification of XOR of AND to not allocate new rtx before
|
||
committing to a simplification.
|
||
|
||
2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
|
||
manual swaps in all peepholes.
|
||
|
||
2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
|
||
of manual swapping implementation.
|
||
(aarch64_expand_vec_perm_const_1): Likewise.
|
||
|
||
2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
|
||
(generic_addrcost_table): Remove NAMED_PARAM.
|
||
(cortexa57_addrcost_table): Likewise.
|
||
(xgene1_addrcost_table): Likewise.
|
||
(generic_regmove_table): Likewise.
|
||
(cortexa53_regmove_table): Likewise.
|
||
(xgene1_regmove_table): Likewise.
|
||
(generic_vector_table): Likewise.
|
||
(cortexa57_vector_table): Likewise.
|
||
(xgene1_vector_table): Likewise.
|
||
(generic_tunings): Likewise.
|
||
(cortexa53_tunings): Likewise.
|
||
(cortexa57_tunings): Likewise.
|
||
(xgene1_tunings): Likewise.
|
||
|
||
2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
* config/arm/arm-cores.def: Add cortex-a72 and
|
||
cortex-a72.cortex-a53.
|
||
* config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
|
||
* config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
|
||
* config/arm/arm-tune.md: Regenerate.
|
||
* config/arm/arm-tables.opt: Add entries for "cortex-a72" and
|
||
"cortex-a72.cortex-a53".
|
||
* doc/invoke.texi (ARM Options/-mtune): Likewise.
|
||
|
||
2015-02-04 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR target/64408
|
||
* config/fr30/predicates.md (di_operand): Add SUBREG to the list
|
||
of accepted codes.
|
||
(nonimmediate_di_operand): Likewise.
|
||
|
||
* config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
|
||
prefixes of known F5 using MSP430 MCUs.
|
||
|
||
2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
|
||
* config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
|
||
instead of __builtin_sqrt.
|
||
|
||
2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* varasm.c (do_assemble_alias): Follow transparent alias
|
||
chain for target.
|
||
(default_assemble_visibility): Follow transparent alias
|
||
chain for decl name.
|
||
|
||
2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR middle-end/62103
|
||
* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
|
||
to compute size of referenced value in the constant case.
|
||
|
||
2015-02-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/64756
|
||
* cse.c (invalidate_dest): New function.
|
||
(cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
|
||
HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
|
||
invalidate and do not record it.
|
||
|
||
2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/64660
|
||
* config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
|
||
atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
|
||
atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
|
||
atomic_nand<mode>_soft_tcb): New insns.
|
||
(atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
|
||
Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
|
||
(define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
|
||
Split into atomic_not_fetchsi_hard if operands[0] is unused.
|
||
(atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
|
||
Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
|
||
(atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
|
||
atomic_not<mode>_hard if operands[0] is unused.
|
||
(atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
|
||
insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
|
||
if operands[0] is unused.
|
||
(atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
|
||
into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
|
||
(atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
|
||
Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
|
||
unused.
|
||
(atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
|
||
into atomic_not<mode>_soft_tcb if operands[0] is unused.
|
||
(atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
|
||
insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
|
||
if operands[0] is unused.
|
||
(atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
|
||
into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
|
||
(atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
|
||
atomic_nand_fetchsi_hard if operands[0] is unused.
|
||
(atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
|
||
atomic_nand<mode>_hard if operands[0] is unused.
|
||
(atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
|
||
into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
|
||
(atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
|
||
into atomic_nand<mode>_soft_tcb if operands[0] is unused.
|
||
(atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
|
||
into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
|
||
(atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
|
||
Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
|
||
(atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
|
||
atomic_not<mode>_hard if operands[0] is unused.
|
||
(atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
|
||
Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
|
||
unused.
|
||
(atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
|
||
into atomic_not<mode>_soft_tcb if operands[0] is unused.
|
||
(atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
|
||
atomic_nand<mode>_hard if operands[0] is unused.
|
||
(atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
|
||
into atomic_nand<mode>_soft_tcb if operands[0] is unused.
|
||
|
||
2015-02-03 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR jit/64810
|
||
* Makefile.in (GCC_OBJS): Add gcc-main.o.
|
||
* gcc-main.c: New file, containing "main" taken from gcc.c.
|
||
* gcc.c (do_self_spec): Free decoded_options.
|
||
(class driver): Move declaration to gcc.h.
|
||
(main): Move declaration and implementation to new file
|
||
gcc-main.c.
|
||
(driver_get_configure_time_options): New function.
|
||
* gcc.h (class driver): Move this declaration here, from
|
||
gcc.c.
|
||
(driver_get_configure_time_options): New declaration.
|
||
|
||
2015-02-03 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-inline-analysis.c (simple_edge_hints): Fix check for
|
||
cross-module inlining.
|
||
* cgraph.h (cgraph_node): Add flag merged.
|
||
* ipa-icf.c (sem_function::merge): Maintain it.
|
||
|
||
2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
|
||
instead of OBJECT_P.
|
||
|
||
2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR target/62631
|
||
* config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
|
||
(TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
|
||
* config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
|
||
int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
|
||
|
||
2015-02-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/63504
|
||
* combine.c (reg_n_sets_max): New variable.
|
||
(can_change_dest_mode, reg_nonzero_bits_for_combine,
|
||
reg_num_sign_bit_copies_for_combine, get_last_value_validate,
|
||
get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
|
||
(try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
|
||
(rest_of_handle_combine): Initialize reg_n_sets_max.
|
||
|
||
2015-02-02 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
|
||
if some always_inline was inlined, apply changes before inlining
|
||
heuristically.
|
||
|
||
2015-02-02 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR jit/64810
|
||
* config/arm/arm.c (arm_option_override): Set
|
||
arm_selected_arch/cpu/tune to NULL on entry.
|
||
|
||
2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
|
||
Andrew Pinski <pinskia@gcc.gnu.org>
|
||
Jakub Jelinek <jakub@gcc.gnu.org>
|
||
|
||
PR target/64231
|
||
* config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
|
||
integer typing for small model. Use IN_RANGE.
|
||
|
||
2015-02-02 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
|
||
* tree-vrp.c (vrp_valueize_1): Likewise.
|
||
|
||
2015-02-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
|
||
than mem for toc_restore.
|
||
* config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
|
||
(call_indirect_aix, call_value_indirect_aix): Adjust to suit.
|
||
(call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
|
||
|
||
2015-02-01 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/64047
|
||
* config/rs6000/rs6000.c (rs6000_set_current_function): Handle
|
||
explicit default options.
|
||
|
||
2015-02-01 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64872
|
||
* ipa-utils.c (ipa_merge_profiles): Add release argument.
|
||
* ipa-icf.c (sem_function::merge): Do not release body when merging.
|
||
* ipa-utils.h (ipa_merge_profiles): Update prototype.
|
||
|
||
2015-02-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/64817
|
||
* cfgexpand.c (deep_ter_debug_map): New variable.
|
||
(avoid_deep_ter_for_debug): New function.
|
||
(expand_debug_expr): If TERed SSA_NAME is in
|
||
deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
|
||
instead of trying to expand SSA_NAME's def stmt.
|
||
(expand_debug_locations): When expanding debug bind
|
||
of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
|
||
temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
|
||
value.
|
||
(pass_expand::execute): Call avoid_deep_ter_for_debug on
|
||
all debug bind stmts. Delete deep_ter_debug_map after
|
||
expand_debug_location if non-NULL and clear it.
|
||
|
||
2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/64851
|
||
* config/sh/sync.md (atomic_fetch_notsi_hard,
|
||
atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
|
||
atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
|
||
atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
|
||
atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
|
||
atomic_not_fetch<mode>_soft_imask): New insns.
|
||
|
||
2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
|
||
|
||
* haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
|
||
(rank_for_schedule_debug): Split from ...
|
||
(rank_for_schedule): ... this.
|
||
(ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
|
||
* sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
|
||
|
||
2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/md.texi (Machine Constraints): Alphabetize table by target.
|
||
* doc/extend.texi (x86 Variable Attributes): Move section to
|
||
correct alphabetization after renaming.
|
||
(x86 Type Attributes): Likewise.
|
||
(Target Builtins): Re-alphabetize menu.
|
||
(x86 Built-in Functions): Move section to correct alphabetization
|
||
after renaming.
|
||
(x86 transactional memory intrinsics): Likewise.
|
||
* doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
|
||
and x86 Windows Options in table and menu.
|
||
(x86 Options): Move section to correct alphabetization after
|
||
renaming.
|
||
(x86 Windows Options): Likewise.
|
||
|
||
2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
|
||
preferred names of the architecture and its 32- and 64-bit
|
||
variants.
|
||
* doc/invoke.texi: Likewise.
|
||
* doc/md.texi: Likewise.
|
||
|
||
2015-01-31 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/64882
|
||
* config/i386/predicates.md (address_no_seg_operand): Reject
|
||
non-CONST_INT_P operands in invalid mode.
|
||
|
||
2015-01-31 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
|
||
address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
|
||
* config/i386/predicates.md (address_no_seg_operand): Call
|
||
address_operand with VOIDmode.
|
||
(vsib_address_operand): Ditto.
|
||
(address_mpx_no_base_operand): Ditto.
|
||
(address_mpx_no_index_operand): Ditto.
|
||
|
||
2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/64688
|
||
* lra-constraints.c (original_subreg_reg_mode): New.
|
||
(simplify_operand_subreg): Try to simplify subreg of const. Use
|
||
original_subreg_reg_mode for it.
|
||
(swap_operands): Update original_subreg_reg_mode.
|
||
(curr_insn_transform): Set up original_subreg_reg_mode.
|
||
|
||
2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/64617
|
||
* lra-constraints.c (prohibited_class_reg_set_mode_p): New
|
||
function.
|
||
(process_alt_operands): Use it.
|
||
(curr_insn_transform): Check the optional reload pseudo class is
|
||
ok for the mode.
|
||
|
||
2015-01-30 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* diagnostic.c (fatal_error (const char *, ...)): Remove function.
|
||
* diagnostic-core.h (fatal_error (const char *, ...)): Remove
|
||
prototype.
|
||
* toplev.h (init_asm_output): Update comment on use of
|
||
UNKNOWN_LOCATION with fatal_error.
|
||
* cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
|
||
config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
|
||
config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
|
||
config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
|
||
config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
|
||
config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
|
||
config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
|
||
ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
|
||
lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
|
||
lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
|
||
tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
|
||
fatal_error changed to pass input_location as first argument.
|
||
|
||
2015-01-30 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
|
||
in #pragma GCC diagnostic guards.
|
||
|
||
2015-01-30 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64829
|
||
* tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
|
||
not add a widening conversion pattern but hand off extra
|
||
widenings to callers.
|
||
(vect_recog_widen_mult_pattern): Handle extra widening produced
|
||
by vect_handle_widen_op_by_const.
|
||
(vect_recog_widen_shift_pattern): Likewise.
|
||
(vect_pattern_recog_1): Remove excess vertical space in dumping.
|
||
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
|
||
(vect_init_vector_1): Likewise.
|
||
(vect_get_vec_def_for_operand): Likewise.
|
||
(vect_finish_stmt_generation): Likewise.
|
||
(vectorizable_load): Likewise.
|
||
(vect_analyze_stmt): Likewise.
|
||
(vect_is_simple_use): Likewise.
|
||
|
||
2015-01-29 Jeff Law <law@redhat.com>
|
||
|
||
* combine.c (try_combine): Fix typo in comment.
|
||
|
||
2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/64580
|
||
* config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
|
||
(rs6000_stack_info): Add assert.
|
||
(rs6000_output_savres_externs): New function, split off from...
|
||
(rs6000_output_function_prologue): ... here. Do not call it for
|
||
thunks.
|
||
|
||
2015-01-29 Jeff Law <law@redhat.com>
|
||
|
||
PR target/15184
|
||
* combine.c (try_combine): If I0 is a memory load and I3 a store
|
||
to a related address, increase the "goodness" of doing a 4-insn
|
||
combination with I0-I3.
|
||
(make_field_assignment): Handle SUBREGs in the ior+and case.
|
||
|
||
2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR tree-optimization/64746
|
||
* tree-if-conv.c (mask_exists): New function.
|
||
(predicate_mem_writes): Save created mask with given size for further
|
||
use.
|
||
(stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
|
||
(ifcvt_repair_bool_pattern): Collect all statements that are root
|
||
of bool pattern and use iterative algorithm to remove multiple uses
|
||
of predicates, display number of required iterations.
|
||
|
||
2015-01-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64853
|
||
* tree-vrp.c (vrp_valueize_1): Do not return anything if the
|
||
stmt will get simulated again.
|
||
* tree-ssa-ccp.c (valueize_op_1): Likewise.
|
||
|
||
2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
|
||
return_in_pc. Remove redundant assignments.
|
||
(thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
|
||
(arm_expand_epilogue): Don't compare boolean with true in if condition.
|
||
|
||
2015-01-29 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (ix86_mode_after): Make static.
|
||
|
||
2015-01-29 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64844
|
||
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
|
||
dump cost model analysis.
|
||
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
|
||
Do not register adjusted load/store costs here.
|
||
|
||
2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
|
||
* config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
|
||
using x86_use_pseudo_pic_reg.
|
||
* config/i386/i386.c (ix86_conditional_register_usage): Remove
|
||
support for fixed PIC register.
|
||
(ix86_use_pseudo_pic_reg): Not static any more.
|
||
|
||
2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR middle-end/64805
|
||
* ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
|
||
to avoid error in cgraph node verification.
|
||
|
||
2015-01-29 Marek Polacek <polacek@redhat.com>
|
||
|
||
* doc/standards.texi: Reflect that the default for C is gnu11.
|
||
|
||
2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
PR target/64761
|
||
* reorg.c (switch_text_sections_between_p): New function.
|
||
(relax_delay_slots): Call it when testing if the jump insn
|
||
is removable. Use targetm.can_follow_jump when testing if
|
||
the conditional branch can follow an unconditional jump.
|
||
|
||
2015-01-27 Caroline Tice <cmtice@google.com>
|
||
|
||
Committing VTV Cywin/Ming patch for Patrick Wollgast
|
||
* config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
|
||
if -fvtable-verify=preinit/std is used.
|
||
* config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
|
||
* config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
|
||
* config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
|
||
if -fvtable-verify=preinit/std is used.
|
||
* config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
|
||
* config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
|
||
if -fvtable-verify=preinit/std is used.
|
||
* config/i386/mingw-w64.h (LIB_SPEC): Likewise.
|
||
* config/i386/mingw32.h (LIB_SPEC): Likewise.
|
||
* varasm.c (assemble_variable): Add code to properly set the comdat
|
||
section and name for the .vtable_map_vars section in case the
|
||
target is PE or COFF.
|
||
|
||
2015-01-29 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64801
|
||
* cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
|
||
make sane BB profile.
|
||
(cgraph_node::expand_thunk): Make sane BB profile.
|
||
(cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
|
||
* cgraph.h (init_lowered_empty_function): Update prototype.
|
||
* config/i386/i386.c (make_resolver_func): Update call.
|
||
* predict.c (gate): Disable branch prediction pass if
|
||
profile is already there.
|
||
|
||
2015-01-29 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
|
||
* opth-gen.awk: Likewise.
|
||
* common.opt: Mark flag_fp_contract_mode as Optimization.
|
||
|
||
2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
|
||
* config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
|
||
|
||
2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/64659
|
||
* config/sh/predicates.md (atomic_arith_operand,
|
||
atomic_logical_operand): Remove.
|
||
* config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
|
||
(atomic_arith_operand_0): New predicate.
|
||
(atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
|
||
Use atomic_arith_operand_0 for input values.
|
||
(atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
|
||
atomic_compare_and_swap<mode>_soft_gusa,
|
||
atomic_compare_and_swap<mode>_soft_tcb,
|
||
atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
|
||
arith_reg_operand instead of register_operand.
|
||
(atomic_exchange<mode>): Use arith_reg_dest for output value. Use
|
||
atomic_arith_operand_0 for newval input.
|
||
(atomic_exchangesi_hard, atomic_exchange<mode>_hard,
|
||
atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
|
||
atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
|
||
arith_reg_operand instead of register_operand.
|
||
(atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
|
||
fetchop_predicate_1, fetchop_constraint_1_llcs,
|
||
fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
|
||
fetchop_constraint_1_imask): New code iterator attributes.
|
||
(atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
|
||
register_operand. Use fetchop_predicate_1.
|
||
(atomic_fetch_<fetchop_name>si_hard,
|
||
atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
|
||
register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
|
||
(atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
|
||
and arith_reg_operand instead of register_operand. Use
|
||
fetchop_predicate_1, fetchop_constraint_1_gusa.
|
||
(atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
|
||
and arith_reg_operand instead of register_operand. Use
|
||
fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
|
||
to allow R0 usage.
|
||
(atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
|
||
and arith_reg_operand instead of register_operand. Use
|
||
fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
|
||
to allow R0 usage.
|
||
(atomic_fetch_nand<mode>): Use arith_reg_dest instead of
|
||
register_operand. Use atomic_logical_operand_1.
|
||
(atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
|
||
atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
|
||
arith_reg_operand instead of register_operand.
|
||
(atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
|
||
Use arith_reg_dest and arith_reg_operand instead of register_operand.
|
||
Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
|
||
(atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
|
||
register_operand. Use fetchop_predicate_1.
|
||
(atomic_<fetchop_name>_fetchsi_hard,
|
||
atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
|
||
arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
|
||
fetchop_constraint_1_llcs.
|
||
(atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
|
||
arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
|
||
fetchop_constraint_1_gusa.
|
||
(atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
|
||
arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
|
||
fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
|
||
(atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
|
||
arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
|
||
fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
|
||
(atomic_nand_fetch<mode>): Use arith_reg_dest instead of
|
||
register_operand. Use atomic_logical_operand_1.
|
||
(atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
|
||
atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
|
||
arith_reg_operand instead of register_operand.
|
||
(atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
|
||
arith_reg_operand instead of register_operand. Use logical_operand
|
||
and K08. Adjust asm sequence to allow R0 usage.
|
||
(atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
|
||
arith_reg_operand instead of register_operand. Use logical_operand
|
||
and K08.
|
||
|
||
2015-01-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/63504
|
||
* dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
|
||
Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
|
||
(attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
|
||
only get_full_len HOST_WIDE_INTs from get_val () array rather than
|
||
all bits in *val_wide.
|
||
|
||
2015-01-28 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* varpool.c (tls_model_names): Fix names.
|
||
(varpool_node::dump): Dump tls- prefix for tls models.
|
||
|
||
2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
|
||
Bernd Schmidt <bernds@codesourcery.com>
|
||
Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* config/nvptx/mkoffload.c: New file.
|
||
* config/nvptx/t-nvptx: Add build rules for it.
|
||
* config.gcc <nvptx-*> [$enable_as_accelerator = yes]
|
||
(extra_programs): Add mkoffload.
|
||
* config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
|
||
function.
|
||
(TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
|
||
|
||
2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR middle-end/64809
|
||
* cfgexpand.c (reorder_operands): Skip debug gimples.
|
||
|
||
2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR tree-optimization/64277
|
||
* tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
|
||
range info when possible to refine estimation.
|
||
|
||
2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR tree-optimization/64718
|
||
* tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
|
||
be a 16bit unsigned integer when n->range is 16.
|
||
(bswap_replace): Convert src to that type if necessary for all bswap
|
||
sizes. Fix rotation right notation in nearby comment. Use bswap_type
|
||
set in pass_optimize_bswap::execute ().
|
||
|
||
2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
|
||
* config/aarch64/aarch64-simd-builtins.def (abs): Split by
|
||
integer and floating point variants.
|
||
* config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
|
||
|
||
2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
|
||
|
||
* config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
|
||
for all vector modes.
|
||
|
||
2015-01-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/64612
|
||
* doc/sourcebuild.texi (comdat_group): Document.
|
||
|
||
2015-01-28 Terry Guo <terry.guo@arm.com>
|
||
|
||
* config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
|
||
|
||
2015-01-27 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* toplev.c (print_version): Add param "show_global_state", and
|
||
only print GGC and plugin information if it is true.
|
||
(init_asm_output): Pass in "true" for the new param when calling
|
||
print_version.
|
||
(process_options): Likewise.
|
||
(toplev::main): Likewise.
|
||
* toplev.h (print_version): Add new param to decl.
|
||
|
||
2015-01-27 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/60871
|
||
PR ipa/64139
|
||
* tree.c (lookup_binfo_at_offset): New function.
|
||
(get_binfo_at_offset): Use it.
|
||
|
||
2015-01-27 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64282
|
||
* gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
|
||
on vtable being vtable.
|
||
|
||
2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
||
|
||
* doc/extend.texi: s/390: Update documentation of hotpatch attribute.
|
||
* doc/invoke.texi (-mhotpatch): s/390: Update documentation of
|
||
-mhotpatch= option.
|
||
* config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
|
||
-mno-hotpatch options. Change syntax of -mhotpatch= option.
|
||
* config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
|
||
Renamed.
|
||
(s390_hotpatch_trampoline_halfwords_max): Renamed.
|
||
(s390_hotpatch_hw_max): New name.
|
||
(s390_hotpatch_trampoline_halfwords): Renamed.
|
||
(s390_hotpatch_hw_before_label): New name.
|
||
(get_hotpatch_attribute): Removed.
|
||
(s390_hotpatch_hw_after_label): New name.
|
||
(s390_handle_hotpatch_attribute): Add second parameter to hotpatch
|
||
attribute.
|
||
(s390_attribute_table): Ditto.
|
||
(s390_function_num_hotpatch_trampoline_halfwords): Renamed.
|
||
(s390_function_num_hotpatch_hw): New name.
|
||
Remove special handling of inline functions and hotpatching.
|
||
Return number of nops before and after the function label.
|
||
(s390_can_inline_p): Removed.
|
||
(s390_asm_output_function_label): Emit a configurable number of nops
|
||
after the function label.
|
||
(s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
|
||
(TARGET_CAN_INLINE_P) Removed.
|
||
(TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
|
||
|
||
2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
|
||
of scratch reg.
|
||
(cb<optab><mode>1): Likewise.
|
||
* config/aarch64/iterators.md (bcond): New define_code_attr.
|
||
|
||
2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_memory_move_cost): Increase costs for
|
||
memory accesses.
|
||
|
||
2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||
|
||
* config/s390/s390.c (s390_register_move_cost): Increase costs for
|
||
FPR->GPR moves.
|
||
|
||
2015-01-27 Richard Biener <rguenther@suse.de>
|
||
|
||
* tree-vrp.c (update_value_range): Intersect the range with
|
||
old recorded SSA name range information.
|
||
|
||
2015-01-27 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
|
||
BC, DE and HL registers directly, not via AX.
|
||
When decrementing the stack pointer by a large amount, transfer SP
|
||
into AX and perform the subtraction there.
|
||
(rl78_expand_epilogue): Perform the inverse of the above
|
||
enhancements.
|
||
|
||
2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
|
||
|
||
2015-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
Yury Gribov <y.gribov@samsung.com>
|
||
|
||
PR ubsan/64741
|
||
* ubsan.c (ubsan_source_location): Refactor code.
|
||
(ubsan_type_descriptor): Update type size. Refactor code.
|
||
|
||
2015-01-27 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/56273
|
||
PR tree-optimization/59124
|
||
PR tree-optimization/64277
|
||
* tree-vrp.c (vrp_finalize): Emit array-bound warnings only
|
||
from the first VRP pass.
|
||
|
||
2015-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/64776
|
||
* cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
|
||
handle the first argument in the same loop as all the other arguments.
|
||
|
||
PR rtl-optimization/61058
|
||
* jump.c (cleanup_barriers): Update basic block boundaries
|
||
if BLOCK_FOR_INSN is non-NULL on PREV.
|
||
|
||
2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
|
||
bounds narrowing, already instrumented calls and calls to
|
||
not instrumentable functions.
|
||
|
||
2015-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/64807
|
||
* wide-int.cc (wi::divmod_internal): Clear
|
||
b_dividend[dividend_blocks_needed].
|
||
|
||
2015-01-26 DJ Delorie <dj@redhat.com>
|
||
|
||
* config/rl78/rl78.c (move_elim_pass): Don't optimize away
|
||
volatile memory references.
|
||
|
||
2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/49263
|
||
* config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
|
||
remove_insn.
|
||
* config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
|
||
shifts if it already fits into K08.
|
||
|
||
2015-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR ipa/64730
|
||
* ipa-inline.c (inline_small_functions): Print "unknown" even
|
||
if edge->call_stmt is non-NULL, but has builtins or unknown
|
||
location.
|
||
|
||
PR middle-end/64421
|
||
* omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
|
||
with asterisk, skip the first character.
|
||
|
||
2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR target/64806
|
||
* config/i386/i386 (feature_priority): Revert the last P_POPCNT
|
||
order change.
|
||
|
||
2015-01-26 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/64795
|
||
* config/i386/i386.md (*movdi_internal): Also check operand 0
|
||
to determine TYPE_LEA operand.
|
||
(*movsi_internal): Ditto.
|
||
|
||
2015-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
|
||
OPTION_MASK_QUAD_MEMORY_ATOMIC.
|
||
|
||
2015-01-26 Renlin Li <renlin.li@arm.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
|
||
the comment.
|
||
* config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
|
||
for higher part.
|
||
|
||
2015-01-26 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/64764
|
||
* tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
|
||
combining two BIT_AND_EXPR predicates.
|
||
|
||
2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR bootstrap/64754
|
||
* tree-ssa-structalias.c (new_var_info): Initialize ruid.
|
||
|
||
2015-01-26 Terry Guo <terry.guo@arm.com>
|
||
|
||
* config/arm/arm.c (arm_file_start): Update the assignment of
|
||
Tag_ABI_HardFP_use.
|
||
|
||
2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
|
||
pipeline model.
|
||
config/arm/arm.md: Include the new Cortex-A57 model.
|
||
(generic_sched): Don't use generic_sched when tuning for
|
||
Cortex-A57.
|
||
|
||
2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
|
||
Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (get_builtin_code_for_version): Add
|
||
support for BMI and BMI2 multiversion functions.
|
||
|
||
2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* emit-rtl.h (store_bit_field): Move prototype to expmed.h.
|
||
(extract_bit_field): Likewise.
|
||
(extract_low_bits): Likewise.
|
||
(expand_mult): Likewise.
|
||
(expand_mult_highpart_adjust): Likewise.
|
||
|
||
2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/i386/driver-i386.c (host_detect_local_cpu): Check new
|
||
Silvermont, Haswell, Broadwell and Knights Landing model numbers.
|
||
* config/i386/i386.c (processor_model): Add
|
||
M_INTEL_COREI7_BROADWELL.
|
||
(arch_names_table): Add "broadwell".
|
||
|
||
2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/49263
|
||
PR target/53987
|
||
PR target/64345
|
||
PR target/59533
|
||
PR target/52933
|
||
PR target/54236
|
||
PR target/51244
|
||
* config/sh/sh-protos.h
|
||
(sh_extending_set_of_reg::can_use_as_unextended_reg,
|
||
sh_extending_set_of_reg::use_as_unextended_reg,
|
||
sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
|
||
sh_is_movrt_insn, sh_insn_operands_modified_between_p,
|
||
sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
|
||
sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
|
||
(sh_treg_insns): New class.
|
||
* config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
|
||
(scope_counter): New class.
|
||
(sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
|
||
sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
|
||
sh_extending_set_of_reg::can_use_as_unextended_reg,
|
||
sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
|
||
sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
|
||
sh_split_treg_set_expr): New functions.
|
||
(addsubcosts): Handle treg_set_expr.
|
||
(sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
|
||
(sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
|
||
(sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
|
||
(sh_insn_operands_modified_between_p): Make non-static.
|
||
* config/sh/predicates.md (zero_extend_movu_operand): Allow
|
||
simple_mem_operand in addition to displacement_mem_operand.
|
||
(zero_extend_operand): Don't allow zero_extend_movu_operand.
|
||
(treg_set_expr, treg_set_expr_not_const01,
|
||
arith_reg_or_treg_set_expr): New predicates.
|
||
* config/sh/sh.md (tstsi_t): Use arith_reg_operand and
|
||
arith_or_int_operand instead of logical_operand. Convert to
|
||
insn_and_split. Try to optimize constant operand in splitter.
|
||
(tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
|
||
(*tstqi_t_zero): Delete.
|
||
(*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
|
||
(tstsi_t_and_not): Delete.
|
||
(tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
|
||
Convert to insn_and_split.
|
||
(unnamed split, tstsi_t_zero_extract_xor,
|
||
tstsi_t_zero_extract_subreg_xor_little,
|
||
tstsi_t_zero_extract_subreg_xor_big): Delete.
|
||
(*tstsi_t_shift_mask): New insn_and_split.
|
||
(cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
|
||
to recombine with surrounding insns when splitting.
|
||
(*negtstsi): Add !sh_in_recog_treg_set_expr condition.
|
||
(cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
|
||
(cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
|
||
*cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
|
||
(*cbranch_div0s: Delete.
|
||
(*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
|
||
Try to recombine with surrounding insns when splitting. Add operand
|
||
order variants.
|
||
(*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
|
||
(*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
|
||
*addc_r_r_msb, *addc_2r_msb): Delete.
|
||
(*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
|
||
order variant.
|
||
(*addc_negreg_t): New insn_and_split.
|
||
(*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
|
||
Try to recombine with surrounding insns when splitting.
|
||
Add operand order variants.
|
||
(*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
|
||
insn_and_split patterns.
|
||
(*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
|
||
surrounding insns when splitting.
|
||
(unnamed rotcr split): Use arith_reg_or_treg_set_expr.
|
||
(*rotcl): Likewise. Add zero_extract variant.
|
||
(*ashrsi2_31): New insn_and_split.
|
||
(*negc): Convert to insn_and_split. Use treg_set_expr.
|
||
(*zero_extend<mode>si2_disp_mem): Update comment.
|
||
(movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
|
||
condition.
|
||
(*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
|
||
with surrounding insns when splitting.
|
||
(any_treg_expr_to_reg): New insn_and_split.
|
||
(*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
|
||
*neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
|
||
*neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
|
||
*zero_extract_2): New single bit zero extract patterns.
|
||
(bld_reg, *bld_regqi): Fold into bld<mode>_reg.
|
||
(*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
|
||
*mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
|
||
*movdi_gbr_load): Use arith_reg_dest instead of register_operand for
|
||
set destination.
|
||
(set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
|
||
register_operand for set source.
|
||
|
||
2015-01-23 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* i386.opt (prefetch_sse): New targetsave.
|
||
* i386.c (ix86_function_specific_save): Save prefetch_sse.
|
||
(ix86_function_specific_restore): Restore prefetch_sse and initialize
|
||
ix86_cost/ix86_tune_cost.
|
||
|
||
2015-01-23 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
|
||
Support the JIT by using 0 as the language type.
|
||
|
||
2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR target/64317
|
||
* lra-lives.c (make_hard_regno_born): Add parameter. Don't make
|
||
REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
|
||
(mark_regno_live, process_bb_lives): Pass new parameter value to
|
||
make_hard_regno_born.
|
||
|
||
2015-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/63637
|
||
PR rtl-optimization/60663
|
||
* cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
|
||
if elt->cost is MAX_COST for ASM_OPERANDS.
|
||
(find_sets_in_insn): Fix up comment typo.
|
||
(cse_insn): Don't set src_volatile for all non-volatile
|
||
ASM_OPERANDS in PARALLELs, but just those with multiple outputs
|
||
or with "memory" clobber. Set elt->cost to MAX_COST
|
||
for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
|
||
if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
|
||
|
||
2015-01-23 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
|
||
alternative 1.
|
||
|
||
2015-01-23 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
|
||
libgcc/config/i386/elf-lib.h.
|
||
|
||
2015-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR driver/64737
|
||
* gcc.c (print_configuration): Don't print a blank line at the end
|
||
here...
|
||
(run_attempt): ... but here unstead.
|
||
|
||
PR middle-end/64734
|
||
* omp-low.c (scan_sharing_clauses): Don't ignore
|
||
OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
|
||
on target data/update constructs.
|
||
|
||
2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR target/50928
|
||
* config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
|
||
(DEBUG_RELOAD): Removed define.
|
||
(m32c_limit_reload_class): Enable traces with if DEBUG0.
|
||
(m32c_function_arg): Added a type cast.
|
||
(m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
|
||
* config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
|
||
* config/m32c/bitops.md (andqi3_16): Likewise.
|
||
* config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
|
||
(push_a01_l): Likewise.
|
||
|
||
2015-01-23 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR jit/64721
|
||
* main.c (main): Construct toplev instances with init_signals=true.
|
||
* toplev.c (general_init): Add param "init_signals", and use it to
|
||
conditionalize the calls to signal and host_hooks.extra_signals.
|
||
(toplev::toplev): Add param "init_signals".
|
||
(toplev::main): When invoking general_init, pass m_init_signals
|
||
to control whether signal-handlers are installed.
|
||
* toplev.h (toplev::toplev): Add param "init_signals".
|
||
(toplev::m_init_signals): New field.
|
||
|
||
2015-01-23 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR jit/64722
|
||
* emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
|
||
NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
|
||
latter may be affected by the former (e.g. on i686).
|
||
|
||
2015-01-23 Martin Liska <mliska@suse.cz>
|
||
|
||
* tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
|
||
false positive during profiledbootstrap.
|
||
|
||
2015-01-23 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR libgomp/64672
|
||
* lto-opts.c (lto_write_options): Output non-explicit conservative
|
||
-fno-openacc.
|
||
* lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
|
||
(append_compiler_options): Pass -fopenacc through.
|
||
|
||
2015-01-23 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR libgomp/64707
|
||
* lto-opts.c (lto_write_options): Output non-explicit conservative
|
||
-fno-openmp.
|
||
* lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
|
||
(append_compiler_options): Pass -fopenmp through.
|
||
|
||
2015-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/64511
|
||
* dwarf2out.c (struct dw_loc_descr_node): Add chain_next
|
||
GTY markup.
|
||
|
||
* diagnostic-core.h (internal_error_no_backtrace): New prototype.
|
||
* diagnostic.def (DK_ICE_NOBT): New kind.
|
||
* diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
|
||
like DK_ICE, but never print backtrace.
|
||
(diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
|
||
(internal_error_no_backtrace): New function.
|
||
* gcc.c (execute): Use internal_error_no_backtrace instead of
|
||
internal_error.
|
||
|
||
2015-01-22 Jeff Law <law@redhat.com>
|
||
|
||
PR target/52076
|
||
* config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
|
||
improve code density for small immediate to memory case.
|
||
(insv): Better handle bitfield assignments when the field is
|
||
being set to all ones.
|
||
* config/m68k/predicates.md (reg_or_pow2_m1_operand): New
|
||
operand predicate.
|
||
|
||
2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/64729
|
||
* gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
|
||
for !TARGET_LIBC_PROVIDES_SSP version and
|
||
-fstack-protector-{all,strong,explicit} otherwise.
|
||
* config/freebsd.h (LINK_SSP_SPEC): Handle
|
||
-fstack-protector-{strong,explicit}.
|
||
|
||
2015-01-22 Jan Hubicka <hubicka@ucw.cz>
|
||
H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ipa/64694
|
||
* ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
|
||
heap.
|
||
|
||
2015-01-22 Wei Mi <wmi@google.com>
|
||
|
||
PR rtl-optimization/64557
|
||
* dse.c (record_store): Call get_addr for mem_addr.
|
||
(check_mem_read_rtx): Likewise.
|
||
|
||
2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* fold-const.c (const_binop): Add early return for non-tcc_binary.
|
||
|
||
2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
|
||
|
||
* toplev.c (init_local_tick): Process the failure when read
|
||
fails for random_seed.
|
||
|
||
* ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
|
||
'pretty_name' to avoid memory overflow.
|
||
|
||
2015-01-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/64728
|
||
* tree-ssa-coalesce.c (coalesce_partitions): Do not perform
|
||
abnormal coalescing on undefined SSA names.
|
||
|
||
2015-22-01 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/64688
|
||
PR target/64477
|
||
* config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
|
||
for alternative 3.
|
||
(*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
|
||
|
||
2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
PR middle-end/63325
|
||
* fold-const.c (fold_checksum_tree): Don't include value of
|
||
expr->decl_with_vis.symtab_node in the checksum.
|
||
|
||
2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||
|
||
* config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
|
||
|
||
2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
|
||
|
||
PR driver/64690
|
||
* gcc.c (insert_comments): New function.
|
||
(try_generate_repro): Call it.
|
||
(append_text): Removed.
|
||
|
||
2015-01-22 Richard Biener <rguenther@suse.de>
|
||
|
||
* ipa-inline.c (can_inline_edge_p): Disable inlining of edges
|
||
with IL incompatible options. Properly honor user optimize
|
||
attributes.
|
||
|
||
2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR rtl-optimization/64682
|
||
* combine.c (distribute_notes): When moving a death note for
|
||
a register that is set in the new I2, make sure to put it
|
||
before that new I2.
|
||
|
||
2015-01-21 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
|
||
not TARGET_DEFAULT.
|
||
|
||
2015-01-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/64511
|
||
* simplify-rtx.c (simplify_relational_operation_1): Don't try to
|
||
optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
|
||
into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
|
||
|
||
PR sanitizer/64706
|
||
* doc/invoke.texi (-fsanitize=vptr): Document.
|
||
|
||
PR rtl-optimization/62078
|
||
* dse.c: Include cfgcleanup.h.
|
||
(rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
|
||
anything call purge_all_dead_edges and cleanup_cfg at the end
|
||
of the pass.
|
||
|
||
2015-01-21 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
|
||
edges.
|
||
|
||
2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
|
||
decl attribute.
|
||
|
||
2015-01-21 David Sherwood <david.sherwood@arm.com>
|
||
Tejas Belagod <Tejas.Belagod@arm.com>
|
||
|
||
* config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
|
||
* config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
|
||
* config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
|
||
Removed.
|
||
|
||
2015-01-21 David Sherwood <david.sherwood@arm.com>
|
||
Tejas Belagod <Tejas.Belagod@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
|
||
(aarch64_reverse_mask): New decls.
|
||
* config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
|
||
(insn_count): New mode_attr.
|
||
* config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
|
||
(vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
|
||
(vec_load_lanesxi): Made ABI compliant for Big Endian targets.
|
||
(aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
|
||
(aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
|
||
(aarch64_simd_st4): New patterns.
|
||
* config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
|
||
(aarch64_reverse_mask): New functions.
|
||
|
||
2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
|
||
Declare.
|
||
* config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
|
||
addressing modes for BE.
|
||
(aarch64_print_operand): Add 'R' specifier.
|
||
(aarch64_simd_disambiguate_copy): Delete.
|
||
(aarch64_simd_emit_reg_reg_move): New function.
|
||
* config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
|
||
in define_splits for structural moves.
|
||
(mov<mode>): Use less restrictive predicates.
|
||
(*aarch64_mov<mode>): Simplify and only allow for LE.
|
||
(*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
|
||
|
||
2015-01-21 Alan Hayward <alan.hayward@arm.com>
|
||
|
||
* rtlanal.c (subreg_get_info): Exit early for simple and common cases.
|
||
|
||
2015-01-21 Richard Henderson <rth@redhat.com>
|
||
|
||
PR target/64669
|
||
* ccmp.c (used_in_cond_stmt_p): Remove.
|
||
(expand_ccmp_expr): Don't use it.
|
||
|
||
2015-01-21 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
|
||
PARALLELs.
|
||
|
||
2015-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/64313
|
||
* tree-core.h (builtin_info, builtin_info_type): Turn from
|
||
an object with two arrays into an array of an object with
|
||
decl and two flags, implicit_p and declared_p.
|
||
* tree.h (builtin_decl_explicit, builtin_decl_implicit,
|
||
set_builtin_decl, set_builtin_decl_implicit_p,
|
||
builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
|
||
(set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
|
||
* builtins.c (builtin_info): Adjust.
|
||
* gimplify.c (gimplify_addr_expr): References to builtins
|
||
that have been declared by the user makes them eligible for
|
||
use by the compiler. Call set_builtin_decl_implicit_p on them.
|
||
|
||
2015-01-20 Jeff Law <law@redhat.com>
|
||
|
||
PR target/59946
|
||
* config/m68k/m68k.md (Comparison expanders and patterns): Do not
|
||
allow pc-relative addresses in operand predicates or constraints.
|
||
|
||
2015-01-21 Bin Cheng <bin.cheng@arm.com>
|
||
|
||
* config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
|
||
neon on aarch32 processors for stringops.
|
||
|
||
2015-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/63576
|
||
* ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
|
||
|
||
2015-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/45375
|
||
* ipa-inline.c: Include lto-streamer.h
|
||
(report_inline_failed_reason): Output source file differences and
|
||
flags on optimization/target node mismatch.
|
||
(can_inline_edge_p): Consider caller to be the outer inline function;
|
||
be less restrictive about matching opimize and optimize_size attributes.
|
||
(inline_account_function_p): Break out from ...
|
||
(inline_small_functions): ... here.
|
||
* ipa-inline-transform.c (clone_inlined_nodes): Use
|
||
inline_account_function_p.
|
||
(inline_call): Use optimize attribution; use inline_account_function_p.
|
||
(inline_transform): Use opt_for_fn.
|
||
* ipa-inline.h (inline_account_function_p): Declare.
|
||
|
||
2015-01-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/64663
|
||
* dwarf2out.c (decl_piece_node): Don't put bitsize into
|
||
mode if bitsize <= 0.
|
||
(decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
|
||
dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
|
||
sizes and positions.
|
||
|
||
2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
* config/nios2/nios2.c (nios2_asm_file_end): Implement
|
||
TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
|
||
needed.
|
||
(TARGET_ASM_FILE_END): Define.
|
||
|
||
2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
|
||
|
||
* config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
|
||
(struct tune_params): Use the enum.
|
||
* arm.c (arm_*_tune): Update.
|
||
(arm_option_override): Update.
|
||
|
||
2015-01-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR ipa/64684
|
||
* ipa-reference.c (add_static_var): Inline ...
|
||
(analyze_function): ... here after splitting out from ...
|
||
(is_proper_for_analysis): ... this.
|
||
|
||
2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
PR target/64149
|
||
* config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
|
||
* config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
|
||
replace the conditional with it's true branch.
|
||
* config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
|
||
(arm_lra_p): Remove.
|
||
|
||
2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/visium/visium.h (LIB_SPEC): Adjust in default case.
|
||
|
||
2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* config/tilegx/mul-tables.c: Move symtab.h include after
|
||
coretypes.h include.
|
||
* config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
|
||
vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
|
||
flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
|
||
wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
|
||
explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
|
||
|
||
2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
|
||
|
||
PR bootstrap/64676
|
||
Revert:
|
||
2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
|
||
|
||
PR rtl-optimization/64081
|
||
* loop-iv.c (def_pred_latch_p): New function.
|
||
(latch_dominating_def): Allow specific cases with non-single
|
||
definitions.
|
||
(iv_get_reaching_def): Likewise.
|
||
(check_complex_exit_p): New function.
|
||
(check_simple_exit): Use check_complex_exit_p to allow certain cases
|
||
with exits not executing on any iteration.
|
||
|
||
2015-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/45375
|
||
* i386.c (ix86_option_override_internal): Use ix86_tune_cost
|
||
to set branch cost.
|
||
|
||
2015-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR lto/45375
|
||
* i386.c (gate): Check flag_expensive_optimizations and
|
||
optimize_size.
|
||
(ix86_option_override_internal): Drop optimize_size condition
|
||
on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
|
||
MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
|
||
MASK_PREFER_AVX128.
|
||
(ix86_avx256_split_vector_move_misalign,
|
||
ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
|
||
* sse.md (all uses of TARGET_PREFER_AVX128): Add
|
||
optimize_insn_for_speed_p check.
|
||
|
||
2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* config/mips/mips.h (FP_ASM_SPEC): New define.
|
||
(ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
|
||
instead.
|
||
|
||
2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/53988
|
||
* config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
|
||
nullptr for insn when reaching the first insn.
|
||
* config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
|
||
(sh_insn_operands_modified_between_p): Add nullptr check.
|
||
(sh_find_extending_set_of_reg): Fix log message. Don't accept
|
||
sign extending mem load if the insn contains any UNSPEC or
|
||
UNSPEC_VOLATILE.
|
||
|
||
2015-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* params.def (inline-unit-growth): Drop to 15%.
|
||
* invoke.texi (inline-unit-growth): Document change.
|
||
|
||
2015-01-19 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/64668
|
||
* ipa-icf-gimple.c (func_checker::compare_operand): Call proper
|
||
function for second argument of OBJ_TYPE_REF.
|
||
|
||
2015-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64218
|
||
* ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
|
||
whether function is an alias.
|
||
|
||
2015-01-19 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
|
||
cases.
|
||
|
||
2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/64671
|
||
* lra-remat.c (operand_to_remat): Don't consider jump and call
|
||
insns.
|
||
|
||
2015-01-19 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/59828
|
||
* config/rs6000/default64.h: Include rs6000-cpus.def.
|
||
(TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
|
||
(TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
|
||
* config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
|
||
and POWER8.
|
||
* config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
|
||
POWER8.
|
||
* config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
|
||
pseudo-op to specify assembler dialect.
|
||
|
||
2015-01-19 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/64664
|
||
* ipa-icf.c (sem_item_optimizer::filter_removed_items):
|
||
Handle safe potentially removed nodes during filtering.
|
||
|
||
2015-01-19 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/extend.texi (no_icf): Add new attribute description.
|
||
* ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
|
||
where the pass attempts to merge a function with no_icf attribute.
|
||
|
||
2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
PR target/64532
|
||
* doc/md.texi (ARM Options): Document register constraints.
|
||
|
||
2015-01-19 Jiong Wang <jiong.wang@arm.com>
|
||
Andrew Pinski <apinski@cavium.com>
|
||
|
||
PR target/64304
|
||
* config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
|
||
(ashl<mode>3): Don't expand if operands[2] is not constant.
|
||
|
||
2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/64448
|
||
* config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
|
||
Match xor-and-xor RTL pattern.
|
||
|
||
2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
|
||
|
||
PR rtl-optimization/64081
|
||
* loop-iv.c (def_pred_latch_p): New function.
|
||
(latch_dominating_def): Allow specific cases with non-single
|
||
definitions.
|
||
(iv_get_reaching_def): Likewise.
|
||
(check_complex_exit_p): New function.
|
||
(check_simple_exit): Use check_complex_exit_p to allow certain cases
|
||
with exits not executing on any iteration.
|
||
|
||
2015-01-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* common.opt (fgraphite): Fix a typo.
|
||
|
||
2015-01-19 Felix Yang <felix.yang@huawei.com>
|
||
|
||
* config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
|
||
pattern.
|
||
* config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
|
||
uminp, smax_nanp, smin_nanp): New builtins.
|
||
* config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
|
||
vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
|
||
vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
|
||
vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
|
||
vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
|
||
vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
|
||
vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
|
||
vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
|
||
vpminnms_f32): Rewrite using builtin functions.
|
||
|
||
2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR libgomp/64625
|
||
* omp-low.c (offload_symbol_decl): Remove variable.
|
||
(get_offload_symbol_decl): Remove function.
|
||
(expand_omp_target): For BUILT_IN_GOMP_TARGET,
|
||
BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
|
||
instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
|
||
BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
|
||
BUILT_IN_GOACC_UPDATE don't pass it at all.
|
||
|
||
2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
|
||
callers.
|
||
|
||
2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
* ipa-chkp.c (chkp_produce_thunks): Add early param
|
||
to split thunks production into two passes. Keep
|
||
'always_inline' function bodies after the first pass.
|
||
(pass_data_ipa_chkp_early_produce_thunks): New.
|
||
(pass_ipa_chkp_early_produce_thunks): New.
|
||
(pass_ipa_chkp_produce_thunks::execute): Adjust to new
|
||
chkp_produce_thunks signature.
|
||
(make_pass_ipa_chkp_early_produce_thunks): New.
|
||
* passes.def (pass_ipa_chkp_early_produce_thunks): New.
|
||
(pass_ipa_chkp_produce_thunks): Move after local optimizations.
|
||
* tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
|
||
|
||
2015-01-18 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* cgraph.c (cgraph_node::dump): Dump profile flags.
|
||
|
||
2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/64652
|
||
* config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
|
||
reg appear first in the parallel.
|
||
|
||
2015-01-18 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-reference.c (set_reference_optimization_summary,
|
||
ipa_reference_get_not_written_global): Do nothing if ipa-reference is
|
||
disabled.
|
||
(ignore_module_statics): New static var.
|
||
(propagate_bits): If ipa-reference is disabled, do not look into local
|
||
properties.
|
||
(analyze_function): Disable analysis when ipa_reference is disabled.
|
||
(generate_summary): Do not dump when reference is disabled;
|
||
collect vars accessed from functions with ipa-reference disabled.
|
||
(get_read_write_all_from_node): When ipa-reference is disabled, use the
|
||
node flags.
|
||
(gate): Enable for LTO.
|
||
(ignore_edge_p): New function.
|
||
(propagate): Skip functions w/o ipa-reference analysis.
|
||
* optc-save-gen.awk: Handle optimize_debug correctly.
|
||
* opth-gen.awk: Likewise.
|
||
* common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
|
||
fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
|
||
fira-share-save-slots, fira-share-spill-slots,
|
||
fmodulo-sched-allow-regmoves, fpartial-inlining,
|
||
sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
|
||
ftracer, ftree-parallelize-loops, fassociative-math,
|
||
freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
|
||
Optimization
|
||
(fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
|
||
ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
|
||
Optimization.
|
||
* ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
|
||
Fix for IPA.
|
||
|
||
2015-01-18 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64378
|
||
* ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
|
||
flag correctly.
|
||
* ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
|
||
|
||
2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
|
||
Remove duplicate option listings.
|
||
|
||
2015-01-18 Felix Yang <felix.yang@huawei.com>
|
||
|
||
* auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
|
||
(autofdo_source_profile::get_callsite_total_count,
|
||
function_instance::get_function_instance_by_decl,
|
||
string_table::get_index, string_table::get_index_by_decl,
|
||
afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
|
||
Fix comment typos. Reformatting and minor code rearrangement.
|
||
|
||
2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.md (probe_stack): Delete.
|
||
(probe_stack_address): New.
|
||
|
||
2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
|
||
to test for 32-bit ABIs, not !TARGET_POWERPC64.
|
||
|
||
2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_parallel_return): New function.
|
||
(rs6000_function_value): Use it. Handle SCmode and TCmode as well,
|
||
for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
|
||
snafu.
|
||
(rs6000_libcall_value): Use the new function.
|
||
|
||
2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
|
||
|
||
2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
|
||
implement a more precise life analysis for it during backward scan.
|
||
|
||
2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||
|
||
* dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
|
||
|
||
2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
|
||
|
||
PR rtl-optimization/52773
|
||
* calls.c (emit_library_call_value): When pushing arguments use
|
||
stack_pointer_rtx rather than virtual_outgoing_args_rtx in
|
||
CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
|
||
stack pointer reference into CALL_INSN_FUNCTION_USAGE.
|
||
|
||
2015-01-17 Jeff Law <law@redhat.com>
|
||
|
||
PR rtl-optimization/32790
|
||
* reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
|
||
not ZERO_EXTEND in SET_DESTs.
|
||
|
||
2015-01-17 Alan Modra <amodra@gmail.com>
|
||
|
||
* cprop.c (do_local_cprop): Revert last change.
|
||
|
||
2015-01-16 DJ Delorie <dj@redhat.com>
|
||
Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
|
||
(addhi3_real): Likewise. Fix [HL+0] syntax.
|
||
(subqi3_real): Likewise.
|
||
(subhi3_real): Likewise.
|
||
(cbranchqi4_real): Likewise. Allow saddr,#imm.
|
||
(cbranchhi4_real): Likewise.
|
||
(cbranchhi4_real_inverted): Likewise.
|
||
(cbranchsi4_real_lt): Likewise.
|
||
(cbranchsi4_real_ge): Likewise.
|
||
(cbranchsi4_real_ge): Likewise.
|
||
* config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
|
||
(sub<mode>3_virt): Likewise.
|
||
(cbranchqi4_virt): Likewise.
|
||
(cbranchhi4_virt): Likewise.
|
||
* config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
|
||
always use '[reg+imm]' even when imm is zero.
|
||
* config/rl78/predicates.md (rl78_volatile_memory_operand): New.
|
||
(rl78_general_operand): New.
|
||
(rl78_nonimmediate_operand): New.
|
||
(rl78_nonfar_operand): Use them.
|
||
(rl78_nonfar_nonimm_operand): Likewise.
|
||
(rl78_stack_based_mem): Fix.
|
||
* config/rl78/constraints.md (Ibqi): New.
|
||
(IBqi): New.
|
||
(Wsa): New.
|
||
(Wsf): New.
|
||
(Cs1): Fix.
|
||
* config/rl78/rl78-expand.md (andqi3): Accept volatiles.
|
||
(iorqi3): Likewise.
|
||
(xorqi3): Likewise.
|
||
* config/rl78/rl78-protos.h (rl78_sfr_p): New.
|
||
|
||
* config/rl78/constrains (Qs8): New constraint.
|
||
* config/rl78/rl78.c (rl78_flags_already_set): New function.
|
||
* config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
|
||
* config/rl78/rl78-real.md (update_Z): New attribute.
|
||
Update patterns to set it.
|
||
(cbranchqi4_real): Call rl78_flags_already_set() to determine if a
|
||
shorter compare and branch sequence can be used.
|
||
(cbranchhi4_real): Likewise.
|
||
(cbranchhi4_real_inverted): Likewise.
|
||
|
||
* config/rl78/predicates.md (uword_operand): Allow symbol_refs.
|
||
* config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
|
||
address space.
|
||
* config/rl78/rl78.c (rl78_get_name_encoding): New.
|
||
(rl78_option_override): Allow -mes0 only if C.
|
||
(characterize_address): Support subregs of symbol_refs.
|
||
(rl78_addr_space_address_mode): Move. Add __near.
|
||
(rl78_far_p): Likewise.
|
||
(rl78_addr_space_pointer_mode): Likewise.
|
||
(rl78_as_legitimate_address): Likewise.
|
||
(rl78_addr_space_subset_p): Likewise.
|
||
(rl78_addr_space_convert): Likewise.
|
||
(rl78_print_operand_1): Support 16-bit addressing of 32-bit
|
||
symbols with -mes0.
|
||
(transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
|
||
addressing.
|
||
(rl78_alloc_physical_registers_op1): Change logic to prefer
|
||
symbol[BC] addressing.
|
||
(frodata_section): New.
|
||
(rl78_asm_init_sections): Initialize it.
|
||
(rl78_select_section): Put __far readonly symbols in .frodata.
|
||
(rl78_make_type_far): New.
|
||
(rl78_insert_attributes): Force all readonly symbols to be
|
||
__far when -mes0.
|
||
(rl78_asm_out_integer): New.
|
||
* config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
|
||
* config/rl78/rl78.opt (-mes0): New.
|
||
|
||
* config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
|
||
(ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
|
||
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
|
||
* config/rl78/rl78-protos.h (rl78_output_labelref): New.
|
||
(rl78_saddr_p): New.
|
||
(rl78_output_aligned_common): New.
|
||
* config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
|
||
(rl78_handle_saddr_attribute): New.
|
||
(rl78_handle_naked_attribute): New.
|
||
(rl78_attribute_table): Add saddr.
|
||
(rl78_print_operand_1): Don't print '!' on saddr operands.
|
||
(rl78_print_operand_1): Strip encodings.
|
||
(rl78_sfr_p): New.
|
||
(rl78_strip_name_encoding): New.
|
||
(rl78_attrlist_to_encoding): New.
|
||
(rl78_encode_section_info): New.
|
||
(rl78_asm_init_sections): New.
|
||
(rl78_select_section): New.
|
||
(rl78_output_labelref): New.
|
||
(rl78_output_aligned_common): New.
|
||
(rl78_asm_out_integer): New.
|
||
(rl78_asm_ctor_dtor): New.
|
||
(rl78_asm_constructor): New.
|
||
(rl78_asm_destructor): New.
|
||
|
||
* config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
|
||
* config/rl78/rl78.c (rl78_expand_epilogue): Update.
|
||
(transcode_memory_rtx): Update.
|
||
(rl78_expand_epilogue): Use A_REG instead of 0.
|
||
|
||
2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
|
||
|
||
* config/arm/arm-protos.h (struct tune_params): New field
|
||
sched_autopref_queue_depth.
|
||
* config/arm/arm.c (sched-int.h): Include header.
|
||
(arm_first_cycle_multipass_dfa_lookahead_guard,)
|
||
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
|
||
(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
|
||
(arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
|
||
(arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
|
||
(arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
|
||
(arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
|
||
(arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
|
||
Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
|
||
* config/arm/t-arm (arm.o): Update.
|
||
* haifa-sched.c (update_insn_after_change): Update.
|
||
(rank_for_schedule): Use auto-prefetcher model, if requested.
|
||
(autopref_multipass_init): New static function.
|
||
(autopref_rank_for_schedule): New rank_for_schedule heuristic.
|
||
(autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
|
||
variable for debug dumps.
|
||
(autopref_multipass_dfa_lookahead_guard_1): New static helper function.
|
||
(autopref_multipass_dfa_lookahead_guard): New global function that
|
||
implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
|
||
(init_h_i_d): Update.
|
||
* params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
|
||
* sched-int.h (enum autopref_multipass_data_status): New const enum.
|
||
(autopref_multipass_data_): Structure for auto-prefetcher data.
|
||
(autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
|
||
(struct _haifa_insn_data:autopref_multipass_data): New field.
|
||
(INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
|
||
(autopref_multipass_dfa_lookahead_guard): Declare.
|
||
|
||
2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
|
||
|
||
* rtlanal.c (get_base_term): Handle SCRATCH.
|
||
|
||
2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
|
||
|
||
* config/aarch64/aarch64.c
|
||
(aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
|
||
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
|
||
* config/arm/arm.c
|
||
(arm_first_cycle_multipass_dfa_lookahead): Implement hook.
|
||
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
|
||
|
||
2015-01-17 Alan Modra <amodra@gmail.com>
|
||
|
||
* cprop.c (do_local_cprop): Disallow replacement of fixed
|
||
hard registers.
|
||
|
||
2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/62066
|
||
* config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
|
||
early return 0.
|
||
|
||
2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
|
||
* tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
|
||
|
||
2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
|
||
* config/arm/thumb1.md: ... Here.
|
||
|
||
2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
|
||
TImode for TARGET_32BIT.
|
||
|
||
2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
|
||
TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
|
||
as ...
|
||
(rs6000_abi_word_mode): New function.
|
||
|
||
2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
|
||
instead of UNITS_PER_WORD to describe the size of stack slots.
|
||
|
||
2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
|
||
as rs6000_promote_function_mode. Move comment to there.
|
||
(rs6000_promote_function_mode): New function.
|
||
|
||
2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
|
||
-mpowerpc64 is active.
|
||
|
||
2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR middle-end/64353
|
||
* tree-cfg.c (pass_data_fixup_cfg): Update SSA for
|
||
virtuals on start.
|
||
|
||
2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/arm/cortex-a57.md: Remove duplicate of file accidentally
|
||
introduced in revision 219724.
|
||
|
||
2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
PR target/64263
|
||
* config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
|
||
destination is not a GP reg.
|
||
(*movdi_aarch64): Likewise.
|
||
|
||
2015-01-16 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/64623
|
||
* config/rs6000/default64.h: Revert ISA change.
|
||
|
||
2015-01-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/64614
|
||
* tree-ssa-uninit.c: Include tree-cfg.h.
|
||
(MAX_SWITCH_CASES): New define.
|
||
(convert_control_dep_chain_into_preds): Handle switch statements.
|
||
(is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
|
||
(normalize_one_pred_1): Do not split bit-manipulations.
|
||
Record (x & CST).
|
||
|
||
2015-01-16 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64568
|
||
* tree-ssa-forwprop.c (pass_forwprop::execute): Guard
|
||
complex load rewriting for TARGET_MEM_REFs.
|
||
|
||
2015-01-16 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* builtins.c (expand_builtin_acc_on_device): Check target for NULL.
|
||
|
||
2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
PR target/64149
|
||
* config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
|
||
variable.
|
||
* config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
|
||
(aarch64_lra_p): Remove.
|
||
|
||
2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
|
||
|
||
PR target/64363
|
||
* ipa-chkp.h (chkp_instrumentable_p): New.
|
||
* ipa-chkp.c: Include tree-inline.h.
|
||
(chkp_instrumentable_p): New.
|
||
(chkp_maybe_create_clone): Use chkp_instrumentable_p.
|
||
Fix processing of not instrumentable functions.
|
||
(chkp_versioning): Use chkp_instrumentable_p. Warn about
|
||
not instrumentable functions.
|
||
* tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
|
||
chkp_instrumentable_p.
|
||
* tree-inline.h (copy_forbidden): New.
|
||
* tree-inline.c (copy_forbidden): Not static anymore.
|
||
|
||
2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
|
||
ptr1, ptr2 unused.
|
||
|
||
2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
|
||
|
||
* lra-constraints.c (curr_insn_transform): Change a reload pseudo of
|
||
type OP_OUT to OP_INOUT.
|
||
|
||
2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
|
||
|
||
* simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
|
||
(high x) y) to y if x and y have the same base.
|
||
|
||
2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* config/arm/cortex-a57.md: New.
|
||
* config/aarch64/aarch64.md: Include it.
|
||
* config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
|
||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||
|
||
2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
|
||
|
||
PR target/64015
|
||
* ccmp.c (expand_ccmp_next): New function.
|
||
(expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
|
||
and compare insn sequence.
|
||
* config/aarch64/aarch64.c (aarch64_code_to_ccmode,
|
||
aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
|
||
(TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
|
||
* config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
|
||
(*ccmp_ior): Changed to ccmp_ior<mode>.
|
||
(cmp<mode>): New pattern.
|
||
* doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
|
||
parameters.
|
||
* target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
|
||
|
||
2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
|
||
|
||
* config/i386/avx2intrin.h (_mm256_bslli_epi128,
|
||
_mm256_bsrli_epi128): New.
|
||
* config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
|
||
|
||
2015-01-15 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
* expmed.c (store_bit_field_using_insv): Improve warning message.
|
||
Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
|
||
|
||
2015-01-15 Jiong Wang <jiong.wang@arm.com>
|
||
|
||
PR rtl-optimization/64011
|
||
* expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
|
||
there is partial overflow.
|
||
|
||
2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
|
||
prototype.
|
||
(nds32_expand_epilogue_v3pop): Likewise.
|
||
* config/nds32/nds32.md (sibcall): Define this for sibling call
|
||
optimization.
|
||
(sibcall_register): Likewise.
|
||
(sibcall_immediate): Likewise.
|
||
(sibcall_value): Likewise.
|
||
(sibcall_value_register): Likewise.
|
||
(sibcall_value_immediate): Likewise.
|
||
(sibcall_epilogue): Likewise.
|
||
(epilogue): Pass false to indicate this is not a sibcall epilogue.
|
||
* config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
|
||
(nds32_expand_epilogue_v3pop): Likewise.
|
||
|
||
2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
|
||
* config/nds32/nds32.md (unspec_volatile_func_return): Remove.
|
||
(return_internal): New.
|
||
(return): Define this named pattern.
|
||
(simple_return): Define this named pattern.
|
||
* config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
|
||
pattern instead of unspec_volatile_func_return.
|
||
(nds32_expand_epilogue_v3pop): Likewise.
|
||
(nds32_can_use_return_insn): New function.
|
||
|
||
2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
|
||
* config/nds32/nds32.md (pop25return): New.
|
||
* config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
|
||
pop25return pattern.
|
||
|
||
2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
|
||
-mforbid-fp-as-gp, and -mex9 options.
|
||
|
||
2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
|
||
remove -mgp-direct option.
|
||
|
||
2015-01-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* doc/invoke.texi (--param early-inlining-insns): Update default value.
|
||
* params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
|
||
|
||
2015-01-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-inline.c (inline_small_functions): Work around hints
|
||
cache issue.
|
||
|
||
2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR target/59710
|
||
* doc/invoke.texi (Option Summary): Document new Nios II
|
||
-mgpopt= syntax.
|
||
(Nios II Options): Likewise.
|
||
* config/nios2/nios2.opt: Add -mgpopt= option support.
|
||
Modify existing -mgpopt and -mno-gpopt options to be aliases.
|
||
* config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
|
||
* config/nios2/nios2.c (nios2_option_override): Adjust
|
||
-mgpopt defaulting.
|
||
(nios2_in_small_data_p): Return true for explicit small data
|
||
sections even with -G0.
|
||
(nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
|
||
option choices.
|
||
|
||
2015-01-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64612
|
||
* ipa-inline-transform.c (can_remove_node_now_p): Fix handling
|
||
of comdat locals.
|
||
(inline_call): Fix removal of aliases.
|
||
|
||
2015-01-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
|
||
include SANITIZE_VPTR in SANITIZE_UNDEFINED.
|
||
* opts.c (common_handle_option): Add -fsanitize=vptr.
|
||
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
|
||
BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
|
||
* ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
|
||
UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
|
||
(ubsan_expand_vptr_ifn): New prototype.
|
||
* internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
|
||
expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
|
||
expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
|
||
expand_LOOP_VECTORIZED): Make argument nameless, remove
|
||
ATTRIBUTE_UNUSED.
|
||
(expand_UBSAN_VPTR): New function.
|
||
* internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
|
||
in fn spec.
|
||
(UBSAN_VPTR): New internal function.
|
||
* sanopt.c (tree_map_traits): Renamed to ...
|
||
(sanopt_tree_map_traits): ... this.
|
||
(sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
|
||
(sanopt_ctx): Adjust asan_check_map type for tree_map_traits
|
||
to sanopt_tree_map_traits renaming. Add vptr_check_map field.
|
||
(maybe_optimize_ubsan_vptr_ifn): New function.
|
||
(sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
|
||
(pass_sanopt::execute): Likewise. Call sanopt_optimize even for
|
||
-fsanitize=vptr.
|
||
* tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
|
||
internal calls like pure functions for aliasing, even when they
|
||
have other side-effects that prevent making them ECF_PURE.
|
||
* ubsan.c (ubsan_vptr_type_cache_decl): New variable.
|
||
(ubsan_expand_vptr_ifn): New function.
|
||
|
||
2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
|
||
|
||
PR rtl-optimization/64110
|
||
* stmt.c (parse_output_constraint): Process '^' and '$'.
|
||
(parse_input_constraint): Ditto.
|
||
* lra-constraints.c (process_alt_operands): Process the new
|
||
constraints.
|
||
* ira-costs.c (record_reg_classes): Process the new constraint
|
||
'^'.
|
||
* genoutput.c (indep_constraints): Add '^' and '$'.
|
||
* config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
|
||
* doc/md.texi: Add description of the new constraints.
|
||
|
||
2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
|
||
Bernd Schmidt <bernds@codesourcery.com>
|
||
Cesar Philippidis <cesar@codesourcery.com>
|
||
James Norris <jnorris@codesourcery.com>
|
||
Tom de Vries <tom@codesourcery.com>
|
||
Ilmir Usmanov <i.usmanov@samsung.com>
|
||
Dmitry Bocharnikov <dmitry.b@samsung.com>
|
||
Evgeny Gavrin <e.gavrin@samsung.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* builtin-types.def (BT_FN_VOID_INT_INT_VAR)
|
||
(BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
|
||
(BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
|
||
New function types.
|
||
* builtins.c: Include "gomp-constants.h".
|
||
(expand_builtin_acc_on_device): New function.
|
||
(expand_builtin, is_inexpensive_builtin): Handle
|
||
BUILT_IN_ACC_ON_DEVICE.
|
||
* builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
|
||
New macros.
|
||
* cgraph.c (cgraph_node::create): Consider flag_openacc next to
|
||
flag_openmp.
|
||
* config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
|
||
<*-intelmic-* | *-intelmicemul-*> (tm_file): Add
|
||
i386/intelmic-offload.h.
|
||
* gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
|
||
to libgomp and its dependencies.
|
||
* config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
|
||
* config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
|
||
* config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
|
||
* config/ia64/hpux.h (LIB_SPEC): Likewise.
|
||
* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
|
||
* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
|
||
* doc/generic.texi: Update for OpenACC changes.
|
||
* doc/gimple.texi: Likewise.
|
||
* doc/invoke.texi: Likewise.
|
||
* doc/sourcebuild.texi: Likewise.
|
||
* gimple-pretty-print.c (dump_gimple_omp_for): Handle
|
||
GF_OMP_FOR_KIND_OACC_LOOP.
|
||
(dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
|
||
GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
|
||
GF_OMP_TARGET_KIND_OACC_UPDATE,
|
||
GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
|
||
Dump more data.
|
||
* gimple.c: Update comments for OpenACC changes.
|
||
* gimple.def: Likewise.
|
||
* gimple.h: Likewise.
|
||
(enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
|
||
GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
|
||
GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
|
||
GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
|
||
(gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
|
||
appropriate place.
|
||
(is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
|
||
* gimplify.c: Include "gomp-constants.h".
|
||
Update comments for OpenACC changes.
|
||
(is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
|
||
OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
|
||
OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
|
||
(gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
|
||
OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
|
||
OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
|
||
OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
|
||
OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
|
||
OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
|
||
OMP_CLAUSE_SEQ.
|
||
(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
|
||
GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
|
||
OMP_CLAUSE_SET_MAP_KIND.
|
||
(gimplify_oacc_cache): New function.
|
||
(gimplify_omp_for): Handle OACC_LOOP.
|
||
(gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
|
||
OACC_DATA.
|
||
(gimplify_omp_target_update): Handle OACC_ENTER_DATA,
|
||
OACC_EXIT_DATA, OACC_UPDATE.
|
||
(gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
|
||
OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
|
||
OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
|
||
(gimplify_body): Consider flag_openacc next to flag_openmp.
|
||
* lto-streamer-out.c: Include "gomp-constants.h".
|
||
* omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
|
||
(BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
|
||
(BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
|
||
(BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
|
||
(BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
|
||
(BUILT_IN_ACC_ON_DEVICE): New builtins.
|
||
* omp-low.c: Include "gomp-constants.h".
|
||
Update comments for OpenACC changes.
|
||
(struct omp_context): Add reduction_map, gwv_below, gwv_this
|
||
members.
|
||
(extract_omp_for_data, use_pointer_for_field, install_var_field)
|
||
(new_omp_context, delete_omp_context, scan_sharing_clauses)
|
||
(create_omp_child_function, scan_omp_for, scan_omp_target)
|
||
(check_omp_nesting_restrictions, lower_reduction_clauses)
|
||
(build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
|
||
Update for OpenACC changes.
|
||
(scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
|
||
OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
|
||
OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
|
||
OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
|
||
OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
|
||
OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
|
||
OMP_CLAUSE_MAP_*.
|
||
(expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
|
||
Handle GF_OMP_FOR_KIND_OACC_LOOP.
|
||
(expand_omp_target, lower_omp_target): Handle
|
||
GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
|
||
GF_OMP_TARGET_KIND_OACC_UPDATE,
|
||
GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
|
||
GF_OMP_TARGET_KIND_OACC_DATA.
|
||
(pass_expand_omp::execute, execute_lower_omp)
|
||
(pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
|
||
flag_openmp.
|
||
(offload_symbol_decl): New variable.
|
||
(oacc_get_reduction_array_id, oacc_max_threads)
|
||
(get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
|
||
(maybe_lookup_oacc_reduction, enclosing_target_ctx)
|
||
(oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
|
||
(oacc_gimple_assign, oacc_initialize_reduction_data)
|
||
(oacc_finalize_reduction_data, oacc_process_reduction_data): New
|
||
functions.
|
||
(is_targetreg_ctx): Remove function.
|
||
* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
|
||
OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
|
||
OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
|
||
OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
|
||
OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
|
||
OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
|
||
* tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
|
||
* tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
|
||
(OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
|
||
(OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
|
||
(OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
|
||
(OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
|
||
* tree-core.h: Update comments for OpenACC changes.
|
||
(enum omp_clause_map_kind): Remove.
|
||
(struct tree_omp_clause): Change type of map_kind member from enum
|
||
omp_clause_map_kind to unsigned char.
|
||
* tree-inline.c: Update comments for OpenACC changes.
|
||
* tree-nested.c: Likewise. Include "gomp-constants.h".
|
||
(convert_nonlocal_reference_stmt, convert_local_reference_stmt)
|
||
(convert_tramp_reference_stmt, convert_gimple_call): Update for
|
||
OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
|
||
OMP_CLAUSE_SET_MAP_KIND.
|
||
* tree-pretty-print.c: Include "gomp-constants.h".
|
||
(dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
|
||
OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
|
||
OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
|
||
OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
|
||
OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
|
||
OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
|
||
instead of OMP_CLAUSE_MAP_*.
|
||
(dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
|
||
OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
|
||
OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
|
||
* tree-streamer-in.c: Include "gomp-constants.h".
|
||
(unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
|
||
OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
|
||
* tree-streamer-out.c: Include "gomp-constants.h".
|
||
(pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
|
||
OMP_CLAUSE_MAP_*.
|
||
* tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
|
||
(OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
|
||
(OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
|
||
* tree.c (omp_clause_num_ops): Update accordingly.
|
||
* tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
|
||
Likewise.
|
||
(OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
|
||
(OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
|
||
(OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
|
||
(OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
|
||
(OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
|
||
(OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
|
||
* tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
|
||
(OMP_CLAUSE_SET_MAP_KIND): New macro.
|
||
* varpool.c (varpool_node::get_create): Consider flag_openacc next
|
||
to flag_openmp.
|
||
* config/i386/intelmic-offload.h: New file.
|
||
* config/nvptx/offload.h: Likewise.
|
||
|
||
2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* explow.h: Remove duplicate contents.
|
||
* dojump.h: Likewise.
|
||
|
||
2015-01-15 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* arm.c (arm_xgene_tune): Add default initializer for instruction
|
||
fusion.
|
||
|
||
2015-01-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64068
|
||
PR ipa/64559
|
||
* ipa.c (symbol_table::remove_unreachable_nodes):
|
||
Do not put abstract origins into boundary.
|
||
|
||
2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
|
||
|
||
* config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
|
||
* config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
|
||
|
||
2015-01-15 Steve Ellcey <sellcey@mips.com>
|
||
|
||
* Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
|
||
cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
|
||
builtins.def, and chkp-builtins.def.
|
||
|
||
2015-01-15 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
* config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
|
||
ISA 2.7 (POWER8).
|
||
|
||
2015-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/61743
|
||
* tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
|
||
information on PHIs for some simple cases.
|
||
|
||
2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
|
||
|
||
* config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
|
||
Include xgene1.md.
|
||
* config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
|
||
* config/arm/arm-cores.def (xgene1): New entry.
|
||
* config/arm/arm-tables.opt: Regenerate.
|
||
* config/arm/arm-tune.md: Regenerate.
|
||
* config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
|
||
|
||
2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
* tree-if-conv.c: Include hash-map.h.
|
||
(aggressive_if_conv): New variable.
|
||
(fold_build_cond_expr): Add simplification of non-zero condition.
|
||
(add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
|
||
destination block is not always executed.
|
||
(if_convertible_phi_p): Fix commentary, allow phi nodes have more
|
||
than two predecessors if AGGRESSIVE_IF_CONV is true.
|
||
(if_convertible_stmt_p): Fix commentary.
|
||
(all_preds_critical_p): New function.
|
||
(has_pred_critical_p): New function.
|
||
(if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
|
||
BB can have more than two predecessors and all incoming edges can be
|
||
critical.
|
||
(predicate_bbs): Skip predication for loop exit block, use build2_loc
|
||
to compute predicate for true edge.
|
||
(find_phi_replacement_condition): Delete this function.
|
||
(is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
|
||
Allow interchange PHI arguments if EXTENDED is false.
|
||
Change check that block containing reduction statement candidate
|
||
is predecessor of phi-block since phi may have more than two arguments.
|
||
(phi_args_hash_traits): New helper structure.
|
||
(struct phi_args_hash_traits): New type.
|
||
(phi_args_hash_traits::hash): New function.
|
||
(phi_args_hash_traits::equal_keys): New function.
|
||
(gen_phi_arg_condition): New function.
|
||
(predicate_scalar_phi): Add handling of phi nodes with more than two
|
||
arguments, delete COND and TRUE_BB arguments, insert body of
|
||
find_phi_replacement_condition to predicate ordinary phi nodes.
|
||
(predicate_all_scalar_phis): Skip blocks with the only predecessor,
|
||
delete call of find_phi_replacement_condition and invoke
|
||
predicate_scalar_phi with two arguments.
|
||
(insert_gimplified_predicates): Add assert that non-predicated block
|
||
don't have statements to insert.
|
||
(ifcvt_split_critical_edges): New function.
|
||
(ifcvt_split_def_stmt): Likewise.
|
||
(ifcvt_walk_pattern_tree): Likewise.
|
||
(stmt_is_root_of_bool_pattern): Likewise.
|
||
(ifcvt_repair_bool_pattern): Likewise.
|
||
(ifcvt_local_dce): Likewise.
|
||
(tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
|
||
is copy of inner or outer loop force_vectorize field, invoke
|
||
ifcvt_split_critical_edges, ifcvt_local_dce and
|
||
ifcvt_repair_bool_pattern for aggressive if-conversion.
|
||
|
||
2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
|
||
|
||
* config/aarch64/aarch64.md: Include xgene1.md.
|
||
* config/aarch64/xgene1.md: New file.
|
||
|
||
2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
|
||
|
||
* config/aarch64/aarch64-cores.def (xgene1): Update/add the
|
||
xgene1 (APM XGene-1) core definition.
|
||
* gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
|
||
* config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
|
||
* doc/invoke.texi: Document -mcpu=xgene1.
|
||
|
||
2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* dojump.h: New header file.
|
||
* explow.h: Likewise.
|
||
* expr.h: Remove includes.
|
||
Move expmed.c prototypes to expmed.h.
|
||
Move dojump.c prototypes to dojump.h.
|
||
Move alias.c prototypes to alias.h.
|
||
Move explow.c prototypes to explow.h.
|
||
Move calls.c prototypes to calls.h.
|
||
Move emit-rtl.c prototypes to emit-rtl.h.
|
||
Move varasm.c prototypes to varasm.h.
|
||
Move stmt.c prototypes to stmt.h.
|
||
(saved_pending_stack_adjust): Move to dojump.h.
|
||
(adjust_address): Move to explow.h.
|
||
(adjust_address_nv): Move to emit-rtl.h.
|
||
(adjust_bitfield_address): Likewise.
|
||
(adjust_bitfield_address_size): Likewise.
|
||
(adjust_bitfield_address_nv): Likewise.
|
||
(adjust_automodify_address_nv): Likewise.
|
||
* explow.c (expr_size): Move to expr.c.
|
||
(int_expr_size): Likewise.
|
||
(tree_expr_size): Likewise.
|
||
Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
|
||
* genemit.c (main): Generate includes statistics.h, real.h,
|
||
fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
|
||
stmt.h.
|
||
* genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
|
||
function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
|
||
explow.h, emit-rtl.h, stmt.h.
|
||
* genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
|
||
fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
|
||
* genemit.c (open_base_files): Generate includes flags.h, statistics.h,
|
||
real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
|
||
emit-rtl.h, varasm.h, stmt.h.
|
||
* config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
|
||
hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
|
||
function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
|
||
fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
|
||
expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
|
||
* config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
|
||
double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
|
||
function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
|
||
insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
|
||
tm.h tree.h varasm.h vec.h wide-int.h.
|
||
* rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
|
||
explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
|
||
hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
|
||
real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
|
||
* cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
|
||
emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
|
||
insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
|
||
* loop-iv.c: Likewise.
|
||
* lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
|
||
emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
|
||
statistics.h stmt.h tree.h varasm.h wide-int.h.
|
||
* lra-constraints.c: Likewise.
|
||
* lra-eliminations.c: Likewise.
|
||
* lra-lives.c: Likewise.
|
||
* lra-remat.c: Likewise.
|
||
* bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
|
||
explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
|
||
statistics.h stmt.h tree.h varasm.h wide-int.h.
|
||
* hw-doloop.c: Likewise.
|
||
* ira-color.c: Likewise.
|
||
* ira-emit.c: Likewise.
|
||
* loop-doloop.c: Likewise.
|
||
* loop-invariant.c: Likewise.
|
||
* reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
|
||
explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
|
||
statistics.h stmt.h tree.h varasm.h wide-int.h.
|
||
* caller-save.c: Include alias.h calls.h dojump.h double-int.h
|
||
emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
|
||
statistics.h stmt.h tree.h varasm.h wide-int.h.
|
||
* combine-stack-adj.c: Likewise.
|
||
* cse.c: Likewise.
|
||
* ddg.c: Likewise.
|
||
* ifcvt.c: Likewise.
|
||
* ira-costs.c: Likewise.
|
||
* jump.c: Likewise.
|
||
* lra-coalesce.c: Likewise.
|
||
* lra-spills.c: Likewise.
|
||
* profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
|
||
explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
|
||
stmt.h varasm.h wide-int.h.
|
||
* lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
|
||
explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
|
||
varasm.h.
|
||
* config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
|
||
double-int.h explow.h expmed.h fixed-value.h flags.h real.h
|
||
statistics.h stmt.h varasm.h wide-int.h.
|
||
* reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
|
||
expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
|
||
varasm.h wide-int.h.
|
||
* reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
|
||
expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
|
||
* config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
|
||
emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
|
||
statistics.h stmt.h.
|
||
* config/tilepro/tilepro.c: Likewise.
|
||
* config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
|
||
explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
|
||
* config/pdp11/pdp11.c: Likewise.
|
||
* config/xtensa/xtensa.c: Likewise.
|
||
* config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
|
||
explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
|
||
varasm.h.
|
||
* tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
|
||
insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
|
||
* cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
|
||
insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
|
||
* rtl-chkp.c: Likewise.
|
||
* tree-chkp-opt.c: Likewise.
|
||
* config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
|
||
explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
|
||
hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
|
||
* ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
|
||
statistics.h stmt.h.
|
||
* tree-vect-data-refs.c: Likewise.
|
||
* graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
|
||
expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
|
||
rtl.h statistics.h stmt.h varasm.h.
|
||
* internal-fn.c: Likewise.
|
||
* ipa-icf-gimple.c: Likewise.
|
||
* lto-section-out.c: Likewise.
|
||
* tree-data-ref.c: Likewise.
|
||
* tree-nested.c: Likewise.
|
||
* tree-outof-ssa.c: Likewise.
|
||
* tree-predcom.c: Likewise.
|
||
* tree-pretty-print.c: Likewise.
|
||
* tree-scalar-evolution.c: Likewise.
|
||
* tree-ssa-strlen.c: Likewise.
|
||
* tree-vect-loop.c: Likewise.
|
||
* tree-vect-patterns.c: Likewise.
|
||
* tree-vect-slp.c: Likewise.
|
||
* tree-vect-stmts.c: Likewise.
|
||
* tsan.c: Likewise.
|
||
* targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
|
||
stmt.h.
|
||
* config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
|
||
expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
|
||
statistics.h stmt.h varasm.h.
|
||
* loop-unroll.c: Likewise.
|
||
* ubsan.c: Likewise.
|
||
* tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
|
||
expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
|
||
stmt.h varasm.h.
|
||
* dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
|
||
* tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
|
||
expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
|
||
statistics.h stmt.h.
|
||
* generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
|
||
expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
|
||
statistics.h stmt.h varasm.h.
|
||
* gimple-match-head.c: Likewise.
|
||
* lto-cgraph.c: Likewise.
|
||
* lto-section-in.c: Likewise.
|
||
* lto-streamer-in.c: Likewise.
|
||
* lto-streamer-out.c: Likewise.
|
||
* tree-affine.c: Likewise.
|
||
* tree-cfg.c: Likewise.
|
||
* tree-cfgcleanup.c: Likewise.
|
||
* tree-if-conv.c: Likewise.
|
||
* tree-into-ssa.c: Likewise.
|
||
* tree-ssa-alias.c: Likewise.
|
||
* tree-ssa-copyrename.c: Likewise.
|
||
* tree-ssa-dse.c: Likewise.
|
||
* tree-ssa-forwprop.c: Likewise.
|
||
* tree-ssa-live.c: Likewise.
|
||
* tree-ssa-math-opts.c: Likewise.
|
||
* tree-ssa-pre.c: Likewise.
|
||
* tree-ssa-sccvn.c: Likewise.
|
||
* tree-tailcall.c: Likewise.
|
||
* tree-vect-generic.c: Likewise.
|
||
* tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
|
||
* stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
|
||
* varasm.c: Likewise.
|
||
* coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
|
||
varasm.h.
|
||
* init-regs.c: Likewise.
|
||
* ira.c: Likewise.
|
||
* omp-low.c: Likewise.
|
||
* stack-ptr-mod.c: Likewise.
|
||
* tree-ssa-reassoc.c: Likewise.
|
||
* tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
|
||
varasm.h.
|
||
* dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
|
||
* shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
|
||
* recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
|
||
* tree-ssa-phiopt.c: Likewise.
|
||
* config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h real.h statistics.h stmt.h.
|
||
* config/fr30/fr30.c: Likewise.
|
||
* config/frv/frv.c: Likewise.
|
||
* expr.c: Likewise.
|
||
* final.c: Likewise.
|
||
* optabs.c: Likewise.
|
||
* passes.c: Likewise.
|
||
* simplify-rtx.c: Likewise.
|
||
* stmt.c: Likewise.
|
||
* toplev.c: Likewise.
|
||
* var-tracking.c: Likewise.
|
||
* gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
|
||
* lower-subreg.c: Likewise.
|
||
* postreload-gcse.c: Likewise.
|
||
* ree.c: Likewise.
|
||
* reginfo.c: Likewise.
|
||
* store-motion.c: Likewise.
|
||
* combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h real.h stmt.h varasm.h.
|
||
* emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h statistics.h stmt.h.
|
||
* dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
|
||
* except.c: Likewise.
|
||
* explow.c: Likewise.
|
||
* tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
|
||
varasm.h.
|
||
* gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
|
||
* tree-ssa-structalias.c: Likewise.
|
||
* cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h insn-config.h real.h statistics.h.
|
||
* calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h insn-config.h real.h statistics.h stmt.h.
|
||
* bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
|
||
* cfgbuild.c: Likewise.
|
||
* function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h real.h rtl.h statistics.h stmt.h.
|
||
* cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
|
||
* dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h real.h statistics.h stmt.h.
|
||
* auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h real.h statistics.h stmt.h varasm.h.
|
||
* cprop.c: Likewise.
|
||
* modulo-sched.c: Likewise.
|
||
* postreload.c: Likewise.
|
||
* ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
|
||
flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
|
||
statistics.h stmt.h varasm.h.
|
||
* gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
|
||
explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
|
||
rtl.h statistics.h stmt.h varasm.h.
|
||
* tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
|
||
fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
|
||
varasm.h.
|
||
* expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
|
||
function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
|
||
varasm.h.
|
||
* target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
|
||
fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
|
||
varasm.h.
|
||
* tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
|
||
fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
|
||
* cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
|
||
function.h real.h statistics.h stmt.h varasm.h.
|
||
* alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
|
||
insn-config.h real.h statistics.h stmt.h.
|
||
* dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
|
||
statistics.h stmt.h.
|
||
* config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
|
||
statistics.h stmt.h varasm.h.
|
||
* gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
|
||
* asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
|
||
flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
|
||
* ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
|
||
statistics.h stmt.h varasm.h.
|
||
* ipa-polymorphic-call.c: Likewise.
|
||
* config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
|
||
expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
|
||
statistics.h stmt.h.
|
||
* config/c6x/c6x.c: Likewise.
|
||
* config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
|
||
explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
|
||
statistics.h stmt.h varasm.h.
|
||
* ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
|
||
stmt.h varasm.h.
|
||
* ipa-split.c: Likewise.
|
||
* tree-eh.c: Likewise.
|
||
* tree-ssa-dce.c: Likewise.
|
||
* tree-ssa-loop-niter.c: Likewise.
|
||
* tree-vrp.c: Likewise.
|
||
* config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
|
||
expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
|
||
stmt.h.
|
||
* config/nds32/nds32-fp-as-gp.c: Likewise.
|
||
* config/nds32/nds32-intrinsic.c: Likewise.
|
||
* config/nds32/nds32-isr.c: Likewise.
|
||
* config/nds32/nds32-md-auxiliary.c: Likewise.
|
||
* config/nds32/nds32-memory-manipulation.c: Likewise.
|
||
* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
|
||
* config/nds32/nds32-predicates.c: Likewise.
|
||
* config/nds32/nds32.c: Likewise.
|
||
* config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h real.h statistics.h.
|
||
* config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h real.h statistics.h stmt.h.
|
||
* config/arm/arm.c: Likewise.
|
||
* config/avr/avr.c: Likewise.
|
||
* config/bfin/bfin.c: Likewise.
|
||
* config/h8300/h8300.c: Likewise.
|
||
* config/i386/i386.c: Likewise.
|
||
* config/ia64/ia64.c: Likewise.
|
||
* config/iq2000/iq2000.c: Likewise.
|
||
* config/m32c/m32c.c: Likewise.
|
||
* config/m32r/m32r.c: Likewise.
|
||
* config/m68k/m68k.c: Likewise.
|
||
* config/mcore/mcore.c: Likewise.
|
||
* config/mep/mep.c: Likewise.
|
||
* config/mips/mips.c: Likewise.
|
||
* config/mn10300/mn10300.c: Likewise.
|
||
* config/moxie/moxie.c: Likewise.
|
||
* config/pa/pa.c: Likewise.
|
||
* config/rl78/rl78.c: Likewise.
|
||
* config/rx/rx.c: Likewise.
|
||
* config/s390/s390.c: Likewise.
|
||
* config/sh/sh.c: Likewise.
|
||
* config/sparc/sparc.c: Likewise.
|
||
* config/spu/spu.c: Likewise.
|
||
* config/stormy16/stormy16.c: Likewise.
|
||
* config/v850/v850.c: Likewise.
|
||
* config/vax/vax.c: Likewise.
|
||
* config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
|
||
* config/msp430/msp430.c: Likewise.
|
||
* predict.c: Likewise.
|
||
* value-prof.c: Likewise.
|
||
* config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
|
||
expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
|
||
* config/microblaze/microblaze.c: Likewise.
|
||
* config/nios2/nios2.c: Likewise.
|
||
* config/rs6000/rs6000.c: Likewise.
|
||
* tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
|
||
insn-config.h real.h rtl.h statistics.h stmt.h.
|
||
* cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
|
||
insn-config.h real.h statistics.h stmt.h.
|
||
* fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
|
||
* tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
|
||
* builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h real.h statistics.h stmt.h.
|
||
* config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
fixed-value.h statistics.h stmt.h.
|
||
* config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
|
||
stmt.h.
|
||
|
||
2015-01-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gengtype.c (create_user_defined_type): Workaround
|
||
-Wmaybe-uninitialized false positives.
|
||
* cse.c (fold_rtx): Likewise.
|
||
* loop-invariant.c (gain_for_invariant): Likewise.
|
||
|
||
2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
|
||
set the memory attributes in all cases but clear MEM_EXPR if need be.
|
||
|
||
2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
|
||
|
||
PR tree-optimization/64434
|
||
* cfgexpand.c (reorder_operands): New function.
|
||
(expand_gimple_basic_block): Insert call of reorder_operands if
|
||
optimized is true.
|
||
|
||
2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* config/mips/micromips.md (*swp): Remove explicit parallel.
|
||
(jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
|
||
* config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
|
||
(mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
|
||
(mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
|
||
(mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
|
||
(mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
|
||
(mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
|
||
(mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
|
||
(mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
|
||
(mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
|
||
(mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
|
||
(mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
|
||
(mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
|
||
(mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
|
||
(mips_wrdsp): Likewise.
|
||
* config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
|
||
parallel.
|
||
(mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
|
||
(mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
|
||
(mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
|
||
(mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
|
||
(mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
|
||
(mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
|
||
* config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
|
||
(ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
|
||
(ssmaddsqdq4, ssmsubsqdq4): Likewise.
|
||
|
||
2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
|
||
(mips_print_operand): Support 'y' to print exact log2 in decimal
|
||
of a const_int.
|
||
* config/mips/mips.h (ISA_HAS_LSA): New define.
|
||
(ISA_HAS_DLSA): Likewise.
|
||
* config/mips/mips.md (<GPR:d>lsa): New define_insn.
|
||
* config/mips/predicates.md (const_immlsa_operand): New predicate.
|
||
|
||
2015-01-15 Martin Liska <mliska@suse.cz>
|
||
|
||
PR target/64377
|
||
* optc-save-gen.awk: Add support for array types.
|
||
|
||
2015-01-15 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/64365
|
||
* tree-data-ref.c (dr_analyze_indices): Make sure that accesses
|
||
for MEM_REF access functions with the same base can never partially
|
||
overlap.
|
||
|
||
2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
|
||
|
||
* common.opt: New option -fstack-protector-explicit.
|
||
* cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
|
||
(stack_protect_decl_phase): Handle stack_protect attribute for
|
||
explicit stack protection requests.
|
||
(expand_used_vars): Similarly.
|
||
* doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
|
||
* doc/extend.texi: Add documentation for "stack_protect" attribute.
|
||
* doc/invoke.texi: Add documentation for -fstack-protector-explicit.
|
||
|
||
2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/53988
|
||
* config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
|
||
reg-reg copies.
|
||
(sh_extending_set_of_reg): New struct.
|
||
(sh_find_extending_set_of_reg, sh_split_tst_subregs,
|
||
sh_remove_reg_dead_or_unused_notes): New Declarations.
|
||
* config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
|
||
sh_find_extending_set_of_reg, sh_split_tst_subregs,
|
||
sh_extending_set_of_reg::use_as_extended_reg): New functions.
|
||
* config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
|
||
convert to insn_and_split and use new function sh_split_tst_subregs.
|
||
|
||
2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
|
||
option.
|
||
(Optimization Options): Move -fuse-ld documentation to...
|
||
(Link Options): ...here.
|
||
|
||
2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* config/mips/constraints.md (ZC): Add support for R6 LL/SC
|
||
offsets.
|
||
(ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
|
||
* config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
|
||
(ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
|
||
* config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
|
||
instead of ZR for the memory operand of LL/SC.
|
||
(compare_and_swap_12, sync_add<mode>): Likewise.
|
||
(sync_<optab>_12, sync_old_<optab>_12): Likewise.
|
||
(sync_new_<optab>_12, sync_nand_12): Likewise.
|
||
(sync_old_nand_12, sync_new_nand_12): Likewise.
|
||
(sync_sub<mode>, sync_old_add<mode>): Likewise.
|
||
(sync_old_sub<mode>, sync_new_add<mode>): Likewise.
|
||
(sync_new_sub<mode>, sync_<optab><mode>): Likewise.
|
||
(sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
|
||
(sync_nand<mode>, sync_old_nand<mode>): Likewise.
|
||
(sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
|
||
(test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
|
||
(atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
|
||
* doc/md.texi (ZC): Update description.
|
||
|
||
2015-01-14 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* builtins.c (expand_builtin_atomic_exchange): Remove error when
|
||
memory model is CONSUME.
|
||
(expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
|
||
expand_builtin_atomic_store): Change invalid memory model errors to
|
||
warnings.
|
||
(expand_builtin_atomic_clear): Change invalid model errors to warnings
|
||
and issue warning for CONSUME.
|
||
|
||
2015-01-14 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* lto-cgraph: Update function comments for
|
||
lto_symtab_encoder_encode_*.
|
||
|
||
2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
|
||
|
||
* Makefile.in (site.exp): Do not set ENABLE_LTO.
|
||
|
||
2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
|
||
|
||
* cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
|
||
* lto-cgraph.c (select_what_to_stream): Remove argument, use
|
||
lto_stream_offload_p instead.
|
||
* lto-streamer.h (select_what_to_stream): Remove argument.
|
||
* passes.c (ipa_write_summaries): Likewise.
|
||
* tree-pass.h (ipa_write_summaries): Likewise.
|
||
|
||
2015-01-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/59354
|
||
* tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
|
||
groups larger than the slp group size as having gaps.
|
||
|
||
2015-01-14 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
PR middle-end/59448
|
||
* builtins.c (get_memmodel): Promote consume to acquire always.
|
||
|
||
2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
|
||
|
||
PR target/64386
|
||
* config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
|
||
V32HImode.
|
||
|
||
2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
|
||
|
||
PR target/64393
|
||
* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
|
||
Enable AVX512BW.
|
||
(OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
|
||
* config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
|
||
AVX512VBMI, as it implies AVX512BW.
|
||
|
||
2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
|
||
|
||
PR target/64387
|
||
* config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
|
||
(vec_unpacks_hi_v16sf): Ditto.
|
||
|
||
2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/aarch64/arm_neon.h: Error out if AdvancedSIMD
|
||
is not available.
|
||
|
||
2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* doc/invoke.texi (mapcs): Mention deprecation.
|
||
(mapcs-frame): Likewise.
|
||
|
||
2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR target/64453
|
||
* config/arm/arm.c (callee_saved_reg_p): Define.
|
||
(arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
|
||
register is callee saved instead of !call_used_regs[reg].
|
||
(thumb1_compute_save_reg_mask): Likewise.
|
||
|
||
2015-01-14 Hale Wang <hale.wang@arm.com>
|
||
|
||
* config/arm/arm.c: Tune the max_cond_insns/branch_cost for
|
||
Cortex-M7.
|
||
|
||
2015-01-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/64415
|
||
* tree-inline.c (insert_debug_decl_map): Check destination
|
||
function MAY_HAVE_DEBUG_STMTS.
|
||
(insert_init_debug_bind): Likewise.
|
||
(insert_init_stmt): Remove redundant check.
|
||
(remap_gimple_stmt): Drop debug stmts if the destination
|
||
function has var-tracking assignments disabled.
|
||
|
||
2015-01-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf-gimple.c (func_checker::compare_operand): Add support for
|
||
IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
|
||
|
||
2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
PR target/64460
|
||
* config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
|
||
(*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
|
||
|
||
2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
|
||
|
||
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
|
||
level from an ARCH; do not inject the default.
|
||
(MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
|
||
MIPS_ISA_LEVEL_SPEC.
|
||
(MIPS_ISA_NAN2008_SPEC): Update comment.
|
||
(BASE_DRIVER_SELF_SPECS): Likewise.
|
||
* config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
|
||
MIPS_DEFAULT_ISA_LEVEL_SPEC.
|
||
* config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
|
||
* config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
|
||
* config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
|
||
|
||
2015-01-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64493
|
||
PR tree-optimization/64495
|
||
* tree-vect-loop.c (vect_finalize_reduction): For double-reductions
|
||
assign the proper vectorized PHI to the inner loop exit PHIs.
|
||
|
||
2015-01-14 Joey Ye <joey.ye@arm.com>
|
||
|
||
* config/arm/arm.c (arm_compute_save_reg_mask):
|
||
Do not save lr in case of tail call.
|
||
* config/arm/thumb2.md (*thumb2_pop_single): New pattern.
|
||
|
||
2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
|
||
|
||
* tree-vrp.c (check_array_ref): Emit more warnings
|
||
for warn_array_bounds >= 2.
|
||
* common.opt: New option -Warray-bounds=.
|
||
* doc/invoke.texi: Document -Warray-bounds=.
|
||
|
||
2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
|
||
(mforbid-fp-as-gp): Remove.
|
||
(mex9): Remove.
|
||
* config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
|
||
(nds32_symbol_load_store_p): Remove.
|
||
(nds32_fp_as_gp_check_available): Clean up implementation.
|
||
* config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
|
||
cases.
|
||
* config/nds32/nds32.c (nds32_asm_file_start): No need to consider
|
||
fp-as-gp and ex9 cases.
|
||
|
||
2015-01-13 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* tree-profile.c (init_ic_make_global_vars): Drop workaround
|
||
for bintuils bug 14342.
|
||
(init_ic_make_global_vars): Likewise.
|
||
(gimple_init_edge_profiler): Likewise.
|
||
(gimple_gen_ic_func_profiler): Likewise.
|
||
|
||
2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
|
||
|
||
* ipa-inline.c (inline_small_functions): Swap the operands in
|
||
enum.
|
||
|
||
2015-01-13 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64481
|
||
* ipa-inline-analysis.c (node_growth_cache): Remove.
|
||
(initialize_growth_caches): Do not initialize it.
|
||
(free_growth_caches): Do not free it.
|
||
(do_estimate_growth): Rename to ...
|
||
(estimate_growth): ... this one; drop growth cache code.
|
||
(growth_likely_positive): Always go the heuristics way.
|
||
* ipa-inline.c (can_inline_edge_p): Walk through aliases.
|
||
(reset_edge_caches): Do not reset node growth.
|
||
(heap_edge_removal_hook): Do not maintain cache.
|
||
(inline_small_functions): Likewise; strenghten sanity check.
|
||
(ipa_inline): Do not maintain caches.
|
||
* ipa-inline.h (node_growth_cache): Remove.
|
||
(do_estimate_growth): Remove to ...
|
||
(estimate_growth): this one; remove inline version.
|
||
(reset_node_growth_cache): Remove.
|
||
|
||
2015-01-13 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/64565
|
||
* ipa-inline.c (inline_small_functions): Update callee keys after
|
||
resolving speculation
|
||
(inline_small_functions): Always check monotonicity of the queue.
|
||
|
||
2015-01-13 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR middle-end/64391
|
||
* trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
|
||
|
||
2015-01-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/64286
|
||
* ree.c (combine_reaching_defs): Move part of comment earlier,
|
||
remove !SCALAR_INT_MODE_P check.
|
||
(add_removable_extension): Don't add vector mode
|
||
extensions if all uses of the source register aren't the same
|
||
vector extensions.
|
||
|
||
2015-01-13 Renlin Li <renlin.li@arm.com>
|
||
|
||
* config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
|
||
(CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
|
||
|
||
2015-01-13 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf.c (sem_function::equals_private): Call new functions
|
||
cl_target_option_print_diff and cl_optimization_print_diff.
|
||
* optc-save-gen.awk (cl_target_option_print_diff): New function.
|
||
(cl_optimization_print_diff): Likewise.
|
||
* opth-gen.awk: Likewise.
|
||
|
||
2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
|
||
(*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
|
||
(*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
|
||
(*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
|
||
(*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
|
||
(*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
|
||
|
||
2015-01-13 Andrew Pinski <apinski@cavium.com>
|
||
|
||
* config/aarch64/aarch64.c (fusion_load_store): Check dest mode
|
||
instead of src mode.
|
||
|
||
2015-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR lto/64373
|
||
* lto-streamer-out.c (tree_is_indexable): Guard for NULL
|
||
DECL_CONTEXT.
|
||
|
||
2015-01-13 Andrew Pinski <apinski@cavium.com>
|
||
|
||
* config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
|
||
volatile mems.
|
||
(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
|
||
|
||
2015-01-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/63974
|
||
* cfgexpand.c (expand_computed_goto): Don't call
|
||
convert_memory_address here.
|
||
|
||
2015-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64406
|
||
* tree-loop-distibution.c (pass_loop_distribution::execute):
|
||
Reset the SCEV hashtable if we distributed anything.
|
||
|
||
2015-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64404
|
||
* tree-vect-stmts.c (vectorizable_load): Reject conflicting
|
||
SLP types for CSEd loads.
|
||
|
||
2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR tree-optimization/64436
|
||
* tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
|
||
merge of two symbolic numbers for a bitwise OR to ...
|
||
(perform_symbolic_merge): This. Also fix computation of the range and
|
||
end of the symbolic number corresponding to the result of a bitwise OR.
|
||
|
||
2015-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64568
|
||
* tree-ssa-forwprop.c (pass_forwprop::execute): Properly
|
||
release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
|
||
|
||
2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32.c (nds32_legitimate_address_p): Consider
|
||
TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
|
||
|
||
2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
|
||
target-specific symbol_ref flag.
|
||
(NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
|
||
resides in rodata section.
|
||
* config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
|
||
(nds32_encode_section_info): New function.
|
||
|
||
2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32.md (call): Use pseudo instruction bal which
|
||
clobbers TA_REGNUM if large code model is specified.
|
||
(call_register): Likewise.
|
||
(call_immediate): Likewise.
|
||
(call_value): Likewise.
|
||
(call_value_register): Likewise.
|
||
(call_value_immediate): Likewise.
|
||
|
||
2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
|
||
(TARGET_CMODEL_MEDIUM): New macro.
|
||
(TARGET_CMODEL_LARGE): New macro.
|
||
* config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
|
||
code model setting in assembly code.
|
||
|
||
2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
|
||
Remove MASK_GP_DIRECT flag.
|
||
* config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
|
||
one of the multilib default options.
|
||
* config/nds32/nds32.opt (mgp-direct): Remove.
|
||
* config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
|
||
-mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
|
||
|
||
2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
|
||
|
||
* config/nds32/nds32.opt (mcmodel): Add new option.
|
||
* config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
|
||
to describe code model.
|
||
|
||
2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/64479
|
||
* rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
|
||
|
||
2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
* config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
|
||
(TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
|
||
(sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
|
||
(sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
|
||
__builtin_sh_set_fpscr.
|
||
|
||
2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
|
||
after a funtion name just to indicate it is a function.
|
||
([-fsanitize-undefined-trap-on-error]): Likewise.
|
||
([-fdbg-cnt=]): Likewise.
|
||
([-mmemcpy]): Likewise.
|
||
([-mflush-func]): Likewise.
|
||
([-msynci]): Likewise.
|
||
|
||
2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
|
||
example.
|
||
|
||
2015-01-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/64563
|
||
* tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
|
||
instead of != VR_VARYING.
|
||
|
||
PR target/64513
|
||
* config/i386/i386.c (ix86_expand_prologue): Add
|
||
REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
|
||
|
||
PR tree-optimization/64454
|
||
* tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
|
||
op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
|
||
for signed or [0, op1 - 1] for unsigned modulo.
|
||
(simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
|
||
even if op1 does not satisfy integer_pow2p.
|
||
|
||
PR other/64370
|
||
* sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
|
||
|
||
2015-01-12 Jeff Law <law@redhat.com>
|
||
|
||
PR target/64461
|
||
* config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
|
||
(trunchiqi2, truncsihi2): Similarly.
|
||
|
||
* config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
|
||
rather than calling F.
|
||
|
||
2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* tsan.c (instrument_expr): Use force_gimple_operand.
|
||
Use may_be_nonaddressable_p instead of is_gimple_addressable.
|
||
|
||
2015-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64530
|
||
* tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
|
||
back dr1.
|
||
|
||
2015-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/64357
|
||
* tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
|
||
latches properly.
|
||
|
||
2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
|
||
Cortex-A17 tuning parameters.
|
||
* config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
|
||
|
||
2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
|
||
* config/arm/arm.c (arm_macro_fusion_p): New function.
|
||
(arm_macro_fusion_pair_p): Likewise.
|
||
(TARGET_SCHED_MACRO_FUSION_P): Define.
|
||
(TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
|
||
(ARM_FUSE_NOTHING): Likewise.
|
||
(ARM_FUSE_MOVW_MOVT): Likewise.
|
||
(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
|
||
arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
|
||
arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
|
||
arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
|
||
arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
|
||
arm_cortex_a5_tune): Specify fuseable_ops value.
|
||
|
||
2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR bootstrap/64561
|
||
* configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
|
||
test for PIE with copy reloc.
|
||
* configure: Regenerated.
|
||
|
||
2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
|
||
in gen_rtx_REG.
|
||
(arm_tls_descseq_addr): Likewise.
|
||
(arm_gen_movmemqi): Likewise.
|
||
(arm_expand_epilogue_apcs_frame): Likewise.
|
||
(arm_expand_epilogue): Likewise.
|
||
(arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
|
||
in gen_rtx_REG.
|
||
|
||
2015-01-12 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/64550
|
||
* ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
|
||
volatility for correct operands.
|
||
|
||
2015-01-12 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
|
||
indication that a function is not leaf.
|
||
(sem_function::compare_polymorphic_p): Likewise.
|
||
|
||
2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* config/visium/visium.c: Add includes hashtab.h, hash-set.h,
|
||
machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
|
||
fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
|
||
fold-const.h, tree-check.h.
|
||
|
||
2015-01-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/63967
|
||
PR ipa/64425
|
||
* ipa-inline.c (compute_uninlined_call_time,
|
||
compute_inlined_call_time): Use counts for extra precision when
|
||
needed possible.
|
||
(big_speedup_p): Fix formating.
|
||
(RELATIVE_TIME_BENEFIT_RANGE): Remove.
|
||
(relative_time_benefit): Remove.
|
||
(edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
|
||
merge guessed and read profile paths.
|
||
(inline_small_functions): Count only !optimize_size functions into
|
||
initial size; be more lax about sanity check when profile is used;
|
||
be sure to update inlined function profile when profile is read.
|
||
|
||
2015-01-12 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR ipa/63470
|
||
* ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
|
||
cost when edge becomes direct.
|
||
* ipa-prop.c (make_edge_direct): Do not adjust when speculation
|
||
is resolved or when introducing new speculation.
|
||
|
||
2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
|
||
|
||
PR ipa/64551
|
||
PR ipa/64552
|
||
* ipa-icf.c (sem_function::equals_private): Use '&&' instead of
|
||
'||' to fix typo issue.
|
||
|
||
* gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
|
||
accept and return NULL.
|
||
|
||
2015-01-12 Martin Liska <mliska@suse.cz>
|
||
|
||
* cgraph.c (cgraph_edge::remove_callee): Move function to header
|
||
file for being inlined.
|
||
(cgraph_set_edge_callee): Delete.
|
||
(cgraph_edge::redirect_callee): Move function to header file
|
||
for being inlined.
|
||
(cgraph_edge::make_direct): Use new function.
|
||
(cgraph_edge::dump_edge_flags): New function created from
|
||
static dump_edge_flags function.
|
||
(cgraph_node::dump): Use new function.
|
||
(cgraph_edge::verify_count_and_frequency): New function created
|
||
from verify_edge_count_and_frequency.
|
||
(cgraph_edge::verify_corresponds_to_fndecl): New function created
|
||
from verify_edge_corresponds_to_fndecl.
|
||
(verify_edge_corresponds_to_fndecl): Delete.
|
||
(cgraph_node::verify_node): Use new function.
|
||
* cgraph.h (cgraph_edge::set_callee): New function.
|
||
(cgraph_edge::dump_edge_flags): Likewise.
|
||
(cgraph_edge::verify_corresponds_to_fndecl): Likewise.
|
||
|
||
2015-01-11 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* ipa-utils.c (estimate_function_body_sizes): Do not
|
||
free node params when called late with early=true.
|
||
|
||
2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* doc/md.texi (Instruction Patterns): Rewrite text for
|
||
clarity.
|
||
(Example): Likewise.
|
||
|
||
2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Option Summary): Break long lines.
|
||
[(-fdiagnostics-color)]: Put long literal in @smallexample
|
||
instead of inline.
|
||
[(-fsanitize-recover)]: Likewise.
|
||
[(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
|
||
[(-ffast-math)]: Likewise.
|
||
[(--param max-inline-insns-recursive)]: Likewise.
|
||
[(--param max-inline-recursive-depth)]: Likewise.
|
||
[(-mno-text-section-literals)]: Likewise.
|
||
|
||
2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* doc/install.texi: Update for libgomp being renamed from "GNU
|
||
OpenMP Runtime Library" to "GNU Offloading and Multi Processing
|
||
Runtime Library".
|
||
* doc/sourcebuild.texi: Likewise.
|
||
|
||
2015-01-10 Anthony Green <green@moxielogic.com>
|
||
|
||
* config/moxie/moxie.c (moxie_option_override): Fix forcing of
|
||
mul.x availability for moxiebox configuration.
|
||
|
||
2015-01-09 Anthony Green <green@moxielogic.com>
|
||
|
||
* config/moxie/moxie.md: Tabify assembly output.
|
||
|
||
2015-01-09 Anthony Green <green@moxielogic.com>
|
||
|
||
* config/moxie/moxie.md (CC_REG): Correct register definition.
|
||
|
||
2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
|
||
([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
|
||
of log files.
|
||
|
||
2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
|
||
|
||
2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/64412
|
||
* lto-streamer.h (lto_stream_offload_p): New declaration.
|
||
* lto-streamer.c (lto_stream_offload_p): New variable.
|
||
* cgraphunit.c (ipa_passes): Set lto_stream_offload_p
|
||
at the same time as section_name_prefix.
|
||
* lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
|
||
if lto_stream_offload_p.
|
||
* tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
|
||
stream TREE_TARGET_OPTION if lto_stream_offload_p.
|
||
(write_ts_function_decl_tree_pointers): Don't
|
||
stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
|
||
* tree-streamer-in.c (unpack_value_fields): Don't stream
|
||
TREE_TARGET_OPTION in if ACCEL_COMPILER.
|
||
(lto_input_ts_function_decl_tree_pointers): Don't stream
|
||
DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
|
||
* lto-opts.c (lto_write_options): Use lto_stream_offload_p
|
||
instead of section_name_prefix string comparisons.
|
||
|
||
2015-01-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR rtl-optimization/64536
|
||
* cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
|
||
tablejumps.
|
||
|
||
2015-01-09 Michael Collison <michael.collison@linaro.org>
|
||
|
||
PR tree-optimization/64322
|
||
* tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
|
||
range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
|
||
|
||
2015-01-09 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR rtl-optimization/64539
|
||
* regcprop.c (kill_clobbered_values): Factor out of ...
|
||
(copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
|
||
instead of note_stores with kill_clobbered_value.
|
||
|
||
2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* ginclude/unwind-arm-common.h: Revert previous commit.
|
||
|
||
2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* config.gcc (arm*-*-freebsd*): New configuration.
|
||
* config/arm/freebsd.h: New file.
|
||
* config.host: Add extra components for arm*-*-freebsd*.
|
||
* config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
|
||
* config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
|
||
|
||
2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
|
||
for -mcpu=e6500.
|
||
* config/rs6000/t-rtems: Add e6500 multilibs.
|
||
|
||
2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
|
||
MPC8540.
|
||
|
||
2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
|
||
MULTILIB_EXCEPTIONS.
|
||
|
||
2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
|
||
MULTILIB_EXCEPTIONS.
|
||
|
||
2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* config/arm/t-rtems-eabi: Rename to...
|
||
* config/arm/t-rtems: ...this.
|
||
* config/arm/rtems-eabi.h: Rename to...
|
||
* config/arm/rtems.h: ...this.
|
||
* config.gcc (arm*-*-rtems*): Reflect changes above.
|
||
|
||
2015-01-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/64410
|
||
* tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
|
||
on the LHS.
|
||
(execute_update_addresses_taken): Deal with that.
|
||
* tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
|
||
loads/stores for complex variables.
|
||
|
||
2015-01-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
|
||
name comparison.
|
||
(func_checker::compare_memory_operand): New function.
|
||
(func_checker::compare_operand): Split case to newly
|
||
added functions.
|
||
(func_checker::compare_cst_or_decl): New function.
|
||
(func_checker::compare_gimple_call): Identify
|
||
memory operands.
|
||
(func_checker::compare_gimple_assign): Likewise.
|
||
* ipa-icf-gimple.h: New function.
|
||
|
||
2015-01-09 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ipa/64503
|
||
* sreal.c (sreal::dump): Change unsigned format to signed for
|
||
m_exp value.
|
||
(sreal::to_double): Replace exp2 with scalbln.
|
||
|
||
2015-01-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
|
||
* ipa-icf.c (sem_function::equals_private): Add support for target and
|
||
(sem_item_optimizer::merge_classes): Remove redundant function
|
||
optimization flags comparison.
|
||
* tree.h (target_opts_for_fn): New function.
|
||
|
||
2015-01-09 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* omp-low.c (expand_omp_for_static_chunk): Fix assert.
|
||
|
||
2015-01-09 Kito Cheng <kito@0xlab.org>
|
||
|
||
PR rtl-optimization/64348
|
||
* lra-constraints.c (split_reg): Fix caller-save store/restore
|
||
instruction generation.
|
||
|
||
2015-01-08 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR gcov-profile/61790
|
||
* gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
|
||
long long. Fallback to int64_t if host doesn't have long long and
|
||
use strtol if int64_t is long. Otherwise, use sscanf for conversion.
|
||
|
||
2015-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/63989
|
||
* params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
|
||
from 1000 to 10000.
|
||
* tree-ssa-strlen.c (get_strinfo): Moved earlier.
|
||
(get_stridx): If we don't have a record for certain SSA_NAME,
|
||
but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
|
||
constant offset, call get_stridx_plus_constant.
|
||
(get_stridx_plus_constant): New function.
|
||
(zero_length_string): Don't use get_stridx here.
|
||
|
||
PR target/55023
|
||
PR middle-end/64388
|
||
* dse.c (struct insn_info): Mention frame_read set also
|
||
before reload for tail calls on some targets.
|
||
(scan_insn): Revert 2014-12-22 change. Set frame_read
|
||
also before reload for tail calls if
|
||
HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
|
||
instead of add_non_frame_wild_read for non-const/memset
|
||
tail calls after reload.
|
||
|
||
2015-01-08 Jason Merrill <jason@redhat.com>
|
||
|
||
* ubsan.c (do_ubsan_in_current_function): New.
|
||
(pass_ubsan::gate): Use it.
|
||
* ubsan.h: Declare it.
|
||
* convert.c (convert_to_integer): Use it.
|
||
|
||
2015-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/64338
|
||
* config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
|
||
compare_code when it is unconditionally overwritten afterwards.
|
||
Use ix86_reverse_condition instead of reverse_condition. Don't
|
||
change code if *reverse_condition* returned UNKNOWN and don't
|
||
swap ct/cf and negate diff in that case.
|
||
|
||
2015-01-08 Mike Stump <mikestump@comcast.net>
|
||
|
||
* tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
|
||
(pass_tsan_O0::gate): Likewise.
|
||
* extend.texi (Function Attributes): Add no_sanitize_thread
|
||
documentation.
|
||
|
||
2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
|
||
for registering builtins.
|
||
* config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
|
||
add -fopenmp to the argv_obstack used when invoking
|
||
compile_for_target.
|
||
|
||
* config/i386/intelmic-mkoffload.c (compile_for_target): Always
|
||
add "-m32" or "-m64" to argv_obstack.
|
||
(generate_host_descr_file): Likewise, when invoking host_compiler.
|
||
(main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
|
||
ld.
|
||
|
||
2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
* config/sh/sh-mem.cc: Use constant as second operand when emitting
|
||
tstsi_t insns.
|
||
|
||
2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/55212
|
||
* config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
|
||
constant load if constant operand fits into I08.
|
||
|
||
2015-01-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/64336
|
||
* tree.c (build2_stat): Fix up initialization of TREE_READONLY
|
||
and TREE_THIS_VOLATILE for MEM_REFs.
|
||
(build5_stat): Fix up initialization of TREE_READONLY and
|
||
TREE_THIS_VOLATILE for TARGET_MEM_REFs.
|
||
|
||
2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
|
||
|
||
PR target/64533
|
||
* config/sh/sh.md (*addsi3_compact): Use u constraint instead
|
||
of r for the second alternative of the destination operand.
|
||
|
||
2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR target/36557
|
||
* config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
|
||
|
||
2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-fvtable-verify]): Fix markup on option
|
||
keywords.
|
||
([-fivar-visibility], [-fvisibility]): Likewise.
|
||
|
||
2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi: Fix incorrect uses of @samp markup throughout
|
||
the file where @code, @command, etc is more appropriate.
|
||
|
||
2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
|
||
of -mrecip= documentation.
|
||
|
||
2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
PR target/64505
|
||
* config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
|
||
correct reload handler if -m32 -mpowerpc64 is used.
|
||
|
||
2015-01-06 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
|
||
|
||
2015-01-08 Christian Bruel <christian.bruel@st.com>
|
||
|
||
PR target/64507
|
||
* config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
|
||
|
||
2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
PR tree-optimization/63259
|
||
* tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
|
||
if optab exists for 16bit byteswap.
|
||
|
||
2015-01-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* opts.c (common_handle_option): Add support for
|
||
-fno-sanitize=all and -f{,no-}sanitize-recover=all.
|
||
* doc/invoke.texi: Document -fno-sanitize=all,
|
||
-f{,no-}sanitize-recover=all. Document that
|
||
-fsanitize=float-cast-overflow is not enabled
|
||
by -fsanitize=undefined. Fix up documentation
|
||
of -f{,no-}sanitize-recover.
|
||
|
||
2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config.gcc: Add Visium support.
|
||
* configure.ac: Likewise.
|
||
* configure: Regenerate.
|
||
* doc/extend.texi (interrupt attribute): Add Visium.
|
||
* doc/invoke.texi: Document Visium options.
|
||
* doc/install.texi: Document Visium target.
|
||
* doc/md.texi: Document Visium constraints.
|
||
* common/config/visium: New directory.
|
||
* config/visium: Likewise.
|
||
|
||
2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* simplify-rtx.c (simplify_binary_operation_1): Handle more cases
|
||
for the "(and X (ior (not X) Y) -> (and X Y)" transform.
|
||
|
||
2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* combine.c (combine_validate_cost): Do not count the cost of a
|
||
split I2 twice. Do not display it twice in the dump, either.
|
||
|
||
2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
Revert parts of r219199.
|
||
* doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
|
||
<inttypes.h>.
|
||
([-Wtraditional]): Restore markup on <limits.h>.
|
||
|
||
2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
PR c++/31397
|
||
* doc/invoke.texi: Document -Wsuggest-override.
|
||
|
||
2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
|
||
|
||
PR rtl-optimization/64287
|
||
* toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
|
||
(process_options): Disable flag_ipa_ra if profiling.
|
||
|
||
2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* config/nds32/nds32-peephole2.md: Do not mention define_peephole.
|
||
|
||
2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
|
||
hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
|
||
put under #if TARGET_LOOPS guard.
|
||
|
||
2015-01-05 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/i386/i386.c (output_387_binary_op): Use std::swap.
|
||
|
||
2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
* rtlanal.c (refers_to_regno_p): Change return value from int to bool.
|
||
* rtl.h (refers_to_regno_p): Add overload.
|
||
* cse.c: Use it.
|
||
* bt-load.c: Likewise.
|
||
* combine.c: Likewise.
|
||
* df-scan.c: Likewise.
|
||
* sched-deps.c: Likewise.
|
||
* config/s390/s390.c: Likewise.
|
||
* config/m32r/m32r.c: Likewise.
|
||
* config/rs6000/spe.md: Likewise.
|
||
* config/rs6000/rs6000.c: Likewise.
|
||
* config/pa/pa.c: Likewise.
|
||
* config/stormy16/stormy16.c: Likewise.
|
||
* config/cris/cris.c: Likewise.
|
||
* config/arc/arc.md: Likewise.
|
||
* config/arc/arc.c: Likewise.
|
||
* config/sh/sh.md: Likewise.
|
||
* config/sh/sh.c: Likewise.
|
||
* config/frv/frv.c: Likewise.
|
||
|
||
2015-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/64265
|
||
* gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
|
||
call as cleanup of the whole body.
|
||
* internal-fn.def (TSAN_FUNC_EXIT): New internal call.
|
||
* tsan.c (replace_func_exit): New function.
|
||
(instrument_func_exit): Moved earlier.
|
||
(instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
|
||
Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
|
||
been found.
|
||
(tsan_pass): Don't call instrument_func_exit.
|
||
* internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
|
||
* tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
|
||
inlining.
|
||
|
||
PR sanitizer/64344
|
||
* ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
|
||
* ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
|
||
it to libubsan handler instead of EXPR. Fold comparisons earlier,
|
||
if the result is integer_zerop, return NULL_TREE.
|
||
* convert.c (convert_to_integer): Pass expr as ARG.
|
||
|
||
PR tree-optimization/64465
|
||
* tree-inline.c (redirect_all_calls): During inlining
|
||
clean up EH stmts and EH edges if redirect_call_stmt_to_callee
|
||
changed the stmt to a non-throwing call.
|
||
|
||
2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
|
||
etc markup throughout the file.
|
||
|
||
2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
Enable experimental TSAN support for Ada.
|
||
* tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
|
||
|
||
2015-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/64494
|
||
* tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
|
||
clear SSA_NAME_ANTI_RANGE_P flag.
|
||
|
||
2015-01-05 Marek Polacek <polacek@redhat.com>
|
||
|
||
* doc/extend.texi (Arrays of Length Zero): Add missing comma.
|
||
|
||
2015-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
* gcc.c (process_command): Update copyright notice dates.
|
||
* gcov-dump.c: Ditto.
|
||
* gcov.c: 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.
|
||
|
||
* auto-profile.c, auto-profile.h: Fix up Copyright line.
|
||
|
||
2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
|
||
verb tense, etc.
|
||
([-fvtable-verify], [-fvtv-debug]): Likewise.
|
||
([-Wabi]): Likewise.
|
||
([-fmessage-length]): Likewise.
|
||
([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
|
||
([-Wno-discarded-qualifiers]): Likewise.
|
||
([-Wnodiscarded-array-qualifiers]): Likewise.
|
||
([-Wno-virtual-move-assign]): Likewise.
|
||
([-fsanitize=address], [-fsanitize=thread]): Likewise.
|
||
([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
|
||
([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
|
||
([-fsanitize-undefined-trap-on-error]): Likewise.
|
||
([-floop-interchange]): Likewise.
|
||
([-ftree-coalesce-inlined-vars]): Likewise.
|
||
([-fvect-cost-model]): Likewise.
|
||
([-flto]): Likewise.
|
||
([--param]): Likewise.
|
||
(Spec Files): Likewise.
|
||
([-mstrict-align]): Likewise.
|
||
([-mfix-cortex-a53-835769]): Likewise.
|
||
([-march], [-mtune]): Likewise.
|
||
([-mpic-register]): Likewise.
|
||
([-munaligned-access]): Likewise.
|
||
([-msp8]): Likewise.
|
||
(EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
|
||
(AVR Built-in Macros): Likewise.
|
||
([-mpreferred-stack-boundary]): Likewise.
|
||
([-mtune-crtl]): Likewise.
|
||
([-mashf]): Likewise.
|
||
([-mmcu=]): Likewise.
|
||
([-minrt]): Likewise.
|
||
([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
|
||
([-mupper-regs]): Likewise.
|
||
([-matomic-model]): Likewise.
|
||
([-mdiv]): Likewise.
|
||
([-mzdcbranch]): Likewise.
|
||
([-mdisable-callt]): Likewise.
|
||
([-msoft-float]): Likewise.
|
||
([-m8byte-align]): Likewise.
|
||
([-fstack-reuse]): Likewise.
|
||
|
||
2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
|
||
Fix markup, light copy-editing.
|
||
([-fauto-profile]): Rewrite to fix formatting and content
|
||
problems.
|
||
|
||
2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
|
||
Copy-edit description.
|
||
([-fisolate-erroneous-paths-attribute]): Likewise.
|
||
* common.opt (fisolate-erroneous-paths-dereference):
|
||
Copy-edit description.
|
||
(fisolate-erroneous-paths-attribute): Likewise.
|
||
|
||
2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
|
||
tidy grammar.
|
||
|
||
2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
|
||
([-fvtv-debug]): Likewise.
|
||
([-Wc++-compat]): Likewise.
|
||
([-Wc++11-compat]): Likewise.
|
||
([-Wc++14-compat]): Likewise.
|
||
([-Wno-sized-deallocation]): Likewise.
|
||
([-femit-class-debug-always]): Likewise.
|
||
([-femit-struct-debug-detailed]): Likewise.
|
||
([-fno-keep-inline-dllexport]): Likewise.
|
||
([-fira-algorithm]): Likewise.
|
||
([-fira-region]): Likewise.
|
||
([-flra-remat]): Likewise.
|
||
([-fipa-ra]): Likewise.
|
||
([-fhoist-adjacent-loads]): Likewise.
|
||
([-fisolate-erroneous-paths-dereference]): Likewise.
|
||
([-fisolate-erroneous-paths-attribute]): Likewise.
|
||
([-ftree-switch-conversion]): Likewise.
|
||
([-ftree-tail-merge]): Likewise.
|
||
([-ftree-loop-if-convert]): Likewise.
|
||
([-ftree-loop-if-convert-stores]): Likewise.
|
||
([-ftree-loop-distribution]): Likewise.
|
||
([-ftree-loop-distribute-patterns]): Likewise.
|
||
([-flto-compression-level]): Likewise.
|
||
([-flto-report]): Likewise.
|
||
([-flto-report-wpa]): Likewise.
|
||
([-fuse-linker-plugin]): Likewise.
|
||
([-mfix-cortex-a53-835769]): Likewise.
|
||
([-mno-fix-cortex-a53-835769]): Likewise.
|
||
([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
|
||
explicit listing; add a note to the discussion indicating they
|
||
exist. Reorder table to group similar options. Add missing
|
||
@opindex entries. Add @need commands throughout the table to
|
||
allow it to be split across multiple pages.
|
||
([-m8bit-idiv]): Fix @opindex.
|
||
([-mavx256-split-unaligned-load]): Likewise.
|
||
([-mavx256-split-unaligned-store]): Likewise.
|
||
([-mstack-protector-guard]): Likewise.
|
||
([-mcpu=]): Likewise.
|
||
([-mcpu]): Likewise.
|
||
([-mpointer-size=]): Likewise.
|
||
|
||
2015-01-03 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
|
||
instead of `m' constraint. Likewise for unnamed movb comparison
|
||
patterns using reg_before_reload_operand predicate.
|
||
* config/pa/predicates.md (reg_before_reload_operand): Tighten
|
||
predicate to reject register index and LO_SUM DLT memory forms
|
||
after reload.
|
||
|
||
2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi (Option Summary): Fix spelling of
|
||
-fdevirtualize-at-ltrans.
|
||
([-fdevirtualize]): Fix markup.
|
||
([-fdevirtualize-speculatively]): Fix typo.
|
||
([-fdevirtualize-at-ltrans]): Likewise. Make description less
|
||
implementor-speaky.
|
||
* common.opt (fdevirtualize-at-ltrans): Likewise.
|
||
* ipa-devirt.c: Fix typos in comments throughout the file.
|
||
(ipa_devirt): Fix typos in format strings for dump output.
|
||
|
||
2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
|
||
discussion of defaults, light copy-editing.
|
||
|
||
2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* tsan.c (instrument_expr): corrected previous checkin.
|
||
|
||
2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
Instrument bit field and unaligned accesses for TSAN.
|
||
* sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
|
||
(BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
|
||
* tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
|
||
Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
|
||
unaligned memory regions.
|
||
|
||
2015-01-01 Anthony Green <green@moxielogic.com>
|
||
|
||
* config/moxie/predicates.md (moxie_general_movsrc_operand):
|
||
Restrict move source register offsets to 16 bits.
|
||
|
||
Copyright (C) 2015 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.
|