Commit Graph

103006 Commits

Author SHA1 Message Date
Ira Rosen
039d9ea184 re PR tree-optimization/45714 (Vectorization of double pow function causes a segmentation fault)
PR tree-optimization/45714
	* tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement 
	created in vectorizable_call instead of the original statement in 
	def stmt updates.

From-SVN: r164420
2010-09-19 14:23:40 +00:00
Eric Botcazou
66de86b074 decl.c (gnat_to_gnu_entity): Do not generate debug info for individual enumerators.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: Do
	not generate debug info for individual enumerators.

From-SVN: r164418
2010-09-19 14:03:39 +00:00
Eric Botcazou
12e8621893 decl.c (gnat_to_gnu_entity): Use record type instead of enumeral type as the dummy type built for the...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Use record
	type instead of enumeral type as the dummy type built for the template
	type of fat pointers.

From-SVN: r164417
2010-09-19 13:55:36 +00:00
Eric Botcazou
2231f17fa0 gigi.h (get_elaboration_procedure): Declare.
* gcc-interface/gigi.h (get_elaboration_procedure): Declare.
	(gnat_zaplevel): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not force global
	binding level for an external constant.
	<E_Constant>: Force the local context and create a fake scope before
	translating the defining expression of an external constant.
	<object>: Treat external constants at the global level explicitly for
	renaming declarations.
	(elaborate_expression_1): Force the variable to be static if the
	expression is global.
	* gcc-interface/trans.c (get_elaboration_procedure): New function.
	(call_to_gnu): Use it.
	(gnat_to_gnu): Likewise.
	<N_Object_Declaration>: Do not test Is_Public to force the creation of
	an initialization variable.
	(add_decl_expr): Discard the statement if the declaration is external.
	* gcc-interface/utils.c (gnat_pushdecl): Do not put the declaration in
	the current block if it is external.
	(create_var_decl_1): Do not test Is_Public to set TREE_STATIC.
	(gnat_zaplevel): New global function.

From-SVN: r164416
2010-09-19 13:48:51 +00:00
Eric Botcazou
a10623fb71 decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL variables against zero in all cases.
* gcc-interface/decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL
	variables against zero in all cases.
	(rest_of_type_decl_compilation): Likewise.
	* gcc-interface/trans.c (gigi): Pass properly typed constants to
	create_var_decl.
	(call_to_gnu): Fix formatting.
	(Handled_Sequence_Of_Statements_to_gnu): Likewise.
	(Exception_Handler_to_gnu_zcx): Likewise.
	(gnat_to_gnu) <N_Object_Declaration>: Short-circuit handling of
	constant
	expressions in presence of a freeze node.

From-SVN: r164415
2010-09-19 13:18:26 +00:00
Eric Botcazou
50a6af053a decl.c (gnat_to_gnu_entity): Look into expressions for external constants that are aggregates.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Look into
	expressions for external constants that are aggregates.
	* gcc-interface/utils2.c (build_simple_component_ref): If the field
	is an inherited component in an extension, look through the extension.

From-SVN: r164414
2010-09-19 13:12:13 +00:00
Uros Bizjak
b146446c53 i386-protos.h (split_double_mode): New prototype.
* config/i386/i386-protos.h (split_double_mode): New prototype.
	(split_di, split_ti): Remove prototypes.
	* config/i386/i386.c (split_double_mode): New function.
	(split_di, split_ti): Remove.
	(ix86_expand_branch): Use split_double_mode.
	(ix86_split_to_parts): Ditto.
	(ix86_split_ashl): Ditto.
	(ix86_split_ashr): Ditto.
	(ix86_split_lshr): Ditto.
	(ix86_force_to_memory): Ditto.
	* config/i386/i386.md: Use split_double_mode in double-mode splitters.

From-SVN: r164413
2010-09-19 14:42:32 +02:00
Ralf Wildenhues
6e687a9ad7 Uglify C++ headers some more.
libstdc++-v3/:
	* include/ext/throw_allocator.h
	(hash<__gnu_cxx::throw_value_limit>::operator()): Uglify local.
	(hash<__gnu_cxx::throw_value_random>::operator()): Likewise.
	* include/parallel/set_operations.h (__symmetric_difference_func):
	Uglify remaining arguments to __count, __first_empty, _M_invoke.
	(__difference_func): Likewise for __count.
	* include/profile/impl/profiler_node.h
	(__object_info_base::__write): Uglify parameter.

