Commit Graph

103760 Commits

Author SHA1 Message Date
Nicola Pero
28c3bb954a In gcc/testsuite/: 2010-10-15 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/testsuite/:
2010-10-15  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc.dg/gnu-api-2-protocol.m: New.
        * objc.dg/gnu-api-2-sel.m: New.

From-SVN: r165500
2010-10-15 10:37:33 +00:00
Nicola Pero
f7185d4791 In libobjc/: 2010-10-14 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/:
2010-10-14  Nicola Pero  <nicola.pero@meta-innovation.com>

        * init.c (__objc_init_protocol): New function which fixes up a
        protocol's class pointer, registers it with the runtime, register
        all protocol selectors and registers associated protocols too.
        (objc_init_statics): Detect if we are initializing protocols, and
        if so, use __objc_init_protocol instead of only fixing up the
        class pointer.
        (__objc_init_protocls): Use __objc_init_protocol.
        * objc-private/module-abi-8.h: Updated comments.
        * objc-private/runtime.h
        (__objc_register_selectors_from_description_list): New.
        * selector.c (__objc_register_selectors_from_description_list):
        New.  (struct objc_method_description_list): Declare.
        * Protocol.m ([-descriptionForInstanceMethod:]): Use sel_get_name
        when accessing the name of a method, which is now correctly a SEL.
        ([-descriptionForClassMethod:]): Same change.
        * protocols.c (protocol_getMethodDescription): Same change.
        * objc/runtime.h: Updated comments.
        (sel_registerTypedName): Fixed typo in function name.

From-SVN: r165499
2010-10-15 10:35:00 +00:00
Ramana Radhakrishnan
fbbf834e27 eh-vararg-2.C: Fix dg-options for arm-eabi targets.
* g++.dg/torture/stackalign/eh-vararg-2.C: Fix dg-options for
       arm-eabi targets.

From-SVN: r165498
2010-10-15 09:43:34 +00:00
Tristan Gingold
02db6bbaf3 MAINTAINERS (OS Port Maintainers): Add myself for VMS.
2010-10-15  Tristan Gingold  <gingold@adacore.com>

	* MAINTAINERS (OS Port Maintainers): Add myself for VMS.

From-SVN: r165497
2010-10-15 08:59:19 +00:00
Dave Korn
f24a1469f0 Sync LD plugin patch series (part 1/6) with src/include/.
* plugin-api.h (LDPT_GNU_LD_VERSION): New ld_plugin_tag enum member.

From-SVN: r165496
2010-10-15 07:39:07 +00:00
Chung-Lin Tang
034c987cda ifcvt.c (find_active_insn_before): New function.
2010-10-15  Chung-Lin Tang  <cltang@codesourcery.com>

	* ifcvt.c (find_active_insn_before): New function.
	(find_active_insn_after): New function.
	(cond_exec_process_if_block): Use new functions to replace
	prev_active_insn() and next_active_insn().

	testsuite/
	* gcc.dg/20101010-1.c: New testcase.

From-SVN: r165495
2010-10-15 07:07:26 +00:00
Jie Zhang
af41386e7c lto.exp (lto-link-and-maybe-run): Use the default linker script when relocatable linking.
* lib/lto.exp (lto-link-and-maybe-run): Use the default linker
	script when relocatable linking.

