gcc.git
9 years ago[AArch64][14/14] Reuse target_option_current_node when passing pragma string to targe...
Kyrylo Tkachov [Tue, 4 Aug 2015 10:45:48 +0000 (10:45 +0000)]
[AArch64][14/14] Reuse target_option_current_node when passing pragma string to target attribute

* config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
Exit early and use target_option_current_node if processing current
pragma.

From-SVN: r226567

9 years ago[doc][13/14] Document AArch64 target attributes and pragmas
Kyrylo Tkachov [Tue, 4 Aug 2015 10:43:15 +0000 (10:43 +0000)]
[doc][13/14] Document AArch64 target attributes and pragmas

* doc/extend.texi (AArch64 Function Attributes): New node.
(AArch64 Pragmas): Likewise.

From-SVN: r226566

9 years ago[AArch64][12/14] Target attributes and target pragmas tests
Kyrylo Tkachov [Tue, 4 Aug 2015 10:41:31 +0000 (10:41 +0000)]
[AArch64][12/14] Target attributes and target pragmas tests

* gcc.target/aarch64/pragma_cpp_predefs_1.c: New test.
* gcc.target/aarch64/target_attr_1.c: Likewise.
* gcc.target/aarch64/target_attr_2.c: Likewise.
* gcc.target/aarch64/target_attr_3.c: Likewise.
* gcc.target/aarch64/target_attr_4.c: Likewise.
* gcc.target/aarch64/target_attr_5.c: Likewise.
* gcc.target/aarch64/target_attr_6.c: Likewise.
* gcc.target/aarch64/target_attr_7.c: Likewise.
* gcc.target/aarch64/target_attr_8.c: Likewise.
* gcc.target/aarch64/target_attr_9.c: Likewise.
* gcc.target/aarch64/target_attr_10.c: Likewise.
* gcc.target/aarch64/target_attr_11.c: Likewise.
* gcc.target/aarch64/target_attr_12.c: Likewise.
* gcc.target/aarch64/target_attr_13.c: Likewise.
* gcc.target/aarch64/target_attr_14.c: Likewise.
* gcc.target/aarch64/target_attr_15.c: Likewise.

From-SVN: r226565

9 years ago[AArch64][11/14] Re-layout SIMD builtin types on builtin expansion
Kyrylo Tkachov [Tue, 4 Aug 2015 10:39:42 +0000 (10:39 +0000)]
[AArch64][11/14] Re-layout SIMD builtin types on builtin expansion

* config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
Initialize simd builtins if TARGET_SIMD.
* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
Make sure that the builtins are initialized only once no matter how
many times the function is called.
(aarch64_init_builtins): Unconditionally initialize crc builtins.
(aarch64_relayout_simd_param): New function.
(aarch64_simd_expand_args): Use above during argument expansion.
* config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize
simd builtins if TARGET_SIMD.
* config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New
prototype.
(aarch64_relayout_simd_types): Likewise.

* gcc.target/aarch64/target_attr_crypto_ice_1.c: New test.

From-SVN: r226564

9 years ago[AArch64][10/14] Implement target pragmas
Kyrylo Tkachov [Tue, 4 Aug 2015 10:35:16 +0000 (10:35 +0000)]
[AArch64][10/14] Implement target pragmas

* config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs.
* config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define.
(TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins.
* config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
static keyword.
(aarch64_reset_previous_fndecl): New function.
(aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of
the string.
* config/aarch64/aarch64-c.c: New file.
* config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top.
Push and pop options at beginning and end.  Remove ifdef
__ARM_FEATURE_CRC32.
* config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON.
Add pragma +nothing+simd and +nothing+crypto where appropriate.
* config/aarch64/t-aarch64 (aarch64-c.o): New rule.
* config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins):
Define prototype.
(aarch64_register_pragmas): Likewise.
(aarch64_reset_previous_fndecl): Likewise.
(aarch64_process_target_attr): Likewise.
(aarch64_override_options_internal): Likewise.

* gcc.target/aarch64/arm_neon-nosimd-error.c: Delete.

From-SVN: r226563

9 years ago[AArch64][9/14] Implement TARGET_CAN_INLINE_P
Kyrylo Tkachov [Tue, 4 Aug 2015 10:17:13 +0000 (10:17 +0000)]
[AArch64][9/14] Implement TARGET_CAN_INLINE_P

* config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p):
New function.
(aarch64_can_inline_p): Likewise.
(TARGET_CAN_INLINE_P): Define.

From-SVN: r226561

9 years ago[AArch64][8/14] Implement TARGET_OPTION_VALID_ATTRIBUTE_P
Kyrylo Tkachov [Tue, 4 Aug 2015 10:14:00 +0000 (10:14 +0000)]
[AArch64][8/14] Implement TARGET_OPTION_VALID_ATTRIBUTE_P

* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
Remove static.  Handle OPT_mgeneral_regs_only,
OPT_mfix_cortex_a53_835769, OPT_mstrict_align,
OPT_momit_leaf_frame_pointer.
* config/aarch64/aarch64.c: Include opts.h and diagnostic.h
(aarch64_attr_opt_type): New enum.
(aarch64_attribute_info): New struct.
(aarch64_handle_attr_arch): New function.
(aarch64_handle_attr_cpu): Likewise.
(aarch64_handle_attr_tune): Likewise.
(aarch64_handle_attr_isa_flags): Likewise.
(aarch64_attributes): New table.
(aarch64_process_one_target_attr): New function.
(num_occurences_in_str): Likewise.
(aarch64_process_target_attr): Likewise.
(aarch64_option_valid_attribute_p): Likewise.
(TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
* config/aarch64/aarch64-protos.h: Include input.h
(aarch64_handle_option): Declare prototype.

From-SVN: r226560

9 years ago[AArch64][7/14] Implement TARGET_SET_CURRENT_FUNCTION
Kyrylo Tkachov [Tue, 4 Aug 2015 10:10:28 +0000 (10:10 +0000)]
[AArch64][7/14] Implement TARGET_SET_CURRENT_FUNCTION

* config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define.
* config/aarch64/aarch64.c: Include target-globals.h
(aarch64_previous_fndecl): New variable.
(aarch64_set_current_function): New function.
(TARGET_SET_CURRENT_FUNCTION): Define.

From-SVN: r226559

9 years ago[AArch64][6/14] Implement TARGET_OPTION_SAVE/TARGET_OPTION_RESTORE
Kyrylo Tkachov [Tue, 4 Aug 2015 10:06:51 +0000 (10:06 +0000)]
[AArch64][6/14] Implement TARGET_OPTION_SAVE/TARGET_OPTION_RESTORE

* config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable.
(explicit_arch): Likewise.
(x_aarch64_isa_flags): Likewise.
(mgeneral-regs-only): Mark as Save.
(mfix-cortex-a53-835769): Likewise.
(mcmodel=): Likewise.
(mstrict-align): Likewise.
(momit-leaf-frame-pointer): Likewise.
(mtls-dialect): Likewise.
(master=): Likewise.
* config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define.
(aarch64_isa_flags): Remove extern declaration.
* config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool
to indicate success or failure.
(aarch64_validate_march): Likewise.
(aarch64_validate_mtune): Likewise.
(aarch64_isa_flags): Delete.
(aarch64_override_options_internal): Access opts->x_aarch64_isa_flags
instead of aarch64_isa_flags.
(aarch64_get_tune_cpu): New function.
(aarch64_get_arch): Likewise.
(aarch64_override_options): Use above and set up explicit_tune_core
and explicit_arch.
(aarch64_print_extension): Move earlier in file.  Add isa_flags
argument and use that instead of the global aarch64_isa_flags.
(aarch64_option_save): New function.
(aarch64_option_restore): Likewise.
(aarch64_option_print): Likewise.
(aarch64_declare_function_name): Likewise.
(aarch64_start_file): Delete.
(TARGET_ASM_FILE_START): Do not define.
(TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define.
* config/aarch64/aarch64-protos.h (aarch64_declare_function_name):
Declare prototype.

From-SVN: r226558

9 years ago[AArch64][5/14] Make flag_omit_leaf_frame_pointer intialize to 2. Define and use...
Kyrylo Tkachov [Tue, 4 Aug 2015 10:02:56 +0000 (10:02 +0000)]
[AArch64][5/14] Make flag_omit_leaf_frame_pointer intialize to 2. Define and use TARGET_OMIT_LEAF_FRAME_POINTER

* config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize
flag_omit_leaf_frame_pointer to 2.

From-SVN: r226557

9 years ago[AArch64][4/14] Create TARGET_FIX_ERR_A53_835769 and use that instead of aarch64_fix_...
Kyrylo Tkachov [Tue, 4 Aug 2015 10:01:06 +0000 (10:01 +0000)]
[AArch64][4/14] Create TARGET_FIX_ERR_A53_835769 and use that instead of aarch64_fix_a53_err835769

        * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always
        define to 0 or 1.
        (TARGET_FIX_ERR_A53_835769): New macro.
        * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
        handling of opts->x_aarch64_fix_a53_err835769.
        (aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather
        than aarch64_fix_a53_err835769.
        * config/aarch64/aarch64-elf-raw.h: Update for above changes.
        * config/aarch64/aarch64-linux.h: Likewise.

From-SVN: r226556

9 years agoi386.c (ix86_expand_int_movcc): Check result of ix86_expand_int_movcc as boolean.
Uros Bizjak [Tue, 4 Aug 2015 09:54:08 +0000 (11:54 +0200)]
i386.c (ix86_expand_int_movcc): Check result of ix86_expand_int_movcc as boolean.

* config/i386/i386.c (ix86_expand_int_movcc): Check result of
ix86_expand_int_movcc as boolean.

From-SVN: r226555

9 years ago[AArch64][3/14] Refactor option override code
Kyrylo Tkachov [Tue, 4 Aug 2015 09:52:52 +0000 (09:52 +0000)]
[AArch64][3/14] Refactor option override code

* config/aarch64/aarch64.opt (aarch64_arch_string): Delete.
(aarch64_cpu_string): Likewise.
(aarch64_tune_string): Likewise.
* config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum.
(aarch64_parse_extension): Return aarch64_parse_opt_result.
Add extra argument to put result into.
(aarch64_parse_arch): Likewise.  Do not set selected_cpu.
(aarch64_parse_cpu): Add arguments to put results into. Return
aarch64_parse_opt_result.
(aarch64_parse_tune): Likewise.
(aarch64_override_options_after_change_1): New function.
(aarch64_override_options_internal): New function.
(aarch64_validate_mcpu): Likewise.
(aarch64_validate_march): Likewise.
(aarch64_validate_mtune): Likewise.
(aarch64_override_options): Update to reflect above changes.
Move some logic into aarch64_override_options_internal.
Initialize target_option_default_node and target_option_current_node.
(aarch64_override_options_after_change): Move logic into
aarch64_override_options_after_change_1 and call it with global_options.
(initialize_aarch64_code_model): Take a gcc_options pointer and use the
flag values from that.

* gcc.target/aarch64/cpu-diagnostics-3.c: Update expected error
message.

From-SVN: r226554

9 years ago[AArch64][2/14] Refactor arches handling, add arch enum identifier
Kyrylo Tkachov [Tue, 4 Aug 2015 09:47:49 +0000 (09:47 +0000)]
[AArch64][2/14] Refactor arches handling, add arch enum identifier

* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
__ARM_ARCH_8A directly rather than with cpp_define_formatted.
* config/aarch64/aarch64.c (struct processor): Add arch field.
(all_architectures): Handle above, move above all_cores.
(all_cores): Handle above.
(aarch64_parse_arch): Handle above changes.
* config/aarch64/aarch64-arches.def (armv8-a): Extend according to
above.  Update comments.
(armv8.1-a): Likewise.
* config/aarch64/aarch64-cores.def: Update according to above.
* config/aarch64/aarch64-opts.h (aarch64_arch): New enum.
* config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to
aarch64_arch_driver_info.

From-SVN: r226553

9 years ago[AArch64][1/14] Add ident field to struct processor
Kyrylo Tkachov [Tue, 4 Aug 2015 09:44:18 +0000 (09:44 +0000)]
[AArch64][1/14] Add ident field to struct processor

        * config/aarch64/aarch64.c (struct processor): Add ident field.
        Rename core sched_core.
        (all_cores): Handle above changes.
        (all_architectures): Likewise.
        (aarch64_parse_arch): Likewise.
        (aarch64_override_options): Likewise.

From-SVN: r226552

9 years agogimple-fold.c (gimple_fold_stmt_to_constant_1): Remove dispatching to fold_binary...
Richard Biener [Tue, 4 Aug 2015 09:40:54 +0000 (09:40 +0000)]
gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove dispatching to fold_binary for GIMPLE_BINARY_RHS and for comparisons...

2015-08-04  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
dispatching to fold_binary for GIMPLE_BINARY_RHS and for
comparisons embedded in [VEC_]COND_EXPRs.

From-SVN: r226551

9 years ago* config/fpu-387.h: Remove unwanted whitespace.
Uros Bizjak [Tue, 4 Aug 2015 09:24:15 +0000 (11:24 +0200)]
* config/fpu-387.h: Remove unwanted whitespace.

From-SVN: r226550

9 years agofpu-387.h (get_fpu_trap_exceptions): Add temporary variable to improve generated...
Uros Bizjak [Tue, 4 Aug 2015 09:16:52 +0000 (11:16 +0200)]
fpu-387.h (get_fpu_trap_exceptions): Add temporary variable to improve generated code.

* config/fpu-387.h (get_fpu_trap_exceptions): Add temporary variable
to improve generated code.

From-SVN: r226549

9 years agore PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and...
Francois-Xavier Coudert [Tue, 4 Aug 2015 07:27:19 +0000 (07:27 +0000)]
re PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and kind=16 REAL variables)

PR fortran/64022

* simplify.c (gfc_simplify_ieee_selected_real_kind): Extend IEEE
support to all real kinds.

* ieee/ieee_exceptions.F90: Support all real kinds.
* ieee/ieee_arithmetic.F90: Likewise.
* ieee/ieee_helper.c (ieee_class_helper_10,
ieee_class_helper_16): New functions
* gfortran.map (GFORTRAN_1.7): Add entries.

* gfortran.dg/ieee/ieee_7.f90: Adjust test.
* gfortran.dg/ieee/large_1.f90: New test.

From-SVN: r226548

9 years agotree-if-conv.c: Fix various typos in comments.
Abe Skolnik [Tue, 4 Aug 2015 03:53:10 +0000 (03:53 +0000)]
tree-if-conv.c: Fix various typos in comments.

* tree-if-conv.c: Fix various typos in comments.
* tree-vect-stmts.c: Likewise.

From-SVN: r226544

9 years agoruntime: initialize variable to avoid compiler warning
Ian Lance Taylor [Tue, 4 Aug 2015 03:39:21 +0000 (03:39 +0000)]
runtime: initialize variable to avoid compiler warning

    Reviewed-on: https://go-review.googlesource.com/13095

From-SVN: r226543

9 years agore PR debug/67043 (-fcompare-debug failure with -O3)
Thomas Preud'homme [Tue, 4 Aug 2015 02:11:58 +0000 (02:11 +0000)]
re PR debug/67043 (-fcompare-debug failure with -O3)

2015-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/67043
    * loop-invariant.c (move_invariant_reg): Recompute luids in loop
    preheader after hoisting invariant in it.
    (find_defs): Force recomputation of all luids.

    gcc/testsuite/
    PR tree-optimization/67043
    * gcc.dg/pr67043.c: New test.

From-SVN: r226540

9 years agoplugin-nvptx.c: Don't include dlfcn.h.
Nathan Sidwell [Tue, 4 Aug 2015 00:40:18 +0000 (00:40 +0000)]
plugin-nvptx.c: Don't include dlfcn.h.

* plugin/plugin-nvptx.c: Don't include dlfcn.h.
(cuda_errlist): Constify.
(errmsg):  Move into ...
(cuda_error): ... here.  Make smaller.
(_XSTR, _STR): Delete.
(cuda_synames): Delete.
(verify_device_library): Delete.
(nvptx_init): Don't call it.

From-SVN: r226539

9 years agoDaily bump.
GCC Administrator [Tue, 4 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226538

9 years agosyscall: RawSockaddr fix for ppc64, ppc64le
Ian Lance Taylor [Mon, 3 Aug 2015 21:18:56 +0000 (21:18 +0000)]
syscall:  RawSockaddr fix for ppc64, ppc64le

    The struct RawSockaddr contains a field Data which
    should be uint8 on ppc64 and ppc64le, but is declared
    as int8 in gccgo.  This change adds a two new files
    which contain the structure declaration for
    RawSockaddr, one with the correct types for for ppc64
    and ppc64le, and the other for non-ppc64 platforms.

    Fixes golang/go#11469

    Reviewed-on: https://go-review.googlesource.com/11946

From-SVN: r226533

9 years agohtm.md (tabort.): Restrict the source operand to using a base register.
Peter Bergner [Mon, 3 Aug 2015 21:11:20 +0000 (16:11 -0500)]
htm.md (tabort.): Restrict the source operand to using a base register.

gcc/
* config/rs6000/htm.md (tabort.): Restrict the source operand to
using a base register.

gcc/testsuite/
* gcc.target/powerpc/htm-tabort-no-r0.c: New test.

From-SVN: r226532

9 years agoRefactoring of timevar API
David Malcolm [Mon, 3 Aug 2015 20:14:21 +0000 (20:14 +0000)]
Refactoring of timevar API

gcc/ChangeLog:
* main.c (main): Pass in NULL for toplev's external_timer.
* timevar.c: Include coretypes.h.
(class timer::named_items): New.
(timer::named_items::named_items): New.
(timer::named_items::~named_items): New.
(timer::named_items::push): New.
(timer::named_items::pop): New.
(timer::named_items::print): New.
(timer::timer): Initialize field "m_jit_client_items".
(timer::~timer): New.
(timer::push): Move bulk of implementation to...
(timer::push_internal): ...here.  New function.
(timer::pop): Move bulk of implementation to...
(timer::pop_internal): ...here.  New function.
(timer::push_client_item): New.
(timer::pop_client_item): New.
(timer::print_row): New function, taken from timer::print.
(timer::print): Print "GCC items" header if we also have client
items.  Move row-printing to timer::print_row.  Print any client
items.
(timer::get_topmost_item_name): New method.
* timevar.def (TV_JIT_ACQUIRING_MUTEX): New.
(TV_JIT_CLIENT_CODE): New.
* timevar.h (timer::push_client_item): New declaration.
(timer::pop_client_item): New declaration.
(timer::get_topmost_item_name): New method.
(timer::push_internal): New declaration.
(timer::pop_internal): New declaration.
(timer::print_row): New declaration.
(timer::named_items): New declaration.
(timer::m_jit_client_items): New field.
(timer): Add friend class named_items.
(auto_timevar::auto_timevar): Add timer param.
(auto_timevar::~auto_timevar): Use field "m_timer".
(auto_timevar::m_timer): New field.
* toplev.c (initialize_rtl): Add g_timer as param when
constructing auto_timevar instance.
(toplev::toplev): Add "external_timer" param, and use it to
initialize the "g_timer" global if non-NULL.
(toplev::~toplev): If this created "g_timer", delete it.
* toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param
with "external_timer" timer *.

gcc/jit/ChangeLog:
* docs/topics/compatibility.rst (LIBGCCJIT_ABI_4): New.
* docs/topics/contexts.rst (GCC_JIT_BOOL_OPTION_DUMP_SUMMARY):
We no longer show a profile.
* docs/topics/index.rst (Topic Reference): Add performance.rst.
* docs/topics/performance.rst: New file.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
* jit-playback.c (gcc::jit::playback::context::compile): Add timer
param when constructing the "toplev" instance.
(gcc::jit::playback::context::acquire_mutex): Add timer param when
constructing auto_timevar instance.
(gcc::jit::playback::context::make_fake_args): If we have a timer,
add "-ftime-report".
(gcc::jit::playback::context::invoke_driver): Add timer param when
constructing auto_timevar instance.
(gcc::jit::playback::context::dlopen_built_dso): Likewise.
* jit-playback.h (gcc::jit::playback::context::get_timer): New accessor.
* jit-recording.c: Include timevar.h.
(gcc::jit::recording::context::context): Initialize field "m_timer".
* jit-recording.h: Add forward declaration of class timer.
(gcc::jit::recording::context::set_timer): New method.
(gcc::jit::recording::context::get_timer): New method.
(gcc::jit::recording::context::m_timer): New field.
* libgccjit++.h (gccjit::timer): New class.
(gccjit::auto_time): New class.
(gccjit::context::set_timer): New method.
(gccjit::context::get_timer): New.
(gccjit::timer::timer): New.
(gccjit::timer::push): New.
(gccjit::timer::pop): New.
(timer::print): New.
(timer::get_inner_timer): New.
(timer::release): New.
(auto_time::auto_time): New.
(auto_time::~auto_time): New.
* libgccjit.c: Include timevar.h.
(struct gcc_jit_timer): New.
(gcc_jit_timer_new): New function.
(gcc_jit_timer_release): New function.
(gcc_jit_context_set_timer): New function.
(gcc_jit_context_get_timer): New function.
(gcc_jit_timer_push): New function.
(gcc_jit_timer_pop): New function.
(gcc_jit_timer_print): New function.
* libgccjit.h (LIBGCCJIT_HAVE_TIMING_API): New macro.
(gcc_jit_timer): New typedef.
(gcc_jit_timer_new): New function.
(gcc_jit_timer_release): New function.
(gcc_jit_context_set_timer): New function.
(gcc_jit_context_get_timer): New function.
(gcc_jit_timer_push): New function.
(gcc_jit_timer_pop): New function.
(gcc_jit_timer_print): New function.
* libgccjit.map (LIBGCCJIT_ABI_4): New.
(gcc_jit_timer_new): New function.
(gcc_jit_timer_release): New function.
(gcc_jit_context_set_timer): New function.
(gcc_jit_context_get_timer): New function.
(gcc_jit_timer_push): New function.
(gcc_jit_timer_pop): New function.
(gcc_jit_timer_print): New function.

gcc/testsuite/ChangeLog:
* jit.dg/test-benchmark.c (test_jit): Add param "timer" and use
it to push/pop timing items.
(main): For each optimization level, create a gcc_jit_timer, and
time all of the iteration within that level cumulatively.
* jit.dg/test-error-gcc_jit_timer_pop-mismatch.c: New test case.
* jit.dg/test-error-gcc_jit_timer_pop-too-many.c: New test case.

From-SVN: r226530

9 years agocompiler: Don't allow multiple function declarations.
Ian Lance Taylor [Mon, 3 Aug 2015 19:55:00 +0000 (19:55 +0000)]
compiler: Don't allow multiple function declarations.

    Fixes golang/go#11573.

    Reviewed-on: https://go-review.googlesource.com/12508

From-SVN: r226529

9 years agore PR middle-end/64744 (ARM: gcc internal compiler error: in store_field, at expr...
Alexander Basov [Mon, 3 Aug 2015 19:34:31 +0000 (19:34 +0000)]
re PR middle-end/64744 (ARM: gcc internal compiler error: in store_field, at expr.c:6659)

PR middle-end/64744
PR middle-end/48470
PR middle-end/43404
* cfgexpand.c (expand_one_var): Add check if stack is going to
be used in naked function.
* expr.c (expand_expr_addr_expr_1): Remove excess checking
whether expression should not reside in MEM.
* function.c (use_register_for_decl): Do not use registers for
non-register things (volatile, float, BLKMode) in naked functions.

PR middle-end/64744
PR middle-end/48470
PR middle-end/43404
* gcc.target/arm/pr43404.c : New testcase.
* gcc.target/arm/pr48470.c : New testcase.
* gcc.target/arm/pr64744-1.c : New testcase.
* gcc.target/arm/pr64744-2.c : New testcase.

From-SVN: r226528

9 years agocompiler: Don't make erroneous type descriptors.
Ian Lance Taylor [Mon, 3 Aug 2015 18:53:56 +0000 (18:53 +0000)]
compiler: Don't make erroneous type descriptors.

    There is no need to make type descriptors for named types when there
    are errors during package compilation.  Particularly, if the error in
    package compilation is from a malformed named type, there is no
    guarantee a type descriptor can be created.

    Fixes golang/go#11560.

    Reviewed-on: https://go-review.googlesource.com/12792

From-SVN: r226527

9 years agolibgo/testsuite: kill sleep process in gotest
Ian Lance Taylor [Mon, 3 Aug 2015 18:23:42 +0000 (18:23 +0000)]
libgo/testsuite: kill sleep process in gotest

    This change modifies the "gotest" shell script
    to kill all processes, including "sleep", spawned
    by the timeout subshell. This prevents the sleep
    process from living beyond the gotest process.

    BACKGROUND

    The "gotest" shell script spawns "sleep" processes
    in the background to kill off test cases that run
    past their specified timeout. There are commands
    included that appear to kill the sleep process,
    but they only kill the parent shell, causing the
    sleep process to reparent.

    The orphaned sleep process can cause issues when
    gotest is run under some build systems, such as
    Ninja [0]. The particular issue with Ninja is the
    method it uses to identify terminated processes:
    it creates a pipe, passes the write end to the
    child process, and waits for EOF. In the case of
    libgo/gotest, the orphaned sleep process inherits
    the pipe FD and keeps it open for 4 minutes by
    default.

    [0] https://github.com/martine/ninja

    Reviewed-on: https://go-review.googlesource.com/12227

From-SVN: r226526

9 years agore PR go/67101 (mprof.goc:408:5: error: calling ‘__builtin_frame_address’ with a...
Ian Lance Taylor [Mon, 3 Aug 2015 17:54:50 +0000 (17:54 +0000)]
re PR go/67101 (mprof.goc:408:5: error: calling ‘__builtin_frame_address’ with a nonzero argument is unsafe [-Werror=frame-address])

PR go/67101

    runtime: Remove call to __builtin_frame_address.

    __builtin_frame_address was only supposed to use nonzero arguments
    for debugging purposes.  Calling it with nonzero arguments can have
    unpredictable results and uses are now marked unsafe when
    -Wframe-address is enabled.

    Reviewed-on: https://go-review.googlesource.com/13063

From-SVN: r226525

9 years agore PR target/67060 (FAIL: gcc.dg/pr56228.c (test for excess errors))
John David Anglin [Mon, 3 Aug 2015 17:26:19 +0000 (17:26 +0000)]
re PR target/67060 (FAIL: gcc.dg/pr56228.c (test for excess errors))

PR target/67060
* config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber.
Adjust splits to match new pattern.

From-SVN: r226522

9 years agovector.md (VEC_L): Add KFmode and TFmode.
Michael Meissner [Mon, 3 Aug 2015 17:06:24 +0000 (17:06 +0000)]
vector.md (VEC_L): Add KFmode and TFmode.

2015-08-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vector.md (VEC_L): Add KFmode and TFmode.
(VEC_M): Likewise.
(VEC_N): Likewise.
(mov<mode>, VEC_M iterator): Add support for IEEE 128-bit floating
point in VSX registers.

* config/rs6000/constraints.md (wb constraint): Document unused
w<x> constraint.
(we constraint): Likewise.
(wo constraint): Likewise.
(wp constraint): New constraint for IEEE 128-bit floating point in
VSX registers.
(wq constraint): Likewise.

* config/rs6000/predicates.md (easy_fp_constant): Add support for
IEEE 128-bit floating point in VSX registers.
(easy_scalar_constant): Likewise.

* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new
constraints (wp, wq) for IEEE 128-bit floating point in VSX
registers.
(rs6000_init_hard_regno_mode_ok): Likewise.

* config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit
floating point in VSX registers.
(VSX_L): Likewise.
(VSX_M): Likewise.
(VSX_M2): Likewise.
(VSm): Likewise.
(VSs): Likewise.
(VSr): Likewise.
(VSa): Likewise.
(VSv): Likewise.
(vsx_le_permute_<mode>): Add support to properly swap bytes for
IEEE 128-bit floating point in VSX registers on little endian.
(vsx_le_undo_permute_<mode>): Likewise.
(vsx_le_perm_load_<mode>): Likewise.
(vsx_le_perm_store_<mode>): Likewise.
(splitters for IEEE 128-bit fp moves): Likewise.

* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and
wq constraints.

* config/rs6000/altivec.md (VM): Add support for IEEE 128-bit
floating point in VSX registers.
(VM2): Likewise.

* doc/md.text (Machine Constraints): Document wp and wq
constraints on PowerPC.

From-SVN: r226520

9 years agoAdd a testcase for PR tree-optimization/67077
H.J. Lu [Mon, 3 Aug 2015 16:58:03 +0000 (16:58 +0000)]
Add a testcase for PR tree-optimization/67077

PR tree-optimization/67077
* gcc.dg/pr67077.c: New test.

From-SVN: r226518

9 years agore PR fortran/66942 (trans-expr.c:5701 runtime error: member call on null pointer...
Steven G. Kargl [Mon, 3 Aug 2015 16:56:39 +0000 (16:56 +0000)]
re PR fortran/66942 (trans-expr.c:5701 runtime error: member call on null pointer of type 'struct vec')

2015-08-03  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66942
* trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference

From-SVN: r226517

9 years agore PR middle-end/66314 (ice in verify_loop_structure)
Jeff Law [Mon, 3 Aug 2015 16:26:13 +0000 (10:26 -0600)]
re PR middle-end/66314 (ice in verify_loop_structure)

PR middle-end/66314
PR gcov-profile/66899
* tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly
iterate over the jump threading paths when an element in the
jump threading paths array is eliminated.

PR middle-end/66314
PR gcov-profile/66899
* gcc.dg/pr66899.c: New test.
* gcc.dg/pr66314.c: New test.

From-SVN: r226516

9 years agore PR libstdc++/67078 (FAIL: 24_iterators/container_access.cc (test for excess errors...
Jonathan Wakely [Mon, 3 Aug 2015 15:56:17 +0000 (16:56 +0100)]
re PR libstdc++/67078 (FAIL: 24_iterators/container_access.cc (test for excess errors) on aarch64-none-elf)

PR libstdc++/67078
* include/bits/range_access.h (size, empty, data): Fix _N bad name.

From-SVN: r226515

9 years ago* Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.
Segher Boessenkool [Mon, 3 Aug 2015 15:33:45 +0000 (17:33 +0200)]
* Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.

From-SVN: r226514

9 years agoAvoid recomputing the defining predicate chains for the same PHI
Patrick Palka [Mon, 3 Aug 2015 14:57:25 +0000 (14:57 +0000)]
Avoid recomputing the defining predicate chains for the same PHI

gcc/ChangeLog:

* tree-ssa-uninit.c (find_uninit_use): Declare and pass to
is_use_properly_guarded the variable def_preds.  Free its
contents before returning.
(prune_uninit_phi_opnds_in_unrealizable_paths): Same.
(is_use_properly_guarded): Replace local variable def_preds with
a parameter.  Adjust accordingly.  Only update *def_preds if it's
the empty vector.

From-SVN: r226511

9 years agore PR c/67088 (Incorrect location of error on invalid type used in bit-field declaration)
Marek Polacek [Mon, 3 Aug 2015 13:55:28 +0000 (13:55 +0000)]
re PR c/67088 (Incorrect location of error on invalid type used in bit-field declaration)

PR c/67088
* c-decl.c (check_bitfield_type_and_width): Add location parameter.
Use it.
(grokdeclarator): Pass LOC down to check_bitfield_type_and_width.

* gcc.dg/pr67088.c: New test.

From-SVN: r226506

9 years agogenmatch.c (simplify::for_subst_vec): New member.
Richard Biener [Mon, 3 Aug 2015 13:45:22 +0000 (13:45 +0000)]
genmatch.c (simplify::for_subst_vec): New member.

2015-08-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (simplify::for_subst_vec): New member.
(binary_ok): New helper for for lowering.
(lower_for): Delay substituting operators into result expressions
if we can merge the results eventually again.
(capture_info::walk_result): Adjust for user_id appearing as
result expression operator.
(expr::gen_transform): Likewise.
(dt_simplify::gen_1): Likewise.
(dt_simplify::gen): Pass not substituted operators to tail
functions or initialize local variable with it.
(decision_tree::gen): Adjust function signature.
* match.pd: Fix tests against global code and add default
cases to switch stmts.

From-SVN: r226505

9 years agogenmatch.c (simplify::for_subst_vec): New member.
Richard Biener [Mon, 3 Aug 2015 13:28:46 +0000 (13:28 +0000)]
genmatch.c (simplify::for_subst_vec): New member.

2015-08-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (simplify::for_subst_vec): New member.
(binary_ok): New helper for for lowering.
(lower_for): Delay substituting operators into result expressions
if we can merge the results eventually again.
(capture_info::walk_result): Adjust for user_id appearing as
result expression operator.
(expr::gen_transform): Likewise.
(dt_simplify::gen_1): Likewise.
(dt_simplify::gen): Pass not substituted operators to tail
functions or initialize local variable with it.
(decision_tree::gen): Adjust function signature.
* match.pd: Fix tests against global code and add default
cases to switch stmts.

From-SVN: r226504

9 years agogenmatch.c (dt_simplify::gen): Create captures array with an initializer.
Richard Biener [Mon, 3 Aug 2015 13:20:22 +0000 (13:20 +0000)]
genmatch.c (dt_simplify::gen): Create captures array with an initializer.

2015-08-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (dt_simplify::gen): Create captures array
with an initializer.

From-SVN: r226503

9 years agoconfigure.ac: Set aliasing_flags to -fno-strict-aliasing if...
Ulrich Weigand [Mon, 3 Aug 2015 11:48:57 +0000 (11:48 +0000)]
configure.ac: Set aliasing_flags to -fno-strict-aliasing if...

gcc/ChangeLog:

* configure.ac: Set aliasing_flags to -fno-strict-aliasing if
the host compiler is affected by placement new aliasing bug.
* configure: Regenerate.
* Makefile.in (ALIASING_FLAGS): New variable.
(ALL_CXXFLAGS): Add $(ALIASING_FLAGS).

From-SVN: r226499

9 years ago[ARM] PR target/66731 Fix vnmul insn with -frounding-math
Szabolcs Nagy [Mon, 3 Aug 2015 11:12:00 +0000 (11:12 +0000)]
[ARM] PR target/66731 Fix vnmul insn with -frounding-math

gcc:

PR target/66731
* config/arm/vfp.md (negmuldf3_vfp): Add new pattern.
(negmulsf3_vfp): Likewise.
(muldf3negdf_vfp): Disable for -frounding-math.
(mulsf3negsf_vfp): Likewise.
* config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL,
fix MULT cost with -frounding-math.

gcc/testsuite:

PR target/66731
* gcc.target/arm/vnmul-1.c: New.
* gcc.target/arm/vnmul-2.c: New.
* gcc.target/arm/vnmul-3.c: New.
* gcc.target/arm/vnmul-4.c: New.

From-SVN: r226496

9 years agoFix random class_allocate_18.f90 failure
Mikael Morin [Mon, 3 Aug 2015 10:03:55 +0000 (10:03 +0000)]
Fix random class_allocate_18.f90 failure

PR fortran/64921
gcc/fortran/
* class.c (generate_finalization_wrapper): Set finalization
procedure symbol's always_explicit attribute.
gcc/testsuite/
* gfortran.dg/class_allocate_20.f90: New.

From-SVN: r226493

9 years ago[RTL-ifcvt] Improve conditional select ops on immediates
Kyrylo Tkachov [Mon, 3 Aug 2015 08:14:42 +0000 (08:14 +0000)]
[RTL-ifcvt] Improve conditional select ops on immediates

* ifcvt.c (noce_try_store_flag_constants): Make logic of the case
when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more
explicit.  Prefer to add the flag whenever possible.
(noce_process_if_block): Try noce_try_store_flag_constants before
noce_try_cmove.

* gcc.target/aarch64/csel_bfx_1.c: New test.
* gcc.target/aarch64/csel_imms_inc_1.c: Likewise.

From-SVN: r226491

9 years agogenmatch.c (struct sinfo, [...]): New hash-map to record equivalent transforms.
Richard Biener [Mon, 3 Aug 2015 07:39:12 +0000 (07:39 +0000)]
genmatch.c (struct sinfo, [...]): New hash-map to record equivalent transforms.

2015-08-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t):
New hash-map to record equivalent transforms.
(dt_node::analyze): Populate the equivalent transforms hash-map.
(dt_simplify::info): Add reference to hash-map entry.
(dt_simplify::gen): If we have split out a function for the
transform, generate a call to it.
(sinfo_hashmap_traits::hash): New function.
(compare_op): New helper function for ...
(sinfo_hashmap_traits::equal_keys): ... this new function.
(decision_tree::gen): Split out common equivalent transforms
into functions.

From-SVN: r226490

9 years agogimple-fold.c (fold_gimple_assign): Remove folding of the comparison in COND_EXPRs.
Richard Biener [Mon, 3 Aug 2015 07:28:11 +0000 (07:28 +0000)]
gimple-fold.c (fold_gimple_assign): Remove folding of the comparison in COND_EXPRs.

2015-08-03  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_assign): Remove folding of
the comparison in COND_EXPRs.

From-SVN: r226489

9 years agogimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs on the rhs of assignments...
Richard Biener [Mon, 3 Aug 2015 07:27:40 +0000 (07:27 +0000)]
gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs on the rhs of assignments first simplify the embedded...

2015-08-03  Richard Biener  <rguenther@suse.de>

* gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs
on the rhs of assignments first simplify the embedded
GENERIC condition.

From-SVN: r226488

9 years agore PR tree-optimization/66917 (ARM: NEON: memcpy compiles to vst1 with incorrect...
Richard Biener [Mon, 3 Aug 2015 07:13:36 +0000 (07:13 +0000)]
re PR tree-optimization/66917 (ARM: NEON: memcpy compiles to vst1 with incorrect alignment)

2015-08-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66917
* tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
field.
(DR_VECT_AUX): New macro.
(set_dr_misalignment): Adjust.
(dr_misalignment): Likewise.
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
Compute whether the base is at least element aligned.
* tree-vect-stmts.c (ensure_base_align): Adjust.
(vectorizable_store): If the base is not element aligned
preserve alignment of the original access if misalignment is unknown.
(vectorizable_load): Likewise.

From-SVN: r226487

9 years agoMAINTAINERS (loop ivopts): Add the entry and myself.
Bin Cheng [Mon, 3 Aug 2015 01:54:28 +0000 (01:54 +0000)]
MAINTAINERS (loop ivopts): Add the entry and myself.

* MAINTAINERS (loop ivopts): Add the entry and myself.

From-SVN: r226486

9 years agoDaily bump.
GCC Administrator [Mon, 3 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226483

9 years agoc.opt (-Wframe-address): New warning option.
Martin Sebor [Sun, 2 Aug 2015 23:14:18 +0000 (23:14 +0000)]
c.opt (-Wframe-address): New warning option.

gcc/ChangeLog
2015-07-28  Martin Sebor  <msebor@redhat.com>

    * c-family/c.opt (-Wframe-address): New warning option.
    * doc/invoke.texi (Wframe-address): Document it.
    * doc/extend.texi (__builtin_frame_address, __builtin_return_address):
    Clarify possible effects of calling the functions with non-zero
    arguments and mention -Wframe-address.
    * builtins.c (expand_builtin_frame_address): Handle -Wframe-address.

gcc/testsuite/ChangeLog
2015-07-28  Martin Sebor  <msebor@redhat.com>

    * g++.dg/Wframe-address-in-Wall.C: New test.
    * g++.dg/Wframe-address.C: New test.
    * g++.dg/Wno-frame-address.C: New test.
    * gcc.dg/Wframe-address-in-Wall.c: New test.
    * gcc.dg/Wframe-address.c: New test.
    * gcc.dg/Wno-frame-address.c: New test.

From-SVN: r226480

9 years agoImprove -Wmisleading-indentation heuristics
Patrick Palka [Sun, 2 Aug 2015 17:39:23 +0000 (17:39 +0000)]
Improve -Wmisleading-indentation heuristics

gcc/c-family/ChangeLog:

* c-indentation.c (should_warn_for_misleading_indentation):
Improve heuristics.

gcc/testsuite/ChangeLog:

* c-c++-common/Wmisleading-indentation.c: Add more tests.

From-SVN: r226479

9 years agoRemove is_first_nonwhitespace_on_line(), instead improve get_visual_column()
Patrick Palka [Sun, 2 Aug 2015 17:35:33 +0000 (17:35 +0000)]
Remove is_first_nonwhitespace_on_line(), instead improve get_visual_column()

gcc/c-family/ChangeLog:

* c-indentation.c (get_visual_column): Add parameter first_nws,
use it.  Update comment documenting the function.
(is_first_nonwhitespace_on_line): Remove.
(should_warn_for_misleading_indentation): Replace usage of
of is_first_nonwhitespace_on_line with get_visual_column.

From-SVN: r226478

9 years agoRefactor entry point to -Wmisleading-indentation
Patrick Palka [Sun, 2 Aug 2015 17:31:55 +0000 (17:31 +0000)]
Refactor entry point to -Wmisleading-indentation

gcc/c-family/ChangeLog:

* c-indentation.h (struct token_indent_info): Define.
(get_token_indent_info): Define.
(warn_for_misleading_information): Declare.
* c-common.h (warn_for_misleading_information): Remove.
* c-identation.c (warn_for_misleading_indentation):
Change declaration to take three token_indent_infos.  Adjust
accordingly.
* c-identation.c (should_warn_for_misleading_indentation):
Likewise.  Bail out early if the body is a compound statement.
(guard_tinfo_to_string): Define.

gcc/c/ChangeLog:

* c-parser.c (c_parser_if_body): Take token_indent_info
argument. Call warn_for_misleading_indentation even when the
body is a semicolon.  Extract token_indent_infos corresponding
to the guard, body and next tokens.  Adjust call to
warn_for_misleading_indentation accordingly.
(c_parser_else_body): Likewise.
(c_parser_if_statement): Likewise.
(c_parser_while_statement): Likewise.
(c_parser_for_statement): Likewise.

gcc/cp/ChangeLog:

* parser.c (cp_parser_selection_statement): Move handling of
semicolon body to ...
(cp_parser_implicitly_scoped_statement): .. here.  Call
warn_for_misleading_indentation even when the body is a
semicolon.  Extract token_indent_infos corresponding to the
guard, body and next tokens.  Adjust call to
warn_for_misleading_indentation accordingly.  Take
token_indent_info argument.
(cp_parser_already_scoped_statement): Likewise.
(cp_parser_selection_statement, cp_parser_iteration_statement):
Extract a token_indent_info corresponding to the guard token.

From-SVN: r226477

9 years agoarm.md (*arm_smin_cmp): New pattern.
Michael Collison [Sun, 2 Aug 2015 05:15:55 +0000 (05:15 +0000)]
arm.md (*arm_smin_cmp): New pattern.

2015-08-01  Michael Collison  <michael.collison@linaro.org
    Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

* gcc/config/arm/arm.md (*arm_smin_cmp): New pattern.
(*arm_umin_cmp): Likewise.

* gcc.target/arm/mincmp.c: New test.

From-SVN: r226476

9 years agore PR bootstrap/66521 (xgcc: cc1plus segfaults when compiling libstdc++-v3/src/c...
Caroline Tice [Sun, 2 Aug 2015 01:17:39 +0000 (18:17 -0700)]
re PR bootstrap/66521 (xgcc: cc1plus segfaults when compiling libstdc++-v3/src/c++11/ostream-inst.cc)

Fix PR 66521

libvtv/ChangeLog

2015-08-01  Caroline Tice  <cmtice@google.com>

        PR 66521
        * Makefile.am: Update to match latest tree.
        * Makefile.in: Regenerate.
        * testsuite/lib/libvtv: Brought up to date.
        * vtv_malloc.cc (VTV_DEBUG): Update function call to match renamed
        function (old bug!).
        * vtv_rts.cc (debug_functions, debug_init, debug_verify_vtable): Update
        initializations to work correctly with VTV_DEBUG defined.

gcc/ChangeLog:

2015-08-01  Caroline Tice  <cmtice@google.com>

        PR 66521
        * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New
        global variables.
        (vtbl_find_mangled_name):  New function.
        (vtbl_register_mangled_name):  New function.
        (vtbl_map_get_node):  If DECL_ASSEMBLER_NAME is "<anon>", look up
        mangled name in mangled name vectors.
        (find_or_create_vtbl_map_node):  Ditto.
        (var_is_used_for_virtual_call_p):  Add recursion_depth parameter;
        update recursion_depth on function entry; pass it to every recursive
        call; automatically exit if depth > 25 (give up looking at that point).
        (verify_bb_vtables):  Initialize recursion_depth and pass it to
        var_is_used_for_virtual_call_p.
        * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New
        global variable decls.
        (vtbl_register_mangled_name): New extern function decl.

gcc/cp/ChangeLog:
2015-08-01  Caroline Tice  <cmtice@google.com>

        PR 66521
        * mangle.c : Add vtable-verify.h to include files.
        (get_mangled_vtable_map_var_name):  If the DECL_ASSEMBLER_NAME
        is "<anon>" get the real mangled name for the class instead, and
        also store the real mangled name in a vector for use later.

From-SVN: r226471

9 years agoDaily bump.
GCC Administrator [Sun, 2 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226468

9 years agore PR fortran/67091 ([OOP] Bad result for type-bound procedures returning pointers...
Paul Thomas [Sat, 1 Aug 2015 18:37:25 +0000 (18:37 +0000)]
re PR fortran/67091 ([OOP] Bad result for type-bound procedures returning pointers to the intrinsic function ASSOCIATED)

2015-08-01  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67091
* trans-intrinsic.c (gfc_conv_associated): Add the pre and post
blocks for the second argument to se.

2015-08-01  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67091
* gfortran.dg/associated_target_6.f03: New test

From-SVN: r226464

9 years agoAllow non-overflow ops in reductions
Tom de Vries [Sat, 1 Aug 2015 08:29:29 +0000 (08:29 +0000)]
Allow non-overflow ops in reductions

2015-08-01  Tom de Vries  <tom@codesourcery.com>

* tree.c (operation_can_overflow, operation_no_trapping_overflow): New
function.
* tree.h (operation_can_overflow, operation_no_trapping_overflow):
Declare.
* tree-vect-loop.c (vect_is_simple_reduction_1): Use
operation_no_trapping_overflow.  Allow non-overflow operations.
* graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow
operations.

* gcc.dg/autopar/reduc-2char.c (init_arrays): Mark with attribute
optimize ("-ftree-parallelize-loops=0").
Add successful scans for 2 detected reductions.  Add xfail scans for 3
detected reductions.
* gcc.dg/autopar/reduc-2short.c: Same.
* gcc.dg/autopar/reduc-8.c (init_arrays): Mark with attribute
optimize ("-ftree-parallelize-loops=0").  Add successful scans for 2
detected reductions.
* gcc.dg/vect/trapv-vect-reduc-4.c: Update scan to match vectorized min
and max reductions.

From-SVN: r226463

9 years agoDaily bump.
GCC Administrator [Sat, 1 Aug 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226462

9 years agocompiler: Report errors for malformed builtin calls.
Ian Lance Taylor [Fri, 31 Jul 2015 23:17:49 +0000 (23:17 +0000)]
compiler: Report errors for malformed builtin calls.

    Errors reported from malformed builtin calls are handled in a later
    pass than the one in which they are detected.  If a malformed builtin
    call is lowered into an error expression too early, these errors will
    never be reported.

    Fixes golang/go#11561.

    Reviewed-on: https://go-review.googlesource.com/12778

From-SVN: r226459

9 years agore PR target/67049 (sh64-elf: internal compiler error: in df_uses_record, at df-scan...
Kaz Kojima [Fri, 31 Jul 2015 22:19:51 +0000 (22:19 +0000)]
re PR target/67049 (sh64-elf: internal compiler error: in df_uses_record, at df-scan.c:3001)

PR target/67049
* config/sh/sh.md (GOTaddr2picreg): Fix typo added with the last change.

From-SVN: r226457

9 years agocompiler: Check the type in function declarations.
Ian Lance Taylor [Fri, 31 Jul 2015 22:16:12 +0000 (22:16 +0000)]
compiler: Check the type in function declarations.

    Function declarations don't create a block where the variables listed
    in the parameter list are declared.  Because there are no variables
    declared, the types of the parameter variables is unchecked, allowing
    for invalid values to be used as the type.  This patch adds a special
    case to the check_types pass for function declarations.

    Fixes golang/go#11567.

    Reviewed-on: https://go-review.googlesource.com/12662

From-SVN: r226456

9 years agocompiler: Update unicode tables.
Ian Lance Taylor [Fri, 31 Jul 2015 19:11:18 +0000 (19:11 +0000)]
compiler: Update unicode tables.

    Fixes golang/go#11569.

    Reviewed-on: https://go-review.googlesource.com/12652

From-SVN: r226452

9 years ago* MAINTAINERS (nvptx): Add self.
Nathan Sidwell [Fri, 31 Jul 2015 17:54:31 +0000 (17:54 +0000)]
* MAINTAINERS (nvptx): Add self.

From-SVN: r226449

9 years agocompiler: Don't allow builtin function values.
Ian Lance Taylor [Fri, 31 Jul 2015 17:52:38 +0000 (17:52 +0000)]
compiler: Don't allow builtin function values.

    According to the spec, http://golang.org/ref/spec#Built-in_functions:
    "built-in functions do not have standard Go types, so they can only
    appear in call expressions; they cannot be used as function values."

    Fixes golang/go#11570.

    Reviewed-on: https://go-review.googlesource.com/12543

From-SVN: r226448

9 years ago[ARM][2/3] Make if_neg_move and if_move_neg into insn_and_split
Kyrylo Tkachov [Fri, 31 Jul 2015 16:39:35 +0000 (16:39 +0000)]
[ARM][2/3] Make if_neg_move and if_move_neg into insn_and_split

* config/arm/arm.md (*if_neg_move): Convert to insn_and_split.
Enable for TARGET_32BIT.
(*if_move_neg): Likewise.

From-SVN: r226447

9 years agom32r.c (m32r_attribute_identifier): New function.
Nick Clifton [Fri, 31 Jul 2015 15:55:16 +0000 (15:55 +0000)]
m32r.c (m32r_attribute_identifier): New function.

* config/m32r/m32r.c (m32r_attribute_identifier): New function.
Returns true for __model__.
(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.

From-SVN: r226445

9 years agore PR go/66870 (split stack issues on ppc64le and ppc64)
Alan Modra [Fri, 31 Jul 2015 14:05:42 +0000 (23:35 +0930)]
re PR go/66870 (split stack issues on ppc64le and ppc64)

PR target/66870
* config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used.
(rs6000_emit_prologue): Set it.
(rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used.

From-SVN: r226443

9 years agore PR sanitizer/66977 (-fsanitize=shift may introduce uninitialized variables)
Marek Polacek [Fri, 31 Jul 2015 11:12:57 +0000 (11:12 +0000)]
re PR sanitizer/66977 (-fsanitize=shift may introduce uninitialized variables)

PR sanitizer/66977
* typeck.c (get_member_function_from_ptrfunc): Don't sanitize
RSHIFT_EXPR.

* g++.dg/ubsan/pr66977.C: New test.

From-SVN: r226440

9 years agofold-const.c (fold_binary_loc): Remove X ^ C1 == C2 -> X == (C1 ^ C2) which is alread...
Richard Biener [Fri, 31 Jul 2015 10:36:56 +0000 (10:36 +0000)]
fold-const.c (fold_binary_loc): Remove X ^ C1 == C2 -> X == (C1 ^ C2) which is already implemented in match.pd.

2015-07-31  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Remove X ^ C1 == C2
-> X == (C1 ^ C2) which is already implemented in match.pd.
Remove redundant dispatching to fold_relational_const.
Move unordered self and NaN compares ...
* match.pd: ... as patterns here.  Remove some stray captures
and add a comment.

From-SVN: r226434

9 years agoRefactoring masked built-in decls to use proper mask type.
Petr Murzin [Fri, 31 Jul 2015 09:14:07 +0000 (09:14 +0000)]
Refactoring masked built-in decls to use proper mask type.

gcc/
* config/i386/i386.c
(bdesc_special_args): Convert mask type from signed to unsigned for
masked builtins.
(ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF,
UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI,
V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE,
V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI,
V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF,
V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF,
V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI,
HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF,
V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI,
V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI,
V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI,
V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI,
V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF,
V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF,
V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF,
V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF,
V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI,
V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI,
HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI,
V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI.
* config/i386/i386-builtin-types.def
(V16QI_FTYPE_V16SI): Remove.
(V8DF_FTYPE_V8SI): Ditto.
(V8HI_FTYPE_V8DI): Ditto.
(V8SI_FTYPE_V8DI): Ditto.
(V8SF_FTYPE_V8DF): Ditto.
(V8SF_FTYPE_V8DF_V8SF_QI): Ditto.
(V16HI_FTYPE_V16SI): Ditto.
(V16SF_FTYPE_V16HI): Ditto.
(V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI): Ditto.
(V4DI_FTYPE_V4DI): Ditto.
(V16SI_FTYPE_V16SF): Ditto.
(V16SF_FTYPE_FLOAT): Ditto.
(V8DF_FTYPE_DOUBLE): Ditto.
(V8DI_FTYPE_INT64): Ditto.
(V8DI_FTYPE_V4DI): Ditto.
(V16QI_FTYPE_V8DI): Ditto.
(UINT_FTYPE_V4SF): Ditto.
(UINT64_FTYPE_V4SF): Ditto.
(UINT_FTYPE_V2DF): Ditto.
(UINT64_FTYPE_V2DF): Ditto.
(V16SI_FTYPE_V16SI): Ditto.
(V8DI_FTYPE_V8DI): Ditto.
(V16SI_FTYPE_PV4SI): Ditto.
(V16SF_FTYPE_PV4SF): Ditto.
(V8DI_FTYPE_PV2DI): Ditto.
(V8DF_FTYPE_PV2DF): Ditto.
(V4DI_FTYPE_PV2DI): Ditto.
(V4DF_FTYPE_PV2DF): Ditto.
(V16SI_FTYPE_PV2SI): Ditto.
(V16SF_FTYPE_PV2SF): Ditto.
(V8DI_FTYPE_PV4DI): Ditto.
(V8DF_FTYPE_PV4DF): Ditto.
(V8SF_FTYPE_FLOAT): Ditto.
(V4SF_FTYPE_FLOAT): Ditto.
(V4DF_FTYPE_DOUBLE): Ditto.
(V8SF_FTYPE_PV4SF): Ditto.
(V8SI_FTYPE_PV4SI): Ditto.
(V4SI_FTYPE_PV2SI): Ditto.
(V8SF_FTYPE_PV2SF): Ditto.
(V8SI_FTYPE_PV2SI): Ditto.
(V16SF_FTYPE_PV8SF): Ditto.
(V16SI_FTYPE_PV8SI): Ditto.
(V8DI_FTYPE_V8SF): Ditto.
(V4DI_FTYPE_V4SF): Ditto.
(V2DI_FTYPE_V4SF): Ditto.
(V64QI_FTYPE_QI): Ditto.
(V32HI_FTYPE_HI): Ditto.
(V8UHI_FTYPE_V8UHI): Ditto.
(V16UHI_FTYPE_V16UHI): Ditto.
(V32UHI_FTYPE_V32UHI): Ditto.
(V2UDI_FTYPE_V2UDI): Ditto.
(V4UDI_FTYPE_V4UDI): Ditto.
(V8UDI_FTYPE_V8UDI): Ditto.
(V4USI_FTYPE_V4USI): Ditto.
(V8USI_FTYPE_V8USI): Ditto.
(V16USI_FTYPE_V16USI): Ditto.
(V2DF_FTYPE_V2DF_UINT64): Ditto.
(V2DI_FTYPE_V2DF_V2DF): Ditto.
(V2UDI_FTYPE_V4USI_V4USI): Ditto.
(V8DF_FTYPE_V8DF_V8DI): Ditto.
(V4SF_FTYPE_V4SF_UINT64): Ditto.
(V4SI_FTYPE_V4SF_V4SF): Ditto.
(V16SF_FTYPE_V16SF_V16SI): Ditto.
(V64QI_FTYPE_V32HI_V32HI): Ditto.
(V32HI_FTYPE_V16SI_V16SI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto.
(V32HI_FTYPE_V64QI_V64QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V4SI): Ditto.
(V16SI_FTYPE_V16SI_V16SI): Ditto.
(V16SI_FTYPE_V32HI_V32HI): Ditto.
(V16SI_FTYPE_V16SI_SI): Ditto.
(V8DI_FTYPE_V8DI_V8DI): Ditto.
(V4UDI_FTYPE_V8USI_V8USI): Ditto.
(V8DI_FTYPE_V16SI_V16SI): Ditto.
(V8DI_FTYPE_V8DI_V2DI): Ditto.
(QI_FTYPE_QI): Ditto.
(SI_FTYPE_SI): Ditto.
(DI_FTYPE_DI): Ditto.
(QI_FTYPE_QI_QI): Ditto.
(QI_FTYPE_QI_INT): Ditto.
(HI_FTYPE_HI_INT): Ditto.
(SI_FTYPE_SI_INT): Ditto.
(DI_FTYPE_DI_INT): Ditto.
(HI_FTYPE_V16QI_V16QI): Ditto.
(SI_FTYPE_V32QI_V32QI): Ditto.
(DI_FTYPE_V64QI_V64QI): Ditto.
(QI_FTYPE_V8HI_V8HI): Ditto.
(HI_FTYPE_V16HI_V16HI): Ditto.
(SI_FTYPE_V32HI_V32HI): Ditto.
(QI_FTYPE_V4SI_V4SI): Ditto.
(QI_FTYPE_V8SI_V8SI): Ditto.
(QI_FTYPE_V2DI_V2DI): Ditto.
(QI_FTYPE_V4DI_V4DI): Ditto.
(QI_FTYPE_V8DI_V8DI): Ditto.
(HI_FTYPE_V16SI_V16SI): Ditto.
(HI_FTYPE_V16SI_V16SI_INT_HI): Ditto.
(QI_FTYPE_V8DF_V8DF_INT_QI): Ditto.
(HI_FTYPE_V16SF_V16SF_INT_HI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
(V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto.
(V8DF_FTYPE_V8SF_V8DF_QI): Ditto.
(V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto.
(V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto.
(V8SI_FTYPE_V8DF_V8SI_QI): Ditto.
(V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
(V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
(V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
(V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
(V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
(V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
(V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
(V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
(V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
(V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
(V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
(V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
(V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
(V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
(V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
(V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
(V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
(VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto.
(VOID_FTYPE_PFLOAT_V4SF_QI): Ditto.
(V16SI_FTYPE_V16SF_V16SI_HI): Ditto.
(V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
(V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto.
(V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto.
(V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto.
(V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto.
(V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto.
(V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
(V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
(V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto.
(V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
(V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
(V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto.
(V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto.
(PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto.
(V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned.
(V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
(V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
(V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_QI): Ditto.
(V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
(V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
(V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
(V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
(V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
(V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
(V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
(V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
(V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
(V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
(V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
(V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
(V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto.
(V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto.
(V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
(V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
(V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
(V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto.
(V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
(V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
(V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
(V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
(V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
(V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto.
(V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto.
(V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
(V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
(V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
(HI_FTYPE_HI): Ditto.
(HI_FTYPE_V16QI): Ditto.
(SI_FTYPE_V32QI): Ditto.
(DI_FTYPE_V64QI): Ditto.
(QI_FTYPE_V8HI): Ditto.
(HI_FTYPE_V16HI): Ditto.
(SI_FTYPE_V32HI): Ditto.
(QI_FTYPE_V4SI): Ditto.
(QI_FTYPE_V8SI): Ditto.
(HI_FTYPE_V16SI): Ditto.
(QI_FTYPE_V2DI): Ditto.
(QI_FTYPE_V4DI): Ditto.
(QI_FTYPE_V8DI): Ditto.
(V16QI_FTYPE_HI): Ditto.
(V32QI_FTYPE_SI): Ditto.
(V64QI_FTYPE_DI): Ditto.
(V8HI_FTYPE_QI): Ditto.
(V16HI_FTYPE_HI): Ditto.
(V32HI_FTYPE_SI): Ditto.
(V4SI_FTYPE_QI): Ditto.
(V4SI_FTYPE_HI): Ditto.
(V8SI_FTYPE_QI): Ditto.
(V8SI_FTYPE_HI): Ditto.
(V2DI_FTYPE_QI): Ditto.
(V4DI_FTYPE_QI): Ditto.
(HI_FTYPE_HI_HI): Ditto.
(SI_FTYPE_SI_SI): Ditto.
(DI_FTYPE_DI_DI): Ditto.
(HI_FTYPE_V16QI_V16QI_HI): Ditto.
(HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
(SI_FTYPE_V32QI_V32QI_SI): Ditto.
(SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
(DI_FTYPE_V64QI_V64QI_DI): Ditto.
(DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
(QI_FTYPE_V8HI_V8HI_QI): Ditto.
(QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
(HI_FTYPE_V16HI_V16HI_HI): Ditto.
(HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
(SI_FTYPE_V32HI_V32HI_SI): Ditto.
(SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
(QI_FTYPE_V4SI_V4SI_QI): Ditto.
(QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
(QI_FTYPE_V8SI_V8SI_QI): Ditto.
(QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
(QI_FTYPE_V2DI_V2DI_QI): Ditto.
(QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
(QI_FTYPE_V4DI_V4DI_QI): Ditto.
(QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
(QI_FTYPE_V8DI_V8DI_QI): Ditto.
(HI_FTYPE_V16SI_V16SI_HI): Ditto.
(QI_FTYPE_V8DI_V8DI_INT): Ditto.
(QI_FTYPE_V8DI_V8DI_INT_QI): Ditto.
(HI_FTYPE_V16SI_V16SI_INT): Ditto.
(HI_FTYPE_V16SI_V16SI_INT _HI): Ditto.
(QI_FTYPE_V8DF_V8DF_INT): Ditto.
(QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto.
(HI_FTYPE_V16SF_V16SF_INT): Ditto.
(HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto.
(QI_FTYPE_V2DF_V2DF_INT): Ditto.
(QI_FTYPE_V2DF_V2DF_INT_QI): Ditto.
(QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto.
(QI_FTYPE_V4SF_V4SF_INT): Ditto.
(QI_FTYPE_V4SF_V4SF_INT_QI): Ditto.
(QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto.
(V16SI_FTYPE_HI): Ditto.
(V8DI_FTYPE_QI): Ditto.
(V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
(V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
(V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
(V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
(V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V8SI_V8DF_QI): Ditto.
(V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
(V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
(V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
(V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
(V8DI_FTYPE_V8SI_V8DI_QI): Ditto.
(V8DI_FTYPE_V8HI_V8DI_QI): Ditto.
(V8DI_FTYPE_V16QI_V8DI_QI): Ditto.
(V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
(V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
(V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto.
(V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto.
(V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
(V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
(V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
(V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_HI): Ditto.
(V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
(V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
(V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
(V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto.
(V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V4SF_V16SF_HI): Ditto.
(V8DF_FTYPE_V4DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V2DF_V8DF_QI): Ditto.
(V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V4SI_V16SI_HI): Ditto.
(V16SI_FTYPE_SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16HI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16QI_V16SI_HI): Ditto.
(V8DI_FTYPE_V4DI_V8DI_QI): Ditto.
(V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
(V8DI_FTYPE_V2DI_V8DI_QI): Ditto.
(V8DI_FTYPE_DI_V8DI_QI): Ditto.
(V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
(V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
(V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
(V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
(V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
(V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
(V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
(V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
(V8SI_FTYPE_SI_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
(V4SI_FTYPE_SI_V4SI_QI): Ditto.
(V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
(V4DI_FTYPE_DI_V4DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
(V2DI_FTYPE_DI_V2DI_QI): Ditto.
(V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
(V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
(V64QI_FTYPE_QI_V64QI_DI): Ditto.
(V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
(V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
(V32QI_FTYPE_QI_V32QI_SI): Ditto.
(V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
(V16QI_FTYPE_QI_V16QI_HI): Ditto.
(V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
(V32HI_FTYPE_HI_V32HI_SI): Ditto.
(V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
(V16HI_FTYPE_HI_V16HI_HI): Ditto.
(V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
(V8HI_FTYPE_HI_V8HI_QI): Ditto.
(V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
(V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
(V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
(V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto.
(V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto.
(V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto.
(V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
(V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
(V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
(V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto.
(V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
(V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
(V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
(V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
(V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
(V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
(V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
(V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
(V16HI_FTYPE_V16SI_V16HI_HI): Ditto.
(V8SI_FTYPE_V8DI_V8SI_QI): Ditto.
(V8HI_FTYPE_V8DI_V8HI_QI): Ditto.
(V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
(V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
(V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
(V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
(V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
(V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
(V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
(V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
(V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
(V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
(V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
(V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
(V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
(V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
(VOID_FTYPE_PV8DF_V8DF_QI): Ditto.
(VOID_FTYPE_PV8SI_V8DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V8DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
(VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
(VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
(VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
(VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
(VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
(VOID_FTYPE_PV16SF_V16SF_HI): Ditto.
(VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
(VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
(VOID_FTYPE_PV8DI_V8DI_QI): Ditto.
(VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
(VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
(VOID_FTYPE_PV16SI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16HI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16QI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
(VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
(VOID_FTYPE_PV16QI_V8DI_QI): Ditto.
(VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
(VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
(VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
(VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
(VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
(VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
(VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
(VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
(VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
(VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto.
(V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
(V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
(V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
(V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
(V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
(V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
(V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
(V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
(V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
(V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
(V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
(V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
(V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
(V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
(V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
(V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
(V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
(V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
(V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
(V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
(V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
(V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
(V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
(V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
(V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
(QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
(QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
(QI_FTYPE_V8DF_INT_QI): Ditto.
(QI_FTYPE_V4DF_INT_QI): Ditto.
(QI_FTYPE_V2DF_INT_QI): Ditto.
(HI_FTYPE_V16SF_INT_HI): Ditto.
(QI_FTYPE_V8SF_INT_QI): Ditto.
(QI_FTYPE_V4SF_INT_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto.

From-SVN: r226431

9 years agogimple-fold.c (fold_gimple_assign): Remove folding of GIMPLE_BINARY_RHS.
Richard Biener [Fri, 31 Jul 2015 07:29:55 +0000 (07:29 +0000)]
gimple-fold.c (fold_gimple_assign): Remove folding of GIMPLE_BINARY_RHS.

2015-07-31  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_assign): Remove folding of
GIMPLE_BINARY_RHS.

From-SVN: r226429

9 years agogo-lang.c (go_langhook_init_options_struct): Don't set x_flag_split_stack.
Andreas Schwab [Fri, 31 Jul 2015 07:08:20 +0000 (07:08 +0000)]
go-lang.c (go_langhook_init_options_struct): Don't set x_flag_split_stack.

* go-lang.c (go_langhook_init_options_struct): Don't set
x_flag_split_stack.
(go_langhook_post_options): Set it here instead.

From-SVN: r226428

9 years agoDon't cancel loop tree in parloops
Tom de Vries [Fri, 31 Jul 2015 06:26:44 +0000 (06:26 +0000)]
Don't cancel loop tree in parloops

2015-07-31  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66846
* omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
(expand_omp_target) [ENABLE_CHECKING]: Same.
(execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for
cfun if !LOOPS_NEED_FIXUP.
(expand_omp_for_static_nochunk): Handle simple latch bb.  Handle case
that omp_for already has its own loop struct.
* tree-parloops.c (create_phi_for_local_result)
(create_call_for_reduction): Handle simple latch bb.
(create_parallel_loop): Add simple latch bb to preserve
LOOPS_HAVE_SIMPLE_LATCHES.  Record new exit.  Handle simple latch bb.
(gen_parallel_loop): Remove call to cancel_loop_tree.
(parallelize_loops): Skip loops that are inner loops of parallelized
loops.
(pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
verify_loop_structure.

From-SVN: r226427

9 years ago* sv.po: Update.
Joseph Myers [Fri, 31 Jul 2015 00:49:18 +0000 (01:49 +0100)]
* sv.po: Update.

From-SVN: r226425

9 years ago* sv.po: Update.
Joseph Myers [Fri, 31 Jul 2015 00:48:04 +0000 (01:48 +0100)]
* sv.po: Update.

From-SVN: r226423

9 years agoDaily bump.
GCC Administrator [Fri, 31 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226422

9 years ago[V850] Hookize LIBCALL_VALUE
Anatoly Sokolov [Thu, 30 Jul 2015 21:36:18 +0000 (00:36 +0300)]
[V850] Hookize LIBCALL_VALUE

From-SVN: r226418

9 years agoUse lowpart_subreg instead of simplify_gen_subreg
Anatoly Sokolov [Thu, 30 Jul 2015 21:25:29 +0000 (00:25 +0300)]
Use lowpart_subreg instead of simplify_gen_subreg

From-SVN: r226417

9 years agoc-pretty-print.c (unary_expression): Don't print '*' for reference decay.
Jason Merrill [Thu, 30 Jul 2015 19:16:23 +0000 (15:16 -0400)]
c-pretty-print.c (unary_expression): Don't print '*' for reference decay.

* c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
'*' for reference decay.

From-SVN: r226410

9 years ago* gcc.target/i386/pr66648.c: Move to correct place.
Uros Bizjak [Thu, 30 Jul 2015 16:13:02 +0000 (18:13 +0200)]
* gcc.target/i386/pr66648.c: Move to correct place.

From-SVN: r226409

9 years ago[AArch64] Removed unused VRL2/3/4 iterator values
Alan Lawrence [Thu, 30 Jul 2015 16:04:08 +0000 (16:04 +0000)]
[AArch64] Removed unused VRL2/3/4 iterator values

* config/aarch64/iterators.md (VRL2, VRL3, VRL4): Remove values for
128-bit vector modes.

From-SVN: r226408

9 years agobuiltins.c (HAVE_atomic_clear, [...]): Delete.
Richard Sandiford [Thu, 30 Jul 2015 13:22:56 +0000 (13:22 +0000)]
builtins.c (HAVE_atomic_clear, [...]): Delete.

gcc/
* builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
(expand_builtin_atomic_clear): Remove support for atomic_clear
pattern.

From-SVN: r226405

9 years agogimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison binaries.
Richard Biener [Thu, 30 Jul 2015 13:11:41 +0000 (13:11 +0000)]
gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison binaries.

2015-07-30  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
binaries.  Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
(fold_stmt_1): ... here and work on GIMPLE directly.  Remove
redundant operand canonicalization.

From-SVN: r226404

9 years agoaarch64-simd.md (aarch64_ext<mode>): Replace call to GET_MODE_SIZE (GET_MODE_INNER...
David Sherwood [Thu, 30 Jul 2015 13:06:25 +0000 (13:06 +0000)]
aarch64-simd.md (aarch64_ext<mode>): Replace call to GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).

gcc/
2015-07-30  David Sherwood  <david.sherwood@arm.com>

* config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
* config/arm/arm.c (neon_valid_immediate): Likewise.
* config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
(expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
(expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
(expand_vec_perm_vpshufb2_vpermq): Likewise.
(expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
(expand_vec_perm_vpshufb4_vpermq2): Likewise.
* config/i386/sse.md
(<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
(*ssse3_palignr<mode>_perm): Likewise.
* config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
* config/spu/spu.c (arith_immediate_p): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
(simplify_binary_operation_1, simplify_ternary_operation): Likewise.

From-SVN: r226403

9 years agocurrent_path.cc: Use canonical paths for comparisons.
Jonathan Wakely [Thu, 30 Jul 2015 12:41:33 +0000 (13:41 +0100)]
current_path.cc: Use canonical paths for comparisons.

* testsuite/experimental/filesystem/operations/current_path.cc: Use
canonical paths for comparisons.

From-SVN: r226402

9 years agogenmatch.c (decision_tree::gen_gimple): Merge with ...
Richard Biener [Thu, 30 Jul 2015 11:20:21 +0000 (11:20 +0000)]
genmatch.c (decision_tree::gen_gimple): Merge with ...

2015-07-30  Richard Biener  <rguenther@suse.de>

* genmatch.c (decision_tree::gen_gimple): Merge with ...
(decision_tree::gen_generic): ... this into ...
(decision_tree::gen): ... this.
(main): Adjust callers.

From-SVN: r226396

9 years agoregex_automaton.h (_State_base, _State<>): Remove _TraitsT dependency from _State...
Tim Shen [Thu, 30 Jul 2015 10:35:45 +0000 (10:35 +0000)]
regex_automaton.h (_State_base, _State<>): Remove _TraitsT dependency from _State<>...

* include/bits/regex_automaton.h (_State_base, _State<>):
Remove _TraitsT dependency from _State<>; Make matcher member
into the union to reduce struct size.
* include/bits/regex_automaton.tcc (_State_base<>::_M_print,
_State_base<>::_M_dot, _StateSeq<>::_M_clone):
Adjust to fit the interface. Factor out common parts in
_M_clone as _State<>::_M_has_alt.
* include/bits/regex_executor.h (_Executer<>::_M_lookahead):
Only pass state id instead of the whole state.
* include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
_Executer<>::_M_lookahead): Adjust to fit the interface.
* include/std/regex: Include <ext/aligned_buffer.h>

From-SVN: r226395

9 years agoclass.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD" in warning_at instea...
Paolo Carlini [Thu, 30 Jul 2015 10:24:46 +0000 (10:24 +0000)]
class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD" in warning_at instead of "%q+D" in warning.

2015-07-30  Paolo Carlini  <paolo.carlini@oracle.com>

* class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD"
in warning_at instead of "%q+D" in warning.
(warn_hidden): Likewise but use location_of.
(finish_struct_anon_r): Likewise use DECL_SOURCE_LOCATION in permerror.
(check_bitfield_decl, check_field_decls): Likewise in warning_at.
(check_field_decls): Likewise for permerror.
(explain_non_literal_class): Likewise for inform.
(check_bases_and_members, layout_class_type): Likewise for warning_at.
(note_name_declared_in_class): Use location_of in permerror.
* name-lookup.c (diagnose_name_conflict): Use location_of in inform.
(pushdecl_maybe_friend_1): Use DECL_SOURCE_LOCATION in pedwarn,
inform, and warning_at.
(check_for_out_of_scope_variable): Likewise for warning_at and
permerror.

From-SVN: r226394

9 years agoany (any::operator=(const any&)): Check for self-assignment.
Jonathan Wakely [Thu, 30 Jul 2015 10:00:39 +0000 (11:00 +0100)]
any (any::operator=(const any&)): Check for self-assignment.

* include/experimental/any (any::operator=(const any&)): Check for
self-assignment.
* testsuite/experimental/any/assign/self.cc: New.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.

From-SVN: r226393

9 years agoc-common.c (warn_tautological_cmp): Bail for float types.
Marek Polacek [Thu, 30 Jul 2015 08:31:59 +0000 (08:31 +0000)]
c-common.c (warn_tautological_cmp): Bail for float types.

* c-common.c (warn_tautological_cmp): Bail for float types.

* c-c++-common/Wtautological-compare-3.c: New test.

From-SVN: r226388

9 years agogenmatch.c (verbose): New global.
Richard Biener [Thu, 30 Jul 2015 07:56:23 +0000 (07:56 +0000)]
genmatch.c (verbose): New global.

2015-07-30  Richard Biener  <rguenther@suse.de>

* genmatch.c (verbose): New global.
(warning_at): Add overload with source_location.
(capture_info::capture_info): Add bool whether generating gimple
or generic.  Add gimple member.
(capture_info::cinfo): Add capture member.
(capture_info::walk_match): Record capture.  Warn on
non-captured leafs.
(capture_info::walk_c_expr): Add more fragments captures cannot
escape through.  Warn on escaped captures.
(dt_simplify::gen_1): Warn on operands we force to have no
side-effects.
(main): Initialize verbose.
* match.pd: Add integer_nonzerop and HONOR_NANS predicates.

From-SVN: r226386

9 years agore PR middle-end/67053 (FAIL: experimental/optional/constexpr/make_optional.cc)
Richard Biener [Thu, 30 Jul 2015 07:09:20 +0000 (07:09 +0000)]
re PR middle-end/67053 (FAIL: experimental/optional/constexpr/make_optional.cc)

2015-07-30  Richard Biener  <rguenther@suse.de>

PR middle-end/67053
* match.pd: Allow both operands to independently have conversion
when simplifying compares of addresses.

From-SVN: r226384

9 years agoDR 1558 PR c++/67021
Jason Merrill [Thu, 30 Jul 2015 05:27:34 +0000 (01:27 -0400)]
DR 1558 PR c++/67021

DR 1558
PR c++/67021
* pt.c (tsubst_decl) [TYPE_DECL]: Clear TYPE_DEPENDENT_P_VALID.

From-SVN: r226381

9 years agore PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)
Segher Boessenkool [Thu, 30 Jul 2015 02:34:09 +0000 (04:34 +0200)]
re PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)

PR target/66217
PR target/67045
* config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check
around those cases that need one.

From-SVN: r226378