1. 25 Aug, 2015 11 commits
  2. 24 Aug, 2015 29 commits
    • re PR target/66609 ([sh] Relative address expressions bind at as-time, even if symbol is weak) · fbce972a
      PR target/66609
      * [SH] Take into account weak symbols for pc relative calls/sibcalls.
      
      From-SVN: r227155
      Kaz Kojima committed
    • Specify the type of scop->region · 2a611178
      Changing the type of scop::region from void* to sese, as this is
      the only type assigned to scop::region for now. No functional changes intended.
      Passes regtest and bootstrap.
      
      gcc/ChangeLog:
      
      2015-08-17  Aditya Kumar  <aditya.k7@samsung.com>
      
              * graphite-poly.c: Change type of region from void* to sese.
              * graphite-poly.h (struct scop): Changing the type of scop::region
      	from void* to sese. Change accessor macro accordingly.
              * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.
      
      From-SVN: r227151
      Aditya Kumar committed
    • Constrain only on INTEGER_TYPE · 9ead801e
      Passes bootstrap, no regressions.
      
      With this patch gcc bootstraps with graphite.
      make BOOT_CFLAGS="-g -O2 -fgraphite-identity -floop-interchange -floop-block"
      
      gcc/ChangeLog:
      
      2015-08-12  Aditya Kumar  <hiraditya@msn.com>
      
              * graphite-scop-detection.c (stmt_simple_for_scop_p):
      	Constrain only on INTEGER_TYPE
      
      From-SVN: r227150
      Aditya Kumar committed
    • formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry. · 41e4e5ed
      2015-08-24  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
      	New enum entry.
      	* include/debug/functions.h (_Irreflexive_checker): New.
      	(__is_irreflexive, __is_irreflexive_pred): New.
      	* include/debug/macros.h
      	(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
      	macros.
      	(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
      	macros limited to post-C++11 mode.
      	* include/debug/debug.h
      	(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
      	New macros, use latter.
      	(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
      	Likewise.
      	* include/bits/stl_algo.h
      	(partial_sort_copy): Add irreflexive debug check.
      	(partial_sort_copy): Likewise.
      	(lower_bound): Likewise.
      	(upper_bound): Likewise.
      	(equal_range): Likewise.
      	(binary_search): Likewise.
      	(inplace_merge): Likewise.
      	(includes): Likewise.
      	(next_permutation): Likewise.
      	(prev_permutation): Likewise.
      	(is_sorted_until): Likewise.
      	(minmax_element): Likewise.
      	(partial_sort): Likewise.
      	(nth_element): Likewise.
      	(sort): Likewise.
      	(merge): Likewise.
      	(stable_sort): Likewise.
      	(set_union): Likewise.
      	(set_intersection): Likewise.
      	(set_difference): Likewise.
      	(set_symmetric_difference): Likewise.
      	(min_element): Likewise.
      	(max_element): Likewise.
      	* include/bits/stl_algobase.h
      	(lower_bound): Likewise.
      	(lexicographical_compare): Likewise.
      	* include/bits/stl_heap.h
      	(push_heap): Likewise.
      	(pop_heap): Likewise.
      	(make_heap): Likewise.
      	(sort_heap): Likewise.
      	(is_heap_until): Likewise.
      	* testsuite/25_algorithms/lexicographical_compare/debug/
      	irreflexive_neg.cc: New.
      	* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
      	* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
      	New.
      
      From-SVN: r227147
      François Dumont committed
    • configure.ac: Set have_mmap to no on spu-*-* targets. · 1b533361
      	* configure.ac: Set have_mmap to no on spu-*-* targets.
      	* configure: Regenerate.
      
      From-SVN: r227145
      Ulrich Weigand committed
    • re PR target/67211 (ICE (insn does not satisfy its constraints) on powerpc64le-linux-gnu) · 74457d00
      [gcc]
      2015-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/67211
      	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
      	-mefficient-unaligned-vsx on ISA 2.7.
      
      	* config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
      	option to a masked option.
      
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
      	logic for -mefficient-unaligned-vsx so that it is set via an arch
      	ISA option, instead of being set if -mtune=power8 is set. Move
      	-mefficient-unaligned-vsx and -mallow-movmisalign handling to be
      	near other default option handling.
      
      [gcc/testsuite]
      2015-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/67211
      	* g++.dg/pr67211.C: New test.
      
      From-SVN: r227144
      Michael Meissner committed
    • genflags.c (gen_macro): Delete. · 58d745ec
      gcc/
      	* genflags.c (gen_macro): Delete.
      	(gen_proto): Don't create GEN.*CALL.* macros.
      	* gensupport.h (get_file_location): Declare.
      	* gensupport.c (rtx_locs): New variable.
      	(read_md_rtx): Record rtx locations.
      	(get_file_location): New function.
      	* target-insns.def (call, call_pop, call_value, call_value_pop)
      	(sibcall, sibcall_value): New patterns.
      	* gentarget-def.c (parse_argument): New function.
      	(def_target_insn): Use it.  Handle optional operands.  Raise an
      	error if an .md pattern has the wrong number of operands for the
      	pattern name.  Remove the names of unused operands from the prototype.
      	* builtins.c (expand_builtin_apply): Use targetm functions
      	instead of HAVE_call_value and GEN_CALL_VALUE.
      	* calls.c (emit_call_1): Likewise.  Remove support for sibcall_pop
      	and sibcall_value_pop.
      	* config/aarch64/aarch64.md (untyped_call): Use gen_call instead
      	of GEN_CALL.
      	* config/alpha/alpha.md (untyped_call): Likewise.
      	* config/iq2000/iq2000.md (untyped_call): Likewise.
      	* config/m68k/m68k.md (untyped_call): Likewise.
      	* config/mips/mips.md (untyped_call): Likewise.
      	* config/pa/pa.md (untyped_call): Likewise.
      	* config/rs6000/rs6000.md (untyped_call): Likewise.
      	* config/sparc/sparc.md (untyped_call): Likewise.
      	* config/tilegx/tilegx.md (untyped_call): Likewise.
      	* config/tilepro/tilepro.md (untyped_call): Likewise.
      	* config/visium/visium.md (untyped_call): Likewise.
      	* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
      	gen_call_value instead of GEN_CALL_VALUE.
      	* config/arm/arm.md (untyped_call): Likewise.
      	* config/cr16/cr16.c (cr16_function_arg): Remove reference to
      	GEN_CALL.
      
      From-SVN: r227143
      Richard Sandiford committed
    • ifcvt.c (HAVE_incscc, [...]): Delete. · 651159e5
      gcc/
      	* ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
      	(have_cbranchcc4): New variable.
      	(cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
      	(noce_get_condition): Use it instead of HAVE_cbranchcc4.
      	(if_convert): Initialize have_cbranchcc4.
      
      From-SVN: r227142
      Richard Sandiford committed
    • builtins.c (expand_cmpstrn): Rename to... · 7f9f48be
      gcc/
      	* builtins.c (expand_cmpstrn): Rename to...
      	(expand_cmpstrn_or_cmpmem): ...this.
      	(expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
      	(expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
      	Remove mode argument.
      	(expand_builtin): Update accordingly.
      
      From-SVN: r227141
      Richard Sandiford committed
    • builtins.c (expand_cmpstr, [...]): New functions. · a666df60
      gcc/
      	* builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
      	(expand_builtin_strcmp, expand_builtin_strncmp): Use them.  Remove
      	references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
      	* config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
      	Add predicates for operands 0 and 3.
      	* config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
      	operand.
      	* config/sh/sh.md (cmpstrnsi): Change the length predicate from
      	immediate_operand to nonmemory_operand.
      
      From-SVN: r227140
      Richard Sandiford committed
    • df-scan.c (df_insn_info_init_fields): New function, split out from... · 762613be
      gcc/
      	* df-scan.c (df_insn_info_init_fields): New function, split out
      	from...
      	(df_insn_create_insn_record): ...here.
      	(df_insn_info_free_fields): New function, split out from...
      	(df_insn_info_delete): ...here.
      	(df_insn_rescan): Use the new functions instead of freeing and
      	reallocating the df_insn_info.
      
      From-SVN: r227139
      Richard Sandiford committed
    • libgomp.map: Add 4.0.2 version. · 2a21ff19
      	libgomp/
      	* libgomp.map: Add 4.0.2 version.
      	* target.c (offload_image_descr): Add version field.
      	(gomp_load_image_to_device): Add version argument.  Adjust plugin
      	call.  Improve load mismatch diagnostic.
      	(gomp_unload_image_from_device): Add version argument.  Adjust plugin
      	call.
      	(GOMP_offload_regster): Make stub function, move bulk to ...
      	(GOMP_offload_register_ver): ... here.  Process version argument.
      	(GOMP_offload_unregister): Make stub function, move bulk to ...
      	(GOMP_offload_unregister_ver): ... here.  Process version argument.
      	(gomp_init_device): Process version field.
      	(gomp_unload_device): Process version field.
      	(gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
      	macros.  Check plugin version.
      	* libgomp.h (gomp_device_descr): Add version function field.  Adjust
      	loader and unloader types.
      	* oacc-host.c: Include gomp-constants.h.
      	(host_version): New.
      	(host_load_image, host_unload_image): Adjust.
      	(host_dispatch): Add host_version.
      	* plugin/plugin-nvptx.c: Include gomp-constants.h.
      	(GOMP_OFFLOAD_version): New.
      	(GOMP_OFFLOAD_load_image): Add version arg and check it.
      	(GOMP_OFFLOAD_unload_image): Likewise.
      	* plugin/plugin-host.c: Include gomp-constants.h.
      	(GOMP_OFFLOAD_version): New.
      	(GOMP_OFFLOAD_load_image): Add version arg.
      	(GOMP_OFFLOAD_unload_image): Likewise.
      
      	liboffloadmic/
      	* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_version): New.
      	(GOMP_OFFLOAD_load_image): Add version arg and check it.
      	(GOMP_OFFLOAD_unload_image): Likewise.
      
      	include/
      	* gomp-constants.h (GOMP_VERSION, GOMP_VERSION_NVIDIA_PTX,
      	GOMP_VERSION_INTEL_MIC): New.
      	(GOMP_VERSION_PACK, GOMP_VERSION_LIB, GOMP_VERSION_DEV): New.
      
      	gcc/
      	* config/nvptx/mkoffload.c (process): Replace
      	GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver.
      
      From-SVN: r227137
      Nathan Sidwell committed
    • re PR libfortran/57496 (I/O: WRITE(*,*) HUGE(0._10) gives SIGFPE with -ffpe-trap=overflow) · 5cdf54b7
      	PR libfortran/57496
      	* io/write_float.def: Use built-in type-generic functions defined
      	by libgfortran.h for isfinite, isnan, and signbit.
      
      From-SVN: r227136
      Francois-Xavier Coudert committed
    • re PR fortran/62536 (ICE (segfault) for invalid END BLOCK statement) · 9f7ba208
      	PR fortran/62536
      	PR fortran/66175
      
      	* decl.c (gfc_match_end): Clean up nested BLOCKs.
      	* parse.c (parse_block_construct): Deal gracefully with cleaned-up
      	BLOCKs.
      
      	* gfortran.dg/block_end_error_1.f90: New test.
      	* gfortran.dg/blocks_nested_incomplete_1.f90: New test.
      
      From-SVN: r227135
      Louis Krupp committed
    • re PR tree-optimization/67284 (libgo fails to build on trunk r227015 / *-linux-gnu) · 2021ff27
      	PR tree-optimization/67284
      	* go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
      	Set TREE_THIS_VOLATILE.
      	(Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
      	Pass false to the rest of define_builtin calls.
      
      From-SVN: r227134
      Marek Polacek committed
    • Add a testcase for PR target/66821 · 76eed9d9
      	PR target/66821
      	* gcc.target/i386/pr66821.c: New test.
      
      From-SVN: r227133
      H.J. Lu committed
    • Update MOVE_RATIO cost for IA MCU · 03541b0d
      This patch updates MOVE_RATIO cost for IA MCU from 6 to 9 so that we
      can unroll the loop completely for DOM with -mtune=iamcu.
      
      gcc/
      
      	PR target/67329
      	* config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9.
      
      gcc/testsuite/
      
      	PR target/67329
      	* gcc.target/i386/pr67329.c: New test.
      
      From-SVN: r227132
      H.J. Lu committed
    • Add libgomp.oacc-c-c++-common/vector-loop.c · 1358a747
      2015-08-24  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/65468
      	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
      
      From-SVN: r227130
      Tom de Vries committed
    • [PATCH][ARM]Tighten the conditions for arm_movw, arm_movt. · 6ce43645
      gcc/
      
      2015-08-24  Renlin Li  <renlin.li@arm.com>
      
      	* config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare.
      	* config/arm/arm.c (arm_valid_symbolic_address_p): Define.
      	* config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p.
      	* config/arm/constraints.md ("j"): Add check for high code.
      
      From-SVN: r227129
      Renlin Li committed
    • pr49551.c: Needs -fdata-sections. · 55466f20
      	* gcc/testsuite/gcc.dg/pr49551.c: Needs -fdata-sections.
      
      	* gcc/testsuite/gcc.dg/pr64935-2.c: Needs scheduling.
      
      	* gcc/testsuite/gcc.dg/torture/pr66101.c: Needs nonlocal goto.
      	* gcc/testsuite/gcc.dg/torture/pr63738.c: Likewise.
      	* gcc/testsuite/gcc.dg/torture/pr64728.c: Likewise.
      	* gcc/testsuite/gcc.dg/pr63748.c: Likewise.
      	* gcc/testsuite/gcc.dg/20020312-2.c: Likewise.
      
      	* gcc/testsuite/gcc.dg/torture/pr66123.c: Needs label_values.
      
      	* gcc/testsuite/gcc.dg/torture/pr41261.c: Needs profiling.
      	* gcc/testsuite/gcc.dg/pr26570.c: Likewise.
      	* gcc/testsuite/gcc.dg/pr61776.c: Likewise.
      	* gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c: Likewise.
      	* gcc/testsuite/gcc.dg/gomp/pr34610.c: Likewise.
      	* gcc/testsuite/gcc.dg/pr54121.c: Likewise.
      	* gcc/testsuite/gcc.dg/20050325-1.c: Likewise.
      	* gcc/testsuite/gcc.dg/pr66899.c: Likewise.
      	* gcc/testsuite/gcc.dg/pr48770.c: Likewise.
      	* gcc/testsuite/gcc.dg/pr24225.c: Likewise.
      
      	* gcc/testsuite/gcc.dg/pr27531-1.c: Needs io.
      	* gcc/testsuite/gcc.dg/pr44606.c: Likewise.
      
      	* gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c: Needs weak.
      
      	* gcc/testsuite/gcc.dg/pr51990.c: Needs alloca.
      
      	* gcc/testsuite/gcc.misc-tests/options.exp: Disable profiling
      	check for nvptx.
      
      From-SVN: r227128
      Nathan Sidwell committed
    • re PR libstdc++/65049 (Undefined behaviour with std::char_traits<char>) · 4a88769c
      	PR libstdc++/65049
      	* include/bits/char_traits.h (char_traits<char>::compare,
      	char_traits<char>::find, char_traits<char>::move,
      	char_traits<char>::copy, char_traits<char>::assign): Check for zero
      	length.
      	(char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
      	char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
      	char_traits<wchar_t>::assign): Likewise.
      	(char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
      	(char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
      	* include/ext/pod_char_traits.h (char_traits<character<>>::move,
      	char_traits<character<>>::copy): Likewise.
      	* testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
      	* testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
      	New.
      	* testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
      	New.
      	* testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
      	New.
      
      From-SVN: r227127
      Jonathan Wakely committed
    • re PR libstdc++/67309 (Error compiling with -std=c++11 and -fsingle-precision-constant) · 3af7efb7
      	PR libstdc++/67309
      	* include/bits/random.tcc
      	(poisson_distribution::param_type::_M_initialize): Use max<double>.
      	(binomial_distribution::param_type::_M_initialize): Likewise.
      	* testsuite/17_intro/headers/c++200x/67309.cc: New.
      	* testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
      	redundant header.
      
      From-SVN: r227126
      Jonathan Wakely committed
    • Makefile.am (include_src_dir): Set. · 8e87588a
      	* plugin/Makefile.am (include_src_dir): Set.
      	[PLUGIN_HOST] (libgomp_plugin_intelmic_la_CPPFLAGS): Use it.
      	* plugin/Makefile.in: Regenerate.
      	* plugin/libgomp-plugin-intelmic.cpp: Include "gomp-constants.h".
      
      From-SVN: r227125
      Thomas Schwinge committed
    • Optimize expand_omp_for_static_chunk for chunk_size one · 6be5c241
      2015-08-24  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/65468
      	* omp-low.c (expand_omp_for_static_chunk): Remove inner loop if
      	chunk_size is one.
      
      	* gcc.dg/gomp/static-chunk-size-one.c: New test.
      
      	* testsuite/libgomp.c/static-chunk-size-one.c: New test.
      
      From-SVN: r227124
      Tom de Vries committed
    • nvptx.c (walk_args_for_param): Revert previous change to nvptx_type_from_mode call. · 7373d132
      	* config/nvptx/nvptx.c (walk_args_for_param): Revert previous
      	change to nvptx_type_from_mode call. Use arg_promotion for both
      	split and non-split args.
      
      From-SVN: r227123
      Nathan Sidwell committed
    • target-insns.def (movstr): New pattern. · 7cff0471
      gcc/
      	* target-insns.def (movstr): New pattern.
      	* builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete.
      	(expand_movstr): Use targetm rather than HAVE_movstr/
      	CODE_FOR_movstr.
      
      From-SVN: r227121
      Richard Sandiford committed
    • microblaze.c (microblaze_classify_unspec): Fix cast syntax. · d26ed7fa
      gcc/
      	* config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
      	cast syntax.
      
      From-SVN: r227120
      Richard Sandiford committed
    • re PR libgomp/66761 (libgomp: ThreadSanitizer: data race in libgomp) · bfe7ac89
              PR libgomp/66761
              PR libgomp/67303
              * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
              (gomp_iter_guided_next): Idem.
              * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
              (gomp_iter_ull_guided_next): Idem.
              * config/linux/wait.h (do_spin): Idem.
      
      From-SVN: r227119
      Joost VandeVondele committed