From-SVN: r164411
2010-09-19 09:44:24 +00:00
Paolo Carlini
61e60481d0 hash_bytes.cc: Compile load_bytes and shift_mix only when __SIZEOF_SIZE_T__ == 8.
2010-09-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/hash_bytes.cc: Compile load_bytes and shift_mix only when
	__SIZEOF_SIZE_T__ == 8.

From-SVN: r164410
2010-09-19 08:52:50 +00:00
GCC Administrator
1f77459495 Daily bump.
From-SVN: r164409
2010-09-19 00:17:20 +00:00
Jan Hubicka
9b389a5e64 re PR tree-optimization/45453 (ICE: verify_cgraph_node failed: inlined_to pointer set for noninline callers with -O2 -fno-early-inlining)
PR tree-optimization/45453
	* cgraphunit.c (cgraph_finalize_function): Consider comdat & external
	virtual functions are reachable.
	* ipa-inline.c (cgraph_clone_inlined_nodes): Likewise.
	* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
	* ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P
	when modifying function.

	* g++.dg/tree-ssa/pr45453.C: New testcase.

From-SVN: r164405
2010-09-18 23:13:17 +00:00
Thomas Koenig
1151446c17 frontend-passes.c (gfc_expr_walker): Also handle EXPR_SUBSTRING.
2010-09-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* frontend-passes.c (gfc_expr_walker):  Also
	handle EXPR_SUBSTRING.

From-SVN: r164404
2010-09-18 22:45:13 +00:00
Thomas Koenig
46f19baf76 frontend-passes.c (gfc_expr_walker): Handle constructors and references.
2010-09-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* frontend-passes.c (gfc_expr_walker):  Handle
	constructors and references.

From-SVN: r164403
2010-09-18 22:22:38 +00:00
Jan Hubicka
1389294cc3 re PR tree-optimization/45605 (Missed devirtualization)
PR tree-optimization/45605
	* cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
	* gimple-fold.c (static_object_in_other_unit_p): New function.
	(canonicalize_constructor_val): Use it.
	(get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
	returning NULL.
	(gimple_fold_obj_type_ref_known_binfo): Use static_object_in_other_unit_p.

From-SVN: r164402
2010-09-18 21:25:29 +00:00
Jason Merrill
6eb208a69c call.c (compare_ics): Do lvalue/rvalue reference binding comparison for ck_list, too.
* call.c (compare_ics): Do lvalue/rvalue reference binding
	comparison for ck_list, too.

From-SVN: r164401
2010-09-18 17:22:10 -04:00
Richard Guenther
6a78fd06c5 re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at tree-phinodes.c:395)
2010-09-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45709
	* tree-inline.c (copy_phis_for_bb): Delay commit of edge
	insertions until after all PHI nodes of the block are processed.

	* g++.dg/torture/pr45709-2.C: New testcase.

From-SVN: r164397
2010-09-18 17:13:04 +00:00
Tijl Coosemans
f52a39cde6 * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.
From-SVN: r164396
2010-09-18 17:05:26 +00:00
H.J. Lu
ba67f4877a Pass -fno-pic to gcc.target/i386/pad-3.c.
2010-09-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/45719
	* gcc.target/i386/pad-3.c: Pass -fno-pic.

From-SVN: r164395
2010-09-18 09:24:50 -07:00
Gerald Pfeifer
a929ec3d11 lto-elf.c (lto_obj_file_open): Also provide filename when elf_begin fails.
* lto-elf.c (lto_obj_file_open): Also provide filename when
	elf_begin fails.

From-SVN: r164394
2010-09-18 16:24:38 +00:00
Kai Tietz
b4b7e792f0 config.gcc (*-w64-mingw*): Correct typo about t-dfprules.
2010-09-18  Kai Tietz  <kai.tietz@onevision.com>

        * config.gcc (*-w64-mingw*): Correct typo about t-dfprules.

From-SVN: r164393
2010-09-18 16:50:31 +02:00
Richard Guenther
a9db10d4aa re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at tree-phinodes.c:395)
2010-09-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45709
	* tree-inline.c (copy_phis_for_bb): Fixup new_edge when
	we splitted it.

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

