1. 04 Apr, 2018 10 commits
    • [NDS32] Implement movmisalignsi and movmisaligndi pattern. · 2cf09a99
      gcc/
      	* config/nds32/nds32.md (movmisalign<mode>): New pattern.
      
      Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
      
      From-SVN: r259073
      Kito Cheng committed
    • re PR libfortran/85166 ([nvptx, libgfortran] Libgomp fortran tests using stop in… · bb347ee2
      re PR libfortran/85166 ([nvptx, libgfortran] Libgomp fortran tests using stop in offloaded fns fail to compile)
      
      2018-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/85166
      	* runtime/minimal.c (stop_numeric): Add new function in order to
      	implement numeric stop on minimal targets.
      
      From-SVN: r259072
      Thomas Koenig committed
    • [NDS32] Merge movqi and movhi patterns. · 76dc9cb5
      gcc/
      	* config/nds32/nds32.md (movqi, movhi): Merge into mov<mode>.
      
      From-SVN: r259071
      Chung-Ju Wu committed
    • [NDS32] Refine movcc, cmov, cstore and cbranch patterns. · 6e9ca932
      gcc/
      	* config/nds32/nds32-md-auxiliary.c (nds32_inverse_cond_code,
      	nds32_cond_code_str, output_cond_branch,
      	output_cond_branch_compare_zero, nds32_expand_cbranch,
      	nds32_expand_cstore, nds32_expand_movcc,
      	nds32_output_cbranchsi4_equality_zero,
      	nds32_output_cbranchsi4_equality_reg,
      	nds32_output_cbranchsi4_equality_reg_or_const_int,
      	nds32_output_cbranchsi4_greater_less_zero: New functions.
      	* config/nds32/nds32-protos.h (nds32_expand_cbranch,
      	nds32_expand_cstore, nds32_expand_movcc,
      	nds32_output_cbranchsi4_equality_zero,
      	nds32_output_cbranchsi4_equality_reg,
      	nds32_output_cbranchsi4_equality_reg_or_const_int,
      	nds32_output_cbranchsi4_greater_less_zero): Declare.
      	* config/nds32/predicates.md (nds32_movecc_comparison_operator,
      	nds32_rimm11s_operand): New predicates.
      	* config/nds32/nds32.h (nds32_expand_result_type): New enum type.
      	* config/nds32/nds32.md: Rewrite all the branch and conditional move
      	patterns.
      
      Co-Authored-By: Kito Cheng <kito.cheng@gmail.com>
      
      From-SVN: r259070
      Chung-Ju Wu committed
    • [NDS32] Refine instruction type attribute. · 5ba6d585
      gcc/
      	* config/nds32/nds32-doubleword.md: Refine all the instruction type.
      	* config/nds32/nds32.md: Ditto.
      	* config/nds32/pipelines.md: Ditto.
      
      From-SVN: r259069
      Kito Cheng committed
    • re PR tree-optimization/85168 (ICE in tree-ssa-coalesce.c: SSA corruption:… · 7d048870
      re PR tree-optimization/85168 (ICE in tree-ssa-coalesce.c: SSA corruption: Unable to coalesce ssa_names which are marked as MUST COALESCE when -O2 is used)
      
      2018-04-04  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/85168
      	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Avoid
      	propagating abnormals.
      
      	* gcc.dg/torture/pr85168.c: New testcase.
      
      From-SVN: r259068
      Richard Biener committed
    • [PR c++/84943] mark function as used when taking its address · 24d21a0b
      fn[0]() ICEd because we would fold the INDIRECT_REF used for the
      array indexing while building the address for the call, after not
      finding the decl hiding there at first.  But the decl would be exposed
      by the folding, and then lower layers would complain we had the decl,
      after all, but it wasn't one of the artificial or special functions
      that could be called without being marked as used.
      
      This patch arranges for a FUNCTION_DECL to be marked as used when
      taking its address, just like we already did when taking the address
      of a static function to call it as a member function (i.e. using the
      obj.fn() notation).  However, we shouldn't mark functions as used when
      just performing overload resolution, lest we might instantiate
      templates we shouldn't, as in g++.dg/overload/template1.C, so we
      adjust mark_used to return early when testing conversions.
      
      
      for  gcc/cp/ChangeLog
      
      	PR c++/84943
      	* typeck.c (cp_build_addr_expr_1): Mark FUNCTION_DECL as
      	used.
      	* decl2.c (mark_used): Return without effects if tf_conv.
      
      for  gcc/testsuite/ChangeLog
      
      	PR c++/84943
      	* g++.dg/pr84943.C: New.
      	* g++.dg/pr84943-2.C: New.
      
      From-SVN: r259067
      Alexandre Oliva committed
    • [NDS32] Change enabled attribute to yes/no instead of 1/0. · 30feb954
      gcc/
      	* config/nds32/nds32.md (enabled): Use yes/no for this attribute.
      
      From-SVN: r259066
      Chung-Ju Wu committed
    • [NDS32] Refine implementation of sibcall patterns. · cc48a87f
      gcc/
      	* config/nds32/nds32-md-auxiliary.c (nds32_long_call_p): New function.
      	* config/nds32/nds32-protos.h (nds32_long_call_p): Declare.
      	* config/nds32/nds32.c (nds32_function_ok_for_sibcall): New function.
      	(TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
      	* config/nds32/nds32.md (sibcall_internal): New.
      	(sibcall_register): Remove.
      	(sibcall_immediate): Remove.
      	(sibcall_value_internal): New.
      	(sibcall_value_register): Remove.
      	(sibcall_value_immediate): Remove.
      	* config/nds32/predicates.md (nds32_general_register_operand): New.
      	(nds32_call_address_operand): New.
      
      Co-Authored-By: Kito Cheng <kito.cheng@gmail.com>
      
      From-SVN: r259065
      Chung-Ju Wu committed
    • Daily bump. · a1b81a03
      From-SVN: r259064
      GCC Administrator committed
  2. 03 Apr, 2018 24 commits
  3. 02 Apr, 2018 6 commits