X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gcc%2FChangeLog;h=947b9a7c8f75881a9915dcccdae4f4a4478beaec;hb=4bf9e5a8a2a40fb4ca87deede2cf7b0cb016cd45;hp=3b723870b95d797a6a6fad38c8ae9936ce3c8673;hpb=fba46f0328cd540880eafe802b0f54ee5690d493;p=gcc.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3b723870b95..947b9a7c8f7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,892 @@ +2015-11-03 Thomas Schwinge + Chung-Lin Tang + + * builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc. + * omp-low.c (check_omp_nesting_restrictions): Allow + GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC + contexts. + +2015-11-03 Bilyan Borisov + + * config/aarch64/aarch64-simd-builtins.def (fmulx): New. + * config/aarch64/aarch64-simd.md (aarch64_fmulx): New. + * config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx + builtin. + (vmulxq_f32): Likewise. + (vmulx_f64): New. + (vmulxq_f64): Rewrite to call fmulx builtin. + (vmulxs_f32): Likewise. + (vmulxd_f64): Likewise. + (vmulx_lane_f32): Remove. + * config/aarch64/iterators.md (UNSPEC): Add fmulx. + +2015-11-03 Alan Lawrence + + * config/aarch64/aarch64.md (*movhf_aarch64): Use + aarch64_reg_or_fp_zero for second operand. + +2015-11-03 Alexandre Oliva + + * gimple-expr.c: Include hash-set.h and rtl.h. + (mark_addressable_queue): New var. + (mark_addressable): Factor actual marking into... + (mark_addressable_1): ... this. Queue it up during expand. + (mark_addressable_2): New. + (flush_mark_addressable_queue): New. + * gimple-expr.h (flush_mark_addressable_queue): Declare. + * cfgexpand.c: Include gimple-expr.h. + (pass_expand::execute): Flush mark_addressable queue. + +2015-11-02 Alexandre Oliva + + * tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out + bb_no_side_effects_p tests... + (tree_ssa_ifcombine_bb): ... here. + + PR tree-optimization/68083 + * tree-ssa-ifcombine.c: Include tree-ssa.h. + (bb_no_side_effects_p): Test for undefined uses too. + * tree-ssa.c (gimple_uses_undefined_value_p): New. + * tree-ssa.h (gimple_uses_undefined_value_p): Declare. + +2015-11-02 Jeff Law + + * tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect + cases where the loop latch edge is in the middle of an FSM path. + +2015-11-03 Tom de Vries + + * tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ... + (make_param_constraints): ... this. Add and handle restrict_name + parameter. Handle is_full_var case. + (intra_create_variable_infos): Use make_param_constraints. + +2015-11-03 Tom de Vries + + * tree-ssa-structalias.c (make_restrict_var_constraints): Replace + make_copy_constraint call with make_constraint_from call. + +2015-11-02 Andreas Tobler + + * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle + PIE executables. + +2015-11-02 Richard Sandiford + + * builtins.h (fold_fma): Move to fold-const-call.h. + * builtins.c: Include fold-const-call.h. + (mathfn_built_in_2): New function, split out from... + (mathfn_built_in_1): ...here. + (do_real_to_int_conversion, fold_const_builtin_pow) + (fold_const_builtin_logb, fold_const_builtin_significand) + (fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2) + (do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete. + (fold_builtin_sincos): Use fold_const_call to handle constants. + (fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit + checks for ERROR_MARK. Use fold_const_call to handle constant + folds for math functions. + (fold_fma): Move to fold-const-call.c. + * fold-const.c: Include fold-const-call.h. + * Makefile.in (OBJS): Add fold-const-call.o. + (PLUGIN_HEADERS): Add fold-const-call.h. + * realmpfr.h (real_from_mpfr): Allow the format to be specified + directly. + * realmpfr.c (real_from_mpfr): Likewise. + * fold-const-call.h, fold-const-call.c: New files. + +2015-11-02 Julian Brown + + * config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous + brackets and semicolon. + +2015-11-02 Alan Lawrence + + Revert: + 2015-10-27 Alan Lawrence + + PR tree-optimization/65963 + * tree-scalar-evolution.c (interpret_rhs_expr): Handle some + LSHIFT_EXPRs as equivalent MULT_EXPRs. + +2015-11-02 Thomas Schwinge + + PR middle-end/68166 + * fold-const.c: Include "md5.h". + +2015-11-01 Jeff Law + + * vmsdbgout.c: Revert unused header file reduction patch. + + * config/mcore/mcore.c: Include regs.h. + +2015-10-31 Segher Boessenkool + + * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite. + +2015-10-31 Segher Boessenkool + + * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Use the + same condition for testing whether RS6000_PIC_OFFSET_TABLE_REGNUM is + live as for using it elsewhere, for TARGET_MINIMAL_TOC. + +2015-10-31 Markus Trippelsdorf + + * ggc-common.c: Restore needed header for checking=release. + +2015-10-31 Tom de Vries + + * fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding. + +2015-10-31 Tom de Vries + + * tree-ssa-structalias.c (intra_create_variable_infos): Don't expect + existing varinfo for arguments. + +2015-10-31 Tom de Vries + + * tree-ssa-structalias.c (ipa_pta_execute): Add extra arg to call to + create_function_info_for. Dump constraints generated during + create_function_info_for. Move intra_create_variable_infos call and + function-return-values-escape bit to ... + (create_function_info_for): ... here, and merge + intra_create_variable_infos call with argument loop. Add and handle + nonlocal_p parameter. + +2015-10-31 Tom de Vries + + * tree-ssa-structalias.c (create_function_info_for): Make sure prev_vi + updating is alap, and seperated from preceding code. Make sure + insert_vi_for_tree is seperated from surrounding code. + +2015-10-31 Tom de Vries + + * tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint. + +2015-10-30 Jeff Law + Nathan Sidwell + + * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused + args. + (MOVE_MAX): Set to 8. + +2015-10-30 Cesar Philippidis + + * cgraph.c: Include context.h for offloading. + * varpool.c: Include context.h and omp-low.h. + +2015-10-30 Anatoly Sokolov + + * rtl.h (contains_symbol_ref_p): Declare. + (SYMBOL_REF_P): Define. + * rtlanal.c (contains_symbol_ref_p: New function. + * lra-constraints.c (contains_symbol_ref_p): Remove. + * var-tracking.c (contains_symbol_ref): Remove. + (track_expr_p): Use contains_symbol_ref_p instead of + contains_symbol_ref. + +2015-10-30 Alan Lawrence + + * gimple-fold.c (fold_array_ctor_reference): Move searching code to: + * fold-const.c (get_array_ctor_element_at_index): New. + (fold): Remove binary-search through CONSTRUCTOR, call previous. + + * fold-const.h (get_array_ctor_element_at_index): New. + +2015-10-30 Evgeny Stupachenko + + * Makefile.in (OBJS): Add multiple_target.o. + * attrib.c (make_attribute): Moved from config/i386/i386.c + * config/i386/i386.c (make_attribute): Deleted. + * multiple_target.c (create_dispatcher_calls): New. + (get_attr_len): Ditto. + (get_attr_str): Ditto. + (separate_attrs): Ditto. + (is_valid_asm_symbol): Ditto. + (create_new_asm_name): Ditto. + (create_target_clone): Ditto. + (expand_target_clones): Ditto. + (ipa_target_clone): Ditto. + (ipa_dispatcher_calls): Ditto. + * passes.def (pass_target_clone): Two new ipa passes. + * tree-pass.h (make_pass_target_clone): Ditto. + * doc/extend.texi (target_clones): New attribute description. + +2015-10-30 Vladimir Makarov + + PR rtl-optimization/68106 + * lra-remat.c (input_regno_present_p): Process hard regs + explicitly present in machine description insns. + (call_used_input_regno_present_p): Ditto. + (calculate_gen_cands): Ditto. + (do_remat): Ditto. + +2015-10-30 Jim Wilson + + * config/arm/neon-testgen.ml: Fix comment typo. + +2015-10-30 Kyrylo Tkachov + + * rtlanal.c (reg_set_p): Expand function comment. + +2015-10-30 Andrew MacLeod + + * alias.c: Remove unused headers. + * asan.c: Likewise. + * attribs.c: Likewise. + * auto-inc-dec.c: Likewise. + * auto-profile.c: Likewise. + * bb-reorder.c: Likewise. + * bitmap.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. + * 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. + * 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. + * 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. + * gcse.c: Likewise. + * generic-match-head.c: Likewise. + * ggc-common.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-walk.c: Likewise. + * gimple.c: Likewise. + * gimplify-me.c: Likewise. + * gimplify.c: Likewise. + * godump.c: Likewise. + * graph.c: Likewise. + * graphds.c: Likewise. + * haifa-sched.c: Likewise. + * hw-doloop.c: Likewise. + * ifcvt.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. + * 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. + * mcf.c: Likewise. + * mode-switching.c: Likewise. + * modulo-sched.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-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. + * 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. + * 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-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-dce.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-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-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. + * 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.cc: Likewise. + * xcoffout.c: Likewise. + +2015-10-30 James Greenhalgh + + * doc/invoke.texi (fdump-rtl-@var{pass}): Clarify relationship + between pass numbering and execution order. + +2015-10-30 Kyrylo Tkachov + + * config/arm/arm.c (cortex_a9_sched_adjust_cost): Use reg_set_p to + check for dependencies. + +2015-10-30 Richard Sandiford + + * tree-ssa-math-opts.c (pass_cse_sincos::execute): Don't free + CDI_DOMINATORS. + +2015-10-30 Richard Sandiford + + * real.h (format_helper): New. + (real_convert, exact_real_truncate, real_from_string3, real_to_target) + (real_from_target, real_nan, real_2expN, real_value_truncate) + (significand_size, real_from_string2, exact_real_inverse) + (exact_real_inverse, real_powi, real_trunc, real_floor, real_ceil) + (real_round, real_isinteger, real_from_integer): Replace + machine_mode arguments with format_helper arguments. + * real.c (exact_real_inverse, real_from_string2, real_from_string3) + (real_from_integer, real_nan, real_2expN, real_convert) + (real_value_truncate, exact_real_truncate, real_to_target) + (real_from_target, significand_size, real_powi, real_trunc) + (real_floor, real_ceil, real_round, real_isinteger): Replace + machine_mode arguments with format_helper arguments. + (real_to_target_fmt, real_from_target_fmt): Delete. + * dfp.h (decimal_real_convert): Replace mode argument with real_format. + * dfp.c (decimal_to_binary, decimal_real_convert): Replace mode + argument with real_format. + * builtins.c (do_real_to_int_conversion): Update type of fn argument. + +2015-10-30 Richard Sandiford + + * fixed-value.c (check_real_for_fixed_mode, fixed_from_string) + (fixed_to_decimal, fixed_convert_from_real) + (real_convert_from_fixed): Fix mode arguments to real_2expN. + +2015-10-30 Richard Sandiford + + * real.h (REAL_MODE_FORMAT): Abort if the mode isn't a + SCALAR_FLOAT_MODE_P. + +2015-10-30 Alan Lawrence + + * tree-sra.c (scalarizable_type_p): Comment variable-length arrays. + (completely_scalarize): Comment zero-length arrays. + (get_access_replacement): Correct comment re. precondition. + +2015-10-30 Venkataramanan Kumar + + * config/i386/i386.c (get_builtin_code_for_version): Set priority + for PROCESSOR_ZNVER1. + (enum processor_model): Add M_AMDFAM17H_znver1. + (struct arch_names_table): Likewise. + * doc/extend.texi: ADD znver1. + +2015-10-30 Richard Biener + + * gimple-fold.c (fold_gimple_assign): Do not dispatch to + fold () on single RHSs. Allow CONSTRUCTORS with trailing + zeros to be folded to VECTOR_CSTs. + * tree.c (build_vector_from_ctor): Handle VECTOR_CST elements. + * fold-const.c (fold): Use build_vector_from_ctor. + +2015-10-30 Evandro Menezes + + * config/aarch64/aarch64.md (*movhf_aarch64): Change the type of + "mov %0.h[0], %1.h[0] to "neon_move". + (*movtf_aarch64): Change the type of "fmov %s0, wzr" to "f_mcr". + (*cmov_insn): Change the types of "mov %0, {-1,1}" to + "mov_imm". + (*cmovsi_insn_uxtw): Likewise. + +2015-10-30 Tom de Vries + + * tree-ssa-structalias.c (ipa_pta_execute): Declare variable from as + unsigned, and initialize, and use initial value instead of hardcoded + constant. Add generic constraints dumping section. Don't dump global + initializers constraints dumping section if empty. Don't update + variable from if unused. + +2015-10-29 Mikhail Maltsev + + * config/alpha/alpha.c (alpha_function_arg): Use gcc_checking_assert, + flag_checking and/or CHECKING_P to eliminate conditional compilation + on ENABLE_CHECKING. + * config/arm/arm.c (arm_unwind_emit_sequence): Likewise. + * config/bfin/bfin.c (hwloop_optimize): Likewise. + * config/i386/i386.c (ix86_print_operand_address): Likewise. + (output_387_binary_op): Likewise. + * config/ia64/ia64.c (ia64_sched_init, bundling): Likewise. + * config/m68k/m68k.c (m68k_sched_md_init_global): Likewise. + * config/rs6000/rs6000.c (htm_expand_builtin, rs6000_emit_prologue): + Likewise. + * config/rs6000/rs6000.h: Likewise. + * config/visium/visium.c (visium_setup_incoming_varargs): Likewise. + +2015-10-29 Kaz Kojima + + * config/sh/sh.opt (mfdpic): Add missing period. + +2015-08-29 Anatoly Sokolov + + * config/mcore/mcore.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, + BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P, + GO_IF_LEGITIMATE_ADDRESS): Remove macros. + * config/mcore/mcore.c (mcore_reg_ok_for_base_p, + mcore_base_register_rtx_p, mcore_legitimate_index_p, + mcore_legitimate_address_p): New functions. + (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define. + +2015-10-29 Jeff Law + + * tree-ssa-scopedtables.h (const_and_copies): Remove invalidate + method. + * tree-ssa-scopedtables.h (const_and_copies::invalidate): Remove. + * tree-ssa-threadedge.c + (record_temporary_equivalences_from_stmts_at_dest): Remove + backedge_seen argument and associated code which invalidated + equivalences based on the value of that argument. + (thread_through_normal_block): Corresponding changes. + +2015-10-29 Segher Boessenkool + + * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Move this + function earlier in the file. + (first_reg_to_save): Use rs6000_reg_live_or_pic_offset_p instead of + df_regs_ever_live_p. + +2015-10-29 Segher Boessenkool + + * lra-constraints.c (process_address_1): Handle (mem:BLK (scratch)) + by ignoring it. + +2015-10-29 Richard Henderson + + PR target/68124 + PR rtl-opt/67609 + * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten + sse check to the exact conditions of PR 67609. + +2015-10-29 Michael Meissner + + * config/rs6000/rs6000.c (rs6000_init_libfuncs): Split libfunc + setup into 3 functions: init_float128_ibm, init_float128_ieee, and + rs6000_init_libfuncs. If -mfloat128, add IFmode functions for all + of the traditional names that TFmode uses for handling IEEE + extended double. If -mfloat128, add KFmode functions for all of + the emulation functions. If -mabi=ieeelongdouble and -mfloat128, + make TFmode use the same emulation functions as KFmode. + (init_float128_ibm): Likewise. + (init_float128_ieee): Likewise. + (rs6000_generate_compare): For IEEE 128-bit floating point + comparisons, call the unordered comparison function instead of the + ordered comparison function. + (rs6000_expand_float128_convert): Deal with operands that are + memory operands. Restructure the code to use a switch statement on + the mode. Add support for TFmode defaulting to either IBM extended + double or IEEE 128-bit floating point. If the underlying types are + the same, use a move instead of a conversion function. + (TARGET_C_MODE_FOR_SUFFIX): Define 'q' and 'Q' as the suffix to + use for IEEE 128-bit floating point constants with -mfloat128. + (rs6000_c_mode_for_suffix): Likewise. + (TARGET_INVALID_BINARY_OP): Do not allow inter-mixing of IEEE + 128-bit floating point with IBM extended double floating point. + (rs6000_invalid_binary_op): Likewise. + (rs6000_gen_le_vsx_permute): On little endian systems generate a + ROTATE insn instead of VEC_SELECT for IEEE 128-bit floating point + types that can go in vector registers. + (chain_contains_only_swaps): Properly swap IEEE 128-bit floating + point types that can go in vector registers on little endian + PowerPC systems. + (mark_swaps_for_removal): Likewise. + (rs6000_analyze_swaps): Likewise. + (rs6000_mangle_type): Use U10__float128 for IEEE 128-bit floating point. + + * config/rs6000/rs6000.md (FLOAT128_SFDFTF): Delete iterator, + rework IEEE 128-bit floating point insns to deal with TFmode being + either IBM extended double or IEEE 128-bit floating point. + (IFKF): Likewise. + (IBM128): Update iterator to add condition that the mode is IBM + extended double. + (IEEE128): New iterator for IEEE 128-bit floating point. + (TFIFKF): Rename TFIFKF iterator to FLOAT128. + (FLOAT128): Likewise. + (signbit2): FLOAT128_IBM_P condition test moved into IBM128 + iterator. + (neg2): Replace TFIFKF iterator with FLOAT128. Add support + for TFmode being IEEE 128-bit floating point. Use IEEE128 iterator + instead of hard coding TFmode or KFmode. + (negtf2_internal): Likewise. + (neg2_internal): Likewise. + (abs2): Likewise. + (abstf2_internal): Likewise. + (abs2_internal): Likewise. + (ieee_128bit_neg2): Likewise. + (ieee_128bit_neg2_internal): Likewise. + (ieee_128bit_abs2): Likewise. + (ieee_128bit_abs2_internal): Likewise. + (ieee_128bit_nabs2): Likewise. + (ieee_128bit_nabs2_internal): Likewise. + (extendiftf2): Add explicit conversions between 128-bit floating + point types. Drop the old conversions that had become unwieldy. + (extend2): Likewise. + (extendifkf2): Likewise. + (trunc2): Likewise. + (extendtfkf2): Likewise. + (fix_trunc2): Likewise. + (trunciftf2): Likewise. + (fixuns_trunc2): Likewise. + (truncifkf2): Likewise. + (float2): Likewise. + (trunckftf2): Likewise. + (floatuns2): Likewise. + (trunctfif2): Likewise. + (FP iterator): Allow TFmode to be IEEE 128-bit floating point. + (extenddftf2): Rework 128-bit floating point conversions to + properly handle -mabi=ieeelongdouble. Merge IFmode, TFmode, and + KFmode expanders into one function. + (extenddf2): Likewise. + (extenddftf2_fprs): Likewise. + (extenddf2_fprs): Likewise. + (extenddftf2_vsx): Likewise. + (extenddf2_vsx): Likewise. + (extendsftf2): Likewise. + (extendsf2): Likewise. + (trunctfdf2): Likewise. + (truncdf2): Likewise. + (trunctfdf2_internal1): Likewise. + (truncdf2_internal1): Likewise. + (trunctfdf2_internal2): Likewise. + (truncdf2_internal2): Likewise. + (trunctfsf2): Likewise. + (truncsf2): Likewise. + (trunctfsf2_fprs): Likewise. + (truncsf2_fprs): Likewise. + (floatsit2f): Likewise. + (floatsi2): Likewise. + (fix_trunc_helper): Likewise. + (fix_trunc_helper): Likewise. + (fix_trunctfsi2): Likewise. + (fix_truncsi2): Likewise. + (fix_trunctfsi2_fprs): Likewise. + (fix_truncsi2_fprs): Likewise. + (fix_trunctfsi2_internal): Likewise. + (fix_truncsi2_internal): Likewise. + (fix_trunctfdi2): Likewise. + (fix_truncdi2): Likewise. + (fixuns_trunctf2): Likewise. + (fixuns_trunc2): Likewise. + (floatditf2): Likewise. + (floatdi2): Likewise. + (floatunstf2): Likewise. + (floatuns): Likewise. + (cmptf_internal1): Use a mode iterator to add support for both + types (IFmode, TFmode) that support IBM extended double. + (cmp_internal1): Likewise. + (cmptf_internal2): Likewise. + (cmp_internal2): Likewise. + + * doc/extend.texi (Floating Types): Document __ibm128 and + __float128 on PowerPC. + + * doc/invoke.texi (RS/6000 and PowerPC Options): Document + -mfloat128 and -mno-float128. + +2015-10-29 Michael Meissner + + * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Add IEEE 128-bit + floating point modes that can go in vector registers. + (MODES_TIEABLE_P): Move tests for vector modes before tests for + scalar floating point, so that IEEE 128-bit floating point that + can go in vector registers bind with vectors and not FP. + (struct rs6000_args): Add libcall field. + + * config/rs6000/rs6000.opt (-mfloat128-*): Delete -mfloat128-none + and -mfloat128-software switches. Replace them with a binary + -mfloat128 switch. + (-mfloat128): Likewise. + + * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow + 128-bit floating point types in GPRs, even if the appropriate + option enabling the type was not used. + (rs6000_debug_reg_global): Remove -mfloat128-{software,none} + debugging. + (rs6000_setup_reg_addr_masks): Do not allow pre-increment and + pre-decrement on IEEE 128-bit floating point values. + (rs6000_init_hard_regno_mode_ok): Change test for whether TFmode + is IEEE 128-bit floating point. + (rs6000_init_hard_regno_mode_ok): Add reload handlers for IEEE + 128-bit floating point types that can go in vector registers. + (rs6000_option_override_internal): Change -mfloat128-none and + -mfloat128-software to -mfloat128, and move code to be near other + VSX option handling. + (rs6000_option_override_internal): Disable -mfloat128 if we don't + have the Altivec ABI. + (rs6000_init_builtins): Don't make TFmode use either IFmode or + KFmode floating point nodes. Instead, have three separate nodes. + (rs6000_scalar_mode_supported_p): Add support for IFmode to allow + eventually moving the long double default to IEEE 128-bit floating + point. + (rs6000_opt_masks): Add -mfloat128. + (struct rs6000_opt_var): Fix typo in comment. + (init_cumulative_args): Initialize libcall field in + CUMULATIVE_ARGS. + (rs6000_function_arg): Treat library functions as if they had + prototypes to prevent IEEE 128-bit support functions from passing + arguments in both GPRs and vector registers. + (rs6000_arg_partial_bytes): Likewise. + + * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add -mfloat128 as + an option that can be turned on via -mcpu=. + + * config/rs6000/rs6000-opts.h (enum float128_type_t): Delete, no + longer used. + + * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define + __FLOAT128__ if -mfloat128. Define __LONG_DOUBLE_IEEE128__ if long + double is IEEE 128-bit. Define __LONG_DOUBLE_IBM128__ if long + double is IBM extended double. + + * config/rs6000/predicates.md (reg_or_indexed_operand): Allow + SUBREGs. + +2015-10-29 Mikhail Maltsev + + * genautomata.c: Use CHECKING_P instead of ENABLE_CHECKING. + * genconditions.c: Define CHECKING_P in the generated code. + * genextract.c: Use flag_checking in insn_extract. + * gengtype.c (main): Remove conditional compilation. + * gengtype.h: Likewise. + +2015-10-29 Jeff Law + + PR tree-optimization/67892 + * tree-ssa-threadedge.c (simplify_controL_stmt_condition): Fix typo + in comment. + (thread_through_normal_block): If we have seen a backedge, then + do nothing. No longer call find_jump_threads_backwards here. + (thread_across_edge): Use find_jump_threads_backwards to find + jump threads if the old style threader was not successful. + * tree-ssa-threadbackward.c (get_gimple_control_stmt): Use + gsi_last_nondebug_bb. Return NULL if the block does not end + with a control statement. + (find_jump_threads_backwards): Setup code moved here from + tree-ssa-threadedge.c::thread_through_normal_block. Accept + single edge argument instead of name & block. + * tree-ssa-threadbackward.h (find_jump_threads_backwards): Update + prototype. + +2015-10-29 Tom de Vries + + * fold-const.c (fold_unary_loc): Remove folding inhibition for restrict + types. + +2015-10-29 Nathan Sidwell + + * omp-low.c (lower_omp_target): Remove unreachable code & merge + ifs. + 2015-10-29 Marc Glisse * match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity. @@ -749,7 +1638,7 @@ * omp-low.c (pass_oacc_device_lower::execute): Ignore errors. 2015-10-27 Nathan Sidwell - + * internal-fn.c (expand_UNIQUE): New. * internal-fn.h (enum ifn_unique_kind): New. * internal-fn.def (IFN_UNIQUE): New. @@ -898,8 +1787,8 @@ 2015-10-27 Alan Lawrence PR tree-optimization/65963 - * tree-scalar-evolution.c (interpret_rhs_expr): Handle some LSHIFT_EXPRs - as equivalent MULT_EXPRs. + * tree-scalar-evolution.c (interpret_rhs_expr): Handle some + LSHIFT_EXPRs as equivalent MULT_EXPRs. 2015-10-27 Kyrylo Tkachov