From-SVN: r164390
2010-09-18 11:38:25 +00:00
Nicola Pero
5d3b14bd9a In libobjc/:
* hash.c: Include objc-private/hash.h instead of objc/hash.h.

        * objc/sarray.h: Moved into objc/deprecated/sarray.h;
        objc/sarray.h replaced with a placeholder including the file from
        the deprecated/ directory.
        * objc-private/sarray.h: New file (private copy of sarray.h).
        * hash.c: Include <assert.h> instead of "assert.h"
        * sarray.c: Include <assert.h> instead of "assert.h".  Include
        objc-private/sarray.h instead of objc/sarray.h.
        * selector.c: Include objc-private/sarray.h instead of
        objc/sarray.h.
        * sendmsg.c: Include <assert.h>.  Include objc-private/sarray.h
        instead of objc/sarray.h.
        * Makefile.in (OBJC_DEPRECATED_H): Added sarray.h.

From-SVN: r164389
2010-09-18 09:34:58 +00:00
Luc Hermitte
fc99f7809e re PR libstdc++/45713 (sizeof std::bitset<ULONG_MAX> == 1)
2010-09-17  Luc Hermitte  <hermitte@free.fr>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45713
	* include/std/bitset: Fix _GLIBCXX_BITSET_WORDS macro.
	* testsuite/23_containers/bitset/45713.cc: New.
	    

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r164388
2010-09-18 01:29:31 +00:00
GCC Administrator
7b458ccc8d Daily bump.
From-SVN: r164387
2010-09-18 00:17:46 +00:00
Sebastian Pop
1f42400682 Add DEBUG_FUNCTION to all the dot_* debugging functions.
2010-09-17  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION.
	(dot_deps_stmt): Same.
	* graphite-poly.c (dot_lst): Same.
	* graphite-scop-detection.c (dot_all_scops): Same.
	(dot_scop): Same.

From-SVN: r164381
2010-09-17 21:39:28 +00:00
Sebastian Pop
f3241b295c Add back dot_rdg.
2010-09-17  Sebastian Pop  <sebastian.pop@amd.com>

	Revert commit: 2009-12-16  Ben Elliston  <bje@au.ibm.com>
	* tree-data-ref.c (dot_rdg_1): Added back.
	(dot_rdg): Same.  Added "#if 0" around system call.

