Commit Graph

107496 Commits

Author SHA1 Message Date
Chung-Lin Tang
54833ec0a6 simplify-rtx.c (simplify_binary_operation_1): Handle (xor (and A B) C) case when B and C are both constants.
2011-03-21  Chung-Lin Tang  <cltang@codesourcery.com>

	* simplify-rtx.c (simplify_binary_operation_1): Handle
	(xor (and A B) C) case when B and C are both constants.

	testsuite/
	* gcc.target/arm/xor-and.c: New.

From-SVN: r171208
2011-03-21 07:27:03 +00:00
Thomas Koenig
2757d5ecfc re PR fortran/22572 (Double occurrence of matmul intrinsic not optimised)
2010-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/22572
	* gfortran.h (gfc_option_t) : Add
	flag_aggressive_function_elimination.
	(gfc_dep_compare_functions):  Add prototype.
	* lang.opt: Add faggressive-function-elimination.
	* invoke.texi: Document -faggressive-function-elimination.
	* frontend_passes (expr_array):  New static variable.
	(expr_size):  Likewise.
	(expr_count):  Likewise.
	(current_code):  Likewise.
	(current_ns):  Likewise.
	(gfc_run_passes):  Allocate and free space for expressions.
	(cfe_register_funcs):  New function.
	(create_var):  New function.
	(cfc_expr_0):  New function.
	(cfe_code):  New function.
	(optimize_namespace):  Invoke gfc_code_walker with cfe_code
	and cfe_expr_0.
	* dependency.c (gfc_dep_compare_functions):  New function.
	(gfc_dep_compare_expr):  Use it.
	* options.c (gfc_init_options):  Handle
	flag_aggressive_function_elimination.
	(gfc_handle_option):  Likewise.

2010-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/22572
	* gfortran.dg/function_optimize_1.f90:  New test.
	* gfortran.dg/function_optimize_2.f90:  New test.

From-SVN: r171207
2011-03-21 07:14:42 +00:00
Mingjie Xing
14a41392aa Fix typo in comment.
From-SVN: r171206
2011-03-21 06:25:44 +00:00
H.J. Lu
7f2fe58480 Add 2 testcases for PR rtl-optimization/47502.
From-SVN: r171205
2011-03-20 20:28:40 -07:00
GCC Administrator
21060c916c Daily bump.
From-SVN: r171202
2011-03-21 00:18:49 +00:00
Eric Botcazou
806c34923e re PR bootstrap/48168 (Solaris 2/SPARC bootstrap broken: ICE in sparc_function_arg_1, at config/sparc/sparc.c:5721)
PR bootstrap/48168
	* config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.

From-SVN: r171197
2011-03-20 21:50:20 +00:00
Jakub Jelinek
65e0a0f3c8 re PR rtl-optimization/48156 (wrong code with -fcrossjumping)
PR rtl-optimization/48156
	* df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
	assume df and df_lr are not NULL.

	* gcc.dg/pr48156.c: New test.

From-SVN: r171195
2011-03-20 16:25:55 +01:00
Ramana Radhakrishnan
b6a75dda1d Fix PR debug/48203
From-SVN: r171193
2011-03-20 07:59:54 +00:00
GCC Administrator
b8d42f298a Daily bump.
From-SVN: r171190
2011-03-20 00:17:57 +00:00
Kaz Kojima
5969b52d80 sh.c (find_barrier): Don't emit a constant pool between a call and its corresponding...
* config/sh/sh.c (find_barrier): Don't emit a constant pool
	between a call and its corresponding CALL_ARG_LOCATION note.

From-SVN: r171185
2011-03-19 23:22:18 +00:00
Paolo Carlini
67bd9a32cf libstdc++.exp (check_v3_target_c99_math): Rename to check_v3_target_cmath.
2011-03-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/lib/libstdc++.exp (check_v3_target_c99_math): Rename
	to check_v3_target_cmath.
	* testsuite/lib/dg-options.exp (dg-require-c99_math): Rename
	to dg-require-cmath.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Adjust.

