aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2010-07-23Require OSXSAVE for AVX support.H.J. Lu4-3/+12
2010-07-23 H.J. Lu <hongjiu.lu@intel.com> * gcc.target/i386/aes-avx-check.h (main): Require OSXSAVE for AVX support. * gcc.target/i386/pclmul-avx-check.h (main): Likewise. * gcc.target/x86_64/abi/avx/avx-check.h (main): Likewise. From-SVN: r162480
2010-07-23re PR preprocessor/41943 (include search path composition is bogus)Kai Tietz5-2/+50
2010-07-23 Kai Tietz <kai.tietz@onevision.com> PR target/41943 * Makefile.in (USER_H_INC_NEXT_PRE, USER_H_INC_NEXT_POST): New. (stmp-int-hdrs): Prefix/postfix headers by include_next. * config.gcc (user_headers_inc_next_pre): New. (user_headers_inc_next_post): Likewise. (*-w64-mingw*): Use for float.h post-fixing, and for stddef.h/stdarg.h pre-fixing by include_next. * configure.ac (user_headers_inc_next_post): New. (user_headers_inc_next_pre): New. * configure: Regenerated. From-SVN: r162479
2010-07-23re PR target/18788 ("-pthreads" option with "-shared" does not cause ↵Rainer Orth24-107/+394
libpthread.so to be linked in.) libjava: * configure.ac (*-*-solaris2.8): Use alternate thread library. Add libthread. (*-*-solaris2.9): Use libthread. * configure: Regenerate. libgomp: * configure.tgt (*-*-solaris2.[56]*): Removed. gcc: * configure.ac: Don't disable TLS on Solaris 8/9 by default Set tga_func for Solaris 2/x86 resp. SPARC. Remove duplicate parts of sparc*-sun-solaris2.* TLS check. (LIB_THREAD_LDFLAGS_SPEC): Define. (LIB_TLS_SPEC): Define. Check for required Sun ld version. * configure: Regenerate. * config.in: Regenerate. * config/sol2.h (LIB_SPEC): Use LIB_THREAD_LDFLAGS_SPEC with -pthread, -threads, LIB_TLS_SPEC with -pthread. * doc/install.texi (Specific, *-*-solaris2*): Document use of alternate thread libraries on Solaris 8. Document TLS patch requirements. * doc/sourcebuild.texi (Add Options): Sort alphabetically. Document tls. PR target/18788 * config/sol2.h (LIB_SPEC): Link with thread libraries even with -shared. gcc/testsuite: * lib/target-supports.exp (add_options_for_tls): New proc. * g++.dg/tls/static-1.C: Use dg-add-options tls. * g++.dg/tls/static-1a.cc: Likewise. * gcc.dg/tls/emutls-1.c: Likewise. * gcc.dg/tls/opt-11.c: Likewise. * gcc.dg/tls/opt-12.c: Likewise. * gcc.dg/tls/pr24428-2.c: Likewise. * gcc.dg/tls/pr24428.c: Likewise. * obj-c++.dg/tls/static-1.mm: Likewise. * obj-c++.dg/torture/tls/thr-init-1.mm: Likewise. * obj-c++.dg/torture/tls/thr-init-2.mm: Likewise. * obj-c++.dg/torture/tls/thr-init-3.mm: Likewise. * objc.dg/torture/tls/thr-init-2.m: Likewise. * objc.dg/torture/tls/thr-init-3.m: Likewise. * objc.dg/torture/tls/thr-init.m: Likewise. * gcc.dg/lto/20090210_0.c: Add -pthread for *-*-solaris2.[89]. From-SVN: r162478
2010-07-23loadpre6.c: Cleanup fre dump file.Uros Bizjak4-0/+11
* 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-23tree.h (struct tree_base): Add nameless_flag bitfield.Jakub Jelinek7-8/+52
* 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-23re PR tree-optimization/45047 (ICE in vectorizable_store)Jakub Jelinek2-0/+14
PR tree-optimization/45047 * gcc.c-torture/compile/pr45047.c: New test. From-SVN: r162475
2010-07-23float-range-3.c: Use "dg-do compile" dejagnu directive instead of dg-compile.Uros Bizjak17-18/+39
* 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-23re PR tree-optimization/44915 (ICE: SIGSEGV in ↵Martin Jambor5-3/+34
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-23re PR tree-optimization/44914 (ICE: in calc_dfs_tree, at dominance.c:395 ↵Martin Jambor4-19/+67
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* gcc.dg/pr36997.c: Adjust dg-message line number.Uros Bizjak1-1/+1
From-SVN: r162467
2010-07-23re PR target/44290 (__naked attribute is broken)Jie Zhang6-0/+76
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-23builtins.def (BUILT_IN_ARGS_INFO): Remove.Nathan Froyd7-91/+14
* 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-23re PR fortran/24524 (Fortran dependency checking should reverse loops)Paul Thomas7-13/+126
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-23lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values.Richard Guenther6-76/+67
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-23dwarf2out.c (dwarf2out_frame_debug): Check for queued saves again after ↵Daniel Jacobowitz2-0/+11
processing insn. * dwarf2out.c (dwarf2out_frame_debug): Check for queued saves again after processing insn. From-SVN: r162460
2010-07-23re PR c++/45008 (Template code not expanded properly)Jason Merrill2-0/+24
PR c++/45008 * g++.dg/abi/mangle44.C: New. From-SVN: r162459
2010-07-23*.c: Do not require sse{,2,3,4} effective target for compile-time only tests.Uros Bizjak111-110/+56
* 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-23target-supports.exp (check_avx_hw_available): New procedure.Uros Bizjak32-69/+99
* 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-23tree-sra.c (ipa_sra_preliminary_function_checks): Dump proper words when ↵Jie Zhang2-1/+6
!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* gcc.dg/pr43058.c: Use dg-timeout-factor 4.Rainer Orth2-0/+5
From-SVN: r162452
2010-07-23re PR lto/45037 (lto1 ICEs when linking cns_solve)Richard Guenther2-4/+11
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-23re PR fortran/44709 (BLOCK and GOTO/EXIT/CYCLE)Daniel Kraft7-2/+134
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-23extend.texi: Remove IP2K from the description of naked attribute.Jie Zhang2-1/+6
* doc/extend.texi: Remove IP2K from the description of naked attribute. Add MCORE instead. From-SVN: r162449
2010-07-23Move changelogs to correct filesAndi Kleen2-0/+17
From-SVN: r162447
2010-07-23re PR lto/44992 (ld -r breaks LTO)Andi Kleen8-85/+258
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-23lto-coff.c (hash_name, eq_name): Move.Andi Kleen5-73/+45
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-23lto-section-in.c (lto_section_name): Synchronize names with ↵Andi Kleen1-5/+5
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-23lto-opts.c (lto_read_file_options): Check for missing section.Andi Kleen2-0/+6
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-22re PR tree-optimization/39839 (loop invariant motion causes stack spill)Sandra Loosemore2-0/+29
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-23Daily bump.GCC Administrator1-1/+1
From-SVN: r162437
2010-07-22ira.c (check_allocation): Correctly handle the case where an allocno with ↵Bernd Schmidt2-10/+20
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-22tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function.Richard Sandiford2-73/+121
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-22alias.c (true_dependence_1): New function, merged version of true_dependence ↵Steven Bosscher2-86/+57
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-22re PR target/45027 (FAIL: c-c++-common/dfp/pr36800.c)Richard Henderson2-11/+17
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-22re PR bootstrap/45028 (ICE building 64-bit libjava on Solaris 2/SPARC: ↵Jakub Jelinek2-1/+14
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* alias.c (get_alias_set): Fix formatting issues.Eric Botcazou2-11/+16
From-SVN: r162426
2010-07-22re PR ada/44892 (internal error on gnat.dg/unchecked_convert5.adb)Eric Botcazou6-6/+121
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-22utils.c (gnat_types_compatible_p): Don't require strict equality for the ↵Eric Botcazou5-8/+50
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-22re PR middle-end/44878 (Build fails when compiling libstdc++)Steve Ellcey2-2/+11
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-22ChangeLog: Fix whitespace.Uros Bizjak2-35/+35
* ChangeLog: Fix whitespace. * testsuite/ChangeLog: Ditto. From-SVN: r162422
2010-07-22re PR debug/45024 (wrong nesting for inner template class)Dodji Seketeli4-1/+53
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-22ira-build.c (ira_create_object): New arg SUBWORD; all callers changed.Bernd Schmidt8-667/+1314
* 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-22Replace dg-require-lto-plugin with dg-require-linker-plugin.H.J. Lu2-1/+6
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-22re PR c++/43850 (ice: tree code �template_type_parm� is not supported in ↵Richard Guenther2-0/+10
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-22re PR lto/42451 ('warning: type of "array" does not match original ↵Richard Guenther5-66/+312
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-22re PR lto/43373 (-fwhopr -fuse-linker-plugin ICE compressed stream data error)Richard Guenther4-0/+28
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-22re PR tree-optimization/44891 (non-trivial conversion ICE from early SRA)Martin Jambor5-18/+77
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-22re PR middle-end/45017 (miscompile with bitfield and optimization)Richard Guenther4-0/+48
2010-07-22 Richard Guenther <rguenther@suse.de> PR tree-optimization/45017 * tree-ssa-sccvn.c (vn_reference_eq): Make sure we honor TYPE_PRECISION of integral types in addition to size. * gcc.c-torture/execute/pr45017.c: New testcase. From-SVN: r162411
2010-07-22re PR fortran/45019 (Aliasing of TARGET dummy argument not detected correctly)Tobias Burnus5-1/+91
2010-07-22 Tobias Burnus <burnus@net-b.de> PR fortran/45019 * dependency.c (gfc_check_dependency): Add argument alising * check. * symbol.c (gfc_symbols_could_alias): Add argument alising * check. 2010-07-22 Tobias Burnus <burnus@net-b.de> PR fortran/45019 * gfortran.dg/aliasing_dummy_5.f90: New. From-SVN: r162410
2010-07-22trans-stmt.c (gfc_trans_return): Put back in the handling of se.post, now in ↵Daniel Kraft2-0/+9
the correct place. 2010-07-22 Daniel Kraft <d@domob.eu> * trans-stmt.c (gfc_trans_return): Put back in the handling of se.post, now in the correct place. From-SVN: r162409