From-SVN: r164380
2010-09-17 21:39:19 +00:00
H.J. Lu
e7ed95a24d Pad short functions with NOPs for Atom.
gcc/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>
	    Richard Henderson  <rth@redhat.com>

	* config/i386/i386.c (initial_ix86_tune_features): Add
	X86_TUNE_PAD_SHORT_FUNCTION.
	(ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION.
	(ix86_count_insn): New.
	(ix86_pad_short_function): Likewise.
	(ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION.

	* config/i386/i386.h (ix86_tune_indices): Add
	X86_TUNE_PAD_SHORT_FUNCTION.
	(TARGET_PAD_SHORT_FUNCTION): New.

	* config/i386/i386.md (UNSPEC_NOPS): New.
	(nops): Likewise.

gcc/testsuite/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/pad-1.c: New.
	* gcc.target/i386/pad-2.c: Likewise.
	* gcc.target/i386/pad-3.c: Likewise.
	* gcc.target/i386/pad-4.c: Likewise.
	* gcc.target/i386/pad-5a.c: Likewise.
	* gcc.target/i386/pad-5b.c: Likewise.
	* gcc.target/i386/pad-6a.c: Likewise.
	* gcc.target/i386/pad-6b.c: Likewise.
	* gcc.target/i386/pad-7.c: Likewise.
	* gcc.target/i386/pad-8.c: Likewise.
	* gcc.target/i386/pad-9.c: Likewise.
	* gcc.target/i386/pad-10.c: Likewise.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r164379
2010-09-17 14:07:09 -07:00
Sebastian Pop
8cab7c1398 Do not print warning messages when there are no occurences.
2010-07-02  Sebastian Pop  <sebastian.pop@amd.com>

	* check_GNU_style.sh: Do not print warning messages when there are
	no occurences.

From-SVN: r164378
2010-09-17 19:09:47 +00:00
H.J. Lu
2b3ded42e2 Make sure that all variable sized adjustments are multiple of preferred
stack boundary after stack alignment.

gcc/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/45234
	* calls.c (expand_call): Make sure that all variable sized
	adjustments are multiple of preferred stack boundary after
	stack alignment.

gcc/testsuite/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/45234
	* gcc.dg/torture/stackalign/alloca-5.c: New.

From-SVN: r164377
2010-09-17 11:00:40 -07:00
DJ Delorie
bf9afb7d95 rx.c (valid_psw_flag): New.
* config/rx/rx.c (valid_psw_flag): New.
(rx_expand_builtin): Call it for setpsw/clrpsw.
(rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an
RTX.
* config/rx/rx.md (bitclr): Don't mark the output as early-clobber.
(bitclr_in_memory): Likewise.
(clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile.

From-SVN: r164376
2010-09-17 13:51:43 -04:00
H.J. Lu
765c3e8f08 Update stack alignment when increasing local variable alignment.
gcc/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/45678
	* cfgexpand.c (update_stack_alignment): New.
	(get_decl_align_unit): Use it.
	(expand_one_stack_var_at): Call update_stack_alignment.

gcc/testsuite/

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/45678
	* gcc.dg/torture/pr45678-2.c: New.

From-SVN: r164375
2010-09-17 10:49:30 -07:00
Nicola Pero
349cfd93f4 In libobjc/:
* objc-private/objc-list.h (list_remove_elem): Unused function
        removed.  (list_nth): Unused function removed.  (list_find):
        Unused function removed.  (list_lenght): Unused function removed.

        Also, fixed an error in my last commit by adding back
        objc/hash.h and objc/objc-list.h that had not been committed.

From-SVN: r164374
2010-09-17 16:52:36 +00:00
Nicola Pero
5be9cdc112 In libobjc/:
* objc/hash.h: Moved into objc/deprecated/hash.h; objc/hash.h
        replaced with a placeholder including the file from the
        deprecated/ directory.
        * objc/objc-api.h: Updated includes.
        * objc/typedstream.h: Updated includes.
        * objc-private/hash.h: New file (private copy of hash.h).
        * objc/objc-list.h: Moved into objc/deprecated/objc-list.h;
        objc/objc-list.h replaced with a placeholder including the file
        from the deprecated/ directory.
        * objc-private/objc-list.h: New file (private copy of objc-list.h).
        * init.c: Include objc-private/hash.h and objc-private/objc-list.h
        instead of objc/hash.h and objc/objc-list.h.
        * selector.c: Same change.
        * class.c: Added include <string.h>, which used to be implicitly included
        when hash.h was included.
        * exception.c: Same change.
        * objects.c: Same change.
        * sarray.c: Same change.
        * sendmsg.c: Same change.
        * Makefile.in (OBJC_DEPRECATED_H): Added hash.h and objc-list.h.
        (OBJC_H): Removed hash.h and objc-list.h

From-SVN: r164373
2010-09-17 16:35:15 +00:00
Richard Guenther
0982fd6497 lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers): Properly copy the read string.
2010-09-17  Richard Guenther  <rguenther@suse.de>

	* lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers):
	Properly copy the read string.

From-SVN: r164371
2010-09-17 14:18:39 +00:00
Joseph Myers
e90afde6fe options.texi (Variable): Document.
* doc/options.texi (Variable): Document.
	* optc-gen.awk, opth-gen.awk: Handle Variable records.  Don't
	generate target_flags declarations explicitly.  Don't define
	VarExists variables for the driver.
	* common.opt (target_flags): New Variable record.
	(flag_dump_unnumbered, flag_dump_unnumbered_links,
	flag_var_tracking, flag_var_tracking_assignments,
	flag_var_tracking_assignments_toggle): Don't mark variables with
	VarExists.
	* config/i386/i386.c (ix86_isa_flags): Don't define here.
	* config/i386/i386.opt (ix86_isa_flags): Define here.
	* config/mcore/mcore.c (mcore_stack_increment): Don't define here.
	* config/mcore/mcore.opt (mcore_stack_increment): Don't mark with
	VarExists.
	* flags.h (flag_dump_unnumbered, flag_var_tracking): Remove.
	* print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links):
	Only define for generator programs.
	* rtlanal.c (target_flags): Remove.
	* toplev.c (flag_var_tracking, flag_var_tracking_assignments,
	flag_var_tracking_assignments_toggle): Remove.

From-SVN: r164370
2010-09-17 15:14:49 +01:00
Richard Guenther
2d5581f1b2 re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)
2010-09-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45678
	* gcc.dg/torture/pr45678-1.c: New testcase.

