1. 24 May, 2014 10 commits
  2. 23 May, 2014 30 commits
    • gfc-internals.texi: Change URLs to HTTPS; fix broken links. · 2bf716a9
      2014-05-23  Tobias Burnus  <burnus@net-b.de>
      
              * gfc-internals.texi: Change URLs to HTTPS; fix broken links.
              * gfortran.texi: Ditto.
      
      From-SVN: r210877
      Tobias Burnus committed
    • rs6000: Make all rlw*nm and rld*c* type shift · a35dd1fa
      They are often labeled just "integer" currently.  Fix that.
      
      Also handle shift properly in those scheduling descriptions that
      neglected it.
      
      From-SVN: r210873
      Segher Boessenkool committed
    • rs6000: Make all logical instructions one type · 73c076c8
      They are currently just "integer", but the dot version is fast_compare.
      This makes them all "logical".
      
      From-SVN: r210872
      Segher Boessenkool committed
    • rs6000: Make all add instructions one type · 0cbb4f58
      They are currently just "integer", but the dot version is fast_compare.
      This makes them all "add".  Later we should introduce attributes to
      distinguish e.g. addc and adde (which aren't currently handled as
      separate instructions at all, only in groups).
      
      From-SVN: r210871
      Segher Boessenkool committed
    • rs6000: Make all shift instructions one type · 892e7fa6
      This uses the attributes "var_shift" and "dot" to specify the differences:
      
      	var_shift_rotate    -> shift var_shift=yes
      	delayed_compare     -> shift var_shift=no  dot=yes
      	var_delayed_compare -> shift var_shift=yes dot=yes
      
      From-SVN: r210870
      Segher Boessenkool committed
    • rs6000: Make all divide instructions one type · 441e02a5
      This uses the attribute "size" to specify the differences:
      
      	idiv -> div size=32
      	ldiv -> div size=64
      
      It could use "dot" as well, but the current code doesn't handle that.
      
      From-SVN: r210869
      Segher Boessenkool committed
    • rs6000: Make all insert instructions one type · 58ee9e66
      This uses the attribute "size" to specify the differences:
      
      	insert_word  -> insert size=32
      	insert_dword -> insert size=64
      
      It could use "dot" as well, but the current code doesn't handle that.
      
      From-SVN: r210868
      Segher Boessenkool committed
    • rs6000: Make all multiply instructions one type · e0528ed9
      This uses the attributes "size" and "dot" to specify the differences:
      
      	imul3 -> mul size=8
      	imul2 -> mul size=16
      	imul -> mul size=32
      	lmul -> mul size=64
      	imul_compare -> mul size=32 dot=yes
      	lmul_compare -> mul size=64 dot=yes
      
      From-SVN: r210867
      Segher Boessenkool committed
    • rs6000: New type attribute value "halfmul" · 1263d642
      This is for the legacy integer multiply-accumulate instructions.
      Quite a mouthful, and "mulhw" is also a terrible name since we already
      have a machine instruction called exactly that.  Hence "halfmul".
      
      Also fixes the titan automaton description for this.
      
      From-SVN: r210866
      Segher Boessenkool committed
    • [PATCH 1/9] rs6000: Clean up the "type" attribute · 1be6301a
      Get rid of the one huge line.  Group and order things a bit.  Further
      changes will follow so this doesn't try to make it perfect.
      
      From-SVN: r210865
      Segher Boessenkool committed
    • re PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement) · 8aab5218
      2014-05-23  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/53787
      	* params.def (PARAM_IPA_MAX_AA_STEPS): New param.
      	* ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
      	analysis_done, update all uses.
      	* ipa-prop.c: Include domwalk.h
      	(param_analysis_info): Removed.
      	(param_aa_status): New type.
      	(ipa_bb_info): Likewise.
      	(func_body_info): Likewise.
      	(ipa_get_bb_info): New function.
      	(aa_overwalked): Likewise.
      	(find_dominating_aa_status): Likewise.
      	(parm_bb_aa_status_for_bb): Likewise.
      	(parm_preserved_before_stmt_p): Changed to use new param AA info.
      	(load_from_unmodified_param): Accept func_body_info as a parameter
      	instead of parms_ainfo.
      	(parm_ref_data_preserved_p): Changed to use new param AA info.
      	(parm_ref_data_pass_through_p): Likewise.
      	(ipa_load_from_parm_agg_1): Likewise.  Update callers.
      	(compute_complex_assign_jump_func): Changed to use new param AA info.
      	(compute_complex_ancestor_jump_func): Likewise.
      	(ipa_compute_jump_functions_for_edge): Likewise.
      	(ipa_compute_jump_functions): Removed.
      	(ipa_compute_jump_functions_for_bb): New function.
      	(ipa_analyze_indirect_call_uses): Likewise, moved variable
      	declarations down.
      	(ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
      	and info, moved variable declarations down.
      	(ipa_analyze_call_uses): Accept and pass on func_body_info instead of
      	node and info.
      	(ipa_analyze_stmt_uses): Likewise.
      	(ipa_analyze_params_uses): Removed.
      	(ipa_analyze_params_uses_in_bb): New function.
      	(ipa_analyze_controlled_uses): Likewise.
      	(free_ipa_bb_info): Likewise.
      	(analysis_dom_walker): New class.
      	(ipa_analyze_node): Handle node-specific forbidden analysis,
      	initialize and free func_body_info, use dominator walker.
      	(ipcp_modif_dom_walker): New class.
      	(ipcp_transform_function): Create and free func_body_info, use
      	ipcp_modif_dom_walker, moved a lot of functionality there.
      
      From-SVN: r210864
      Martin Jambor committed
    • re PR rtl-optimization/61215 (ICE in gen_add2_insn, at optabs.c:4718 when building wine-1.7.19) · 63b0b106
      2014-05-23  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/61215
      	* gcc.target/i386/pr61215.c: New.
      
      From-SVN: r210863
      Vladimir Makarov committed
    • builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT. · 85a16bf8
      	* builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
      	* gcc.c (sanitize_spec_function): Likewise.
      	* convert.c (convert_to_integer): Include "ubsan.h".  Add
      	floating-point to integer instrumentation.
      	* doc/invoke.texi: Document -fsanitize=float-cast-overflow.
      	* flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
      	SANITIZE_NONDEFAULT.
      	* opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
      	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
      	BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
      	* ubsan.c: Include "realmpfr.h" and "dfp.h".
      	(get_ubsan_type_info_for_type): Handle REAL_TYPEs.
      	(ubsan_type_descriptor): Set tkind to 0xffff for types other than
      	float/double/long double.
      	(ubsan_instrument_float_cast): New function.
      	* ubsan.h (ubsan_instrument_float_cast): Declare.
      testsuite/
      	* c-c++-common/ubsan/float-cast-overflow-1.c: New test.
      	* c-c++-common/ubsan/float-cast-overflow-10.c: New test.
      	* c-c++-common/ubsan/float-cast-overflow-2.c: New test.
      	* c-c++-common/ubsan/float-cast-overflow-3.c: New test.
      	* c-c++-common/ubsan/float-cast-overflow-4.c: New test.
      	* c-c++-common/ubsan/float-cast-overflow-5.c: New test.
      	* c-c++-common/ubsan/float-cast-overflow-6.c: New test.
      	* c-c++-common/ubsan/float-cast-overflow-7.c: New test.
      	* c-c++-common/ubsan/float-cast-overflow-7.h: New file.
      	* c-c++-common/ubsan/float-cast-overflow-8.c: New test.
      	* c-c++-common/ubsan/float-cast-overflow-9.c: New test.
      	* c-c++-common/ubsan/float-cast.h: New file.
      	* g++.dg/ubsan/float-cast-overflow-bf.C: New test.
      	* gcc.dg/ubsan/float-cast-overflow-bf.c: New test.
      libsanitizer/
      	* ubsan/ubsan_value.cc (getFloatValue): Handle 96-bit
      	floating-point types.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r210862
      Marek Polacek committed
    • [AARCH64] Support tail indirect function call. · fee9ba42
      From-SVN: r210861
      Jiong Wang committed
    • Be a bit less explicit. · 09af4b4c
      	gcc/
      	* gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
      	Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
      
      From-SVN: r210860
      Thomas Schwinge committed
    • 54297.cc: Remove duplicate dragonfly selector. · cfbe41d0
      	* testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
      	selector.
      	* testsuite/30_threads/call_once/60497.cc: Likewise.
      	* testsuite/30_threads/condition_variable/54185.cc: Likewise.
      	* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
      	* testsuite/30_threads/packaged_task/60564.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
      	* testsuite/30_threads/promise/60966.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
      	* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
      	* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
      	* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
      	* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
      	* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
      	* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
      	* testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
      	* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
      	* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
      
      From-SVN: r210859
      Jonathan Wakely committed
    • Make it easier to diff expand_omp_for_* functions. · ed20ae98
      	gcc/
      	* omp-low.c (expand_omp_for_static_chunk): Rename variable si to
      	gsi, and variables v_* to v*.
      
      From-SVN: r210858
      Thomas Schwinge committed
    • lambda-init9.C: New. · 6842efc7
      2014-05-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp1y/lambda-init9.C: New.
      
      From-SVN: r210857
      Paolo Carlini committed
    • GF_OMP_FOR_SIMD: Flag for SIMD variants of OMP_FOR kinds. · 0aadce73
      	gcc/
      	* gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
      	* omp-low.c: Update accordingly.
      
      From-SVN: r210855
      Thomas Schwinge committed
    • Just enumerate all GF_OMP_FOR_KIND_* and GF_OMP_TARGET_KIND_*. · eb63c927
      	gcc/
      	* gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
      	for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
      	GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
      	GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
      	GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
      	GF_OMP_TARGET_KIND_UPDATE.
      
      From-SVN: r210854
      Thomas Schwinge committed
    • Remove duplicated variable initialization. · f3316c6d
      	gcc/c/
      	* c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
      	initialization.
      	gcc/cp/
      	* semantics.c (finish_omp_clauses): Remove duplicated variable
      	initialization.
      
      From-SVN: r210853
      Thomas Schwinge committed
    • Be more explicit. · a5a5434f
      	gcc/
      	* gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
      	Explicitly enumerate the expected region types.
      
      From-SVN: r210852
      Thomas Schwinge committed
    • Fix some bool vs. tree confusion. · edbba2ce
      	gcc/c/
      	* c-parser.c (c_parser_omp_target): Return bool values.
      	gcc/cp/
      	* parser.c (cp_parser_omp_target): Return bool values.
      
      From-SVN: r210851
      Thomas Schwinge committed
    • 1.cc: Add xfail for dragonfly. · d90838f9
      	* testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
      	dragonfly.
      	* testsuite/30_threads/call_once/60497.cc: Add target selectors.
      	* testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
      
      From-SVN: r210850
      Jonathan Wakely committed
    • re PR libstdc++/60793 (Add target *-*-dragonfly* to dg-options on 172 libstdc++ tests) · 75a8a745
      	PR libstdc++/60793
      	* testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
      	dragonfly target selector to all tests that run on freebsd.
      
      From-SVN: r210849
      Jonathan Wakely committed
    • re PR other/56955 (documentation for attribute malloc contradicts itself) · ee526ea7
      2014-05-22  Paul Eggert  <eggert@cs.ucla.edu>
      
      	PR other/56955
      	* doc/extend.texi (Function Attributes): Fix  __attribute__ ((malloc))
      	documentation; the old documentation didn't clearly state the
      	constraints on the contents of the pointed-to storage.
      
      From-SVN: r210848
      Paul Eggert committed
    • re PR tree-optimization/61266 (FAIL: gcc.dg/Wstrict-overflow-18.c (test for… · 803e4cbb
      re PR tree-optimization/61266 (FAIL: gcc.dg/Wstrict-overflow-18.c  (test for bogus messages, line 20))
      
      2014-05-23  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/61266
      	* gcc.dg/Wstrict-overflow-18.c: Revert un-XFAILing and
      	adjust testcase to reflect reality.
      
      From-SVN: r210846
      Richard Biener committed
    • Fix bootstrap error on ia64 · 676cad4d
      	* config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
      	Return default value.
      
      From-SVN: r210845
      Maxim Kuvyrkov committed
    • re PR tree-optimization/54733 (Missing opportunity to optimize endian independent load/store) · 73984f84
      2014-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	PR tree-optimization/54733
      gcc/
      	* tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
      	(CMPNOP): Define.
      	(find_bswap_or_nop_load): New.
      	(find_bswap_1): Renamed to ...
      	(find_bswap_or_nop_1): This. Also add support for memory source.
      	(find_bswap): Renamed to ...
      	(find_bswap_or_nop): This. Also add support for memory source and
      	detection of bitwise operations equivalent to load in host endianness.
      	(execute_optimize_bswap): Likewise. Also move its leading comment back
      	in place and split statement transformation into ...
      	(bswap_replace): This.
      
      gcc/testsuite
      	* gcc.dg/optimize-bswapdi-3.c: New test to check extension of bswap
      	optimization to support memory sources and bitwise operations
      	equivalent to load in host endianness.
      	* gcc.dg/optimize-bswaphi-1.c: Likewise.
      	* gcc.dg/optimize-bswapsi-2.c: Likewise.
      	* gcc.c-torture/execute/bswap-2.c: Likewise.
      
      From-SVN: r210843
      Thomas Preud'homme committed