From-SVN: r171184
2011-03-19 19:49:16 +00:00
Anatoly Sokolov
f773c2bd76 cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range instead of loop.
* cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
	instead of loop. Use HARD_REGISTER_NUM_P predicate.
	* haifa-sched.c (setup_ref_regs): Ditto.
	* caller-save.c (add_used_regs_1): Ditto.
	* dse.c (look_for_hardregs): Ditto.
	* df-problems.c (df_simulate_one_insn_forwards): Ditto.
	* sched-rgn.c (check_live_1): Ditto.

From-SVN: r171183
2011-03-19 20:33:45 +03:00
John David Anglin
458653cc06 re PR libfortran/35667 (HP-UX 10 has broken strtod)
PR fortran/35667
	* io/io.h (convert_infnan): Declare.
	* io/read.c (convert_infnan): New.
	(read_f): Use convert_infnan to convert INFs and NANs.
	* list_read.c (parse_real, read_real): Likewise.

From-SVN: r171182
2011-03-19 17:25:18 +00:00
Francois-Xavier Coudert
16e329fbae re PR libfortran/47439 (Fun with scratch files on Windows MKTEMP only allows for 26 files)
PR libfortran/47439
	* gfortran.dg/scratch_1.f90: Adjust test.

From-SVN: r171180
2011-03-19 14:35:05 +00:00
Francois-Xavier Coudert
14bef49e53 re PR libfortran/47439 (Fun with scratch files on Windows MKTEMP only allows for 26 files)
PR libfortran/47439

	* io/unix.c (tempfile): Work around poor mktemp() implementations.

	* gfortran.dg/scratch_1.f90: New test.

From-SVN: r171178
2011-03-19 12:09:27 +00:00
GCC Administrator
5bd4cd72af Daily bump.
From-SVN: r171177
2011-03-19 00:18:08 +00:00
Joseph Myers
8bf872f9e8 c-decl.c (diagnose_mismatched_decls): Give an error for redefining a typedef with variably modified type.
* c-decl.c (diagnose_mismatched_decls): Give an error for
	redefining a typedef with variably modified type.

testsuite:
	* gcc.dg/c1x-typedef-1.c: Expect errors for redefinitions of
	variably modified typedefs.
	* gcc.dg/c1x-typedef-2.c: Remove.

From-SVN: r171172
2011-03-18 23:26:16 +00:00
Joseph Myers
ff8e215992 c-decl.c (grokfield): Don't allow typedefs for structures or unions with no tag by default.
* c-decl.c (grokfield): Don't allow typedefs for structures or
	unions with no tag by default.
	* doc/extend.texi (Unnamed Fields): Update.

testsuite:
	* gcc.dg/c1x-anon-struct-1.c: Don't test use of typedefs.
	* gcc.dg/c1x-anon-struct-3.c: New test.
	* gcc.dg/anon-struct-11.c: Update.

From-SVN: r171170
2011-03-18 21:16:31 +00:00
Uros Bizjak
16cc44407f i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2): Rewrite using indirect functions.
* config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
	Rewrite using indirect functions.
	(lwp_slwpcb): Ditto.
	* config/i386/sse.md (avx_vextractf128<mode>): Ditto.
	(avx_vinsertf128<mode>): Ditto.

From-SVN: r171169
2011-03-18 21:54:25 +01:00
Jason Merrill
f2c779bb05 tweak fconstexpr-depth docs
From-SVN: r171168
2011-03-18 16:27:33 -04:00
Jason Merrill
49a000c396 c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
* c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
	* c-common.h: Don't declare it here.
	* c-common.c: Or define it here.
	* c-opts.c (c_common_handle_option): Or set it here.

From-SVN: r171166
2011-03-18 16:23:48 -04:00
Richard Henderson
01956319b6 re PR bootstrap/45381 (Bootstrap failure for powerpc-apple-darwin9: error: AltiVec argument passed to unprototyped function)
PR bootstrap/45381
* lex.c [ALTIVEC] (search_line_fast): Require gcc version 4.5.

From-SVN: r171165
2011-03-18 13:20:35 -07:00
Diego Novillo
ef8623b378 mixed-mode-arith_neg.cc: Rename from mixed-mode_neg.cc
* mixed-mode-arith_neg.cc: Rename from mixed-mode_neg.cc
	* mixed-mode-cmp_neg.cc: Factor out of mixed-mode-arith_neg.cc

