Commit Graph

101790 Commits

Author SHA1 Message Date
Uros Bizjak
7a6faad6e7 loadpre6.c: Cleanup fre dump file.
* gcc.dg/tree-ssa/loadpre6.c: Cleanup fre dump file.
	* gcc.dg/ipa/ipa-sra-6.c: Cleanup eipa_sra dump file.
	* gcc.dg/ipa/pure-const-2.c: Cleanup local-pure-const1 and
	optimized dump files.

From-SVN: r162477
2010-07-23 19:15:21 +02:00
Jakub Jelinek
cd3f04c80f tree.h (struct tree_base): Add nameless_flag bitfield.
* tree.h (struct tree_base): Add nameless_flag bitfield.
	(TYPE_NAMELESS, DECL_NAMELESS): Define.
	* omp-low.c (create_omp_child_function, scan_omp_parallel,
	scan_omp_task, lower_omp_taskreg): Set DECL_NAMELESS and/or
	DECL_ARTIFICIAL where needed.
	* dwarf2out.c (dwarf2_name): Return NULL if DECL_NAMELESS.
	(type_tag): Return NULL if TYPE_NAMELESS or if TYPE_DECL
	has DECL_NAMELESS set.

	* trans-types.c (gfc_get_array_descriptor_base,
	gfc_get_array_type_bounds): Set TYPE_NAMELESS.
	* trans-decl.c (gfc_build_qualified_array): Set DECL_NAMELESS
	instead of clearing DECL_NAME.
	(gfc_build_dummy_array_decl): Set DECL_NAMELESS.

From-SVN: r162476
2010-07-23 19:04:35 +02:00
Jakub Jelinek
52e092abdd re PR tree-optimization/45047 (ICE in vectorizable_store)
PR tree-optimization/45047
	* gcc.c-torture/compile/pr45047.c: New test.

From-SVN: r162475
2010-07-23 19:03:16 +02:00
Nathan Froyd
c5b79d4eb8 config.host (powerpc*-eabispe*): Set tmake_file.
* config.host (powerpc*-eabispe*): Set tmake_file.
	(powerpc*-eabi*): Likewise.
	* config/rs6000/t-ppccomm (EXTRA_PARTS): Add crtbegin, crtend,
	crtbeginS, crtendS, crtbeginT.

From-SVN: r162474
2010-07-23 16:53:48 +00:00
Uros Bizjak
c5c178d64f float-range-3.c: Use "dg-do compile" dejagnu directive instead of dg-compile.
* gcc.dg/float-range-3.c: Use "dg-do compile" dejagnu directive
	instead of dg-compile.
	* gcc.dg/float-range-4.c: Ditto.
	* gcc.dg/float-range-5.c: Ditto.
	* gcc.dg/fold-overflow-1.c: Ditto.
	* gcc.dg/gomp/sections-4.c: Ditto.
	* gcc.dg/transparent-union-1.c: Ditto.
	* gcc.dg/transparent-union-2.c: Ditto.
	* gcc.target/i386/pr39315-check.c: Ditto.
	* g++.dg/gomp/sections-4.C: Ditto.
	* g++.dg/template/dtor7.C: Ditto.
	* g++.dg/tree-ssa/pr19952.C: Ditto.
	* gfortran.dg/derived_constructor_comps_3.f90: Ditto.
	* gfortran.dg/graphite/pr42185.f90: Ditto.
	* gfortran.dg/namelist_36.f90: Ditto.
	* gnat.dg/noreturn1.adb: Ditto.
	* gnat.dg/specs/small_alignment.ads: Ditto.

From-SVN: r162470
2010-07-23 18:41:39 +02:00
Martin Jambor
556ede6501 re PR tree-optimization/44915 (ICE: SIGSEGV in walk_aliased_vdefs_1.constprop.42 (tree-ssa-alias.c:1707) with -findirect-inlining)
2010-07-23  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/44915
	* ipa-cp.c (cgraph_gate_cp): Also check that optimize is true.
	* ipa-inline.c (cgraph_mark_inline_edge): Likewise.
	(analyze_function): Likewise.

	* testsuite/g++.dg/torture/pr44915.C: New test.