From-SVN: r165494
2010-10-15 06:53:42 +00:00
Yao Qi
56f01f0b41 re PR debug/45447 (ICE with `-g -femit-struct-debug-baseonly')
gcc/

        PR target/45447
        * config/arm/arm.c (arm_build_builtin_va_list): Assign
        va_list_name to TYPE_STUB_DECL (va_list_type).

gcc/testsuite/

        PR target/45447
        * gcc.target/arm/pr45447.c: New test.

From-SVN: r165493
2010-10-15 04:03:10 +00:00
Jan Hubicka
97ba0040a8 re PR rtl-optimization/45621 (ICE: verify_cgraph_node failed: inlined_to pointer is set but no predecessors found with -fipa-cp-clone -flto)
PR middle-end/45621
	* g++.dg/lto/pr45621.h : New.
	* g++.dg/lto/pr45621_0.C: New.
	* g++.dg/lto/pr45621_1.C: New.
	* cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is
	redirected to clone, be happy.
	* cgraph.h (cgraph node): Enable former_clone_of unconditinally.
	* cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle
	former_clone_of unconditinally.

From-SVN: r165492
2010-10-15 01:20:55 +00:00
GCC Administrator
23ac8b8d6a Daily bump.
From-SVN: r165490
2010-10-15 00:17:42 +00:00
Iain Sandoe
e2673f71ca add ObjC* @property - tests
add ObjC* @property - tests
gcc/testsuite:

	* objc.dg/property: New.
	* objc.dg/property/fsf-property-basic.m: New.
	* objc.dg/property/fsf-property-method-access.m: New.
	* objc.dg/property/fsf-property-named-ivar.m: New.
	* objc.dg/property/property-1.m: New.
	* objc.dg/property/property-2.m: New.
	* objc.dg/property/property-3.m: New.
	* objc.dg/property/property-neg-1.m: New.
	* objc.dg/property/property-neg-2.m: New.
	* objc.dg/property/property-neg-3.m: New.
	* objc.dg/property/property-neg-4.m: New.
	* objc.dg/property/property-neg-5.m: New.
	* objc.dg/property/property-neg-6.m: New.
	* objc.dg/property/property-neg-7.m: New.
	* objc.dg/property/property.exp: New.
	* obj-c++.dg/property
	* obj-c++.dg/property/fsf-property-basic.mm
	* obj-c++.dg/property/fsf-property-method-access.mm
	* obj-c++.dg/property/fsf-property-named-ivar.mm
	* obj-c++.dg/property/property-0.mm
	* obj-c++.dg/property/property-1.mm
	* obj-c++.dg/property/property-2.mm
	* obj-c++.dg/property/property-3.mm
	* obj-c++.dg/property/property-neg-1.mm
	* obj-c++.dg/property/property-neg-2.mm
	* obj-c++.dg/property/property-neg-3.mm
	* obj-c++.dg/property/property-neg-4.mm
	* obj-c++.dg/property/property-neg-5.mm
	* obj-c++.dg/property/property-neg-6.mm
	* obj-c++.dg/property/property-neg-7.mm
	* obj-c++.dg/property/property.exp

From-SVN: r165480
2010-10-14 20:11:03 +00:00
Iain Sandoe
668ea4b110 add @property to ObjC*
merge from FSF apple 'trunk' branch. 
	2006 Fariborz Jahanian <fjahanian@apple.com>
	
	Radars 4436866, 4505126, 4506903, 4517826

gcc/c-family: 

	* c-common.c (c_common_resword): Define @property and its attributes.
	* c-common.h: Define property attribute enum entries.
	(OBJC_IS_PATTR_KEYWORD): New.
	(objc_property_attribute_kind): New enum.
	Declare objc_set_property_attr (), objc_add_property_variable (),
	objc_build_getter_call () and objc_build_setter_call ().
	* stub-objc.c (objc_set_property_attr): New stub.
	(objc_add_property_variable): Likewise.
	(objc_build_getter_call): Likewise.
	(objc_build_setter_call) Likewise.

gcc:

	* c-parser.c (c_parser, objc_property_attr_context) New flag.
	(c_lex_one_token): Handle property attributes.
	(c_parser_external_declaration): Handle @property.
	(c_parser_declaration_or_fndef): Warn on invalid attributes before
	@alias, @class, @end and @property objc keywords.
	(c_parser_objc_methodprotolist): Handle @property.
	(c_parser_objc_property_attrlist): New.
	(c_parser_objc_at_property): New.
	* c-typeck.c (build_component_ref): Handle CLASS.property syntax.
	(build_modify_expr): Likewise.

gcc/cp:

	* typeck.c (finish_class_member_access_expr): Handle CLASS.property
	syntax. 
	(cp_build_modify_expr): Likewise.
	* parser.c (cp_parser_objc_method_prototype_list): Handle @property.
	(cp_parser_objc_method_definition_list): Likewise.
	(cp_parser_objc_property_decl): New.
	(cp_parser_objc_property_attrlist): New.
	(cp_parser_objc_at_property): New.

gcc/objc:

	* objc-act.c (CALL_EXPR_OBJC_PROPERTY_GETTER): New.
	property_readonly, property_getter, property_setter, property_ivar,
	property_copies, in_objc_property_setter_name_context: New vars.
	(objc_set_property_attr): New.
	(objc_add_property_variable): New.
	(lookup_property_in_list): New.
	(lookup_property): New.
	(objc_build_getter_call): New.
	(objc_setter_func_call): New.
	(get_selector_from_reference): New.
	(objc_build_setter_call): New.
	(is_property): New.
	(build_property_reference): New.
	(objc_finish_message_expr): Detect readonly property and warn.
	(objc_build_property_ivar_name): New.
	(objc_build_property_setter_name): New.
	(objc_gen_one_property_datum): New.
	(objc_process_getter_setter): New.
	(objc_synthesize_getter): New.
	(objc_synthesize_setter): New.
	(objc_gen_property_data): New.
	(finish_class): Generate property data.
	(comp_proto_with_proto): Separated from ...
	(match_proto_with_proto): ... New.
	(objc_lookup_ivar): Handle properties.
	* objc-tree.def (PROPERTY_DECL): New tree code.
	* objc-act.h: CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS update size.
	(METHOD_PROPERTY_CONTEXT): New.
	(PROPERTY_NAME): New.
	(PROPERTY_GETTER_NAME): New.
	(PROPERTY_SETTER_NAME): New.
	(PROPERTY_IVAR_NAME): New.
	(PROPERTY_READONLY): New.
	(PROPERTY_COPIES): New.
	(TOTAL_CLASS_RAW_IVARS): New.
	(CLASS_PROPERTY_DECL): New.
	(IMPL_PROPERTY_DECL): New.
	* objc-lang.c (objc_init_ts): Update fields for property_decl.

gcc/objcp:

	* objcp-lang.c (objcxx_init_ts): Update for property_decl.

From-SVN: r165479
2010-10-14 20:09:41 +00:00
Jakub Jelinek
e05eee4908 re PR tree-optimization/46008 (Floating point condexpr not vectorized)
PR tree-optimization/46008
	* tree-if-conv.c (predicate_bbs): Try to canonicalize c2
	if possible.

From-SVN: r165476
2010-10-14 21:34:16 +02:00
Douglas B Rupp
c0103e7461 MAINTAINERS (OS Port Maintainers): Add myself for VMS.
* MAINTAINERS (OS Port Maintainers): Add myself for VMS.

From-SVN: r165475
2010-10-14 18:15:35 +00:00
H.J. Lu
280649b5bb Fix typos in gcc.dg/pr45570.c.
2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.dg/pr45570.c: Fix typos.  Also run for i?86-*-*.

From-SVN: r165474
2010-10-14 08:52:47 -07:00
Richard Guenther
7d36e53818 re PR tree-optimization/44913 (-ftree-vectorize causes FAIL: gcc.dg/pr44838.c execution test)
2010-10-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44913
	* tree-data-ref.c (disjoint_objects_p): Remove.
	(dr_may_alias_p): Simplify.  Only hand the base object to
	the alias-oracle.
	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
	some more trees, bail out instead of asserting.
	(ptr_derefs_may_alias_p): Likewise.  Export.
	(refs_may_alias_p_1): Handle STRING_CSTs.
	* tree-ssa-alias.h (ptr_derefs_may_alias_p): Declare.

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

From-SVN: r165473
2010-10-14 15:51:15 +00:00
Joseph Myers
180f8dbbb3 re PR c/45969 (ICE in build_binary_op, at c-typeck.c:9833)
PR c/45969
	* c-typeck.c (build_binary_op): Don't try to compute a semantic
	type with excess precision for boolean operations.

testsuite:
	* gcc.c-torture/compile/pr45969-1.c: New test.

From-SVN: r165472
2010-10-14 16:48:52 +01:00
Richard Guenther
4a759e75ab re PR c++/45382 (internal compiler error: tree code ‘call_expr’ is not supported in gimple streams)
2010-10-14  Richard Guenther  <rguenther@suse.de>

	PR lto/45382
	* g++.dg/lto/20101014-2_0.C: New testcase.

From-SVN: r165471
2010-10-14 15:31:36 +00:00
Jeremie Salvucci
f8ed6dc529 gengtype.c: Include getopt.h and version.h.
2010-10-14  Jeremie Salvucci  <jeremie.salvucci@free.fr>
	    Basile Starynkevitch  <basile@starynkevitch.net>

	* gcc/gengtype.c:  Include getopt.h and version.h.

	(lang_bitmap, struct outf, outf_p)
	(get_output_file_with_visibility, oprintf): Definitions moved to
	gengtype.h
	(output_files, header_file, srcdir, srcdir_len, this_file)
	(do_dump): No more static variables.
	(do_debug): New.
	(dbgprint_count_type_at): Added new function.
	(gengtype_long_options): New.
	(print_usage, print_version, parse_program_options): New.
	(main): Call parse_program_options, and removed old option
	handling code.  Added some debug output.

	* gcc/gengtype.h:  Updated copyright year.
	(lang_bitmap, struct outf, outf_p, header_file, oprintf)
	(get_output_file_with_visibility, srcdir, srcdir_len, do_dump):
	Moved from gengtype.c to here.
	(do_debug, read_state_filename, write_state_filename): New
	variables. (DBGPRINTF, DBGPRINT_COUNT_TYPE): New macros.

	* gcc/Makefile.in:
	(REVISION): Always defined.
	(version.o): Removed ifdef REVISION_c.
	(s-gtype): Pass arguments to build/gengtype program.
	(build/version.o): Added building rule.
	(build/gengtype$(build_exeext)): Added build/version.o.


Co-Authored-By: Basile Starynkevitch <basile@starynkevitch.net>

From-SVN: r165470
2010-10-14 13:56:12 +00:00
Iain Sandoe
560d6bd5b5 Partial merge of 'ObjC GC' from FSF apple 'trunk' branch.
* config/darwin-c.c (darwin_cpp_builtins): Define __weak and
	__strong macros.

From-SVN: r165469
2010-10-14 13:45:28 +00:00
Eric Botcazou
a61c3633ec sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke may_trap_or_fault_p instead of may_trap_p predicate.
* sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke
	may_trap_or_fault_p instead of may_trap_p predicate.
	* tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag.
	(substitute_placeholder_in_expr): Likewise.
	* tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP
	flag on MEM_REF nodes.
	(copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP
	flags on INDIRECT_REF nodes.
ada/
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set
	TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
	* gcc-interface/trans.c (Identifier_to_gnu): Set TREE_THIS_NOTRAP on
	the INDIRECT_REF node built for objects used by reference.
	* gcc-interface/utils2.c (build_binary_op): Add short-circuit for
	constant result. Set TREE_THIS_NOTRAP on ARRAY_REF and ARRAY_RANGE_REF.
	(gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.

From-SVN: r165468
2010-10-14 13:39:18 +00:00
Eric Botcazou
8de2e8c957 Fix long lines
From-SVN: r165467
2010-10-14 13:31:09 +00:00
H.J. Lu
27f8e5a93b Add -mtune=generic to 256bit AVX tests.
2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/avx-copysign-vec.c: Add -mtune=generic.
	* gcc.target/i386/avx-copysignf-vec.c: Likewise.
	* gcc.target/i386/pr44130.c: Likewise.
	* gcc.target/i386/pr44144.c: Likewise.
	* gcc.target/i386/pr44180.c: Likewise.
	* gcc.target/i386/recip-vec-divf-avx.c: Likewise.
	* gcc.target/i386/recip-vec-sqrtf-avx.c: Likewise.
	* gcc.target/i386/vect-sizes-1.c: Likewise.
	* gcc.target/i386/vectorize4-avx.c: Likewise.

From-SVN: r165466
2010-10-14 06:05:46 -07:00
Eric Botcazou
82971de5f6 * lto-elf.c (SHN_XINDEX): Define if not already defined.
From-SVN: r165464
2010-10-14 12:43:37 +00:00
Nathan Froyd
8ac7fdcb39 config.gcc (arm*-*-linux-*eabi): Add bpabi.h from libgcc.
gcc/
	* config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from
	libgcc.
	(arm*-*-uclinux*eabi) <tm_file>: Likewise.
	(arm*-*-eabi*) <tm_file>: Likewise.
	(frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
	(frv-*-*linux*) <tm_file>: Likewise.
	* config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
	and associated helper macros.
	* config/frv/frv-abi.h: Delete.

libgcc/
	* config/arm/bpabi.h: New file.
	* config/frv/frv-abi.h: New file.

From-SVN: r165463
2010-10-14 12:35:43 +00:00
Richard Guenther
1e85e7204d re PR c++/44561 (using nullptr_t with -flto/-fwhopr causes ICE: tree code 'lang_type' is not supported in gimple streams)
2010-10-14  Richard Guenther  <rguenther@suse.de>

	PR lto/44561
	* tree.def (NULLPTR_TYPE): New tree code.
	* dbxout.c (dbxout_type): Handle NULLPTR_TYPE.
	* dwarf2out.c (is_base_type): Likewise.
	(gen_type_die_with_usage): Likewise.
	* sdbout.c (plain_type_1): Likewise.
	* tree.c (build_int_cst_wide): Likewise.
	* gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types
	are equal.

	cp/
	* cp-tree.h (NULLPTR_TYPE_P): Adjust.
	* decl.c (cxx_init_decl_processing): Build a NULLPTR_TYPE node,
	use build_int_cst.
	* error.c (dump_type): Handle NULLPTR_TYPE.
	(dump_type_prefix): Likewise.
	(dump_type_suffix): Likewise.
	* mangle.c (write_type): Likewise.
	* name-lookup.c (arg_assoc_type): Likewise.
	* rtti.c (typeinfo_in_lib_p): Likewise.
	* pt.c (tsubst): Likewise.

	* g++.dg/lto/20101010-3_0.C: New testcase.
	* g++.dg/lto/20101010-4_0.C: Likewise.

From-SVN: r165462
2010-10-14 11:59:47 +00:00
Iain Sandoe
a16ced220f adjust recent tests for -fnext-runtime:
gcc/testsuite:

	* objc.dg/pr45878.m: Update to include NSConstantString interface
	for -fnext-runtime.
	* objc.dg/pr23214.m: Use the Object1.m implementation to build m64 on
	-fnext-runtime, XFAIL the m64 -fnext-runtime run.
	* objc.dg/objc-foreach-4.m: Provide an NSConstantString dummy class
	reference for m64 -fnext-runtime.

From-SVN: r165461
2010-10-14 10:40:07 +00:00
Joseph Myers
48476d13b2 params.c (params_finished): New.
* params.c (params_finished): New.
	(add_params): Assert !params_finished.
	(finish_params): New.
	(set_param_value_internal): Take params and params_set
	parameters.  Assert params_finished.
	(set_param_value, maybe_set_param_value): Take params and
	params_set parameters.  Update calls to set_param_value_internal.
	(set_default_param_value): Assert !params_finished.  Don't use
	set_param_value_internal.
	(default_param_value, init_param_values): New.
	* params.h (struct param_info): Change value to default_value.
	Remove set.
	(set_param_value, maybe_set_param_value): Add params and
	params_set parameters.
	(PARAM_VALUE): Get parameters from global_options.
	(PARAM_SET_P): Remove.
	(finish_params, default_param_value, init_param_values): New.
	* common.opt (param_values): New Variable.
	* config/arm/arm.c (arm_option_override): Pass extra arguments to
	maybe_set_param_value.
	* config/i386/i386.c (ix86_option_override_internal): Pass extra
	arguments to maybe_set_param_value.
	* config/picochip/picochip.c (picochip_option_override): Pass
	extra arguments to maybe_set_param_value.
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Pass
	extra arguments to maybe_set_param_value.
	* config/s390/s390.c (s390_option_override): Use
	maybe_set_param_value instead of set_param_value.  Pass extra
	arguments to maybe_set_param_value.
	* config/sparc/sparc.c (sparc_option_override): Pass extra
	arguments to maybe_set_param_value.
	* config/spu/spu.c (spu_option_override): Pass extra arguments to
	maybe_set_param_value.
	* opts.c (handle_param): Take opts and opts_set parameters.
	Update call to set_param_value.
	(initial_min_crossjump_insns,
	initial_max_fields_for_field_sensitive,
	initial_loop_invariant_max_bbs_in_loop): Remove.
	(init_options_once): Don't set them.
	(init_options_struct): Initialize parameters structures.
	(default_options_optimization): Use default_param_value when
	restoring defaults.  Update calls to maybe_set_param_value.
	(finish_options): Update calls to maybe_set_param_value.
	(common_handle_option): Update calls to handle_param and
	set_param_value.
	* toplev.c (DEFPARAM): Update definition for changes to
	param_info.
	(general_init): Call finish_params.

From-SVN: r165460
2010-10-14 11:22:43 +01:00
Nick Clifton
4af476d7f2 mn10300.h (CONSTANT_ALIGNMENT): Define.
* config/mn10300/mn10300.h (CONSTANT_ALIGNMENT): Define.
        (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.
        (FIRST_PSEUDO_REGISTER): Increase by one.
        (FIXED_REGISTERS, CALL_USED_REGISTERS): Update with CC_REG.
        (HARD_REGNO_MODE_OK): Call mn10300_hard_regno_mode_ok.
        (MODES_TIEABLE): Call mn10300_modes_tieable.
        (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add
        CC_REGS.
        (LEGITIMATE_CONSTANT_P): Call mn10300_legitimate_constant_p.
        (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, NOTICE_UPDATE_CC)
        (SELECT_CC_MODE, REVERSIBLE_CC_MODE): Delete.
        (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Add CC register.
        (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
        (mn10300_cc_status_mdep): Delete.
        (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Delete.
        * config/mn10300/mn10300 (mn10300_option_override): Stop disabling
        the combine-stack-adjust pass.
        (print_operand): Use the mode of the comparison operation to
        select the comparison suffix.
        (notice_update_cc): Delete.
        (mn10300_secondary_reload_class): Remove test for stack pointer
        based arithmetic.
        (output_tst): Rename to mn10300_output_cmp.
        (impossible_plus_operand): Move into predicates.md.
        (mn10300_legitimize_address): Make static.
        (mn10300_legitimate_address_p): Make static.  Only allow SI sized
        constant pic operands.
        (mn10300_legitimate_constant_p): New function.
        (mn10300_case_values_threshold): Make static.
        (mn10300_hard_regno_mode_ok): New function.
        (mn10300_modes_tieable): New function.
        (mn10300_select_cc_mode): New function.
        * config/mn10300/predicates.md (impossible_plus_operand): Define.
        * config/mn10300/mn10300-protos.h: Tidy.
        (mn10300_legitimate_constant_p, mn10300_modes_tieable)
        (mn10300_hard_regno_mode_ok, mn10300_select_cc_mode): Prototype.
        * config/mn10300/mn10300.md (cc attribute): Delete.  Replace
        with clobbers or sets of CC_REG.
        (CC_REG): Define.
        (mov*): Remove use of CLR instruction.
        (cbranch_si4_<code>): New pattern/split.
        (integer_conditional_branch): New pattern.
        (cbranch_sf4_<code>): New pattern/split.
        (float_conditional_branch): New pattern.
        (casesi): Use addsi3 pattern instead of movsi pattern to add and
        move a value at the same time.
        (cc0 peepholes): Remove.

From-SVN: r165459
2010-10-14 09:12:50 +00:00
H.J. Lu
6203e21acb Add another 256bit vectorizer test.
2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/vect-sizes-1.c: New.

From-SVN: r165458
2010-10-14 01:49:27 -07:00
H.J. Lu
4efeac88ee Scan 256bit AVX register and xfail vectorize4-avx.c.
2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/46011
	* gcc.target/i386/vectorize4-avx.c: Scan 256bit AVX register
	and xfail.

From-SVN: r165457
2010-10-14 01:33:09 -07:00
H.J. Lu
c7a9c0e337 Scan 256bit AVX register.
2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/recip-vec-sqrtf-avx.c: Scan 256bit AVX
	register.
	* gcc.target/i386/recip-vec-divf-avx.c: Likewise.

From-SVN: r165456
2010-10-14 01:19:32 -07:00
Andrey Belevantsev
cfeb0fa8c9 sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE on RTX_FRAME_RELATED_P insns and the insn to which...
* sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE on RTX_FRAME_RELATED_P
    insns and the insn to which NOTE_INSN_EPILOGUE_BEG is attached.
    * sched-vis.c (print_value): Allow NULL value.

    * gcc.target/ia64/20101005.c: New test.

From-SVN: r165455
2010-10-14 11:59:57 +04:00
Andrey Belevantsev
3e6a3f6fc3 re PR rtl-optimization/45570 (ICE: in cfg_preds_1, at sel-sched-ir.c:4584)
PR rtl-optimization/45570
	* sel-sched-ir.c (cfg_preds_1): When walking out of the region, assert
	that we are pipelining outer loops.  Allow returning zero predecessors.
	* gcc.dg/pr45570.c: New test.

From-SVN: r165454
2010-10-14 11:56:47 +04:00
Andrey Belevantsev
262d82326e sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
* sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
        (tidy_control_flow): Tidy vertical space.
        (sel_remove_bb): New variable idx.  Use it to remember the basic
        block index before deleting the block.
        (sel_remove_empty_bb): Remove dead code, simplify and insert to ...
        (sel_merge_blocks): ... here.
        * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.

From-SVN: r165453
2010-10-14 11:39:07 +04:00
Jakub Jelinek
6699b754e1 cse.c (is_dead_reg): Change into inline function that is not called through for_each_rtx.
* cse.c (is_dead_reg): Change into inline function that is not
	called through for_each_rtx.
	(set_live_p): Adjust caller.
	(insn_live_p): Don't reset DEBUG_INSNs here.
	(struct dead_debug_insn_data): New data. 
	(count_stores, is_dead_debug_insn, replace_dead_reg): New functions.
	(delete_trivially_dead_insns): If there is just one setter for the
	dead reg that is referenced by some DEBUG_INSNs, create a DEBUG_EXPR
	and add DEBUG_INSN for it right before the removed setter and
	use the DEBUG_EXPR instead of the dead pseudo.

From-SVN: r165452
2010-10-14 09:17:54 +02:00
Zdenek Dvorak
d2e60b7bc2 et-forest.c (et_nca): Return NULL immediately when the dominance forest has disjoint components.
2010-10-14  Zdenek Dvorak  <rakdver@kam.uniff.cz>
        * et-forest.c (et_nca): Return NULL immediately when
        the dominance forest has disjoint components.

From-SVN: r165451
2010-10-14 11:08:45 +04:00
Vladimir Makarov
854edfcda4 ira.c (setup_class_hard_regs): Fix typo in indexing ira_non_ordered_class_hard_regs and ira_class_hard_reg_index.
2010-10-13  Vladimir Makarov  <vmakarov@redhat.com>

	* ira.c (setup_class_hard_regs): Fix typo in indexing
	ira_non_ordered_class_hard_regs and ira_class_hard_reg_index.

From-SVN: r165450
2010-10-14 03:07:59 +00:00
H.J. Lu
0d16f46289 Add more 256bit AVX testcases.
2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/recip-vec-sqrtf-avx.c: New.
	* gcc.target/i386/recip-vec-divf-avx.c: Likewise.
	* gcc.target/i386/vectorize4-avx.c: Likewise.

From-SVN: r165449
2010-10-13 19:42:50 -07:00
H.J. Lu
7f82d2aef8 Add testcases for 256bit AVX copysign.
2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/avx-copysign-vec.c: New.
	* gcc.target/i386/avx-copysignf-vec.c: Likewise.

From-SVN: r165448
2010-10-13 19:36:41 -07:00
H.J. Lu
647030dcf2 Add a testcase for PR middle-end/44130.
2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/44130
	* gcc.target/i386/pr44130.c: New.

From-SVN: r165447
2010-10-13 19:27:59 -07:00
H.J. Lu
0f0dda2091 Add a testcase for PR middle-end/44144.
2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/44144
	* gcc.target/i386/pr44144.c: New.

From-SVN: r165446
2010-10-13 19:22:09 -07:00
H.J. Lu
1f561f9ba4 Add a testcase for PR target/44180.
2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/44180
	* gcc.target/i386/pr44180.c: New.

From-SVN: r165445
2010-10-13 19:11:59 -07:00
Tijs Wiebe Lefering
208d8b55ac F^C the vcg dump bug.
From-SVN: r165444
2010-10-14 01:48:43 +00:00
Jason Merrill
8943989dda re PR c++/45984 (ICE: canonical types differ for identical types)
PR c++/45984
	* class.c (fixup_attribute_variants): New fn.
	* cp-tree.h: Declare it.
	* pt.c (instantiate_class_template): Call it.
	* semantics.c (begin_class_definition): Call it.

From-SVN: r165443
2010-10-13 20:50:26 -04:00
GCC Administrator
b477c9658b Daily bump.
From-SVN: r165442
2010-10-14 00:17:36 +00:00
Jonathan Wakely
405de314b8 re PR libstdc++/45990 (28_regex/07_traits/char/isctype.cc XPASSes on Solaris 2/IRIX 6)
PR libstdc++/45990
	* include/bits/regex.h (regex_traits::isctype): DR 1337.

From-SVN: r165438
2010-10-13 23:52:25 +01:00
Eric Botcazou
8908df28a6 re PR rtl-optimization/45912 (Patch for PR tree-optimization/44972 caused 2500+ FAILs on Solaris 2/SPARC)
PR rtl-optimization/45912
	* ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Test the
	regno of registers instead of their index to compute the alignment.

From-SVN: r165437
2010-10-13 21:43:42 +00:00
H.J. Lu
1e27129f2e Addd 256bit AVX vectorizer patterns.
2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_build_const_vector): Check vector
	mode instead of scalar mode.
	(ix86_build_signbit_mask): Likewise.
	(ix86_expand_fp_absneg_operator): Updated.
	(ix86_expand_copysign): Likewise.
	(ix86_expand_int_vcond): Likewise.
	(ix86_emit_swdivsf): Likewise.
	(ix86_sse_copysign_to_positive): Likewise.
	(ix86_expand_sse_fabs): Likewise.
	* config/i386/i386.md (fixuns_trunc<mode>si2): Likewise.
	* config/i386/sse.md (copysign<mode>3): Likewise.
	(sse2_cvtudq2ps): Likewise.
	(vec_unpacku_float_hi_v4si): Likewise.
	(vec_unpacku_float_lo_v4si): Likewise.

	* config/i386/i386.c (ix86_builtins): Add
	IX86_BUILTIN_CPYSGNPS256 and IX86_BUILTIN_CPYSGNPD256.
	(bdesc_args): Likewise.
	(ix86_builtin_vectorized_function): Support 
	IX86_BUILTIN_CPYSGNPS256, IX86_BUILTIN_CPYSGNPD256,
	IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS_NR256,
	and IX86_BUILTIN_CVTPS2DQ256.
	(ix86_builtin_reciprocal): Support IX86_BUILTIN_SQRTPS_NR256.

	* config/i386/sse.md (STORENT_MODE): New.
	(VEC_FLOAT_MODE): Likewise.
	(VEC_EXTRACT_MODE): Likewise.
	(*avx_cvtdq2pd256_2): Likewise.
	(vec_pack_trunc_v4df): Likewise.
	(vec_interleave_highv8sf): Likewise.
	(vec_interleave_lowv8sf): Likewise.
	(storent<mode>): Macroized.
	(<code><mode>2: absneg): Likewise.
	(copysign<mode>3): Likewise.
	(vec_extract<mode>): Likewise.

	PR target/44180
	* config/i386/i386.c (expand_vec_perm_even_odd_1): Rewritten
	for V8SFmode.

2010-10-13  Richard Guenther  <rguenther@suse.de>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/sse.md (reduc_splus_v8sf): Add.
	(reduc_splus_v4df): Likewise.
	(vec_unpacks_hi_v8sf): Likewise.
	(vec_unpacks_lo_v8sf): Likewise.
	(*avx_cvtps2pd256_2): Likewise.
	(vec_unpacks_float_hi_v8si): Likewise.
	(vec_unpacks_float_lo_v8si): Likewise.
	(vec_interleave_highv4df): Likewise.
	(vec_interleave_lowv4df): Likewise.

From-SVN: r165436
2010-10-13 14:20:07 -07:00
Richard Guenther
0d8485e009 re PR objc/45878 (Can't compile even a trivial ObjC program with -fexceptions -O2)
2010-10-13  Richard Guenther  <rguenther@suse.de>

	PR objc/45878
	* gimple-fold.c (gimple_fold_obj_type_ref): Leave OBJ_TYPE_REFs
	alone if there are no virtual methods.

	* objc.dg/pr45878.m: New testcase.

From-SVN: r165435
2010-10-13 20:30:10 +00:00