Commit Graph

130948 Commits

Author SHA1 Message Date
GCC Administrator
fcb090b2cc Daily bump.
From-SVN: r212379
2014-07-09 00:17:14 +00:00
Ian Lance Taylor
fd4de8b2be re PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])
PR go/61308

compiler: Convert array start index before bounds checking.

From-SVN: r212372
2014-07-08 21:28:17 +00:00
Ian Lance Taylor
0630a48fdf re PR go/61746 (A line starting with /*// causes an error even if the /* is closed on the next line)
PR go/61746
compiler: Fix C-style comment parsing.

The compiler was incorrectly seeing /*/ as a complete C-style
comment.

From-SVN: r212370
2014-07-08 20:49:38 +00:00
Jakub Jelinek
7e6d8fd9f6 re PR rtl-optimization/61673 (Miscompilation of _gnutls_hostname_compare on s390)
PR rtl-optimization/61673
	* combine.c (simplify_comparison): Test just mode's sign bit
	in tmode rather than the sign bit and any bits above it.

	* gcc.c-torture/execute/pr61673.c: New test.

From-SVN: r212364
2014-07-08 17:39:36 +02:00
Roman Gareev
e4a452b215 graphite-isl-ast-to-gimple.c (generate_isl_context): Add __isl_give to the declaration.
gcc/
	* graphite-isl-ast-to-gimple.c (generate_isl_context):
	Add __isl_give to the declaration.
	(generate_isl_schedule): Likewise.
	(scop_to_isl_ast): Likewise.

From-SVN: r212361
2014-07-08 13:51:26 +00:00
Jonathan Wakely
b3771d3f6f allocated_ptr.h (__allocated_ptr::operator=): Add missing return.
* include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
	missing return.
	* include/experimental/any: Remove unused header.
	* include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
	* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
	* testsuite/util/testsuite_regex.h: Move include guard.

From-SVN: r212360
2014-07-08 14:22:14 +01:00
Kyrylo Tkachov
b2c06385fe [ARM] Cortex-A5 rtx costs table
* config/arm/arm.c (cortexa5_extra_costs): New table.
	(arm_cortex_a5_tune): Use cortexa5_extra_costs.

From-SVN: r212358
2014-07-08 13:17:13 +00:00
Jakub Jelinek
b48e3948be re PR middle-end/61725 (__builtin_ffs(0) leads to wrong code generation)
PR tree-optimization/61725
	* tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned
	range, use range_includes_zerop_p instead of integer_zerop on
	vr0->min, only use log2 of max if min is not negative.

	* gcc.dg/tree-ssa/vrp93.c: New test.
	* gcc.c-torture/execute/pr61725.c: New test.

From-SVN: r212353
2014-07-08 11:39:57 +02:00
Richard Biener
a59d8e8eb6 tree-ssa-dom.h (loop_depth_of_name): Remove.
2014-07-08  Richard Biener  <rguenther@suse.de>

	* tree-ssa-dom.h (loop_depth_of_name): Remove.
	* tree-ssa-dom.c (record_equivalences_from_phis): Remove
	restriction on loop depth difference.
	(record_equality): Likewise.
	(propagate_rhs_into_lhs): Likewise.  Simplify condition.
	(loop_depth_of_name): Remove.
	* tree-ssa-copy.c (copy_prop_visit_phi_node): Remove
	restriction on loop depth difference.
	(init_copy_prop): Likewise.

	* gcc.dg/tree-ssa/ssa-pre-16.c: Adjust expected eliminations.

From-SVN: r212352
2014-07-08 09:22:54 +00:00
Jan Hubicka
70f633c5b3 tree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHED parameter.
* tree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHED
	parameter.
	(walk_aliased_vdefs): Likewise.
	* tree-ssa-alias.h (walk_aliased_vdefs): Likewise.
	* ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers
	(detect_type_change_from_memory_writes): Check if entry was reached.

From-SVN: r212351
2014-07-08 09:12:56 +00:00
Rainer Orth
7f7563747e Use FP_RN etc. unconditionally
* config/fpu-sysv.h (get_fpu_rounding_mode): Use FP_RN, FP_RP,
	FP_RM, FP_RZ unconditionally.
	(set_fpu_rounding_mode): Likewise.

From-SVN: r212350
2014-07-08 09:08:49 +00:00
Richard Biener
e8e938e0b0 re PR tree-optimization/61681 (wrong code at -Os and above on x86_64-linux-gnu)
2014-07-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61681
	* tree-ssa-structalias.c (find_what_var_points_to): Expand
	NONLOCAL inside ESCAPED.

	* gcc.dg/torture/pr61681.c: New testcase.

From-SVN: r212349
2014-07-08 09:04:29 +00:00
Richard Biener
e33f43b9a6 re PR tree-optimization/61680 (vectorization gives wrong answer for sandybridge target)
2014-07-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61680
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
	Handle properly all read-write dependences with group accesses.

	* gcc.dg/vect/pr61680.c: New testcase.

From-SVN: r212348
2014-07-08 08:59:17 +00:00
Yuri Rumyantsev
0f6284d27f re PR tree-optimization/61576 (wrong code at -O3 on x86_64-linux-gnu)
PR tree-optimization/61576

gcc/
	* tree-if-conv.c (is_cond_scalar_reduction): Add check that
	basic block containing reduction statement is predecessor
	of phi basi block.

gcc/testsuite/
	* gcc.dg/torture/pr61576.c: New test.

From-SVN: r212347
2014-07-08 07:52:12 +00:00
Marek Polacek
605f12f4dc re PR middle-end/60226 (ICE initializing array of elements with too large alignment)
PR c/60226
	* fold-const.c (round_up_loc): Change the parameter type.
	Remove assert.
	* fold-const.h (round_up_loc): Adjust declaration.
	* stor-layout.c (finalize_record_size): Check for too large types.

	* c-c++-common/pr60226.c: New test.

From-SVN: r212346
2014-07-08 05:38:12 +00:00
GCC Administrator
09aa4b1fac Daily bump.
From-SVN: r212345
2014-07-08 00:16:48 +00:00
Paul Thomas
3af52023d7 re PR fortran/61459 (segfault when assigning to allocatable function result from matmul result)
2014-07-07  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/61459
	PR fortran/58883
	* trans-expr.c (fcncall_realloc_result): Use the natural type
	for the address expression of 'res_desc'.

2014-07-07  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/61459
	PR fortran/58883
	* gfortran.dg/allocatable_function_8.f90 : New test

From-SVN: r212339
2014-07-07 20:04:05 +00:00
Jan Hubicka
72732f3ef0 symtab.c: Include calls.h
* symtab.c: Include calls.h
	(symtab_nonoverwritable_alias_1): Check sanity of the local
	alias.

From-SVN: r212337
2014-07-07 19:53:36 +00:00
Maciej W. Rozycki
3ca588d3e2 rs6000.c (output_vec_const_move): Handle little-endian code generation.
gcc/
	* config/rs6000/rs6000.c (output_vec_const_move): Handle
	little-endian code generation.
	* config/rs6000/spe.md (spe_evmergehi): Rename to...
	(vec_perm00_v2si): ... this.  Handle little-endian code 
	generation.
	(spe_evmergehilo): Rename to...
	(vec_perm01_v2si): ... this.  Handle little-endian code
	generation.
	(spe_evmergelo): Rename to...
	(vec_perm11_v2si): ... this.  Handle little-endian code
	generation.
	(spe_evmergelohi): Rename to...
	(vec_perm10_v2si): ... this.  Handle little-endian code
	generation.
	(spe_evmergehi, spe_evmergehilo): New expanders.
	(spe_evmergelo, spe_evmergelohi): Likewise.
	(*frob_<SPE64:mode>_<DITI:mode>): Handle little-endian code
	generation.
	(*frob_tf_ti): Likewise.
	(*frob_<mode>_di_2): Likewise.
	(*frob_tf_di_8_2): Likewise.
	(*frob_di_<mode>): Likewise.
	(*frob_ti_tf): Likewise.
	(*frob_<DITI:mode>_<SPE64:mode>_2): Likewise.
	(*frob_ti_<mode>_8_2): Likewise.
	(*frob_ti_tf_2): Likewise.
	(mov_si<mode>_e500_subreg0): Rename to...
	(mov_si<mode>_e500_subreg0_be): ... this.  Restrict to the big
	endianness only.
	(*mov_si<mode>_e500_subreg0_le): New instruction pattern.
	(*mov_si<mode>_e500_subreg0_elf_low): Rename to...
	(*mov_si<mode>_e500_subreg0_elf_low_be): ... this.  Restrict to 
	the big endianness only.
	(*mov_si<mode>_e500_subreg0_elf_low_le): New instruction pattern.
	(*mov_si<mode>_e500_subreg0_2): Rename to...
	(*mov_si<mode>_e500_subreg0_2_be): ... this.  Restrict to the
	big big endianness only.
	(*mov_si<mode>_e500_subreg0_2_le): New instruction pattern.
	(*mov_si<mode>_e500_subreg4): Rename to...
	(*mov_si<mode>_e500_subreg4_be): ... this.  Restrict to the big
	endianness only.
	(mov_si<mode>_e500_subreg4_le): New instruction pattern.
	(*mov_si<mode>_e500_subreg4_elf_low): Rename to...
	(*mov_si<mode>_e500_subreg4_elf_low_be): ... this.  Restrict to
	the big endianness only.
	(*mov_si<mode>_e500_subreg4_elf_low_le): New instruction/splitter
	pattern.
	(*mov_si<mode>_e500_subreg4_2): Rename to...
	(*mov_si<mode>_e500_subreg4_2_be): ... this.  Restrict to the big
	endianness only.
	(*mov_si<mode>_e500_subreg4_2_le): New instruction pattern.
	(*mov_sitf_e500_subreg8): Rename to...
	(*mov_sitf_e500_subreg8_be): ... this.  Restrict to the big
	endianness only.
	(*mov_sitf_e500_subreg8_le): New instruction pattern.
	(*mov_sitf_e500_subreg8_2): Rename to...
	(*mov_sitf_e500_subreg8_2_be): ... this.  Restrict to the big
	endianness only.
	(*mov_sitf_e500_subreg8_2_le): New instruction pattern.
	(*mov_sitf_e500_subreg12): Rename to...
	(*mov_sitf_e500_subreg12_be): ... this.  Restrict to the big
	endianness only.
	(*mov_sitf_e500_subreg12_le): New instruction pattern.
	(*mov_sitf_e500_subreg12_2): Rename to...
	(*mov_sitf_e500_subreg12_2_be): ... this.  Restrict to the big
	endianness only.
	(*mov_sitf_e500_subreg12_2_le): New instruction pattern.

	gcc/testsuite/
	* gcc.target/powerpc/spe-evmerge.c: New file.

From-SVN: r212335
2014-07-07 15:48:23 +00:00
Maciej W. Rozycki
e762392918 Correct date in last ChangeLog entry.
From-SVN: r212334
2014-07-07 15:42:33 +00:00
Paolo Carlini
8895d9a1d2 class.c (check_for_override): Wrap the 'final' and 'override' keywords in %< and %>.
/cp
2014-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* class.c (check_for_override): Wrap the 'final' and 'override'
	keywords in %< and %>.

/testsuite
2014-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp0x/override1.C: Tweak expected error messages.

From-SVN: r212333
2014-07-07 15:29:01 +00:00
Max Ostapenko
0f05a19962 Do not instrument first byte in strlen if already instrumented.
gcc/
	* asan.c (instrument_strlen_call): Do not instrument first byte in strlen
	if already instrumented.

gcc/testsuite/
	* c-c++-common/asan/no-redundant-instrumentation-9.c: New test.

From-SVN: r212332
2014-07-07 17:31:18 +03:00
Paolo Carlini
625685bebb re PR c++/58898 (Adding default template argument to class template with "most vexing parse" causes compile error)
2014-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58898
	* g++.dg/parse/pr58898.C: New.

From-SVN: r212331
2014-07-07 14:17:17 +00:00
Dominique d'Humieres
f254169fee list_read_12.f90: Delete the file.
2014-07-07  Dominique d'Humieres <dominiq@lps.ens.fr>

	* gfortran.dg/list_read_12.f90: Delete the file.
	* gfortran.dg/vect/vect.exp: Use gfortran-dg-runtest instead
	of dg-runtest.

From-SVN: r212330
2014-07-07 16:11:42 +02:00
Francois-Xavier Coudert
afe31cdb2c * libgfortran.h: Assume __GNUC__.
From-SVN: r212328
2014-07-07 11:59:27 +00:00
Francois-Xavier Coudert
77777b33a8 stop.c: Use C11 _Noreturn.
* runtime/stop.c: Use C11 _Noreturn.
	* libgfortran.h: Use C11 _Noreturn in prototypes.
	Move REALPART, IMAGPART and COMPLEX_ASSIGN macros...
	* intrinsics/c99_functions.c: ... here.

From-SVN: r212327
2014-07-07 09:13:48 +00:00
Kyrylo Tkachov
8adb5dc735 [ARM] Remove deprecated mwords-little-endian.
* config/arm/arm.opt (mwords-little-endian): Delete.
	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Remove handling
	of TARGET_LITTLE_WORDS.
	(WORDS_BIG_ENDIAN): Define to BYTES_BIG_ENDIAN.
	* config/arm/arm.c (arm_option_override): Remove TARGET_LITTLE_WORDS
	warning.
	* doc/invoke.texi: Remove references to -mwords-little-endian.

From-SVN: r212326
2014-07-07 09:13:32 +00:00
Jakub Jelinek
c83cf30452 expmed.c (struct init_expmed_rtl): Change all fields but pow2 and cint from struct rtx_def to rtx.
* expmed.c (struct init_expmed_rtl): Change all fields but
	pow2 and cint from struct rtx_def to rtx.
	(init_expmed_one_conv, init_expmed_one_mode): Adjust for that change.
	(init_expmed): Likewise.  Allocate all the 18 rtxes and ggc_free them
	at the end again.

From-SVN: r212325
2014-07-07 10:42:49 +02:00
Francois-Xavier Coudert
a709346f06 fpu-387.h, [...]: Use static assertions.
* config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,
	config/fpu-glibc.h: Use static assertions.

From-SVN: r212323
2014-07-07 07:47:41 +00:00
Jerry DeLisle
1b38fe0e93 re PR libfortran/61640 (KIND=4 Character Array Internal Unit Read Fail)
2014-07-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/61640
	* gfortran.dg/arrayio_16.f90: New test.

From-SVN: r212322
2014-07-07 04:22:29 +00:00
GCC Administrator
eeeddef397 Daily bump.
From-SVN: r212318
2014-07-07 00:17:40 +00:00
Gerald Pfeifer
0e29a40052 * gfortran.texi (Fortran 2003 status): Fix grammar.
From-SVN: r212315
2014-07-06 22:17:21 +00:00
Uros Bizjak
88e03ffe44 * ChangeLog: Fix whitespace.
From-SVN: r212314
2014-07-06 22:32:26 +02:00
Marek Polacek
e5fe19a38a imm-devirt-1.C: Fix regexp in dg-final.
* g++.dg/ipa/imm-devirt-1.C: Fix regexp in dg-final.
	* g++.dg/ipa/imm-devirt-2.C: Likewise.

From-SVN: r212313
2014-07-06 19:26:06 +00:00
Marek Polacek
773ec47fe6 re PR c/6940 (taking sizeof array parameter should trigger a warning)
PR c/6940
	* doc/invoke.texi: Document -Wsizeof-array-argument.
c-family/
	* c.opt (Wsizeof-array-argument): New option.
c/
	* c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
	* c-tree.h (C_ARRAY_PARAMETER): Define.
	* c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
	function parameter.
cp/
	* cp-tree.h (DECL_ARRAY_PARAMETER_P): Define.
	* decl.c (grokdeclarator): Set DECL_ARRAY_PARAMETER_P.
	* typeck.c (cxx_sizeof_expr): Warn when using sizeof on an array
	function parameter.
testsuite/
	* c-c++-common/Wsizeof-pointer-memaccess1.c: Use
	-Wno-sizeof-array-argument.
	* c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
	* g++.dg/warn/Wsizeof-pointer-memaccess-1.C: Likewise.
	* gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise.
	* g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise.
	* g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise.
	* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise.
	* c-c++-common/sizeof-array-argument.c: New test.
	* gcc.dg/vla-5.c: Add dg-warnings.
../libgomp/	* testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.

From-SVN: r212312
2014-07-06 19:00:10 +00:00
GCC Administrator
dc044bfb72 Daily bump.
From-SVN: r212311
2014-07-06 00:16:57 +00:00
Rainer Orth
de51fc1b15 Restore Solaris/SPARC bootstrap
* configure, config.h.in: Regenerate.
	* config/fpu-sysv.h: Include <assert.h>.

From-SVN: r212307
2014-07-05 20:43:07 +00:00
Rainer Orth
9a62ed16dd Don't accept isl 0.10.
* configure.ac: Don't accept isl 0.10.
	* configure: Regenerate.

From-SVN: r212306
2014-07-05 20:18:14 +00:00
Gerald Pfeifer
a4ff2ef3c0 wide-int.h (wide_int_storage): Change declaration from struct to class.
* wide-int.h (wide_int_storage): Change declaration from struct
	to class.

From-SVN: r212305
2014-07-05 18:41:08 +00:00
Jan Hubicka
058d0a9059 cgraph.c (cgraph_create_indirect_edge): Update call of get_polymorphic_call_info.
* cgraph.c (cgraph_create_indirect_edge): Update call of
	get_polymorphic_call_info.
	* ipa-utils.h (get_polymorphic_call_info): Add parameter CALL.
	(possible_polymorphic_call_targets): Add parameter call.
	(decl_maybe_in_construction_p): New predicate.
	(get_polymorphic_call_info): Add parameter call;
	use decl_maybe_in_construction_p.
	* gimple-fold.c (fold_gimple_assign): Update use of
	possible_polymorphic_call_targets.
	(gimple_fold_call): Likewise.
	* ipa-prop.c: Inlcude calls.h
	(ipa_binfo_from_known_type_jfunc): Check that known type is record.
	(param_type_may_change_p): New predicate.
	(detect_type_change_from_memory_writes): Break out from ...
	(detect_type_change): ... this one; use 
	param_type_may_change_p.
	(detect_type_change_ssa): Use param_type_may_change_p.
	(compute_known_type_jump_func): Use decl_maybe_in_construction_p.

	* g++.dg/ipa/devirt-26.C: Update testcase.
	* g++.dg/ipa/imm-devirt-1.C: Update testcase.
	* g++.dg/ipa/imm-devirt-2.C: Update testcase.

From-SVN: r212304
2014-07-05 17:22:44 +00:00
Charles Baylis
aed773a2c8 [ARM] PR target/49423
2014-07-05  Charles Baylis  <charles.baylis@linaro.org>

	PR target/49423
	* config/arm/arm-protos.h (arm_legitimate_address_p,
	arm_is_constant_pool_ref): Add prototypes.
	* config/arm/arm.c (arm_legitimate_address_p): Remove static.
	(arm_is_constant_pool_ref) New function.
	* config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
	arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
	(arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
	operand. Remove pool_range and neg_pool_range attributes.
	(arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
	pool_range and neg_pool_range attributes.
	* config/arm/constraints.md (Uh): New constraint.
	(Uq): Don't allow constant pool references.

From-SVN: r212303
2014-07-05 11:58:06 +00:00
GCC Administrator
f19c9da841 Daily bump.
From-SVN: r212302
2014-07-05 00:16:41 +00:00
Tobias Burnus
d7463e5b31 resolve.c (resolve_assoc_var): Fix corank setting.
2014-07-04  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_assoc_var): Fix corank setting.
        * trans-array.c (gfc_conv_descriptor_token): Change assert.
        for select-type temporaries.
        * trans-decl.c (generate_coarray_sym_init): Skip for
        attr.select_type_temporary. 
        * trans-expr.c (gfc_conv_procedure_call): Fix for
        select-type temporaries.
        * trans-intrinsic.c (get_caf_token_offset): Ditto.
        (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
        the correct dtype.
        * trans-types.h (gfc_get_dtype_rank_type): New.
        * trans-types.c (gfc_get_dtype_rank_type): Ditto.

2014-07-04  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/coindexed_3.f90: New.

From-SVN: r212299
2014-07-04 22:25:28 +02:00
James Greenhalgh
5a908485ae [Patch AArch64_be] Fix some vec_concat big-endian confusions
* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
	(move_lo_quad_internal_be_<mode>): Likewise.
	(move_lo_quad_<mode>): Convert to define_expand.
	(aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
	(aarch64_simd_move_hi_quad_be_<mode>): New.
	(move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
	(aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
	(aarch64_combinez_be<mode>): New.
	(aarch64_combine<mode>): Convert to define_expand.
	(aarch64_combine_internal<mode>): New.
 	(aarch64_simd_combine<mode>): Remove bogus RTL description.

From-SVN: r212298
2014-07-04 15:56:27 +00:00
Tom de Vries
34386e79b3 Improve documentation of earlyclobber
2014-07-04  Tom de Vries  <tom@codesourcery.com>

	* doc/md.texi (@subsection Constraint Modifier Characters): Clarify
	combination of earlyclobber and read/write modifiers.

From-SVN: r212297
2014-07-04 13:36:25 +00:00
Tom de Vries
7973ca623a Fix constraint in vec_unpack_trunc_<mode>
2014-07-04  Tom de Vries  <tom@codesourcery.com>

	* config/aarch64/aarch64-simd.md
	(define_insn "vec_unpack_trunc_<mode>"): Fix constraint.

From-SVN: r212296
2014-07-04 13:36:12 +00:00
Richard Earnshaw
9815fafaf6 re PR target/61714 (configure --with-arch and --with-cpu are ignored on aarch64)
PR target/61714
	* aarch64.h (OPTION_DEFAULT_SPECS): Define.

From-SVN: r212295
2014-07-04 10:51:56 +00:00
Jakub Jelinek
253eab4f8b re PR middle-end/61654 (ICE in release_function_body, at cgraph.c:1699)
PR middle-end/61654
	* cgraphunit.c (expand_thunk): Call free_dominance_info.

	* g++.dg/opt/pr61654.C: New test.

From-SVN: r212293
2014-07-04 10:38:45 +02:00
Jakub Jelinek
14e000dec0 re PR tree-optimization/61684 (ICE at -Os and above on x86_64-linux-gnu in tree check: expected ssa_name, have addr_expr in recognize_single_bit_test, at tree-ssa-ifcombine.c:238)
PR tree-optimization/61684
	* tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
	rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.

	* gcc.c-torture/compile/pr61684.c: New test.

From-SVN: r212290
2014-07-04 10:32:56 +02:00
Chung-Ju Wu
17bf6d250c Move fp-as-gp optimization to nds32-fp-as-gp.c module.
gcc/
	* config/nds32/nds32.c (nds32_have_prologue_p): Move to ...
	(nds32_symbol_load_store_p): Move to ...
	(nds32_fp_as_gp_check_available): Move to ...
	* config/nds32/nds32-fp-as-gp.c: ... here.
	* config/nds32/nds32-protos.h (nds32_symbol_load_store_p): Remove
	extern declaration.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r212288
2014-07-04 07:39:23 +00:00