From-SVN: r162469
2010-07-23 18:35:52 +02:00
Martin Jambor
8cbeddcc33 re PR tree-optimization/44914 (ICE: in calc_dfs_tree, at dominance.c:395 with -fipa-sra -fnon-call-exceptions)
2010-07-23  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/44914
	* tree-sra.c (sra_modify_function_body): Return true if CFG was
	changed, add purging dead eh edges.
	(ipa_sra_modify_function_body): Return true if CFG was changed,
	simplify purging dead eh edges.
	(modify_function): Return true if CFG was changed.
	(perform_intra_sra): Add TODO_cleanup_cfg to the return value if CFG
	was changed.
	(ipa_early_sra): Likewise.

	* testsuite/g++.dg/tree-ssa/pr44914.C:  New test.

From-SVN: r162468
2010-07-23 18:31:48 +02:00
Uros Bizjak
e40e64de70 * gcc.dg/pr36997.c: Adjust dg-message line number.
From-SVN: r162467
2010-07-23 17:25:15 +02:00
Jie Zhang
6104449219 re PR target/44290 (__naked attribute is broken)
PR target/44290
	* attribs.c (decl_attributes): Insert "noinline" and "noclone"
	if "naked".
	* tree-sra.c (ipa_sra_preliminary_function_checks): Return
	false if ! tree_versionable_function_p.

	testsuite/
	PR target/44290
	* gcc.dg/pr44290-1.c: New test.
	* gcc.dg/pr44290-2.c: New test.

From-SVN: r162466
2010-07-23 14:47:46 +00:00
H.J. Lu
9477ccb2b1 Cast to unsigned long.
2010-07-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/45042
	* lto-plugin.c (translate): Cast to unsigned long.

From-SVN: r162465
2010-07-23 07:37:21 -07:00
Nathan Froyd
c59a0a1d19 builtins.def (BUILT_IN_ARGS_INFO): Remove.
* builtins.def (BUILT_IN_ARGS_INFO): Remove.
	* ipa-pure-const.c (special_builtlin_state): Remove
	BUILT_IN_ARGS_INFO case.
	* tree-stdarg.c (execute_optimize_stdarg): Likewise.
	* builtins.c (expand_builtin): Likewise.
	(expand_builtin_args_info): Remove.
	* doc/tm.texi (__builtin_args_info): Remove.
	(__builtin_next_arg): Adjust to not refer to __builtin_args_info.
	* doc/tm.text.in: Likewise.

From-SVN: r162463
2010-07-23 14:31:20 +00:00
Paul Thomas
3d03ead0b8 re PR fortran/24524 (Fortran dependency checking should reverse loops)
2009-07-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24524
	* trans-array.c (gfc_init_loopinfo): Initialize the reverse
	field.
	gfc_trans_scalarized_loop_end: If reverse set in dimension n,
	reverse the scalarization loop.
	gfc_conv_resolve_dependencies: Pass the reverse field of the
	loopinfo to gfc_dep_resolver.
	trans-expr.c (gfc_trans_assignment_1): Enable loop reversal for
	assignment by resetting loop.reverse.
	gfortran.h : Add the gfc_reverse enum.
	trans.h : Add the reverse field to gfc_loopinfo.
	dependency.c (gfc_check_dependency): Pass null to the new arg
	of gfc_dep_resolver.
	(gfc_check_section_vs_section): Check for reverse dependencies.
	(gfc_dep_resolver): Add reverse argument and deal with the loop
	reversal logic.
	dependency.h : Modify prototype for gfc_dep_resolver to include
	gfc_reverse *.

From-SVN: r162462
2010-07-23 14:25:55 +00:00
Richard Guenther
c4fcd06a10 lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values.
2010-07-23  Richard Guenther  <rguenther@suse.de>

	* lto-symtab.c (lto_symtab_merge): Use gtc_mode enum
	values.
	(lto_symtab_merge_decls_2): Likewise.
	* tree-ssa.c (useless_type_conversion_p): Likewise.
	* lto-streamer-in.c (input_gimple_stmt): Likewise.
	* gimple.c (gtc_visited2, gtc_ob2): Remove.
	(struct type_pair_d): Make same_p an array indexed by mode.
	Update comment.
	(lookup_type_pair): Update initialization.
	(struct sccs): Adjust same_p type.
	(gimple_types_compatible_p_1, gtc_visit, gimple_types_compatible_p):
	Adjust.
	(print_gimple_types_stats): Likewise.
	* gimple.h (enum gtc_mode): New.
	(gimple_types_compatible_p): Adjust prototype.

