Commit Graph

116411 Commits

Author SHA1 Message Date
Alan Modra
1bf7c2a71c rs6000.c (rs6000_savres_strategy): Allow out-of-line save/restore for large frames.
* config/rs6000/rs6000.c (rs6000_savres_strategy): Allow
	out-of-line save/restore for large frames.  Don't disable
	out-of-line saves on ABI_AIX when using static chain reg.
	(rs6000_emit_prologue): Adjust cr_save_regno on ABI_AIX to not
	clobber static chain reg, and tweak for out-of-line gpr saves
	that use r1.

From-SVN: r186799
2012-04-25 11:51:09 +09:30
Alan Modra
c344e2656a rs6000.c (START_USE, [...]): Define.
* config/rs6000/rs6000.c (START_USE, END_USE, NOT_INUSE): Define.
	(rs6000_emit_prologue): Use the above to catch register overlap.

From-SVN: r186798
2012-04-25 11:48:56 +09:30
Alan Modra
544055ae65 rs6000.c (rs6000_emit_stack_reset): Delete forward decl.
* config/rs6000/rs6000.c (rs6000_emit_stack_reset): Delete forward
	decl.  Move logic selecting update reg to callers.  Update all callers.
	(rs6000_emit_allocate_stack): Add copy_off param.
	(emit_frame_save): Don't handle reg+reg addressing.
	(ptr_regno_for_savres): New function, extracted from..
	(rs6000_emit_savres_rtx): ..here.  Add lr_offset param.
	(rs6000_emit_prologue): Generate frame_ptr_rtx as we need it.
	Set frame_reg_rtx to r11 whenever r11 is needed, and merge
	frame offset adjustment for out-of-line save with copy from sp.
	Simplify condition controlling whether cr is saved early or
	late.  Use ptr_regno_for_savres to verify correct reg is set
	up for out-of-line saves.  Pass the actual pointer reg used to
	rs6000_emit_savres_rtx so rtl matches insns in out-of-line
	function.  Rearrange spe vars so code is similar to that
	elsewhere in this function.  Don't update frame_off when spe
	save code will restore r11.  Use emit_frame_save for spe and
	gpr saves.  Consolidate darwin out-of-line gpr setup with that
	for other abis.  Don't assume frame_offset is zero and frame
	reg is sp when setting up altivec reg saves, and calculate
	exact offset requirement.
	(rs6000_emit_epilogue): Use HOST_WIDE_INT for frame_off.  Tidy
	spe restore code.  Consolidate darwin out-of-line gpr setup
	with that for other abis.

From-SVN: r186797
2012-04-25 11:45:48 +09:30
Alan Modra
471df90fad rs6000.c (rs6000_frame_related): Don't emit a REG_FRAME_RELATED_EXPR note when...
* config/rs6000/rs6000.c (rs6000_frame_related): Don't emit a
	REG_FRAME_RELATED_EXPR note when the instruction exactly matches
	the replacement.
	(emit_frame_save): Delete frame_ptr param.  Rename total_size to
	frame_reg_to_sp.
	(rs6000_emit_prologue): Add sp_off.  Update rs6000_frame_related
	and emit_frame_save calls.  Cope with possibly missing note.

From-SVN: r186796
2012-04-25 11:42:12 +09:30
Sriraman Tallam
ad491329d9 i386-cpuinfo.c: Set __cpu_vendor always.
2012-04-24  Sriraman Tallam  <tmsriram@google.com>

	* libgcc/config/i386/i386-cpuinfo.c: Set __cpu_vendor always.

From-SVN: r186795
2012-04-25 02:04:22 +00:00
Benjamin Kosnik
3b34ddb8e0 re PR libstdc++/52689 (static linking with libstdc++ fails)
2012-04-24  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/52689
	* testsuite/17_intro/static.cc: New.

From-SVN: r186794
2012-04-25 01:17:57 +00:00
GCC Administrator
6e58c9ab85 Daily bump.
From-SVN: r186793
2012-04-25 00:17:56 +00:00
Sriraman Tallam
792317cc77 This patch adds new builtins to check for cpu type and features.
2012-04-24  Sriraman Tallam  <tmsriram@google.com>

This patch adds new builtins to check for cpu type and features. 

* __builtin_cpu_is ("<CPUNAME>")
* __builtin_cpu_supports ("<FEATURE>")

apart from the cpu init builtin, __builtin_cpu_init.

List of CPU names :

* "amd"
* "intel"
* "atom"
* "core2"
* "corei7"
* "nehalem"
* "westmere"
* "sandybridge"
* "amdfam10h"
* "barcelona"
* "shanghai"
* "istanbul"
* "bdver1"
* "bdver2"