From-SVN: r171161
2011-03-18 15:54:32 -04:00
David Edelsohn
41446fecb6 config.guess: Update to version 2011-02-02
* config.guess: Update to version 2011-02-02
        * config.sub: Update to version 2011-02-24

From-SVN: r171158
2011-03-18 13:42:07 -04:00
Andreas Krebbel
e101e12e59 s390.c (s390_delegitimize_address): Handle GOTOFF unspecs.
2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
	unspecs.

From-SVN: r171157
2011-03-18 17:32:29 +00:00
Andreas Krebbel
4627c7fb22 s390.c (s390_chunkify_start): Prevent literal pool splitting between a call and its corresponding...
2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_chunkify_start): Prevent literal pool
	splitting between a call and its corresponding CALL_ARG_LOCATION
	note.

From-SVN: r171156
2011-03-18 17:31:39 +00:00
Maxim Kuvyrkov
2d36b47ff5 re PR rtl-optimization/48170 (ICE: in hoist_code, at gcse.c:4524 with -fgcse --param max-hoist-depth={0,1})
PR rtl-optimization/48170
	* gcse.c (hoist_code): Remove bogus asserts.

From-SVN: r171155
2011-03-18 17:12:19 +00:00
Jeff Law
2a3d7659c5 ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost computation for prologue/epilogue.
* ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
	computation for	prologue/epilogue.

From-SVN: r171154
2011-03-18 11:05:27 -06:00
Rainer Orth
34c3ef054e * Makefile.in (check-consistency): Remove.
From-SVN: r171153
2011-03-18 16:58:25 +00:00
Rainer Orth
c345e05237 slp-multitypes-2.c: Replace dg-do run with dg-xfail-run-if.
* gcc.dg/vect/slp-multitypes-2.c: Replace dg-do run with
	dg-xfail-run-if.
	Only xfail with gas.

From-SVN: r171152
2011-03-18 16:23:39 +00:00
Jakub Jelinek
81f2b976a5 re PR debug/48176 (.debug_aranges is no longer emitted)
PR debug/48176
	* dwarf2out.c (dwarf2out_finish): Call output_aranges even when
	arange_table_in_use is 0, but either text_section_used or
	cold_text_section_used is true.  Don't call it if
	!info_section_emitted.