From-SVN: r164369
2010-09-17 13:57:04 +00:00
Michael Matz
18ba3ce7e3 re PR tree-optimization/43432 (Missed vectorization: "complicated access pattern" for increasing and decreasing data indexing)
PR tree-optimization/43432
	* tree-vect-data-refs.c (vect_analyze_data_ref_access):
	Accept backwards consecutive accesses.
	(vect_create_data_ref_ptr): If step is negative generate
	decreasing IVs.
	* tree-vect-stmts.c (vectorizable_store): Reject negative steps.
	(perm_mask_for_reverse, reverse_vec_elements): New functions.
	(vectorizable_load): Handle loads with negative steps when easily
	possible.

testsuite/
	PR tree-optimization/43432
	* lib/target-supports.exp (check_effective_target_vect_perm_byte,
	check_effective_target_vect_perm_short): New predicates.
	(check_effective_target_vect_perm): Include x86_64.
	* gcc.dg/vect/pr43432.c: New test.
	* gcc.dg/vect/vect-114.c: Adjust.
	* gcc.dg/vect/vect-15.c: Ditto.
	* gcc.dg/vect/slp-perm-8.c: Use new predicate.
	* gcc.dg/vect/slp-perm-9.c: Ditto.

From-SVN: r164367
2010-09-17 13:26:43 +00:00
Jan Hubicka
4c588abff3 lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
* lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
	* lto.c (lto_promote_cross_file_statics): Use const_value_known.

From-SVN: r164366
2010-09-17 11:27:25 +00:00
Naveen H.S
122603fae2 v850.c (v850_function_value_regno_p): Make static.
* config/v850/v850.c (v850_function_value_regno_p): Make static.
        Adjust comments. Declare.
        (TARGET_FUNCTION_VALUE_REGNO_P): Define.
        * config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete.

From-SVN: r164365
2010-09-17 10:36:49 +00:00
Nicola Pero
46936bf011 In gcc/testsuite/:
* objc/execute/exceptions/throw-nil.m: Run the test only with the
        GNU runtime.

From-SVN: r164359
2010-09-17 10:14:25 +00:00
Richard Guenther
c3224d6f70 common.opt (combine): Remove.
2010-09-17  Richard Guenther  <rguenther@suse.de>

	* common.opt (combine): Remove.
	* gcc.c (default_compilers): Remove specs testing combine.
	The C compilers no longer can combine.
	(option_map): Remove -combine.
	(display_help): Remove -combine.
	(driver_handle_option): Remove OPT_combine handling.
	(compile_input_file_p): Remove.
	(do_spec): Remove code concerning combine.
	(main): Likewise.
	* doc/invoke.texi: Remove traces of -combine.
	* lto-wrapper.c (run_gcc): Do not pass -combine to the compiler
	driver.

	lto/
	* lang.opt (flag_wpa): Also enable for the driver.

	* gcc.dg/pr27898.c: Use -flto instead of -combine.
	* gcc.dg/pr28706.c: Likewise.
	* gcc.dg/pr28712.c: Likewise.
	* gcc.dg/pr30762-1.c: Likewise.
	* gcc.dg/pr30762-2.c: Likewise.
	* gcc.dg/pr31529-1.c: Likewise.
	* gcc.dg/pr31529-2.c: Likewise.
	* gcc.dg/pr34457-1.c: Likewise.
	* gcc.dg/pr34457-2.c: Likewise.
	* gcc.dg/pr34668-1.c: Likewise.
	* gcc.dg/pr34668-2.c: Likewise.
	* gcc.dg/pr34989-1.c: Likewise.
	* gcc.dg/pr34989-2.c: Likewise.
	* gcc.dg/pr43557-1.c: Likewise.
	* gcc.dg/pr43557-2.c: Likewise.
	* gcc.dg/debug/pr41893-1.c: Likewise.
	* gcc.dg/matrix/matrix.exp: Do not use -combine.
	* gcc.dg/matrix/matrix-3.c: Drop dg-options.
	* gcc.dg/matrix/matrix-4.c: Likewise.
	* gcc.dg/struct/struct-reorg.exp: Do not use -combine.
	* gcc.dg/struct/wo_prof_empty_str.c: Drop dg-options.
	* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
	* gcc.dg/struct/wo_prof_escape_return.c: Likewise.

From-SVN: r164357
2010-09-17 09:04:14 +00:00
Richard Guenther
dbad82f59c re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)
2010-09-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45678
	* builtins.c (fold_builtin_memory_op): Always properly adjust
	alignment of memory accesses.

From-SVN: r164356
2010-09-17 09:00:23 +00:00
Jan Hubicka
52b3b3c7e2 lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when processing clone.
* lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when
	processing clone.
	* lto.c (lto_materialize_function): Do not tamper with STATIC and
	EXTERNAL flags.