List of CPU features :

* "cmov"
* "mmx"
* "popcnt"
* "sse"
* "sse2"
* "sse3"
* "ssse3"
* "sse4.1"
* "sse4.2"
* "avx"

        * config/i386/i386.c (build_processor_model_struct): New function.
        (make_var_decl): New function.
        (fold_builtin_cpu): New function.
        (ix86_fold_builtin): New function.
        (make_cpu_type_builtin): New function.
        (ix86_init_platform_type_builtins): New function.
        (ix86_expand_builtin): Expand new builtins by folding them.
        (ix86_init_builtins): Make new builtins to detect CPU type.
        (TARGET_FOLD_BUILTIN): New macro.
        (IX86_BUILTIN_CPU_INIT): New enum value.
        (IX86_BUILTIN_CPU_IS): New enum value.
        (IX86_BUILTIN_CPU_SUPPORTS): New enum value.
        * config/i386/i386-builtin-types.def: New function type.
        * testsuite/gcc.target/builtin_target.c: New testcase.
        * doc/extend.texi: Document builtins.

        * libgcc/config/i386/i386-cpuinfo.c: New file.
        * libgcc/config/i386/t-cpuinfo: New file.
        * libgcc/config.host: Include t-cpuinfo.
        * libgcc/config/i386/libgcc-glibc.ver: Version symbol __cpu_model.

From-SVN: r186789
2012-04-25 00:08:37 +00:00
Chao-ying Fu
e1be98a467 unwind-dw2-fde-dip.c: Define USE_PT_GNU_EH_FRAME for BIONIC.
2012-04-24  Chao-ying Fu  <fu@mips.com>

	* unwind-dw2-fde-dip.c: Define USE_PT_GNU_EH_FRAME for BIONIC.

From-SVN: r186788
2012-04-24 22:41:33 +00:00
Joseph Myers
70a33f264b * vi.po: Update.
From-SVN: r186786
2012-04-24 23:16:24 +01:00
Joseph Myers
d0b82b2731 * sv.po: Update.
From-SVN: r186784
2012-04-24 23:14:54 +01:00
Olivier Hainque
7a9cf7e9c3 common.opt (gdwarf-): Initialize dwarf_version to -1 instead of 2.
* common.opt (gdwarf-): Initialize dwarf_version to -1 instead of 2.
        * toplev.c (process_options): Default to dwarf_version 2.
        * config/vxworks.c (vxworks_override_options): Default to strict-dwarf
        and dwarf_version 2.

From-SVN: r186783
2012-04-24 20:34:30 +00:00
Ian Lance Taylor
bc9201591d gotest: Remove race in use of ../testdata.
From-SVN: r186781
2012-04-24 20:13:12 +00:00
Manuel López-Ibáñez
21e417158c tree-pretty-print.h (default_tree_printer): Do not declare.
2012-04-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
	* tree-pretty-print.h (default_tree_printer): Do not declare.
	* tree-diagnostic.c: Include tree-pretty-print.h, tree-pass.h and
	intl.h.
	(default_tree_diagnostic_starter): Make static.
	(default_tree_printer): Move to here. Make static.
	(tree_diagnostics_defaults): New.
	* tree-diagnostic.h (default_tree_diagnostic_starter): Do not declare.
	* tree.c (free_lang_data): Use tree_diagnostics_defaults.
	* toplev.c: Do not include tree-pass.h.
	(default_tree_printer): Move from here.
	(general_init): Use tree_diagnostics_defaults.