From-SVN: r171150
2011-03-18 17:18:05 +01:00
Anatoly Sokolov
68fd7765e4 avr.h (RET_REGISTER, [...]): Remove.
* config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
	FUNCTION_VALUE_REGNO_P): Remove.
	* config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
	Remove.
	* config/avr/avr.c (avr_ret_register): Make static inline.
	(avr_function_value_regno_p): New function.
	(avr_libcall_value): Make static. Add 'func' argument.
	(avr_function_value): Make static. Rename 'func' argument to
	'fn_decl_or_type', forward it to avr_libcall_value. Call
	avr_ret_register function instead of RET_REGISTER macro.
 	(TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.

From-SVN: r171149
2011-03-18 18:27:10 +03:00
Jason Merrill
b3f1cee49f re PR c++/48162 (447.dealII in SPEC CPU 2006 failed to build)
PR c++/48162
	* semantics.c (finish_call_expr): Allow TARGET_EXPR for now.

From-SVN: r171148
2011-03-18 11:07:13 -04:00
Jason Merrill
e6baef836f re PR c++/48118 (g++ sometimes allows copying a volatile class)
PR c++/48118
	* call.c (build_over_call): Don't skip ck_rvalue.

From-SVN: r171147
2011-03-18 11:07:04 -04:00
Jason Merrill
b4ef8aac30 re PR c++/23372 (Temporary aggregate copy not elided when passing parameters by value)
PR c++/23372
	* gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.

From-SVN: r171146
2011-03-18 11:06:51 -04:00
Jason Merrill
82d3711899 re PR c++/35315 (ICE with attribute transparent_union)
PR c++/35315
	* c-common.c (handle_transparent_union_attribute): Don't
	make a duplicate type in C++.

From-SVN: r171145
2011-03-18 11:06:41 -04:00
Richard Guenther
09a52fc3ae install.texi (--enable-gold): Remove.
2011-03-18  Richard Guenther  <rguenther@suse.de>

	* doc/install.texi (--enable-gold): Remove.
	(--with-plugin-ld): Document.
	* doc/invoke.texi (-fuse-linker-plugin): Clarify.

From-SVN: r171143
2011-03-18 14:33:45 +00:00
Rainer Orth
4c5e955d4e re PR middle-end/47405 (gcc.dg/torture/20090618-1.c FAILs on IRIX 6.5)
PR middle-end/47405
	* gcc.dg/torture/20090618-1.c: Skip on mips-sgi-irix*.

From-SVN: r171140
2011-03-18 14:10:35 +00:00
Andrew Pinski
3bf162a0c9 re PR middle-end/47790 (optimize_bitfield_assignment_op no longer works in 4.5.x)
PR middle-end/47790
	* expr.c (optimize_bitfield_assignment_op): Revamp to work
	again after expansion changes.

From-SVN: r171139
2011-03-18 08:01:41 -06:00
Chung-Lin Tang
2abbb0fe9e combine.c (try_combine): Do simplification only call of subst() on i2 even when i1 is present.
2011-03-18  Chung-Lin Tang  <cltang@codesourcery.com>

	* combine.c (try_combine): Do simplification only call of
	subst() on i2 even when i1 is present. Update comments.

	testsuite/
	* gcc.target/arm/unsigned-extend-1.c: New.

From-SVN: r171138
2011-03-18 13:22:42 +00:00
Paolo Carlini
12f9dfdaf1 2011-03-18 Paolo Carlini <paolo.carlini@oracle.com>
Fixup last ChangeLog entry.

From-SVN: r171137
2011-03-18 13:09:29 +00:00
Kaz Kojima
2efd0aa69c sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF and UNSPEC_PCREL_SYMOFF.
* config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
	and UNSPEC_PCREL_SYMOFF.

From-SVN: r171134
2011-03-18 12:19:50 +00:00
Paolo Carlini
294eab8c10 testsuite_random.h: New.
2011-03-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_random.h: New.
	* testsuite/lib/libstdc++.exp (check_v3_target_c99_math,
	dg-require-c99_math): Add.
	* testsuite/26_numerics/random/bernoulli_distribution/
	operators/values.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/
	operators/values.cc: Likewise.

From-SVN: r171133
2011-03-18 11:48:29 +00:00
Andreas Krebbel
30a49b23ed s390.md: Use define_c_enum for the unspec constant definitions.
2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.md: Use define_c_enum for the unspec constant
	definitions.

From-SVN: r171132
2011-03-18 11:30:26 +00:00
Jakub Jelinek
419e1853a8 re PR bootstrap/48161 (hppa*-*-* will not bootstrap on 4.6 branch with release checking)
PR bootstrap/48161
	* expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
	instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.

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

From-SVN: r171126
2011-03-18 09:35:17 +01:00
H.J. Lu
378758560b Revert the last change on cant_combine_insn_p.
2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/47725
	* combine.c (cant_combine_insn_p): Don't check zero/sign
	extended hard registers.

From-SVN: r171125
2011-03-17 21:02:25 -07:00
H.J. Lu
7606976434 Check zero/sign extended hard registers.
gcc/

2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/47725
	* combine.c (cant_combine_insn_p): Check zero/sign extended
	hard registers.

gcc/testsuite/

2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/47725
	* gcc.dg/torture/pr47725.c: New.

From-SVN: r171124
2011-03-17 17:29:15 -07:00
GCC Administrator
98aa09c6b1 Daily bump.
From-SVN: r171123
2011-03-18 00:18:53 +00:00
Anatoly Sokolov
24da2019e9 v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
	* config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
	* config/v850/v850.c (v850_output_addr_const_extra): Make static.
	Change return type to bool.
	(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.

From-SVN: r171117
2011-03-18 01:02:00 +03:00
Jason Merrill
c598e5fa54 re PR c++/47504 ([C++0x] some constexpr calculations erroneously overflow when using negative numbers)
PR c++/47504
	* semantics.c (cxx_eval_constant_expression) [NOP_EXPR]: Don't let
	the conversion set TREE_OVERFLOW.

From-SVN: r171116
2011-03-17 18:00:47 -04:00