Richard Biener [Fri, 8 May 2015 15:13:55 +0000 (15:13 +0000)]
re PR tree-optimization/66036 (strided group loads are not vectorized)
2015-05-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/66036
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
Handle strided group loads.
(vect_verify_datarefs_alignment): Likewise.
(vect_enhance_data_refs_alignment): Likewise.
(vect_analyze_group_access): Likewise.
(vect_analyze_data_ref_access): Likewise.
(vect_analyze_data_ref_accesses): Likewise.
* tree-vect-stmts.c (vect_model_load_cost): Likewise.
(vectorizable_load): Likewise.
* gcc.dg/vect/slp-41.c: New testcase.
From-SVN: r222914
Mikael Morin [Fri, 8 May 2015 14:53:20 +0000 (14:53 +0000)]
trans-array.c (gfc_walk_elemental_function_args): Don't skip the advance to the next dummy argument when...
gcc/fortran/
* trans-array.c (gfc_walk_elemental_function_args):
Don't skip the advance to the next dummy argument when skipping
absent optional args.
gcc/testsuite/
* gfortran.dg/elemental_optional_args_7.f90: New.
From-SVN: r222913
Segher Boessenkool [Fri, 8 May 2015 14:34:11 +0000 (16:34 +0200)]
rs6000.md: Require operand inequality in one of the peepholes.
* config/rs6000/rs6000.md: Require operand inequality in one
of the peepholes.
From-SVN: r222912
Richard Sandiford [Fri, 8 May 2015 14:04:12 +0000 (14:04 +0000)]
Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
gcc/
2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
from (set ...).
* config/rx/rx.md (movdi, movdf): Likewise.
Likewise for define_peephole2s.
Co-Authored-By: Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
From-SVN: r222911
Alan Lawrence [Fri, 8 May 2015 12:00:10 +0000 (12:00 +0000)]
[AArch64] Idiomatic 64x1 comparisons in arm_neon.h
gcc/:
* config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
vtst_u64): Rewrite using gcc vector extensions.
gcc/testsuite/:
* gcc.target/aarch64/singleton_intrinsics_1.c: Generalize regex to
allow cmlt or sshr.
From-SVN: r222909
Alan Lawrence [Fri, 8 May 2015 11:49:02 +0000 (11:49 +0000)]
[AArch64] Add vcond(u?)didi pattern
* config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
From-SVN: r222908
Alan Lawrence [Fri, 8 May 2015 11:40:33 +0000 (11:40 +0000)]
optabs.c: Make vector_compare_rtx cope with VOID mode constants (e.g. const0_rtx)
* optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
From-SVN: r222907
Szabolcs Nagy [Fri, 8 May 2015 08:30:40 +0000 (08:30 +0000)]
[PATCH 0/13] Add musl support to GCC
2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
* config/glibc-stdint.h (OPTION_MUSL): Define.
(INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
Change the definition based on OPTION_MUSL for 64 bit targets.
* config/linux.h (OPTION_MUSL): Redefine.
* config/alpha/linux.h (OPTION_MUSL): Redefine.
* config/rs6000/linux.h (OPTION_MUSL): Redefine.
* config/rs6000/linux64.h (OPTION_MUSL): Redefine.
From-SVN: r222905
Gregor Richards [Fri, 8 May 2015 08:25:47 +0000 (08:25 +0000)]
[PATCH 2/13] musl libc config
2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
Szabolcs Nagy <szabolcs.nagy@arm.com>
* config.gcc (LIBC_MUSL): New tm_defines macro.
* config/linux.h (OPTION_MUSL): Define.
(MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
* config/linux.opt (mmusl): New option.
* doc/invoke.texi (GNU/Linux Options): Document -mmusl.
* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
* configure: Regenerate.
Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>
From-SVN: r222904
H.J. Lu [Fri, 8 May 2015 07:33:42 +0000 (07:33 +0000)]
PR target/48904 x86_64-knetbsd-gnu missing defs
2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
PR target/48904
* config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
* config/i386/knetbsd-gnu64.h: New file.
Co-Authored-By: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
From-SVN: r222903
Jason Merrill [Fri, 8 May 2015 04:42:06 +0000 (00:42 -0400)]
re PR c++/59012 (alignas does not support parameter pack expansions)
PR c++/59012
* parser.c (cp_parser_std_attribute_list): Handle attribute expansion.
(cp_parser_std_attribute_spec): Handle alignas pack expansion.
* decl2.c (is_late_template_attribute): An attribute exp is dependent.
* pt.c (make_pack_expansion): Allow TREE_LIST for attribute expansion.
(apply_late_template_attributes): Handle attribute pack expansion.
From-SVN: r222902
GCC Administrator [Fri, 8 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222901
Marek Polacek [Thu, 7 May 2015 22:14:27 +0000 (22:14 +0000)]
re PR c/64918 (invalid (?) warning when initializing structure)
PR c/64918
* c.opt (Woverride-init-side-effects): New option.
* c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
(output_init_element): Likewise.
* doc/invoke.texi: Document -Woverride-init-side-effects.
* gcc.dg/Woverride-init-side-effects-1.c: New test.
* gcc.dg/Woverride-init-side-effects-2.c: New test.
From-SVN: r222894
Marek Polacek [Thu, 7 May 2015 19:36:31 +0000 (19:36 +0000)]
re PR c/65179 (Introduce new C warning: -Wshift-negative-value)
PR c/65179
* c-common.c (c_fully_fold_internal): Warn when left shifting a
negative value.
* c.opt (Wshift-negative-value): New option.
* c-opts.c (c_common_post_options): Set warn_shift_negative_value
when -Wextra and C99/C++11 mode.
* c-typeck.c (build_binary_op): Warn when left shifting a negative
value.
* typeck.c (cp_build_binary_op): Warn when left shifting a negative
value.
* doc/invoke.texi: Document -Wshift-negative-value.
* c-c++-common/Wshift-negative-value-1.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-2.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-3.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-4.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-5.c: New test.
* testsuite/c-c++-common/Wshift-negative-value-6.c: New test.
* testsuite/gcc.dg/c90-left-shift-1.c: New test.
* testsuite/gcc.dg/c99-const-expr-7.c: Add dg-error.
* testsuite/gcc.dg/c99-left-shift-1.c: New test.
From-SVN: r222889
Aditya Kumar [Thu, 7 May 2015 17:57:11 +0000 (17:57 +0000)]
gcov-tool.c (do_merge): Refactore to remove int ret.
* gcov-tool.c (do_merge): Refactore to remove int ret.
* ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
!type == FUNC to type != FUNC.
* reload.h (struct target_reload): Changee to type of
x_spill_indirect_levels from bool to unsigned char.
From-SVN: r222884
Richard Sandiford [Thu, 7 May 2015 16:58:46 +0000 (16:58 +0000)]
rtl.h (always_void_p): New function.
gcc/
* rtl.h (always_void_p): New function.
* gengenrtl.c (always_void_p): Likewise.
(genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
with code foo are always VOIDmode.
* genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
* builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
compare-elim.c, config/aarch64/aarch64.c,
config/aarch64/aarch64.md, config/alpha/alpha.c,
config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
config/ia64/vect.md, config/iq2000/iq2000.c,
config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
config/mep/mep.c, config/microblaze/microblaze.c,
config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
config/mn10300/mn10300.c, config/msp430/msp430.c,
config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
config/rs6000/altivec.md, config/rs6000/rs6000.c,
config/rs6000/rs6000.md, config/rs6000/vector.md,
config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
config/sh/sh.md, config/sh/sh_treg_combine.cc,
config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
config/spu/spu.md, config/stormy16/stormy16.c,
config/tilegx/tilegx.c, config/tilegx/tilegx.md,
config/tilepro/tilepro.c, config/tilepro/tilepro.md,
config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
var-tracking.c: Update calls accordingly.
From-SVN: r222883
Jason Merrill [Thu, 7 May 2015 16:46:49 +0000 (12:46 -0400)]
DR 1467 PR c++/51747
DR 1467
PR c++/51747
* typeck2.c (digest_init_r): Fix single element list.
From-SVN: r222881
Segher Boessenkool [Thu, 7 May 2015 15:51:01 +0000 (17:51 +0200)]
re PR middle-end/192 (String literals don't obey -fdata-sections)
PR middle-end/192
PR middle-end/54303
* varasm.c (function_mergeable_rodata_prefix): New function.
(mergeable_string_section): Use it.
(mergeable_constant_section): Use it.
gcc/testsuite/
* gcc.dg/fdata-sections-2.c: New file.
From-SVN: r222880
Marek Polacek [Thu, 7 May 2015 14:44:26 +0000 (14:44 +0000)]
re PR testsuite/66046 (UBSan output pattern tests fail on target ARM board.)
PR testsuite/66046
* c-c++-common/ubsan/align-6.c: Don't match trailing newlines in the
last dg-output.
* c-c++-common/ubsan/align-7.c: Likewise.
* c-c++-common/ubsan/bounds-8.c: Likewise.
* c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
* c-c++-common/ubsan/load-bool-enum.c: Likewise.
* c-c++-common/ubsan/null-1.c: Likewise.
* c-c++-common/ubsan/null-10.c: Likewise.
* c-c++-common/ubsan/null-11.c: Likewise.
* c-c++-common/ubsan/null-2.c: Likewise.
* c-c++-common/ubsan/null-3.c: Likewise.
* c-c++-common/ubsan/null-4.c: Likewise.
* c-c++-common/ubsan/null-5.c: Likewise.
* c-c++-common/ubsan/null-6.c: Likewise.
* c-c++-common/ubsan/null-7.c: Likewise.
* c-c++-common/ubsan/null-8.c: Likewise.
* c-c++-common/ubsan/null-9.c: Likewise.
* c-c++-common/ubsan/object-size-1.c: Likewise.
* c-c++-common/ubsan/object-size-10.c: Likewise.
* c-c++-common/ubsan/object-size-4.c: Likewise.
* c-c++-common/ubsan/object-size-5.c: Likewise.
* c-c++-common/ubsan/object-size-7.c: Likewise.
* c-c++-common/ubsan/object-size-8.c: Likewise.
* c-c++-common/ubsan/object-size-9.c: Likewise.
* c-c++-common/ubsan/overflow-add-2.c: Likewise.
* c-c++-common/ubsan/overflow-int128.c: Likewise.
* c-c++-common/ubsan/overflow-mul-2.c: Likewise.
* c-c++-common/ubsan/overflow-mul-4.c: Likewise.
* c-c++-common/ubsan/overflow-negate-1.c: Likewise.
* c-c++-common/ubsan/overflow-negate-3.c: Likewise.
* c-c++-common/ubsan/overflow-sub-2.c: Likewise.
* c-c++-common/ubsan/overflow-sub-4.c: Likewise.
* c-c++-common/ubsan/pr59333.c: Likewise.
* c-c++-common/ubsan/pr59667.c: Likewise.
* c-c++-common/ubsan/pr60613-2.c: Likewise.
* c-c++-common/ubsan/pr60636.c: Likewise.
* c-c++-common/ubsan/pr63802.c: Likewise.
* c-c++-common/ubsan/recovery-1.c: Likewise.
* c-c++-common/ubsan/recovery-3.c: Likewise.
* c-c++-common/ubsan/shift-1.c: Likewise.
* c-c++-common/ubsan/shift-2.c: Likewise.
* c-c++-common/ubsan/shift-4.c: Likewise.
* c-c++-common/ubsan/shift-7.c: Likewise.
* c-c++-common/ubsan/undefined-2.c: Likewise.
* c-c++-common/ubsan/vla-1.c: Likewise.
* g++.dg/ubsan/null-1.C: Likewise.
* g++.dg/ubsan/null-3.C: Likewise.
* g++.dg/ubsan/null-4.C: Likewise.
* g++.dg/ubsan/vptr-8.C: Likewise.
* g++.dg/ubsan/vptr-9.C: Likewise.
* gcc.dg/ubsan/bounds-2.c: Likewise.
* gcc.dg/ubsan/object-size-9.c: Likewise.
From-SVN: r222878
Jeff Law [Thu, 7 May 2015 13:18:07 +0000 (07:18 -0600)]
match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New simplifier to narrow arithmetic.
* match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
simplifier to narrow arithmetic.
* generic-match-head.c: (types_match, single_use): New functions.
* gimple-match-head.c: (types_match, single_use): New functions.
* gcc.dg/tree-ssa/shorten-1.c: New test.
From-SVN: r222877
Venkataramanan Kumar [Thu, 7 May 2015 10:47:54 +0000 (10:47 +0000)]
combine.c (make_compound_operation): Remove checks for PLUS/MINUS rtx type.
2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
* combine.c (make_compound_operation): Remove checks for PLUS/MINUS
rtx type.
From-SVN: r222874
Richard Biener [Thu, 7 May 2015 09:52:38 +0000 (09:52 +0000)]
re PR tree-optimization/66002 (paq8p benchmark 50% slower than clang on sandybridge)
2015-05-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/66002
* passes.def: Schedule another pass_merge_phi after ifcombine, right
before phiopt.
* gcc.dg/vect/vect-125.c: New testcase.
From-SVN: r222873
Marek Polacek [Thu, 7 May 2015 08:08:57 +0000 (08:08 +0000)]
c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting flexible member array-like members if...
* c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
flexible member array-like members if SANITIZE_BOUNDS_STRICT.
* doc/invoke.texi: Document -fsanitize=bounds-strict.
* flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
into SANITIZE_NONDEFAULT.
* opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
* c-c++-common/ubsan/bounds-10.c: New test.
From-SVN: r222871
Uros Bizjak [Thu, 7 May 2015 07:34:29 +0000 (09:34 +0200)]
re PR target/66015 (align directives not propagated after __attribute__ ((__optimize__ ("O2"))))
PR target/66015
* config/alpha/alpha.c (alpha_override_options_after_change): New.
(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
(alpha_override_options): Move align_loops, align_jumps and
align_functions handling into alpha_override_options_after_change.
From-SVN: r222870
GCC Administrator [Thu, 7 May 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222869
Ian Lance Taylor [Wed, 6 May 2015 22:59:54 +0000 (22:59 +0000)]
compiler: Analyze escape information of interface parameters.
When analyzing function calls with interface parameters, all arguments
related to an interface parameter were assumed to escape via the
function arguments. Now, if an argument is related to a non-escaping
parameter with an interface type, the argument may be stack-allocated.
From-SVN: r222865
Thomas Koenig [Wed, 6 May 2015 20:23:48 +0000 (20:23 +0000)]
re PR fortran/37131 (inline matmul for small matrix sizes)
2015-05-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/37131
* gfortran.h (gfc_isym_id): Add GFC_ISYM_FE_RUNTIME_ERROR.
(gfc_intrinsic_sym): Add vararg.
* intrinsic.h (gfc_check_fe_runtime_error): Add prototype.
(gfc_resolve_re_runtime_error): Likewise.
Add prototype for gfc_is_reallocatable_lhs.
* trans-array.h (gfc_is_reallocatable_lhs): Remove prototype.
* check.c (gfc_check_fe_runtime_error): New function.
* intrinsic.c (add_sym_1p): New function.
(make_vararg): New function.
(add_subroutines): Add fe_runtime_error.
(gfc_intrinsic_sub_interface): Skip sorting for variable number
of arguments.
* iresolve.c (gfc_resolve_fe_runtime_error): New function.
* lang.opt (inline-matmul-limit): New option.
(gfc_post_options): If no inline matmul limit has been set and
BLAS is called externally, use the BLAS limit.
* frontend-passes.c: Include intrinsic.h.
(var_num): New global counter for naming temporary variablbles.
(matrix_case): Enum for differentiating the different matmul
cases.
(realloc_string_callback): Add "trim" to the variable name.
(create_var): Add optional argument vname as part of the name.
Use var_num. Set dimension of result correctly. Split off block
creation into
(insert_block): New function.
(cfe_expr_0): Use "fcn" as part of temporary variable name.
(optimize_namesapce): Also set gfc_current_ns. Call
inline_matmul_assign.
(combine_array_constructor): Use "constr" as part of
temporary name.
(get_array_inq_function): New function.
(build_logical_expr): New function.
(get_operand): new function.
(inline_limit_check): New function.
(runtime_error_ne): New function.
(matmul_lhs_realloc): New function.
(is_functino_or_op): New function.
(has_function_or_op): New function.
(freeze_expr): New function.
(freeze_references): New function.
(convert_to_index_kind): New function.
(create_do_loop): New function.
(get_size_m1): New function.
(scalarized_expr): New function.
(inline_matmul_assign): New function.
* simplify.c (simplify_bound): Simplify the case of the
lower bound of an assumed-shape argument.
2015-05-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/37131
* gfortran.dg/dependency_26.f90: Add option to suppress inlining
matmul.
* gfortran.dg/function_optimize_1.f90: Likewise.
* gfortran.dg/function_optimize_2.f90: Likewise.
* gfortran.dg/function_optimize_5.f90: Likewise.
* gfortran.dg/function_optimize_7.f90: Likewise.
* gfortran.dg/inline_matmul_1.f90: New test.
* gfortran.dg/inline_matmul_2.f90: New test.
* gfortran.dg/inline_matmul_3.f90: New test.
* gfortran.dg/inline_matmul_4.f90: New test.
* gfortran.dg/inline_matmul_5.f90: New test.
* gfortran.dg/inline_matmul_6.f90: New test.
From-SVN: r222864
David Malcolm [Wed, 6 May 2015 20:13:50 +0000 (20:13 +0000)]
jit: add test-benchmark.c
gcc/testsuite/ChangeLog:
* jit.dg/harness.h (set_options): Wrap with
#ifndef TEST_ESCHEWS_SET_OPTIONS.
* jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer):
Special-case test-benchmark.c as a negative.
* jit.dg/test-benchmark.c: New file.
From-SVN: r222863
Julian Brown [Wed, 6 May 2015 19:10:14 +0000 (19:10 +0000)]
oacc-init.c (acc_device_lock): Add explanatory comment.
* oacc-init.c (acc_device_lock): Add explanatory comment.
(resolve_device): Add comment about locking requirement.
(acc_init_1, acc_shutdown_1): Likewise. Add locking around
gomp_init_device and gomp_fini_device calls.
(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
(acc_get_device_num, acc_set_device_num): Add locking around
resolve_device and gomp_init_device calls.
From-SVN: r222862
Julian Brown [Wed, 6 May 2015 16:45:49 +0000 (16:45 +0000)]
oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for goacc_thread_lock on error paths.
* oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
goacc_thread_lock on error paths.
* oacc-mem.c (lookup_host): Remove locking from function. Note
locking requirement for caller in function comment.
(lookup_dev): Likewise.
(acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
(acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
(update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
Add locking.
From-SVN: r222860
Sandra Loosemore [Wed, 6 May 2015 16:01:05 +0000 (12:01 -0400)]
unknown-elf.h (STARTFILE_SPEC): Add conditional linking of crtfastmath.o.
2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
Chris Jones <chrisj@nvidia.com>
Joshua Conner <jconner@nvidia.com>
gcc/
* config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
linking of crtfastmath.o.
* config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
libgcc/
* config.host (arm*-*-linux*): Add support for crtfastmath.o.
(arm*-*-uclinux*): Likewise.
(arm*-*-eabi* | arm*-*-rtems*): Likewise.
* config/arm/crtfastmath.c: New file.
Co-Authored-By: Chris Jones <chrisj@nvidia.com>
Co-Authored-By: Joshua Conner <jconner@nvidia.com>
From-SVN: r222857
Segher Boessenkool [Wed, 6 May 2015 15:55:10 +0000 (17:55 +0200)]
rs6000.md (cstore<mode>4_signed_imm): New expander.
* config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
(cstore<mode>4_unsigned_imm): New expander.
(cstore<mode>4): Remove empty constraint strings. Use the new
expanders.
From-SVN: r222855
Yvan Roux [Wed, 6 May 2015 14:23:57 +0000 (14:23 +0000)]
re PR target/64208 ([iwmmxt] ICE: internal compiler error: Max. number of generated reload insns per insn is achieved (90))
gcc/
2015-05-06 Yvan Roux <yvan.roux@linaro.org>
PR target/64208
* config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
alternatives.
gcc/testsuite/
2015-05-06 Yvan Roux <yvan.roux@linaro.org>
PR target/64208
* gcc.target/arm/pr64208.c: New test.
From-SVN: r222853
Szabolcs Nagy [Wed, 6 May 2015 13:23:01 +0000 (13:23 +0000)]
[AArch64] Fix geniterators.sh to use standard BRE syntax in sed
On behalf of Szabolcs Nagy.
2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
* config/aarch64/geniterators.sh: Use standard BRE in sed.
From-SVN: r222852
Alan Modra [Wed, 6 May 2015 13:12:19 +0000 (22:42 +0930)]
re PR target/66033 (rs6000 nops removed by rtl_dce)
PR target/66033
* config/rs6000/rs6000.md (nop): Use an unspec pattern.
(UNSPEC_NOP): Define.
(reload_vsx_from_gpr<mode>): Add missing DONE.
(reload_gpr_from_vsx<mode>): Likewise.
* config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
(vsx_div_v2di, vsx_udiv_v2di): Likewise.
From-SVN: r222851
Alan Modra [Wed, 6 May 2015 13:10:59 +0000 (22:40 +0930)]
re PR target/66020 (FAIL: gcc.target/powerpc/ppc64-abi-2.c execution test)
PR target/66020
* gcc.target/powerpc/ppc64-abi-2.c (my_mcount): Rewrite.
(gparms): Make volatile.
From-SVN: r222850
Richard Biener [Wed, 6 May 2015 12:21:01 +0000 (12:21 +0000)]
re PR fortran/62283 (basic-block vectorization fails)
2015-05-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/62283
* gcc.dg/vect/bb-slp-32.c: Remove XFAIL.
From-SVN: r222849
Christian Bruel [Wed, 6 May 2015 10:54:40 +0000 (12:54 +0200)]
re PR target/66015 (align directives not propagated after __attribute__ ((__optimize__ ("O2"))))
2015-05-06 Christian Bruel <christian.bruel@st.com>
PR target/66015
* config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
align_jumps, align_functions into aarch64_override_options_after_change.
From-SVN: r222847
Richard Biener [Wed, 6 May 2015 10:49:35 +0000 (10:49 +0000)]
tree-vect-slp.c (vect_supported_load_permutation_p): Use vect_transform_slp_perm_load to check if...
2015-05-06 Richard Biener <rguenther@suse.de>
* tree-vect-slp.c (vect_supported_load_permutation_p): Use
vect_transform_slp_perm_load to check if we support a permutation
for basic-block vectorization.
* gcc.dg/vect/bb-slp-34.c: New testcase.
From-SVN: r222846
Nick Clifton [Wed, 6 May 2015 10:19:07 +0000 (10:19 +0000)]
rl78.c (need_to_save): Save register 22 if it is used, even if it is not being used as a frame pointer.
* config/rl78/rl78.c (need_to_save): Save register 22 if it is
used, even if it is not being used as a frame pointer.
From-SVN: r222845
Richard Biener [Wed, 6 May 2015 06:47:38 +0000 (06:47 +0000)]
re PR fortran/62283 (basic-block vectorization fails)
2015-05-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/62283
* gcc.dg/vect/bb-slp-14.c: Adjust.
From-SVN: r222843
Jason Merrill [Wed, 6 May 2015 02:25:01 +0000 (22:25 -0400)]
c.opt (Wterminate): New.
gcc/c-family/
* c.opt (Wterminate): New.
gcc/cp/
* cp-gimplify.c (cp_genericize_r): Track TRY_BLOCK and
MUST_NOT_THROW_EXPR, warn about a THROW_EXPR directly within a
MUST_NOT_THROW_EXPR.
(cp_genericize_data): Add try_block field.
(cp_genericize_tree): Initialize it.
* except.c (expand_end_catch_block): Set TREE_NO_WARNING on
implicit rethrow.
From-SVN: r222842
Jason Merrill [Wed, 6 May 2015 02:24:49 +0000 (22:24 -0400)]
Fix obj-c++.dg/encode-10.mm with cxx_dialect == cxx11.
* constexpr.c (potential_constant_expression_1) [AT_ENCODE_EXPR]:
Return false.
From-SVN: r222841
Jason Merrill [Wed, 6 May 2015 02:24:44 +0000 (22:24 -0400)]
Fix g++.dg/torture/Wsizeof-pointer-memaccess2.C with -std=c++11
Fix g++.dg/torture/Wsizeof-pointer-memaccess2.C with -std=c++11
* semantics.c (finish_call_expr): Check complain.
From-SVN: r222840
Jason Merrill [Wed, 6 May 2015 02:24:38 +0000 (22:24 -0400)]
Fix gdb.cp/anon-struct.cc with -std=c++11.
gcc/
* dwarf2out.c (gen_member_die): Don't emit anything for an
anonymous class constructor.
gcc/cp/
* decl2.c (reset_type_linkage_2): Update the DECL_NAME of a
maybe-in-charge constructor.
From-SVN: r222839
Jason Merrill [Wed, 6 May 2015 02:07:40 +0000 (22:07 -0400)]
decl.c (start_decl): Don't push the plain VAR_DECL for a variable template.
* decl.c (start_decl): Don't push the plain VAR_DECL for a
variable template.
From-SVN: r222837
Jason Merrill [Wed, 6 May 2015 02:07:34 +0000 (22:07 -0400)]
DR 1518 DR 1630 PR c++/54835 PR c++/60417
DR 1518
DR 1630
PR c++/54835
PR c++/60417
* call.c (convert_like_real): Check value-initialization before
explicit.
* typeck2.c (process_init_constructor_record): Don't set
CONSTRUCTOR_IS_DIRECT_INIT.
(process_init_constructor_array): Likewise.
* init.c (build_vec_init): Likewise.
From-SVN: r222836
GCC Administrator [Wed, 6 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222834
Joseph Myers [Tue, 5 May 2015 21:30:18 +0000 (22:30 +0100)]
* sv.po: Update.
From-SVN: r222829
Ian Lance Taylor [Tue, 5 May 2015 20:56:59 +0000 (20:56 +0000)]
compiler: Don't make temporaries for constant string concatentation.
Fixes golang/go#10642.
From-SVN: r222828
David Malcolm [Tue, 5 May 2015 19:41:11 +0000 (19:41 +0000)]
Fix indentation issues seen by -Wmisleading-indentation
gcc/ChangeLog:
* auto-profile.c (afdo_find_equiv_class): Fix indentation so
that it reflects the block structure.
(afdo_propagate_edge): Likewise.
(afdo_calculate_branch_prob): Likewise.
(afdo_annotate_cfg): Likewise.
* cfgcleanup.c (equal_different_set_p): Likewise.
(try_crossjump_to_edge): Likewise.
* cgraph.c (cgraph_node::verify_node): Likewise.
* cgraphunit.c (expand_all_functions): Likewise.
* config/i386/i386.c (ix86_expand_copysign): Likewise.
(exact_dependency_1): Likewise.
* dwarf2asm.c (dw2_output_indirect_constants): Likewise.
* dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
* gensupport.c (process_define_subst): Likewise.
* lto-wrapper.c (merge_and_complain): Likewise.
* tree-if-conv.c (if_convertible_bb_p): Likewise.
* tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
* tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
* tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
* tree-vect-loop.c (vectorizable_reduction): Likewise.
* tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
* tree-vect-stmts.c (vectorizable_shift): Likewise.
* tree-vrp.c (vrp_finalize): Likewise.
* tree.c (variably_modified_type_p): Likewise.
gcc/cp/ChangeLog:
* parser.c (cp_parser_asm_definition): Only test for
error_mark_node if "outputs" was just set.
(cp_parser_asm_definition): Likewise for "inputs".
gcc/fortran/ChangeLog:
* expr.c (check_inquiry): Fix indentation so that it reflects the
block structure.
* interface.c (compare_parameter): Likewise.
* parse.c (parse_oacc_structured_block): Likewise.
* target-memory.c (expr_to_char): Likewise.
* trans-types.c (gfc_init_kinds): Likewise.
libcpp/ChangeLog:
* pch.c (cpp_valid_state): Fix indentation so that it reflects the
block structure.
From-SVN: r222823
Jack Howarth [Tue, 5 May 2015 18:06:49 +0000 (18:06 +0000)]
config.gcc: Use darwin9.h, darwin10.h and darwin12.h on darwin12 and later.
2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
* config.gcc: Use darwin9.h, darwin10.h and darwin12.h
on darwin12 and later.
* config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
file to pass -rdynamic on darwin12 and later.
* config/darwin.opt (rdynamic): Add.
From-SVN: r222822
Uros Bizjak [Tue, 5 May 2015 17:36:40 +0000 (19:36 +0200)]
extend.texi (C Extensions): Update menu for moved Variable Attributes and Type Attributes sections.
* doc/extend.texi (C Extensions): Update menu for moved Variable
Attributes and Type Attributes sections.
From-SVN: r222819
Uros Bizjak [Tue, 5 May 2015 16:53:27 +0000 (18:53 +0200)]
re PR target/65990 (ICE: in extract_insn, at recog.c:2341 (unrecognizable insn) with -mmemcpy-strategy=rep_8byte:-1:noalign -m32 -mtune=btver2)
PR target/65990
* config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
if rep_8byte stringop strategy was specified for 32-bit target.
testsuite/ChangeLog:
PR target/65990
* gcc.target/i386/pr65990.c: New test.
From-SVN: r222817
Ian Lance Taylor [Tue, 5 May 2015 16:38:57 +0000 (16:38 +0000)]
re PR go/66016 (Accessing nil Func's name results in crash)
PR go/66016
runtime: Don't crash in Func.Name if the Func is nil.
Related to Go issue 10696
From-SVN: r222816
Ilya Tocar [Tue, 5 May 2015 15:43:13 +0000 (15:43 +0000)]
re PR target/65915 (FAIL: gcc.target/i386/avx512f-vrndscalepd-2.c (internal compiler error))
PR target/65915
* config/i386/i386.md (vector convert to float spltiter): Check for
xmm16+, when splitting scalar float conversion.
* config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
testsuite/ChangeLog:
PR target/65915
* gcc.target/i386/pr65915.c: New.
From-SVN: r222811
Nick Clifton [Tue, 5 May 2015 15:15:13 +0000 (15:15 +0000)]
msp430-opts.h (enum msp430_regions): New.
* config/msp430/msp430-opts.h (enum msp430_regions): New.
* config/msp430/msp430.c (msp430_override_options): Complain if
-mcode-region or -mdata-region is used on a non MSP430X.
(msp430_section_attr): New function. Checks lower, upper and
either attributes.
(msp430_attribute_table): Add lower, upper and either.
(gen_prefix): New function. Generates a prefix for a section
name.
(msp430_select_section): New function - handles the choice of
section for an object. Takes into account memory region
attributes and options.
(msp430_function_section): Use gen_prefix.
(TARGET_SECTION_TYPE_FLAGS): Define.
(msp430_section_type_flags): New function.
(TARGET_ASM_UNIQUE_SECTION): Define.
(msp430_unique_section): New function.
(msp430_output_aligned_decl_common): New function.
(msp430_do_not_relax_short_jumps): New function.
* config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
Define.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
* config/msp430/msp430-protos.h
(msp430_do_not_relax_short_jumps): New prototype.
(msp430_output_aligned_decl_common): New prototype.
* config/msp430/msp430.md (length): New attribute.
(cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
then use a long code sequence for short jumps.
* config/msp430/msp430.opt (mcode-region): New.
(mdata-region): New.
* doc/invoke.texi: Document new options.
* doc/extend.texi: Document new attributes.
From-SVN: r222810
David Malcolm [Tue, 5 May 2015 14:21:02 +0000 (14:21 +0000)]
libcpp: Improvements to comments in line-map.h/c
libcpp/ChangeLog:
* include/line-map.h: Fix comment at the top of the file.
(source_location): Rewrite and expand the comment for this
typedef, adding an ascii-art table to clarify how source_location
values are allocated.
* line-map.c: Fix comment at the top of the file.
From-SVN: r222806
Matthew Wahab [Tue, 5 May 2015 14:01:28 +0000 (14:01 +0000)]
[AArch64] Add branch-cost to cpu tuning information.
* gcc/config/aarch64-protos.h (struct cpu_branch_cost): New.
(tune_params): Add field branch_costs.
(aarch64_branch_cost): Declare.
* gcc/config/aarch64.c (generic_branch_cost): New.
(generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(thunderx_tunings): Likewise.
(xgene1_tunings): Likewise.
(aarch64_branch_cost): Define.
* gcc/config/aarch64/aarch64.h (BRANCH_COST): Redefine.
From-SVN: r222805
Uros Bizjak [Tue, 5 May 2015 11:02:49 +0000 (13:02 +0200)]
i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1 and HOST_WIDE_INT_1U instead...
* config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
* config/i386/i386.md: Ditto.
* config/i386/winnt.c: Ditto.
From-SVN: r222804
Matthew Wahab [Tue, 5 May 2015 10:37:00 +0000 (10:37 +0000)]
[docs] Update __atomic builtins documentation.
* doc/extend.texi (__atomic Builtins): Move implementation details
to the end of the description, rewrite opening paragraphs, state
difference with __sync builtins, state C11/C++11 assumptions,
weaken itemized descriptions, add explanation of memory model
behaviour, expand description of compare-exchange, simplify text.
From-SVN: r222803
Tom de Vries [Tue, 5 May 2015 10:32:28 +0000 (10:32 +0000)]
Xfail gcc.dg/tree-ssa/stdarg-2.c f15 scans
2015-05-05 Tom de Vries <tom@codesourcery.com>
* gcc.dg/tree-ssa/stdarg-2.c: Xfail f15 scans which test for presence of
'va_list escapes 0'.
From-SVN: r222802
Tom de Vries [Tue, 5 May 2015 10:32:18 +0000 (10:32 +0000)]
Undo incorrect fix in tree-ssa/stdarg-2.c f15 scans
2015-05-05 Tom de Vries <tom@codesourcery.com>
* gcc.dg/tree-ssa/stdarg-2.c: Undo incorrect fix in f15 scans committed
in r222173.
From-SVN: r222801
Renlin Li [Tue, 5 May 2015 10:16:46 +0000 (10:16 +0000)]
[PATCH][AARCH64]Use mov for add with large immediate.
gcc/
2015-05-05 Renlin Li <renlin.li@arm.com>
* config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
From-SVN: r222800
Thomas Schwinge [Tue, 5 May 2015 09:39:29 +0000 (11:39 +0200)]
[PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests
In dg-output, don't expect "0x" prefix for "%p" format specifier, don't expect
"(nil)" for NULL pointer.
PR testsuite/65205
PR libgomp/65993
libgomp/
* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
don't expect "0x" prefix for "%p" format specifier, don't expect
"(nil)" for NULL pointer.
* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
accurately specify what we're looking for.
* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
From-SVN: r222799
Yvan Roux [Tue, 5 May 2015 09:37:11 +0000 (09:37 +0000)]
pr65067.c: Require Thumb2 effective target.
gcc/testsuite/
2015-05-05 Yvan Roux <yvan.roux@linaro.org>
* gcc.target/arm/pr65067.c: Require Thumb2 effective target.
* gcc.target/arm/pr65924.c: Likewise.
From-SVN: r222798
Yvan Roux [Tue, 5 May 2015 09:31:11 +0000 (09:31 +0000)]
aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
2015-05-05 Yvan Roux <yvan.roux@linaro.org>
* config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
(LINK_SPEC): Include CA53_ERR_843419_SPEC.
* config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
(LINK_SPEC): Include CA53_ERR_843419_SPEC.
* config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
* configure: Regenerate.
* configure.ac: Add --enable-fix-cortex-a53-843419 option.
* doc/install.texi (aarch64*-*-*): Document new
--enable-fix-cortex-a53-843419 option.
* doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
and -mno-fix-cortex-a53-843419 options.
From-SVN: r222797
Uros Bizjak [Tue, 5 May 2015 04:36:19 +0000 (06:36 +0200)]
re PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn't set the ZF flag)
PR target/65871
* config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
testsuite/ChangeLog:
PR target/65871
* gcc.target/i386/pr65871-3.c: New test.
From-SVN: r222795
Trevor Saunders [Tue, 5 May 2015 03:41:53 +0000 (03:41 +0000)]
Improve the test in bitfields.m4
Using a named bitfield with a width more than 0 means we won't hit
weirdness caused by the bitfield not really needing to exist. Changing
int to long long means we won't have trouble with some arch where size
of int is 1 or 2.
libobjc/ChangeLog:
2015-05-04 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* configure: Regenerate.
config/ChangeLog:
2015-05-04 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* bitfields.m4: Change int to long long, and use bitfields of
width 1 instead of 0.
From-SVN: r222794
Jonathan Wakely [Tue, 5 May 2015 01:56:47 +0000 (02:56 +0100)]
re PR libstdc++/51617 ([C++0x] async(f) isn't.)
PR libstdc++/51617
* include/std/future (async): Change default policy to launch::async.
From-SVN: r222793
Jan Hubicka [Tue, 5 May 2015 01:42:07 +0000 (03:42 +0200)]
tree.c (verify_type): Check various uses of TYPE_MAXVAL...
* tree.c (verify_type): Check various uses of TYPE_MAXVAL;
fix overactive TYPE_MIN_VALUE check and add FIXME for type
compatibility problems.
From-SVN: r222792
Ajit Agarwal [Tue, 5 May 2015 01:08:45 +0000 (01:08 +0000)]
The changes are made in the patch for optimized usage of pcmpne/pcmpeq instructions.
The changes are made in the patch for optimized usage of pcmpne/pcmpeq
instructions. The xor with register to register is replaced with pcmpeq
/pcmpne instructions and for immediate check still the xori will be used.
The purpose of the change is to acheive the aggressive usage of pcmpne
/pcmpeq instructions instead of xor being used for comparison.
ChangeLog:
2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
* config/microblaze/microblaze.md (cbranchsi4): Added immediate
constraints.
(cbranchsi4_reg): New.
* config/microblaze/microblaze.c
(microblaze_expand_conditional_branch_reg): New.
* config/microblaze/microblaze-protos.h
(microblaze_expand_conditional_branch_reg): New prototype.
From-SVN: r222791
Ajit Agarwal [Tue, 5 May 2015 01:07:26 +0000 (01:07 +0000)]
The changes are made in the patch for optimized usage of fint instruction.
The sequence of fint/cond_branch is replaced with fcmp/cond_branch. The
fint instruction takes 6/7 cycles as compared to fcmp instruction which
takes 1 cycles. The conversion from float to int with fint instruction
is not required and can directly compared with fcmp instruction which
takes 1 cycle as compared to 6/7 cycles with fint instruction.
ChangeLog:
2015-03-04 Ajit Agarwal <ajitkum@xilinx.com>
* config/microblaze/microblaze.md (peephole2): New.
From-SVN: r222790
GCC Administrator [Tue, 5 May 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222788
Jeff Law [Mon, 4 May 2015 23:45:57 +0000 (17:45 -0600)]
Revert:
2015-05-04 Jeff Law <law@redhat.com>
* match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
simplifier to narrow arithmetic.
* generic-match-head.c: (types_match, single_use): New functions.
* gimple-match-head.c: (types_match, single_use): New functions.
Revert:
2015-05-04 Jeff Law <law@redhat.com>
* gcc.dg/tree-ssa/shorten-1.c: New test.
From-SVN: r222784
Kaz Kojima [Mon, 4 May 2015 23:25:58 +0000 (23:25 +0000)]
re PR target/65987 ([SH] Wrong jump generated for gcc.dg/tree-prof/va-arg-pack-1.c with -fprofile-use)
PR target/65987
* config/sh/sh.c (output_far_jump, split_branches): Take into account
sectiion crossing jumps.
From-SVN: r222783
Paolo Carlini [Mon, 4 May 2015 20:58:33 +0000 (20:58 +0000)]
re PR c++/66007 (Narrowing conversion inside { } results in all zero elements in C++11 mode with -Wno-error=narrowing)
/cp
2015-05-04 Paolo Carlini <paolo.carlini@oracle.com>
Jakub Jelinek <jakub@redhat.com>
PR c++/66007
* typeck2.c (check_narrowing): Check by-hand that the pedwarn didn't
result in an actual error.
/testsuite
2015-05-04 Paolo Carlini <paolo.carlini@oracle.com>
Jakub Jelinek <jakub@redhat.com>
PR c++/66007
* g++.dg/cpp0x/Wnarrowing4.C: New.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r222778
Sandra Loosemore [Mon, 4 May 2015 19:55:06 +0000 (15:55 -0400)]
common.opt (fdelete-null-pointer-checks): Init to -1.
2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* common.opt (fdelete-null-pointer-checks): Init to -1.
* config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
override flag_delete_null_pointer_checks default.
* doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
behavior re address zero. Better document target-specific behavior.
(-fisolate-errneous-paths-dereference): Mention relationship to
-fdelete-null-pointer-checks.
gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_keeps_null_pointer_checks): Clarify that
this is for targets that disable -fdelete-null-pointer-checks,
not default it to off.
* gcc.dg/ipa/ipa-pta-14.c: Make dependence on
-fdelete-null-pointer-checks explicit.
* gcc.dg/tree-ssa/
20030730-1.c: Likewise.
* gcc.dg/tree-ssa/
20030730-2.c: Likewise.
* gcc.dg/tree-ssa/isolate-1.c: Likewise.
* gcc.dg/tree-ssa/isolate-2.c: Likewise.
* gcc.dg/tree-ssa/isolate-3.c: Likewise.
* gcc.dg/tree-ssa/isolate-4.c: Likewise.
* gcc.dg/tree-ssa/isolate-5.c: Likewise.
* gcc.dg/tree-ssa/nonzero-1.c: Likewise.
* gcc.dg/tree-ssa/pr20318.c: Likewise.
* gcc.dg/tree-ssa/pr20701.c: Likewise.
* gcc.dg/tree-ssa/pr20702.c: Likewise.
* gcc.dg/tree-ssa/pr21086.c: Likewise.
* gcc.dg/tree-ssa/pr21090.c: Likewise.
* gcc.dg/tree-ssa/pr58480.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-1.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
* gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise.
* gcc.dg/tree-ssa/unreachable.c: Likewise.
* gcc.dg/tree-ssa/vrp02.c: Likewise.
* gcc.dg/tree-ssa/vrp07.c: Likewise.
* gcc.dg/tree-ssa/vrp08.c: Likewise.
* gcc.dg/tree-ssa/vrp55.c: Likewise.
* g++.dg/cpp0x/static_assert9.C: Likewise.
* g++.dg/tree-ssa/nonzero-1.C: Likewise.
* g++.dg/tree-ssa/pr19476-1.C: Likewise.
* g++.dg/tree-ssa/pr19476-2.C: Likewise.
* g++.dg/tree-ssa/pr19476-5.C: Likewise.
* g++.dg/tree-ssa/pr26406.C: Likewise.
From-SVN: r222777
Jakub Jelinek [Mon, 4 May 2015 19:52:33 +0000 (21:52 +0200)]
re PR middle-end/65984 (ICE: definition in block 4 does not dominate use in block 2 with -fnon-call-exceptions -fsanitize=enum)
PR tree-optimization/65984
* ubsan.c: Include tree-cfg.h.
(instrument_bool_enum_load): Use stmt_ends_bb_p instead of
stmt_could_throw_p test, rename can_throw variable to ends_bb.
* c-c++-common/ubsan/pr65984.c: New test.
From-SVN: r222775
Uros Bizjak [Mon, 4 May 2015 19:50:51 +0000 (21:50 +0200)]
i386.c: Change GET_CODE (...) == CONST_DOUBLE check to CONST_DOUBLE_P predicate.
* config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
to CONST_DOUBLE_P predicate.
(standard_sse_constant_p): Return 0 for !TARGET_SSE.
(ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
allow only operands that satisfy standard_sse_constant_p predicate.
* config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
to CONST_DOUBLE_P predicate.
From-SVN: r222774
Jeff Law [Mon, 4 May 2015 17:21:56 +0000 (11:21 -0600)]
match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New simplifier to narrow arithmetic.
* match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
simplifier to narrow arithmetic.
* generic-match-head.c: (types_match, single_use): New functions.
* gimple-match-head.c: (types_match, single_use): New functions.
* gcc.dg/tree-ssa/shorten-1.c: New test.
From-SVN: r222771
Andreas Tobler [Mon, 4 May 2015 15:33:28 +0000 (17:33 +0200)]
arm.c: Restore bootstrap.
2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
* config/arm/arm.c: Restore bootstrap.
From-SVN: r222768
Uros Bizjak [Mon, 4 May 2015 15:05:11 +0000 (17:05 +0200)]
i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
* config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
* config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
as CONST_WIDE_INT, not CONST_DOUBLE.
(ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
(output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
(ix86_find_base_term): Do not check for CONST_DOUBLE.
(ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
(ix86_build_signbit_mask): Rewrite using wide ints.
(ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
(ix86_rtx_costs): Handle CONST_WIDE_INT.
(find_constant): Ditto.
* config/i386/i386.md (bts, btr, btc peepholes): Rewrite
using gen_int_mode.
* config/i386/predicates.md (x86_64_immediate_operand)
<case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
(x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
<case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
(const0_operand): Also match const_wide_int.
(constm1_operand): Ditto.
(const1_operand): Ditto.
From-SVN: r222767
Francois-Xavier Coudert [Mon, 4 May 2015 14:27:14 +0000 (14:27 +0000)]
re PR fortran/44735 (ICE on FORALL with character array pointer)
PR fortran/44735
* gfortran.dg/pr44735.f90: New test.
From-SVN: r222766
Richard Biener [Mon, 4 May 2015 14:24:49 +0000 (14:24 +0000)]
re PR middle-end/65965 (Straight-line memcpy/memset not vectorized when equivalent loop is)
2015-05-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/65965
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
store groups at gaps.
* gcc.dg/vect/bb-slp-33.c: New testcase.
From-SVN: r222765
Richard Biener [Mon, 4 May 2015 13:31:02 +0000 (13:31 +0000)]
re PR tree-optimization/65935 (433.milc in SPEC CPU 2006 is miscompiled)
2015-05-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/65935
* tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
then make sure to apply that swapping to the IL.
* gcc.dg/vect/bb-slp-pr65935.c: New testcase.
From-SVN: r222764
Jakub Jelinek [Mon, 4 May 2015 10:39:16 +0000 (12:39 +0200)]
Makefile.in (PATCHLEVEL_c): New variable.
* Makefile.in (PATCHLEVEL_c): New variable.
(DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
expand the same way as if DEVPHASE_c was non-empty.
From-SVN: r222762
Kai Tietz [Mon, 4 May 2015 10:18:23 +0000 (12:18 +0200)]
Fix typo "with"
From-SVN: r222760
Kai Tietz [Mon, 4 May 2015 10:16:23 +0000 (12:16 +0200)]
re PR lto/65559 (lto1.exe: internal compiler error: in read_cgraph_and_symbols, at lto/lto.c:2947)
PR target/65559
* lto-wrapper.c (run_gcc): Open filename
with in binary-mode.
From-SVN: r222759
Sandra Loosemore [Mon, 4 May 2015 02:41:10 +0000 (22:41 -0400)]
extend.texi (Variable Attributes, [...]): Move sections up in file, to immediately after the Function Attributes section.
2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/extend.texi (Variable Attributes, Type Attributes): Move
sections up in file, to immediately after the Function Attributes
section.
From-SVN: r222758
GCC Administrator [Mon, 4 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222757
Jan Hubicka [Mon, 4 May 2015 00:14:47 +0000 (02:14 +0200)]
* tree.c (verify_type): Check various uses of TYPE_MINVAL.
From-SVN: r222753
Christophe Lyon [Sun, 3 May 2015 20:53:17 +0000 (20:53 +0000)]
[ARM,AArch64][testsuite] AdvSIMD intrinsics tests cleanup: remove useless expected values.
2015-05-03 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/binary_op.inc: Call CHECK
for each supported variant instead of CHECK_RESULTS.
* gcc.target/aarch64/advsimd-intrinsics/binary_sat_op.inc: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/unary_op.inc: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vXXXl.inc: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vXXXw.inc: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vsXi_n.inc: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vaba.c: Remove dummy
expected results for unsupported variants. Call CHECK for each
supported variant instead of CHECK_RESULTS.
* gcc.target/aarch64/advsimd-intrinsics/vabal.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vabd.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vabdl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcls.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vclz.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcnt.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcombine.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcreate.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vget_high.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vget_low.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vmul.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vsri_n.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vabs.c: Remove dummy
expected results for unsupported variants.
* gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vaddw.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vand.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vbic.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcge.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vcle.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vclt.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/veor.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vorn.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vorr.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqabs.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqadd.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqneg.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqsub.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vsubl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vsubw.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vtrn.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vzip.c: Likewise.
From-SVN: r222752
Thomas Koenig [Sun, 3 May 2015 18:09:57 +0000 (18:09 +0000)]
re PR fortran/37131 (inline matmul for small matrix sizes)
2015-05-03 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/37131
* gfortran.dg/bound_9.f90: Add pointer assignment.
From-SVN: r222751
Matthias Klose [Sun, 3 May 2015 17:31:26 +0000 (17:31 +0000)]
configure.ac: Match $host configured with triplets.
2015-05-03 Matthias Klose <doko@ubuntu.com>
* configure.ac: Match $host configured with triplets.
* configure: Regenerate.
From-SVN: r222750
GCC Administrator [Sun, 3 May 2015 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222746
Trevor Saunders [Sat, 2 May 2015 21:07:15 +0000 (21:07 +0000)]
make emit_partition_copy return a rtx_insn *
gcc/ChangeLog:
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
(insert_partition_copy_on_edge): Adjust.
(insert_rtx_to_part_on_edge): Likewise.
(insert_part_to_rtx_on_edge): Likewise.
From-SVN: r222742
Trevor Saunders [Sat, 2 May 2015 21:06:59 +0000 (21:06 +0000)]
make set_return_jump_label take an rtx_insn *
gcc/ChangeLog:
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* function.c (set_return_jump_label): Change type of argument to
rtx_insn *.
* function.h (set_return_jump_label): Adjust.
From-SVN: r222741
Trevor Saunders [Sat, 2 May 2015 21:06:43 +0000 (21:06 +0000)]
type reg_equiv_init as rtx_insn_list
gcc/ChangeLog:
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* reload.h (struct reg_equivs_t): Change type of init to
rtx_insn *.
* ira.c (fix_reg_equiv_init): Adjust.
* reload1.c (eliminate_regs_1): Likewise.
(init_eliminable_invariants): Likewise.
From-SVN: r222740
Trevor Saunders [Sat, 2 May 2015 21:06:27 +0000 (21:06 +0000)]
make fp_setter_insn take a rtx_insn *
gcc/ChangeLog:
2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* cselib.c (fp_setter_insn): Take a rtx_insn *.
* cselib.h (fp_setter_insn): Adjust.
From-SVN: r222739