Commit Graph

106181 Commits

Author SHA1 Message Date
Jakub Jelinek 6845790106 ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge, simplify.
* ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
	simplify.

From-SVN: r169020
2011-01-19 20:58:37 +01:00
Jakub Jelinek ed7656f693 * ipa-split.c: Spelling fixes.
From-SVN: r169019
2011-01-19 20:57:54 +01:00
Richard Henderson 27098b6b41 mn10300: Add support in longlong.h.
This greatly helps out the DImode division, and to a lesser
extent the DImode multiplication routines in libgcc2.c.

From-SVN: r169018
2011-01-19 11:36:42 -08:00
Richard Henderson e0d1958fc3 mn10300: Use reg_or_am33_const_operand in mulsi3.
From-SVN: r169017
2011-01-19 11:33:44 -08:00
Ulrich Weigand d6be7c36ac * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
From-SVN: r169015
2011-01-19 19:05:14 +00:00
Richard Henderson 4421782341 mn10300: Implement adddi3, subdi3.
Via expander, pre- and post-reload patterns.  The pre-reload
pattern is defined to allow lower_subregs totally split the
DImode values.

From-SVN: r169014
2011-01-19 10:55:12 -08:00
Richard Henderson 37a185d79e mn10300: Emit retf instruction
Now that we properly track the life of MDR, we can emit
the RETF instruction if MDR has not been modified.  This
insn is 3-4 cycles faster since the return address is
already loaded.

From-SVN: r169013
2011-01-19 10:50:52 -08:00
Richard Henderson 040c575701 mn10300: tidy pic address loading
There's little reason to greatly complicate things by splitting
the pic_load patterns and using complex rtl to make it work out.
Instead, use the %= marker to generate unique numbers and emit
the entire load_pic sequence at once.

At the same time, collect all references to outgoing_args_size
into mn10300_frame_size, and all computations of register save
area size into mn10300_initial_offset.

From-SVN: r169012
2011-01-19 10:46:30 -08:00
Richard Henderson bad4152123 mn10300: Cleanup all arithmetic.
For addition and logicals, define an operation-plus-flags update pattern
in preparation for compare elimination.  In addition, clean up the way
we compare and validate CC_MODEs.  Define NEG in terms of NOT; this is
smaller and allows a non-clobbering destination alternative.

From-SVN: r169010
2011-01-19 10:38:56 -08:00
Richard Henderson 9efb4993cb mn10300: Explicitly represent MDR in multiply and divide.
Note that the mulsidi3_internal pattern is structured so
as to let the lower-subregs pass fully split the result.

From-SVN: r169008
2011-01-19 09:27:58 -08:00
Richard Henderson c25a21f581 mn10300: Expose the MDR register to register allocation.
Note that nothing uses the "z" constraint yet except the one
move pattern; this merely defines the register class properly.

From-SVN: r169007
2011-01-19 09:20:26 -08:00
Richard Henderson 36846b2672 mn10300: Cleanup legitimate addresses
Allow REG+REG and POST_MODIFY addressing for AM33.  Fix AM33 base and
index register classes.  Remove a bunch of register class combinations
that aren't really useful after this cleanup.

From-SVN: r169006
2011-01-19 09:14:31 -08:00
Richard Henderson 8b119bb67d mn10300: Cleanup secondary reloads
Handles output reloads for QI/HImode properly; previously we were
only handing input reloads properly.

Handles reloads involving the stack pointer better; note that the
AM33 allows copying SP to DATA_REGS as well as ADDRESS and EXTENDED.

From-SVN: r169005
2011-01-19 09:02:57 -08:00
Richard Henderson b1efde2a0b mn10300: Re-write move patterns.
Use the "D" and "A" constraints, and the enabled attribute to
unify all ofthe integer move patterns.  Delete the fake double
word move patterns; let the middle-end generate subregs as required.

Unfortunately, this somehow exposes a register pressure problem
with the udivmod pattern.  This is properly fixed with subsequent
patches that expose the MDR register.

In the meantime it is highly desirable to to preserve bisect-ability
of the patch series, so disable this pattern for AM30.