From-SVN: r186780
2012-04-24 19:21:21 +00:00
Ian Lance Taylor
1a985a5642 mksysinfo: Only define PathMax if PATH_MAX is defined.
From-SVN: r186778
2012-04-24 19:12:26 +00:00
Chao-ying Fu
3eab78f4e6 config.gcc (mips64*-*-linux*): Append mips/linux-common.h to tm_file.
2012-04-24  Chao-ying Fu  <fu@mips.com>

	* config.gcc (mips64*-*-linux*): Append mips/linux-common.h to tm_file.
	(mips*-*-linux*): Append mips/linux-common.h to tm_file.
	* config/mips/gnu-user.h
	(SUBTARGET_CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC directly.
	(GNU_USER_TARGET_LINK_SPEC): New define.
	(LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
	(LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC directly.
	(GNU_USER_TARGET_MATHFILE_SPEC): New define.
	(ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC and
	GNU_USER_TARGET_ENDFILE_SPEC.
	* config/mips/gnu-user64.h (LIB_SPEC): Remove.
	(GNU_USER_TARGET_LINK_SPEC): New define.
	(LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
	* config/mips/linux-common.h: New file.

From-SVN: r186777
2012-04-24 18:23:12 +00:00
Georg-Johann Lay
e900e6bd30 re PR testsuite/52641 (Test cases fail for 16-bit int targets)
PR testsuite/52641
	PR tree-optimizations/52891
	* gcc.c-torture/compile/pr52891-2.c: Fix test for 16-bit int.

From-SVN: r186776
2012-04-24 17:18:54 +00:00
Paolo Carlini
b40e334f1f re PR c++/52363 (Presence/absence of -pedantic compilation affects run-time behavior)
/cp
2012-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52363
	* call.c (tourney, perform_overload_resolution,
	build_operator_new_call, build_user_type_conversion_1,
	build_user_type_conversion, perform_overload_resolution,
	add_template_candidate, add_template_candidate_real,
	add_template_conv_candidate, add_builtin_candidates,
	add_builtin_candidate, build_builtin_candidate,
	add_conv_candidate, add_function_candidate, implicit_conversion,
	reference_binding, build_list_conv, conditional_conversion,
	add_candidates, can_convert_array, build_aggr_conv,
	build_array_conv, build_complex_conv, conditional_conversion):
	Add tsubst_flags_t parameter.
	(joust): Likewise, use it to handle SFINAE as if pedantic.
	(add_list_candidates, build_integral_nontype_arg_conv,
	perform_overload_resolution, build_new_function_call,
	build_operator_new_call, build_op_call_1,
	build_conditional_expr_1, build_new_op_1, convert_like_real,
	convert_arg_to_ellipsis, convert_default_arg,
	convert_for_arg_passing, build_over_call,
	build_new_method_call_1, can_convert_arg, can_convert_arg_bad,
	perform_implicit_conversion_flags,
	perform_direct_initialization_if_possible,
	initialize_reference): Adjust.
	* typeck.c (casts_away_constness, casts_away_constness_r):
	Add tsubst_flags_t parameter.
	(convert_arguments, check_for_casting_away_constness,
	build_static_cast_1, build_ptrmemfunc, convert_for_assignment):
	Adjust.
	* decl.c (reshape_init_r, check_default_argument): Likewise.
	* cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
	* pt.c (convert_nontype_argument, check_non_deducible_conversion):
	Likewise.
	* init.c (build_new_1): Likewise.
	* cvt.c (convert_to_reference, ocp_convert, build_type_conversion,
	build_expr_type_conversion, ): Likewise.
	* search.c (check_final_overrider): Likewise.
	* cp-tree.h (build_user_type_conversion,
	build_operator_new_call, can_convert, can_convert_arg,
	can_convert_arg_bad, convert_default_arg,
	convert_arg_to_ellipsis, convert_for_arg_passing):
	Adjust declaration.

/testsuite
2012-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52363
	* g++.dg/cpp0x/sfinae35.C: New.
	* g++.dg/cpp0x/sfinae36.C: Likewise.

From-SVN: r186774
2012-04-24 16:25:15 +00:00
Ian Lance Taylor
5ada012290 compiler: Fix order of evalation for m[0] = len(m) when m is a map.
From-SVN: r186772
2012-04-24 16:24:38 +00:00
Bill Schmidt
24d5b351b1 re PR target/47197 (ICE in gimplify_expr, at gimplify.c:7153 on AltiVec code (vec_dst))
gcc:

2012-04-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/47197
	* config/rs6000/rs6000-c.c (fully_fold_convert): New function.
	(altivec_build_resolved_builtin): Call fully_fold_convert.

gcc/testsuite:

2012-04-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/47197
	* gcc.target/powerpc/pr47197.c: New test.

From-SVN: r186771
2012-04-24 15:51:58 +00:00
Uros Bizjak
814671217c i386.md (*addsi_2_zext): Remove wrong assert.
* config/i386.md (*addsi_2_zext): Remove wrong assert.
	(*addsi_3_zext): Ditto.

From-SVN: r186769
2012-04-24 17:23:22 +02:00
Georg-Johann Lay
59d9ade4ae re PR target/53065 (ICE replace_reg_with_saved_mem, at caller-save.c:1125)
PR target/53065
	* config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.

From-SVN: r186768
2012-04-24 15:21:29 +00:00
Ian Lance Taylor
929eeacd4c compiler: Reject invalid composite literals.
From-SVN: r186766
2012-04-24 14:54:17 +00:00
Richard Guenther
46b380a23b re PR tree-optimization/53085 (writes to volatile struct members is missing)
2012-04-24  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53085
	* tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
	stores.

	* g++.dg/torture/pr53085.C: New testcase.

From-SVN: r186764
2012-04-24 14:41:49 +00:00
Richard Biener
05232ff6d3 tree-if-conv.c (main_tree_if_conversion): Move bb under ENABLE_CHECKING.
2012-04-24  Richard Guenther  <rguenther@suse.de>

	* tree-if-conv.c (main_tree_if_conversion): Move bb under
	ENABLE_CHECKING.

From-SVN: r186763
2012-04-24 14:18:40 +00:00
Jim Meyering
57f10fe5f4 genattrtab: avoid NULL-deref on error
* genattrtab.c (gen_attr): Avoid NULL-deref after diagnosing
absence of an define_enum call.

From-SVN: r186761
2012-04-24 12:07:30 +00:00
Richard Guenther
7d5a99f479 tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): If the epilogue loop is not re-used as unvectorized version record the its...
2012-04-24  Richard Guenther  <rguenther@suse.de>

	* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): If
	the epilogue loop is not re-used as unvectorized version
	record the its maximum number of iterations.

From-SVN: r186760
2012-04-24 11:25:21 +00:00
Tristan Gingold
c1041240bf fixincl.c (fix_with_system): Add missing specifier.
2012-04-24  Tristan Gingold  <gingold@adacore.com>

        * fixincl.c (fix_with_system): Add missing specifier.
        * configure.ac: Default to twoprocess on vms.
        * configure: Regenerate.

From-SVN: r186759
2012-04-24 09:24:55 +00:00
Andrew Pinski
8eddb62513 tree-ssa-forwprop.c (simplify_bitwise_binary): Don't directly use def1/def2.
2012-04-24  Andrew Pinski  <apinski@cavium.com>

	* tree-ssa-forwprop.c (simplify_bitwise_binary):
	Don't directly use def1/def2.

From-SVN: r186757
2012-04-24 01:43:33 -07:00
Richard Guenther
e1b435ad06 re PR tree-optimization/53098 (tree-vect-loop.c:1414:19: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare])
2012-04-24  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53098
	* tree-vect-loop.c (vect_analyze_loop_operations): Fixup
	comparison sign.

From-SVN: r186754
2012-04-24 08:06:20 +00:00
Naveen H.S
86c8bb3235 Add myself in Write After Approval list in MAINTAINERS file.
From-SVN: r186753
2012-04-24 07:49:14 +00:00
Manuel López-Ibáñez
af13465ffb compare_tests: Append '/' to make 'find' traverse symlinked directories.
2012-04-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>

contrib/
	* compare_tests: Append '/' to make 'find' traverse
	symlinked directories.

From-SVN: r186750
2012-04-24 07:22:41 +00:00
Andrew Pinski
a1e179f5b7 re PR tree-optimization/33512 (Simple bitwise simplification missed)
2012-04-24  Andrew Pinski  <apinski@cavium.com>

	PR tree-opt/33512
	* tree-ssa-forwprop.c (defcodefor_name): New function.
	(simplify_bitwise_binary): Use defcodefor_name instead of manually
	Simplify "( X | Y) & X" to X and "( X & Y) | X" to X.
	Simplify "(~X | Y) & X" to "X & Y" and
	"(~X & Y) | X" to "X | Y".

2012-04-24  Andrew Pinski  <apinski@cavium.com>

	PR tree-opt/33512
	* gcc.dg/tree-ssa/andor-3.c: New testcase.
	* gcc.dg/tree-ssa/andor-4.c: New testcase.
	* gcc.dg/tree-ssa/andor-5.c: New testcase.

From-SVN: r186749
2012-04-24 00:05:09 -07:00
Andreas Krebbel
57ac4c3401 recog.c (insn_invalid_p): Add IN_GROUP parameter and use validate_change to add clobbers if...
2012-04-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* recog.c (insn_invalid_p): Add IN_GROUP parameter and use
	validate_change to add clobbers if IN_GROUP is nonzero.
	(verify_changes): Call insn_invalid_p with IN_GROUP set to true.
	* recog.h (insn_invalid_p): Add IN_GROUP parameter to function
	prototype.
	* gcse.c (process_insert_insn): Call insn_invalid_p with IN_GROUP
	set to false.
	* config/s390/s390.c (insn_invalid_p): Likewise.

From-SVN: r186748
2012-04-24 07:01:52 +00:00
Naveen H.S
d9030ea42a Use braced string notation where applicable for v850.md
From-SVN: r186747
2012-04-24 06:59:57 +00:00
Naveen H.S
b8ed5fd023 Use braced string notation where applicable for h8300.md
From-SVN: r186744
2012-04-24 06:10:14 +00:00
Jakub Jelinek
dd0a516fa7 re PR middle-end/53084 (GCC cannot handle array initialization of string constant with point arithmetic properly)
PR middle-end/53084
	* varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR
	of MEM_REF.
	(output_addressed_constants): Likewise.

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

From-SVN: r186742
2012-04-24 08:07:30 +02:00
Jakub Jelinek
06edd772e3 re PR target/52999 (ICE, segmentation fault in c_tree_printer)
PR middle-end/52999
	* varasm.c (get_section): Don't ICE for section conflicts with
	built-in section kinds.

From-SVN: r186741
2012-04-24 08:03:43 +02:00
Ian Lance Taylor
234bdd5b07 compiler: Error for invalid use of ... in call.
From-SVN: r186739
2012-04-24 05:55:27 +00:00
DJ Delorie
5e0cea668e s390.h (LINK_SPEC): Remove, no longer needed.
* config/s390/s390.h (LINK_SPEC): Remove, no longer needed.
(LIBSTDCXX): Change to CPP2.

From-SVN: r186737
2012-04-23 21:53:20 -04:00
GCC Administrator
9975f09362 Daily bump.
From-SVN: r186734
2012-04-24 00:17:57 +00:00
Paolo Carlini
88e293fa66 noexcept15.C: Adjust for Rev 186726 library changes.
2012-04-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp0x/noexcept15.C: Adjust for Rev 186726 library changes.

From-SVN: r186730
2012-04-23 23:55:42 +00:00
H.J. Lu
eefdb8e684 Check if MASK_/TARGET_ macros defined for extra_masks
2012-04-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/52878
	* opth-gen.awk: Check if MASK_ and TARGET_ macros are defined for
	extra_masks.

From-SVN: r186729
2012-04-23 16:32:54 -07:00
Ian Lance Taylor
1ec20ea138 go-lang.c (go_langhook_init): Set MPFR precision to 256.
* go-lang.c (go_langhook_init): Set MPFR precision to 256.

time: Adjust float expression so that it first integer context.

From-SVN: r186727
2012-04-23 21:39:12 +00:00
Daniel Krugler
62fa805ffa type_traits (is_nothrow_destructible): Implement.
2012-04-23  Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/std/type_traits (is_nothrow_destructible): Implement.
	(is_destructible): Implement LWG 2049.
	* testsuite/util/testsuite_tr1.h: Add tests.
	* testsuite/20_util/is_nothrow_destructible/value.cc: New.
	* testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc:
	* testsuite/20_util/is_nothrow_destructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_destructible/value.cc: Adjust and extend.
	* testsuite/20_util/is_default_constructible/value.cc: Tweak.
	* testsuite/20_util/is_constructible/value-2.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r186726
2012-04-23 21:34:06 +00:00
Uros Bizjak
025735b738 i386.md (*add<mode>_2): Add r/r/0 alternative.
* config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
	(*addsi_2_zext): Ditto.
	(*add<mode>_3): Ditto.
	(*addsi_3_zext): Ditto.
	(*add<mode>_5): Ditto.

From-SVN: r186725
2012-04-23 23:24:56 +02:00
Ian Lance Taylor
073d123ccf compiler: Correct handling of negative zero floating constant.
From-SVN: r186722
2012-04-23 20:49:33 +00:00
Andrew Pinski
24fc7360e5 tree-ssa-forwprop.c (simplify_bitwise_binary): Simplify (A & B) OP0 (C & B) to (A OP0) & B.
2012-04-23  Andrew Pinski  <apinski@cavium.com>

	* tree-ssa-forwprop.c (simplify_bitwise_binary): Simplify (A & B) OP0
	(C & B) to (A OP0) & B.

2012-04-23  Andrew Pinski  <apinski@cavium.com>

	* gcc.dg/tree-ssa/forwprop-17.c: New testcase.

From-SVN: r186721
2012-04-23 12:37:59 -07:00
Martin Jambor
e9d68de9c1 expr.c (expand_expr_real_1): Remove setting parent's alias set for temporaries created for a bitfield...
2012-04-23  Martin Jambor  <mjambor@suse.cz>

	* expr.c (expand_expr_real_1): Remove setting parent's alias set for
	temporaries created for a bitfield (reverting revision 122014).

From-SVN: r186718
2012-04-23 19:17:48 +02:00
Ian Lance Taylor
6eea77093d libgo: Make sure log/syslog subdirectory exists before using it.
From-SVN: r186715
2012-04-23 17:02:54 +00:00