From-SVN: r162461
2010-07-23 14:01:49 +00:00
Daniel Jacobowitz
6afb52d3e2 dwarf2out.c (dwarf2out_frame_debug): Check for queued saves again after processing insn.
* dwarf2out.c (dwarf2out_frame_debug): Check for queued saves
	again after processing insn.

From-SVN: r162460
2010-07-23 13:55:07 +00:00
Jason Merrill
96f3a5d239 re PR c++/45008 (Template code not expanded properly)
PR c++/45008
	* g++.dg/abi/mangle44.C: New.

From-SVN: r162459
2010-07-23 09:54:01 -04:00
Uros Bizjak
5fdba8726e *.c: Do not require sse{,2,3,4} effective target for compile-time only tests.
* gcc.target/i386/*.c: Do not require sse{,2,3,4} effective target
	for compile-time only tests.
	* gcc.target/i386/pr39315-2.c: Remove redundant sse2 effective
	target check.
	* gcc.target/i386/pr39315-4.c: Ditto.
	* gcc.target/i386/vperm-v4si-1.c: Remove sse_runtime effective
	target check.  Include sse-os-support.h.
	(main): Call check_isa and sse_os_support.
	* gcc.target/i386/vperm-v4sf-1.c: Ditto.
	* gcc.target/i386/vperm-v4si-2.c (main): Call check_isa.
	* gcc.target/i386/vperm-v4sf-2.c: Ditto.
	* gcc.target/i386/vperm-v2di.c: Remove sse2_runtime effective
	target check.  Include sse-os-support.h.
	(main): Call check_isa and sse_os_support.
	* gcc.target/i386/vperm-v2df.c: Ditto.

From-SVN: r162457
2010-07-23 15:45:08 +02:00
Uros Bizjak
1d8ec041a5 target-supports.exp (check_avx_hw_available): New procedure.
* lib/target-supports.exp (check_avx_hw_available): New procedure.
	(check_effective_target_avx_runtime): New procedure.
	(check_effective_target_sse2_runtime): Add check_effective_target_sse2.
	(check_effective_target_sse_runtime): Add check_effective_target_sse.

	* gcc.dg/compat/pr38736_main.c: Use avx_runtime effective target.
	* gcc.dg/compat/vector-1b_main.c: Ditto.  Remove cpuid.h include
	and __get_cpuid test.
	* gcc.dg/compat/vector-2b_main.c: Ditto.

	* gcc.target/i386/avx-check.h (main): Also check bit_OSXSAVE.

	* gcc.dg/20020418-1.c: Do not require sse2 effective target
	for compile-time only test.
	* gcc.dg/pr32716.c: Ditto.
	* gcc.dg/pr34856.c: Ditto.
	* gcc.dg/pr36997.c: Ditto.
	* gcc.dg/prefetch-loop-arrays-1.c: Ditto.
	* gfortran.dg/pr28158.f90: Ditto.
	* gfortran.dg/pr30667.f: Ditto.

	* gcc.dg/vect/vect.exp: Use check_effective_target_sse2_runtime for
	i?86-*-* and x86_64-*-* targets to disable execution on targets
	without sse2 runtime support.
	* g++.dg/vect/vect.exp: Ditto.
	* gfortran.dg/vect/vect.exp: Ditto.

	* gcc.dg/pr36584.c: Remove now redundant sse2 effective target check.
	* gcc.dg/pr37544.c: Ditto.
	* gcc.dg/pr40550.c: Ditto.
	* gcc.dg/compat/union-m128-1_main.c: Ditto.
	* gcc.dg/compat/vector-1a_main.c: Ditto.
	* gcc.dg/compat/vector-2a_main.c: Ditto.
	* gcc.dg/torture/pr16104-1.c: Ditto.
	* gcc.dg/torture/pr35771-1.c: Ditto.
	* gcc.dg/torture/pr35771-2.c: Ditto.
	* gcc.dg/torture/pr35771-3.c: Ditto.
	* gcc.dg/torture/stackalign/alloca-2.c: Ditto.
	* gcc.dg/torture/stackalign/alloca-3.c: Ditto.
	* gcc.dg/torture/stackalign/push-1.c: Ditto.
	* gcc.dg/torture/stackalign/vararg-3.c: Ditto.
	* g++.dg/other/i386-1.C: Ditto.
	* g++.dg/other/pr40446.C: Ditto.

From-SVN: r162456
2010-07-23 13:33:19 +02:00
Jie Zhang
a23c4464d8 tree-sra.c (ipa_sra_preliminary_function_checks): Dump proper words when !tree_versionable_function_p.
* tree-sra.c (ipa_sra_preliminary_function_checks): Dump
	proper words when !tree_versionable_function_p.

From-SVN: r162453
2010-07-23 10:52:43 +00:00
Rainer Orth
99bda4d570 * gcc.dg/pr43058.c: Use dg-timeout-factor 4.
From-SVN: r162452
2010-07-23 10:25:24 +00:00
Richard Guenther
97a738765d re PR lto/45037 (lto1 ICEs when linking cns_solve)
2010-07-23  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45037
	* tree-ssa-loop-ivopts.c (copy_ref_info): Handle NULL base.

From-SVN: r162451
2010-07-23 10:15:27 +00:00
Daniel Kraft
61b644c2ae re PR fortran/44709 (BLOCK and GOTO/EXIT/CYCLE)
2010-07-23  Daniel Kraft  <d@domob.eu>

	PR fortran/44709
	* gfortran.h (gfc_find_symtree_in_proc): New method.
	* symbol.c (gfc_find_symtree_in_proc): New method.
	* match.c (match_exit_cycle): Look for loop name also in parent
	namespaces within current procedure.

2010-07-23  Daniel Kraft  <d@domob.eu>

	PR fortran/44709
	* gfortran.dg/exit_1.f08: New test.
	* gfortran.dg/exit_2.f08: New test.

From-SVN: r162450
2010-07-23 11:53:45 +02:00
Jie Zhang
ed3100b2ed extend.texi: Remove IP2K from the description of naked attribute.
* doc/extend.texi: Remove IP2K from the description of naked
	attribute.  Add MCORE instead.

From-SVN: r162449
2010-07-23 09:31:36 +00:00
Andi Kleen
2994ee1470 Move changelogs to correct files
From-SVN: r162447
2010-07-23 05:54:11 +00:00
Andi Kleen
73ce4d1ed6 re PR lto/44992 (ld -r breaks LTO)
gcc:

2010-07-10   Andi Kleen <ak@linux.intel.com>

        PR lto/44992
        * lto-opts.c (lto_write_options): Add NULL file_data argument to 
	lto_get_section_name.
	* lto-section-out.c (lto_destroy_simple_output_block): Likewise.
	* lto-streamer-out.c (produce_asm): Likewise.
	(copy_function): Likewise.
	(produce_symtab): Likewise.
	(produce_asm_for_decls): Likewise.
	* lto-streamer.c (lto_get_section_name): Add file_data argument.	
	Rewrite to add random postfix to LTO sections.
	* lto-streamer.h (lto_file_decl_data): Add next, id, resolutions.
	(lto_get_section_name): Add file_data argument to prototype.
	

lto:

2010-07-10   Andi Kleen <ak@linux.intel.com>

        PR lto/44992
        * lto.c: Include splay-tree.h
	(lto_resolution_read): Change to walk file_ids tree and parse
	extra file_id in resolution file.
	(lto_section_with_id): Add.
	(create_subid_section_table): Add.
	(lwstate): Add.
	(lto_create_files_from_ids): Add.
	(lto_file_read): Change to handle sub file ids and create list
	of file_datas. Add output argument for count.
	(get_section_data): Pass file_data to lto_get_section_name.
	(lto_flatten_file): Add.
	(read_cgraph_and_symbols): Handle linked lists of file_datas.
	
lto-plugin:

2010-07-10   Andi Kleen <ak@linux.intel.com>

        PR lto/44992
        * lto-plugin.c (sym_aux): Add.
	(plugin_symtab): Remove slots. Add aux and id.
	(parse_table_entry): Change to use aux instead of slots.
	(LTO_SECTION_PREFIX): Add.
	(translate): Improve buffer allocation. Change to append
	symbols to existing out buffer.
	(get_section): Remove.
	(process_symtab): Add. 
	(free_2): Free symtab->aux.
	(write_resolution): Handle aux instead of slots.
	Print sub id to resolution file.
	(claim_file_handler): Clear lto_file. Replace get_symtab/translate
	calls with call to process_symtab.

From-SVN: r162443
2010-07-23 05:33:51 +00:00
Andi Kleen
0011a34c22 Add changelog for last commit
From-SVN: r162442
2010-07-23 05:26:48 +00:00
Andi Kleen
fbbc570499 lto-coff.c (hash_name, eq_name): Move.
2010-07-10  Andi Kleen <ak@linux.intel.com>

	* lto-coff.c (hash_name, eq_name): Move.
	(lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
	* lto-elf.c: (hash_name, eq_name): Move.
	(lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
	* lto-macho.c: (hash_name, eq_name): Move.
	(lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
	* lto.c: (hash_name, eq_name): Move from lto-*.c
	(lto_obj_create_section_hash_table): Add.
	(free_with_string): Add.

From-SVN: r162441
2010-07-23 05:25:46 +00:00
Andi Kleen
0b394350ab lto-section-in.c (lto_section_name): Synchronize names with lto_get_section_name.
2010-07-10   Andi Kleen <ak@linux.intel.com>

        * lto-section-in.c (lto_section_name): Synchronize names
        with lto_get_section_name.

From-SVN: r162440
2010-07-23 05:24:47 +00:00
Andi Kleen
090fc3f4db lto-opts.c (lto_read_file_options): Check for missing section.
2010-07-10   Andi Kleen <ak@linux.intel.com>

        * lto-opts.c (lto_read_file_options): Check for missing section.

From-SVN: r162439
2010-07-23 05:23:50 +00:00
Sandra Loosemore
9d3493e63d re PR tree-optimization/39839 (loop invariant motion causes stack spill)
2010-07-22  Sandra Loosemore  <sandra@codesourcery.com>

	PR tree-optimization/39839

	gcc/testsuite/
	* gcc.target/arm/pr39839.c: New test case.

From-SVN: r162438
2010-07-22 22:18:07 -04:00
GCC Administrator
944be25bc5 Daily bump.
From-SVN: r162437
2010-07-23 00:17:45 +00:00
Benjamin Kosnik
c6a21af2ff DocBook 4.5 to 5.0 transition.
2010-07-22  Benjamin Kosnik  <bkoz@redhat.com>

	DocBook 4.5 to 5.0 transition.
	* doc/xml/authors.xml: Update markup to DocBook 5.0.
	* doc/xml/faq.xml: Same.
	* doc/xml/api.xml: Same.
	* doc/xml/class.txml
	* doc/xml/gnu/gpl-3.0.xml: Same.
	* doc/xml/gnu/fdl-1.2.xml: Same.
	* doc/xml/gnu/fdl-1.3.xml: Same.
	* doc/xml/gnu/gpl-2.0.xml: Same.
	* doc/xml/chapter.txml: Same.
	* doc/xml/manual/mt_allocator.xml: Same.
	* doc/xml/manual/allocator.xml: Same.
	* doc/xml/manual/ctype.xml: Same.
	* doc/xml/manual/numerics.xml: Same.
	* doc/xml/manual/codecvt.xml: Same.
	* doc/xml/manual/backwards_compatibility.xml: Same.
	* doc/xml/manual/concurrency.xml: Same.
	* doc/xml/manual/intro.xml: Same.
	* doc/xml/manual/abi.xml: Same.
	* doc/xml/manual/shared_ptr.xml: Same.
	* doc/xml/manual/status_cxxtr1.xml: Same.
	* doc/xml/manual/auto_ptr.xml: Same.
	* doc/xml/manual/internals.xml: Same.
	* doc/xml/manual/atomics.xml: Same.
	* doc/xml/manual/parallel_mode.xml: Same.
	* doc/xml/manual/status_cxx1998.xml: Same.
	* doc/xml/manual/profile_mode.xml: Same.
	* doc/xml/manual/containers.xml: Same.
	* doc/xml/manual/io.xml: Same.
	* doc/xml/manual/concurrency_extensions.xml: Same.
	* doc/xml/manual/appendix_porting.xml: Same.
	* doc/xml/manual/utilities.xml: Same.
	* doc/xml/manual/support.xml: Same.
	* doc/xml/manual/bitmap_allocator.xml: Same.
	* doc/xml/manual/configure.xml: Same.
	* doc/xml/manual/build_hacking.xml: Same.
	* doc/xml/manual/evolution.xml: Same.
	* doc/xml/manual/using.xml: Same.
	* doc/xml/manual/using_exceptions.xml: Same.
	* doc/xml/manual/debug.xml: Same.
	* doc/xml/manual/localization.xml: Same.
	* doc/xml/manual/strings.xml: Same.
	* doc/xml/manual/debug_mode.xml: Same.
	* doc/xml/manual/locale.xml: Same.
	* doc/xml/manual/extensions.xml: Same.
	* doc/xml/manual/appendix_contributing.xml: Same.
	* doc/xml/manual/prerequisites.xml: Same.
	* doc/xml/manual/messages.xml: Same.
	* doc/xml/manual/diagnostics.xml: Same.
	* doc/xml/manual/algorithms.xml: Same.
	* doc/xml/manual/appendix_free.xml: Same.
	* doc/xml/manual/iterators.xml: Same.
	* doc/xml/manual/spine.xml: Same.
	* doc/xml/manual/status_cxxtr24733.xml: Same.
	* doc/xml/manual/status_cxx200x.xml: Same.
	* doc/xml/manual/test.xml: Same.
	* doc/xml/book.txml: Same.
	* doc/xml/spine.xml: Same.
	* doc/Makefile.am: Same.
	* doc/Makefile.in: Regenerate.

From-SVN: r162433
2010-07-22 22:58:15 +00:00
Bernd Schmidt
8cfd82bf11 ira.c (check_allocation): Correctly handle the case where an allocno with two objects was allocated to a...
* ira.c (check_allocation): Correctly handle the case where an allocno
	with two objects was allocated to a single reg.

From-SVN: r162432
2010-07-22 22:34:11 +00:00
Richard Sandiford
1a39adaec8 tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function.
gcc/
	* tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function.
	(is_widening_mult_p): Likewise.
	(convert_to_widen): Use them.
	(convert_plusminus_to_widen): Likewise.  Handle fixed-point types as
	well as integer ones.

From-SVN: r162431
2010-07-22 21:55:32 +00:00
Steven Bosscher
9362286d74 alias.c (true_dependence_1): New function, merged version of true_dependence and canon_true_dependence.
* alias.c (true_dependence_1): New function, merged version of
	true_dependence and canon_true_dependence.
	(true_dependence): Simplify.
	(canon_true_dependence): Simplify.

From-SVN: r162430
2010-07-22 21:54:27 +00:00
Richard Henderson
b78cb618ae re PR target/45027 (FAIL: c-c++-common/dfp/pr36800.c)
PR target/45027
	* config/i386/i386.c (setup_incoming_varargs_64): Force the use
	of V4SFmode for the SSE saves; increase stack alignment if needed.
	(ix86_gimplify_va_arg): Don't increase stack alignment here.

From-SVN: r162429
2010-07-22 14:40:41 -07:00
Andi Kleen
2e29059874 MAINTAINERS (Write After Approval): Add myself.
2010-07-22  Andi Kleen  <ak@linux.intel.com>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r162428
2010-07-22 21:16:49 +00:00
Jakub Jelinek
828f2c8b2e re PR bootstrap/45028 (ICE building 64-bit libjava on Solaris 2/SPARC: output_operand: invalid expression as operand)
PR bootstrap/45028
	* recgprop.c (copyprop_hardreg_forward_1): If changed is true,
	call cprop_find_used_regs again via note_uses.

From-SVN: r162427
2010-07-22 22:48:42 +02:00
Eric Botcazou
7be7d292fb * alias.c (get_alias_set): Fix formatting issues.
From-SVN: r162426
2010-07-22 19:33:45 +00:00
Eric Botcazou
980a05010b re PR ada/44892 (internal error on gnat.dg/unchecked_convert5.adb)
PR ada/44892
	* gcc-interface/utils.c (convert): Fix thinko in test.
	(unchecked_convert): When converting from a scalar type to a type with
	a different size, pad to have the same size on both sides.

From-SVN: r162425
2010-07-22 19:28:21 +00:00
Eric Botcazou
cfa0bd19c5 utils.c (gnat_types_compatible_p): Don't require strict equality for the component type of array types.
* gcc-interface/utils.c (gnat_types_compatible_p): Don't require strict
	equality for the component type of array types.

From-SVN: r162424
2010-07-22 19:12:46 +00:00
Steve Ellcey
426d633375 re PR middle-end/44878 (Build fails when compiling libstdc++)
2010-07-22  Steve Ellcey  <sje@cup.hp.com>

	PR middle-end/44878
	* stmt.c (expand_value_return):  Call promote_function_mode with
	a for_return argument of 2 when returning by reference.

From-SVN: r162423
2010-07-22 18:14:27 +00:00
Uros Bizjak
bd3a5d17b0 ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r162422
2010-07-22 20:10:32 +02:00
Dodji Seketeli
35ea1c5ac8 re PR debug/45024 (wrong nesting for inner template class)
Fix PR debug/45024

gcc/ChangeLog:
	PR debug/45024
	* dwarf2out.c (scope_die_for): Don't fall back to the compilation
	unit DIE if we can find the scope DIE.

gcc/testsuite/ChangeLog:
	PR debug/45024
	* g++.dg/debug/dwarf2/nested-2.C: New test case.

From-SVN: r162420
2010-07-22 18:25:17 +02:00
Bernd Schmidt
ac0ab4f718 ira-build.c (ira_create_object): New arg SUBWORD; all callers changed.
* ira-build.c (ira_create_object): New arg SUBWORD; all callers changed.
	Initialize OBJECT_SUBWORD.
	(ira_create_allocno): Clear ALLOCNO_NUM_OBJECTS.
	(ira_create_allocno_objects): Renamed from ira_create_allocno_object;
	all callers changed.
	(merge_hard_reg_conflicts): Iterate over allocno subobjects.
	(finish_allocno): Likewise.
	(move_allocno_live_ranges, copy_allocno_live_ranges): Likewise.
	(remove_low_level_allocnos): Likewise.
	(update_bad_spill_attribute): Likewise.
	(setup_min_max_allocno_live_range_point): Likewise.
	(sort_conflict_id_map): Likewise.
	(ira_flattening): Likewise.  Use ior_hard_reg_conflicts.
	(ior_hard_reg_conflicts): New function.
	(ior_allocate_object_conflicts): Renamed first argument to OBJ.
	(compress_conflict_vecs): Iterate over objects, not allocnos.
	(ira_add_live_range_to_object): New function.
	(object_range_compare_func): Renamed from allocno_range_compare_func.
	All callers changed.
	(setup_min_max_conflict_allocno_ids): For allocnos with multiple
	subobjects, widen the min/max range of the lowest-order object to
	potentially include all other such low-order objects.
	* ira.c (ira_bad_reload_regno_1): Iterate over allocno subobjects.
	(check_allocation): Likewise.  Use more fine-grained tests for register
	conflicts.
	* ira-color.c (allocnos_have_intersected_live_ranges_p): Iterate over
	allocno subobjects.
	(assign_hard_reg): Keep multiple sets of conflicts.  Make finer-grained
	choices about which bits to set in each set.  Don't use
	ira_hard_reg_not_in_set_p, perform a more elaborate test for conflicts
	using the multiple sets we computed.
	(push_allocno_to_stack): Iterate over allocno subobjects.
	(all_conflicting_hard_regs_coalesced): New static function.
	(setup_allocno_available_regs_num): Use it.
	(setup_allocno_left_conflicts_size): Likewise.  Iterate over allocno
	subobjects.
	(coalesced_allocno_conflict): Test subobject 0 in each allocno.
	(setup_allocno_priorities): Divide ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
	by ALLOCNO_NUM_OBJECTS.
	(calculate_spill_cost): Likewise.
	(color_pass): Express if statement in a more normal way.
	(ira_reassign_conflict_allocnos): Iterate over allocno subobjects.
	(slot_coalesced_allocno_live_ranges_intersect_p): Likewise.
	(setup_slot_coalesced_allocno_live_ranges): Likewise.
	(allocno_reload_assign): Likewise.
	(ira_reassign_pseudos): Likewise.
	(fast_allocation): Likewise.
	* ira-conflicts.c (build_conflict_bit_table): Likewise.
	(print_allocno_conflicts): Likewise.
	(ira_build_conflicts): Likewise.
	(allocnos_conflict_for_copy_p): Renamed from allocnos_conflict_p.  All
	callers changed.  Test subword 0 of each allocno for conflicts.
	(build_object_conflicts): Renamed from build_allocno_conflicts.  All
	callers changed.  Iterate over allocno subobjects.
	* ira-emit.c (modify_move_list): Iterate over allocno subobjects.
	* ira-int.h (struct ira_allocno): New member. num_objects.  Rename object
	to objects and change it into an array.
	(ALLOCNO_OBJECT): Add new argument N.
	(ALLOCNO_NUM_OBJECTS, OBJECT_SUBWORD): New macros.
	(ira_create_allocno_objects): Renamed from ira_create_allocno_object.
	(ior_hard_reg_conflicts): Declare.
	(ira_add_live_range_to_object): Declare.
	(ira_allocno_object_iterator): New.
	(ira_allocno_object_iter_init, ira_allocno_object_iter_cond): New.
	(FOR_EACH_ALLOCNO_OBJECT): New macro.
	* ira-lives.c (objects_live): Renamed from allocnos_live; all uses changed.
	(allocnos_processed): New sparseset.
	(make_object_born): Renamed from make_allocno_born; take an ira_object_t
	argument.  All callers changed.
	(make_object_dead): Renamed from make_allocno_dead; take an ira_object t
	argument.  All callers changed.
	(update_allocno_pressure_excess_length): Take an ira_obejct_t argument.
	All callers changed.
	(mark_pseudo_regno_live): Iterate over allocno subobjects.
	(mark_pseudo_regno_dead): Likewise.
	(mark_pseudo_regno_subword_live, mark_pseudo_regno_subword_dead): New
	functions.
	(mark_ref_live): Detect subword accesses and call
	mark_pseudo_regno_subword_live as appropriate.
	(mark_ref_dead): Likewise for mark_pseudo_regno_subword_dead.
	(process_bb_nodes_live): Deal with object-related updates first; set
	and test bits in allocnos_processed to avoid computing allocno
	statistics more than once.
	(create_start_finish_chains): Iterate over objects, not allocnos.
	(print_object_live_ranges): New function.
	(print_allocno_live_ranges): Use it.
	(ira_create_allocno_live_ranges): Allocate and free allocnos_processed
	and objects_live.

From-SVN: r162418
2010-07-22 15:48:30 +00:00
H.J. Lu
cd1822b80e Replace dg-require-lto-plugin with dg-require-linker-plugin.
2010-07-22  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.dg/lto/20100722-1_0.c: Replace dg-require-lto-plugin
	with dg-require-linker-plugin.

From-SVN: r162417
2010-07-22 07:45:07 -07:00
Richard Guenther
7e39ec05ee re PR c++/43850 (ice: tree code �template_type_parm� is not supported in gimple streams)
2010-07-22  Richard Guenther  <rguenther@suse.de>

	PR lto/43850
	* g++.dg/lto/20100722-1_0.C: New testcase.

From-SVN: r162416
2010-07-22 14:19:40 +00:00
Richard Guenther
d4398a43f5 re PR lto/42451 ('warning: type of "array" does not match original declaration' with -flto/-fwhopr)
2010-07-22  Richard Guenther  <rguenther@suse.de>

	PR lto/42451
	* gimple.c (gtc_next_dfs_num): New global.
	(struct sccs): Make value a union, add integer same_p member.
	(gtc_visit): New function.
	(gimple_types_compatible_p_1): New function, split out from ...
	(gimple_types_compatible_p): ... here.  Start a DFS walk here.
	(iterative_hash_gimple_type): Adjust for sccs change.

	* gcc.dg/lto/20100720-3_0.c: New testcase.
	* gcc.dg/lto/20100720-3_1.c: Likewise.

From-SVN: r162415
2010-07-22 13:47:32 +00:00
Richard Guenther
3cf8ccdf3b re PR lto/43373 (-fwhopr -fuse-linker-plugin ICE compressed stream data error)
2010-07-22  Richard Guenther  <rguenther@suse.de>

	* lib/target-supports-dg.exp (dg-require-linker-plugin): New proc.
	* lib/target-supports.exp (check_linker_plugin_available): Likewise.

	PR lto/43373
	* gcc.dg/lto/20100722-1_0.c: New testcase.

From-SVN: r162414
2010-07-22 12:54:44 +00:00
Martin Jambor
56a42add96 re PR tree-optimization/44891 (non-trivial conversion ICE from early SRA)
2010-07-22  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/44891
	* tree-sra.c: Include gimple-pretty-print.h.
	(replace_uses_with_default_def_ssa_name): Renamed to
	get_repl_default_def_ssa_name, return the new SSA name instead of
	replacing the old one.
	(sra_modify_assign): Dump a message when removing a load, if the LHS
	is an SSA_NAME, do not do any propagation, just set the RHS to a
	default definition SSA NAME, type convert if necessary.
	* Makefile.in (tree-sra.o): Add gimple-pretty-print.h to dependencies.

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

From-SVN: r162413
2010-07-22 14:52:14 +02:00
Richard Guenther
553fc58230 Makefile.am: New copy_lto_plugin rule to install the plugin into ../gcc.
2010-07-22  Richard Guenther  <rguenther@suse.de>

	lto-plugin/
	* Makefile.am: New copy_lto_plugin rule to install the plugin
	into ../gcc.
	* Makefile.in: Regenerated.

From-SVN: r162412
2010-07-22 12:50:00 +00:00