From-SVN: r169004
2011-01-19 08:57:37 -08:00
Ian Lance Taylor 036c8f3795 Improve check for const initializer loop.
From-SVN: r169003
2011-01-19 16:55:24 +00:00
Ian Lance Taylor e3e190507a Check for error type when getting type of binary expression.
From-SVN: r169002
2011-01-19 16:03:55 +00:00
Ian Lance Taylor 0ca82dd6ba Fix handling of anonymous field in struct with pointer type.
From-SVN: r169001
2011-01-19 15:47:50 +00:00
Jakub Jelinek cfea9968d1 re PR c++/47303 (ICE: in varpool_node, at varpool.c:134 with -fabi-version=1)
PR c++/47303
	* decl2.c (finish_anon_union): Only call mangle_decl if TREE_STATIC
	or DECL_EXTERNAL.

	* g++.dg/template/anonunion1.C: New test.

From-SVN: r169000
2011-01-19 16:36:57 +01:00
Joern Rennecke b899fd784b tm.texi.in: Spell out that a lack of register class unions can lead to ICEs.
* doc/tm.texi.in: Spell out that a lack of register class unions
	can lead to ICEs.
	* doc/tm.texi: Regenerate.

From-SVN: r168998
2011-01-19 15:23:06 +00:00
Jakub Jelinek 2e0642cde2 re PR rtl-optimization/47337 (Wrong RTL dce of calls)
PR rtl-optimization/47337
	* dce.c (check_argument_store): New function.
	(find_call_stack_args): Ignore debug insns.  Use check_argument_store.

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

From-SVN: r168997
2011-01-19 16:13:01 +01:00
Ulrich Weigand 46e7483cba re PR testsuite/45342 (FAIL: gcc.dg/tls/thr-cse-1.c scan-assembler-not emutls_get_address.*emutls_get_address.*)
PR testsuite/45342
	* gcc.dg/tls/thr-cse-1.c: Fix match on spu-*.*.

From-SVN: r168992
2011-01-19 13:09:51 +00:00
Ulrich Weigand d629d5a76c re PR tree-optimization/46021 (3 tree-ssa tests XPASS almost everywhere)
PR tree-optimization/46021
	* gcc.dg/tree-ssa/20040204-1.c: Do not XFAIL on spu-*-*.

From-SVN: r168990
2011-01-19 12:56:16 +00:00
Ian Lance Taylor 9081b67b9c Avoid crash with extra struct initializers with abstract types.
From-SVN: r168984
2011-01-19 06:04:00 +00:00
Ian Lance Taylor 8ed8ea7900 Fix generating type descriptor for array with float length.
From-SVN: r168983
2011-01-19 05:49:25 +00:00
Ian Lance Taylor d4d2a98fb2 Don't crash using value of something with no value.
From-SVN: r168982
2011-01-19 05:38:41 +00:00
Ian Lance Taylor 8386b63d3d Fix struct with field of pointer to array of same struct.
From-SVN: r168981
2011-01-19 05:24:55 +00:00
Graham Reed 8522091993 re PR libstdc++/47354 (bitmap_allocator free_list::_M_get never locks mutex)
2011-01-19  Graham Reed  <greed@pobox.com>

	PR libstdc++/47354
	* src/bitmap_allocator.cc (free_list::_M_get): Lock mutex.

From-SVN: r168980
2011-01-19 02:27:45 +00:00
Benjamin Kosnik 6f0a975741 confdeps.png: Regenerate.
2011-01-18  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/images/confdeps.png: Regenerate.

	* include/std/chrono (duration): Mark copy constructor constexpr.
	* testsuite/20_util/duration/cons/constexpr.cc: Add test.

From-SVN: r168979
2011-01-19 02:17:35 +00:00
GCC Administrator 71c833af08 Daily bump.
From-SVN: r168978
2011-01-19 00:18:18 +00:00
Jakub Jelinek afaaa67d42 re PR tree-optimization/47290 (memory exhausted compiling a destructor with an infinite 'for (;;);' loop)
PR tree-optimization/47290
	* tree-eh.c (infinite_empty_loop_p): New function.
	(cleanup_empty_eh): Use it.

	* g++.dg/torture/pr47290.C: New test.

