1. 23 Apr, 2014 21 commits
    • [ARM] Initialize new tune_params values · 984c2f30
      gcc/
      
      	* config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
      	(arm_cortex_a12_tune): Likewise.
      
      From-SVN: r209710
      James Greenhalgh committed
    • [AArch64] Add handling of bswap operations in rtx costs · 18b42b2a
      	* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
      
      From-SVN: r209706
      Kyrylo Tkachov committed
    • [ARM][3/3] Recognise bitwise operations leading to SImode rev16 · ea1e9168
      	* config/arm/arm.md (arm_rev16si2): New pattern.
      	(arm_rev16si2_alt): Likewise.
      	* config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
      
      	* gcc.target/arm/rev16.c: New test.
      
      From-SVN: r209705
      Kyrylo Tkachov committed
    • [AArch64][2/3] Recognise rev16 operations on SImode and DImode data · f7d5cf8d
             * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
             (rev16<mode>2_alt): Likewise.
             * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
             * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
             (aarch_rev16_shleft_mask_imm_p): Likewise.
             (aarch_rev16_p_1): Likewise.
             (aarch_rev16_p): Likewise.
             * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
             (aarch_rev16_shright_mask_imm_p): Likewise.
             (aarch_rev16_shleft_mask_imm_p): Likewise.
      
             * gcc.target/aarch64/rev16_1.c: New test.
      
      From-SVN: r209704
      Kyrylo Tkachov committed
    • [ARM][1/3] Add rev field to rtx cost tables · 9ac05ae5
             * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
             * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
             rev cost.
             (cortex_a53_extra_costs): Likewise.
             (cortex_a57_extra_costs): Likewise.
             * config/arm/arm.c (cortexa9_extra_costs): Likewise.
             (cortexa7_extra_costs): Likewise.
             (cortexa8_extra_costs): Likewise.
             (cortexa12_extra_costs): Likewise.
             (cortexa15_extra_costs): Likewise.
             (v7m_extra_costs): Likewise.
             (arm_new_rtx_costs): Handle BSWAP.
      
      From-SVN: r209703
      Kyrylo Tkachov committed
    • [ARM] Cortex-A8 rtx cost table · e0d8c86c
             * config/arm/arm.c (cortexa8_extra_costs): New table.
             (arm_cortex_a8_tune): New tuning struct.
             * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
      
      From-SVN: r209702
      Kyrylo Tkachov committed
    • [ARM] Handle FMA code in rtx costs. · ba9b1a63
             * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
      
      From-SVN: r209701
      Kyrylo Tkachov committed
    • Makefile.in (OBJS): Remove loop-unswitch.o. · da4cfeac
      2014-04-23  Richard Biener  <rguenther@suse.de>
      
      	* Makefile.in (OBJS): Remove loop-unswitch.o.
      	* loop-unswitch.c: Delete.
      	* tree-pass.h (make_pass_rtl_unswitch): Remove.
      	* passes.def (pass_rtl_unswitch): Likewise.
      	* loop-init.c (gate_rtl_unswitch): Likewise.
      	(rtl_unswitch): Likewise.
      	(pass_data_rtl_unswitch): Likewise.
      	(pass_rtl_unswitch): Likewise.
      	(make_pass_rtl_unswitch): Likewise.
      	* rtl.h (reversed_condition): Likewise.
      	(compare_and_jump_seq): Likewise.
      	* loop-iv.c (reversed_condition): Move here from loop-unswitch.c
      	and make static.
      	* loop-unroll.c (compare_and_jump_seq): Likewise.
      
      From-SVN: r209698
      Richard Biener committed
    • re PR tree-optimization/60903 (ICE: in verify_loop_structure, at cfgloop.c:1647:… · 22718afe
      re PR tree-optimization/60903 (ICE: in verify_loop_structure, at cfgloop.c:1647: : edge from 13 to 14 should be marked irreducible)
      
      2014-04-23  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/60903
      	* tree-ssa-loop-im.c (analyze_memory_references): Remove
      	commented code block.
      	(execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
      	loop flags to newly created BBs and edges.
      
      	* gcc.dg/torture/pr60903.c: New testcase.
      
      From-SVN: r209694
      Richard Biener committed
    • c-common.c (handle_tm_wrap_attribute): Tweak error message. · c07d7c02
      	* c-common.c (handle_tm_wrap_attribute): Tweak error message.
      
      From-SVN: r209693
      Marek Polacek committed
    • msp430.c (msp430_handle_option): Move function to msp430-common.c · f7961364
      	* config/msp430/msp430.c (msp430_handle_option): Move function
      	to msp430-common.c
      	(msp430_option_override): Simplify mcu and mcpu option handling.
      	(msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult.  Add
      	support for -mhwmult command line option.
      	(has_32bit_hwmult): Rename to use_32bit_hwmult.  Add support for
      	-mhwmult command line option.
      	(msp430_hwmult_enabled): Delete.
      	(msp43o_output_labelref): Add support for -mhwmult command line
      	option.
      	* config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
      	(umulsidi3): Likewise.
      	* config/msp430/msp430.opt (mmcu): Add Report attribute.
      	(mcpu, mlarge, msmall): Likewise.
      	(mhwmult): New option.
      	* config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
      	prototype.
      	(msp430_is_f5_mcu): Remove prototype.
      	(msp430_use_f5_series_hwmult): Add prototype.
      	* config/msp430/msp430-opts.h: New file.
      	* common/config/msp430: New directory.
      	* common/config/msp430/msp430-common.c: New file.
      	* config.gcc (msp430): Remove target_has_targetm_common.
      	* doc/invoke.texi: Document -mhwmult command line option.
      
      From-SVN: r209685
      Nick Clifton committed
    • Revert · 8f78ecdb
      	2014-04-22  Richard Henderson  <rth@redhat.com>
      
      	* gcc-interface/Makefile.in: Support aarch64-linux.
      
      	2014-04-22  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer.
      	(Error_Msg_N): Likewise.
      	(Error_Msg_NE): Likewise.
      	(Get_External_Name_With_Suffix): Likewise.
      	* types.h (Fat_Pointer): Delete.
      	(String_Pointer): New type.
      	(DECLARE_STRING_POINTER): New macro.
      	* gcc-interface/decl.c (create_concat_name): Adjust.
      	* gcc-interface/trans.c (post_error): Likewise.
      	(post_error_ne): Likewise.
      	* gcc-interface/misc.c (internal_error_function): Likewise.
      
      From-SVN: r209684
      Eric Botcazou committed
    • Update libstdc++ baseline symbols for m68k · eab264af
      * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
      (CXXABI_1.3.9): New version.
      
      From-SVN: r209683
      Andreas Schwab committed
    • cygwin.h (ENDFILE_SPEC): Include default-manifest.o if it can be found in the search path. · f70df035
      	* config/i386/cygwin.h (ENDFILE_SPEC): Include
      	default-manifest.o if it can be found in the search path.
      	* config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
      
      From-SVN: r209681
      Nick Clifton committed
    • arm.h (ASM_APP_OFF): Re-define it in a cleaner way. · 6a9accca
      2014-04-23  Terry Guo  <terry.guo@arm.com>
      
      	* config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
      
      From-SVN: r209678
      Terry Guo committed
    • re PR tree-optimization/60895 (error: address taken, but ADDRESSABLE bit not set) · 62ba699e
      2014-04-23  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/60895
      	* tree-inline.c (declare_return_variable): Use mark_addressable.
      
      	* g++.dg/torture/pr60895.C: New testcase.
      
      From-SVN: r209675
      Richard Biener committed
    • re PR tree-optimization/60891 (ICE: SIGSEGV (Invalid write/read) in… · 92562f88
      re PR tree-optimization/60891 (ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts)
      
      2014-04-23  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/60891
      	* loop-init.c (loop_optimizer_init): Make sure to apply
      	LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
      
      	* gcc.dg/torture/pr60891.c: New testcase.
      
      From-SVN: r209673
      Richard Biener committed
    • re PR sanitizer/60275 ([UBSAN] Add… · 1c33c9b7
      re PR sanitizer/60275 ([UBSAN] Add -f[no-]sanitize-recover/-fsanitize-undefined-trap-on-error to make UBSAN's runtime errors fatal)
      
      	PR sanitizer/60275
      	* common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
      	New options.
      	* gcc.c (sanitize_spec_function): Don't return "" for "undefined"
      	if flag_sanitize_undefined_trap_on_error.
      	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
      	BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
      	BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
      	BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
      	BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
      	BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
      	BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
      	BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
      	BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
      	* ubsan.c (ubsan_instrument_unreachable): Return
      	__builtin_trap () if flag_sanitize_undefined_trap_on_error.
      	(ubsan_expand_null_ifn): Emit __builtin_trap ()
      	if flag_sanitize_undefined_trap_on_error and
      	__ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
      	(ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
      	instrument_bool_enum_load): Emit __builtin_trap () if
      	flag_sanitize_undefined_trap_on_error and
      	__builtin_handle_*_abort () if !flag_sanitize_recover.
      	* doc/invoke.texi (-fsanitize-recover,
      	-fsanitize-undefined-trap-on-error): Document.
      c-family/
      	* c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
      	if flag_sanitize_undefined_trap_on_error.
      	(ubsan_instrument_division, ubsan_instrument_shift,
      	ubsan_instrument_vla): Likewise.  Use __ubsan_handle_*_abort ()
      	if !flag_sanitize_recover.
      testsuite/
      	* g++.dg/ubsan/return-2.C: Revert 2014-03-24 changes, add
      	-fno-sanitize-recover to dg-options.
      	* g++.dg/ubsan/cxx11-shift-1.C: Remove c++11 target restriction,
      	add -std=c++11 to dg-options.
      	* g++.dg/ubsan/cxx11-shift-2.C: Likewise.
      	* g++.dg/ubsan/cxx1y-vla.C: Remove c++1y target restriction,
      	add -std=c++1y to dg-options.
      	* c-c++-common/ubsan/undefined-1.c: Revert 2014-03-24 changes, add
      	-fno-sanitize-recover to dg-options.
      	* c-c++-common/ubsan/overflow-sub-1.c: Likewise.
      	* c-c++-common/ubsan/vla-4.c: Likewise.
      	* c-c++-common/ubsan/pr59503.c: Likewise.
      	* c-c++-common/ubsan/vla-3.c: Likewise.
      	* c-c++-common/ubsan/save-expr-1.c: Likewise.
      	* c-c++-common/ubsan/overflow-add-1.c: Likewise.
      	* c-c++-common/ubsan/shift-3.c: Likewise.
      	* c-c++-common/ubsan/overflow-1.c: Likewise.
      	* c-c++-common/ubsan/overflow-negate-2.c: Likewise.
      	* c-c++-common/ubsan/vla-2.c: Likewise.
      	* c-c++-common/ubsan/overflow-mul-1.c: Likewise.
      	* c-c++-common/ubsan/pr60613-1.c: Likewise.
      	* c-c++-common/ubsan/shift-6.c: Likewise.
      	* c-c++-common/ubsan/overflow-mul-3.c: Likewise.
      	* c-c++-common/ubsan/overflow-add-3.c: New test.
      	* c-c++-common/ubsan/overflow-add-4.c: New test.
      	* c-c++-common/ubsan/div-by-zero-6.c: New test.
      	* c-c++-common/ubsan/div-by-zero-7.c: New test.
      
      From-SVN: r209672
      Jakub Jelinek committed
    • sh.md (mov<mode>): Replace movQIHI. · 5e66b2e5
      2014-04-22  Christian Bruel  <christian.bruel@st.com>
      
              * config/sh/sh.md (mov<mode>): Replace movQIHI.
               Force immediates to SImode.
      
      From-SVN: r209671
      Christian Bruel committed
    • nios2.md (UNSPEC_ROUND): New. · aa221564
      2014-04-22  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.md (UNSPEC_ROUND): New.
      	(lroundsfsi2): New.
      	* config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
      	* config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
      	* config/nios2/nios2.c (N2F_NO_ERRNO): Define.
      	(nios2_fpu_insn): Add entry for round.
      	(N2FPU_NO_ERRNO_P): Define.
      	(nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
      	flag_errno_math.
      	* doc/invoke.texi (Nios II Options): Document -mcustom-round.
      
      	gcc/testsuite/
      	* gcc.target/nios2/custom-fp-conversion.c: Adjust to test that
      	lroundf generates custom round instruction, too.
      
      From-SVN: r209670
      Sandra Loosemore committed
    • Daily bump. · 5f056aaa
      From-SVN: r209669
      GCC Administrator committed
  2. 22 Apr, 2014 19 commits