From-SVN: r164354
2010-09-17 00:35:22 +00:00
GCC Administrator
ff01e2cb44 Daily bump.
From-SVN: r164353
2010-09-17 00:17:57 +00:00
Tobias Burnus
6dfd24f7e5 re PR fortran/43665 (INTENT(IN) etc. optimization of calls: function annotations for noclobber/noescape arguments)
2010-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43665
        * trans-types.c (create_fn_spec): New function.
        (gfc_get_function_type): Call it.

2010-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43665
        * gfortran.dg/cray_pointers_2.f90: Disable inlining to avoid
        optimizations.
        * gfortran.dg/intent_optimize_1.f90: New test.

From-SVN: r164348
2010-09-16 23:30:05 +02:00
Uros Bizjak
b3df2256e7 * config/i386/i386.md: Rearrange divmod patterns a bit.
From-SVN: r164347
2010-09-16 23:07:00 +02:00
H.J. Lu
26ec93086a Add -m8bit-idiv for x86.
gcc/

2010-09-16  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386-protos.h (ix86_split_idivmod): New prototype.

	* config/i386/i386.c (predict_jump): Add prototype.
	(flag_opts): Add -m8bit-idiv.
	(ix86_split_idivmod): New.

	* config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New.
	Add 2 splitters for SI/DI mode divide.
	(divmod<mode>4_1): New pattern.
	(udivmod<mode>4_1): Likewise.
	(testdi_ccno_1): Likewise.

	* config/i386/i386.opt (m8bit-idiv): New.

	* doc/invoke.texi: Document -m8bit-idiv.

gcc/testsuite/

2010-09-16  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/divmod-1.c: New.
	* gcc.target/i386/divmod-2.c: Likewise.
	* gcc.target/i386/divmod-3.c: Likewise.
	* gcc.target/i386/divmod-4.c: Likewise.
	* gcc.target/i386/divmod-4a.c: Likewise.
	* gcc.target/i386/divmod-5.c: Likewise.
	* gcc.target/i386/divmod-6.c: Likewise.
	* gcc.target/i386/divmod-7.c: Likewise.
	* gcc.target/i386/divmod-8.c: Likewise.
	* gcc.target/i386/udivmod-1.c: Likewise.
	* gcc.target/i386/udivmod-2.c: Likewise.
	* gcc.target/i386/udivmod-3.c: Likewise.
	* gcc.target/i386/udivmod-4.c: Likewise.
	* gcc.target/i386/udivmod-4a.c: Likewise.
	* gcc.target/i386/udivmod-5.c: Likewise.
	* gcc.target/i386/udivmod-6.c: Likewise.
	* gcc.target/i386/udivmod-7.c: Likewise.
	* gcc.target/i386/udivmod-8.c: Likewise.

From-SVN: r164346
2010-09-16 11:05:37 -07:00
Reza Yazdani
782d5172bb re PR bootstrap/45680 (cc1 fails to link on Solaris 9/x86 with Sun as: min_insn_size missing)
Fix PR45680.

2010-09-16  Reza Yazdani  <reza.yazdani@amd.com>

	PR bootstrap/45680
	* config/i386/i386.c (min_insn_size): Moved out of the
	ASM_OUTPUT_MAX_SKIP_PAD ifdef.

From-SVN: r164345
2010-09-16 17:19:25 +00:00
Jan Hubicka
0cac82a0d3 pr45679-1_0.C: New file.
* g++.dg/lto/pr45679-1_0.C: New file.
	* g++.dg/lto/pr45679-1_1.C: New file.
	* g++.dg/lto/pr45679-0_0.C: New file.
	* g++.dg/lto/pr45679-0_1.C: New file.
	* lto-cgraph.c (lto_output_node): Fix handling of clones.
	* ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of
	unreachable clones with reachable clones.
	* tree-inline.c (copy_bb): Fix sanity checking when producing
	unreachable clone.

From-SVN: r164344
2010-09-16 17:11:38 +00:00
Paolo Carlini
5ee996a2c6 stl_raw_storage_iter.h (raw_storage_iterator<>:: operator=(const _Tp&)): Use std::__addressof.
2010-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_raw_storage_iter.h (raw_storage_iterator<>::
	operator=(const _Tp&)): Use std::__addressof.

From-SVN: r164343
2010-09-16 17:09:10 +00:00