From-SVN: r168974
2011-01-19 00:16:16 +01:00
Janus Weil 2d300fac7d re PR fortran/47240 ([F03] segfault with procedure pointer component)
2011-01-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/47240
	* resolve.c (expression_rank): Fix rank of procedure poiner components.
	* trans-expr.c (gfc_conv_procedure_call): Take care of procedure
	pointer components as actual arguments.


2011-01-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/47240
	* gfortran.dg/proc_ptr_comp_29.f90: New.

From-SVN: r168973
2011-01-18 23:40:33 +01:00
Steve Ellcey d2cd871faa re PR target/46997 (new ia64 vector instructions are broken on HP-UX (big-endian))
PR target/46997
	* ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
	(a64_expand_widen_sum): Ditto.
	* vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
	(vec_extract_evenodd_help): Ditto.
	(vec_extract_evenv4hi): Ditto.
	(vec_extract_oddv4hi): Ditto.
	(vec_extract_evenv2si): Ditto.
	(vec_extract_oddv2si): Ditto.
	(vec_extract_evenv2sf): Ditto.
	(vec_extract_oddv2sf): Ditto.
	(vec_pack_trunc_v4hi: Ditto.
	(vec_pack_trunc_v2si): Ditto.
	(vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
	(vec_interleave_highv8qi): Ditto.
	(mix1_r): Ditto.
	(vec_extract_oddv8qi): Ditto.
	(vec_interleave_lowv4hi): Ditto.
	(vec_interleave_highv4hi): Ditto.
	(vec_interleave_lowv2si): Ditto.
	(vec_interleave_highv2si): Ditto.

From-SVN: r168970
2011-01-18 21:56:46 +00:00
John David Anglin 41a1208a11 extend.texi: Mention __float128 support on hppa HP-UX.
* doc/extend.texi: Mention __float128 support on hppa HP-UX.
	* config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
	* config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
	(pa_c_mode_for_suffix): New.
	(TARGET_EXPAND_BUILTIN): Define.
	(TARGET_C_MODE_FOR_SUFFIX): Define.
	(pa_builtins): Define.
	(pa_init_builtins): Register __float128 type and init new support
	builtins.
	* config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
	* config/pa/quadlib.c (_U_Qfcopysign): New.

From-SVN: r168969
2011-01-18 21:53:47 +00:00
Eric Botcazou 1ecad98e4d re PR middle-end/46894 (vector tests fail on powerpc 32-bit)
PR middle-end/46894
	* explow.c (allocate_dynamic_stack_space): Do not assume more than
	BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
	are defined.

From-SVN: r168968
2011-01-18 21:29:11 +00:00
Ulrich Weigand d4f2460a1b re PR tree-optimization/47179 (SPU: errno misoptimization around malloc call)
PR tree-optimization/47179
	* config/spu/spu.c (spu_ref_may_alias_errno): New function.
	(TARGET_REF_MAY_ALIAS_ERRNO): Define.

From-SVN: r168961
2011-01-18 20:13:56 +00:00
Dominique d'Humieres 842627b606 re PR testsuite/41146 (FAIL: gcc.target/powerpc/asm-es-2.c scan-assembler *)
2011-01-18  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR testsuite/41146
	* gcc.target/powerpc/asm-es-2.c: Adjust regular expression for
	powerpc-apple-darwin9.

From-SVN: r168960
2011-01-18 20:06:13 +00:00
Richard Guenther 4994da65e5 re PR rtl-optimization/47216 (gcc.dg/torture/pr43360.c FAILs with -O -fPIC -fgcse -fgcse-sm -fnon-call-exceptions -fno-tree-dse)
2011-01-18  Richard Guenther  <rguenther@suse.de>

	PR rtl-optimization/47216
	* emit-rtl.c: Include tree-flow.h.
	(set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
	of replicating it with different semantics.
	* Makefile.in (emit-rtl.o): Adjust.

From-SVN: r168951
2011-01-18 15:50:55 +00:00
Ramana Radhakrishnan 1eb458d140 cortex-a9.md (cortex-a9-neon.md): Actually include.
2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually
        include.
        (cortex_a9_dp): Handle neon types correctly.

From-SVN: r168950
2011-01-18 15:28:08 +00:00
Paolo Carlini d326f2eeb7 unique_ptr.h (default_delete<>::default_delete()): Declare defaulted per DR 1517.
2011-01-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/unique_ptr.h (default_delete<>::default_delete()):
	Declare defaulted per DR 1517.
	* testsuite/util/testsuite_common_types.h
	(constexpr_defaulted_default_constructible): Add.
	* testsuite/20_util/default_delete/cons/constexpr.cc: Use it.

From-SVN: r168947
2011-01-18 11:12:06 +00:00
Jakub Jelinek e7ef91dc8e re PR rtl-optimization/47299 (Widening multiply optimization generates bad code)
PR rtl-optimization/47299
	* expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
	subtarget.  Use normal multiplication if both operands are
	constants.
	* expmed.c (expand_widening_mult): Don't try to optimize constant
	multiplication if op0 has VOIDmode.  Convert op1 constant to mode
	before using it.

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

From-SVN: r168944
2011-01-18 08:45:12 +01:00
Jie Zhang fb70168707 drop gdb mask for Blackfin targets
Now that gdb supports Blackfin targets, no need to mask it.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>

From-SVN: r168943
2011-01-18 05:21:29 +00:00
Mike Frysinger 9e7955b2d3 libiberty: add .gitignore
Signed-off-by: Mike Frysinger <vapier@gentoo.org>

From-SVN: r168942
2011-01-18 05:06:50 +00:00
GCC Administrator c6fe742e45 Daily bump.
From-SVN: r168941
2011-01-18 00:18:34 +00:00
Jason Merrill d79b88a1fe re PR c++/47067 ([c++0x] ICE in cxx_eval_bare_aggregate, at cp/semantics.c:6352)
PR c++/47067
	* semantics.c (base_field_constructor_elt): New fn.
	(cxx_eval_bare_aggregate): Use it.
	(build_data_member_initialization): Leave COMPONENT_REF for
	vfield inits.

From-SVN: r168937
2011-01-17 17:34:35 -05:00
Rodrigo Rivas Costa 86070dcc8a parser.c (cp_parser_range_for): Remove the "unused variable" warning workaround.
* parser.c (cp_parser_range_for): Remove the "unused variable" warning
	workaround.

From-SVN: r168936
2011-01-17 17:34:26 -05:00
Jakub Jelinek c7d3bb7623 re PR fortran/47331 (ICE in make_decl_rtl, at varasm.c:1133 (with -fopenmp))
PR fortran/47331
	* gfortran.h (struct gfc_omp_saved_state): New type.
	(gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
	* resolve.c (resolve_global_procedure): Call it around gfc_resolve
	call.
	* openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
	functions.

	* gfortran.dg/gomp/pr47331.f90: New test.

From-SVN: r168935
2011-01-17 23:26:42 +01:00
Nicola Pero f0fc7be525 In gcc/objc/: 2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2011-01-17  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR objc/47314
	* objc-act.c (finish_objc): When calling check_duplicates to check
	duplicated instance methods, set 'is_class' to 0, not 1.

In gcc/testsuite/:
2011-01-17  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR objc/47314
	* objc.dg/selector-warn-1.m: New.
	* obj-c++.dg/selector-warn-1.mm: New.

From-SVN: r168934
2011-01-17 22:17:47 +00:00
Richard Sandiford 015a793772 vrp51.c: Prefix each "bug." string with "vrp.".
gcc/testsuite/
	* gcc.dg/tree-ssa/vrp51.c: Prefix each "bug." string with "vrp.".
	Update dg-final accordingly.

From-SVN: r168933
2011-01-17 20:31:35 +00:00
Tobias Burnus 4f7d9db8cc re PR fortran/47327 (Documentation: Link to GCC Errors and Warnings options broken)
2011-01-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/47327
        * invoke.texi (Options to request or suppress errors
        and warnings): Fix cross link.

From-SVN: r168932
2011-01-17 20:16:27 +01:00
Ralf Wildenhues 535b78744a Markup and minor fixes in LTO documentation.
gcc/:
	* doc/lto.texi (LTO): Ensure two spaces after period.  Fix
	spacing after 'e.g.', typos, comma, hyphenation.

From-SVN: r168931
2011-01-17 19:13:05 +00:00