aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2006-12-08New TER code.Andrew MacLeod5-605/+801
2006-12-08 Andrew MacLeod <amacleod@redhat.com> * Makefile.in: Add new file tree-ssa-ter.c. * tree-outof-ssa.c (struct temp_expr_table_d, new_temp_expr_table, free_temp_expr_table, add_value_to_version_list, add_value_to_partition_list, remove_value_from_partition_list, add_dependence, check_replaceable, finish_expr, mark_replaceable, kill_expr, kill_virtual_exprs, find_replaceable_in_bb, find_replaceable_exprs, dump_replaceable_exprs): Move to tree-ssa-ter.c. * tree-ssa-live.h (find_replaceable_exprs, dump_replaceable_exprs): Add prototypes. * tree-ssa-ter.c: New file using code moved from tree-outof-ssa.c. (struct value_expr_d): Remove. (struct temp_expr_table_d): Rename fields, add explicit vector of replaceable expressions instead of sharing. Change value_expr_p's to bitmap. Delete free_list. (new_temp_expr_table): Rename fields, count number of ssa_names in each partition. (free_temp_expr_table): Rename field, free new fields. (new_value_expr, free_value_expr, find_value_in_list, add_value_to_list, add_info_to_list, remove_value_from_list): Delete. (version_to_be_replaced_p): New. Is an ssa-name replaceable? (make_dependent_on_partition): New. Set bit in version list, allocating a bitmap if need be. (add_to_partition_kill_list): New. Set bit in the partition list, allocating a bitmap if need be. (remove_from_partition_kill_list): New. Remove a bit from the partition list, free the bitmap if it is empty. (add_dependence): Use renamed field, cleanup. Don't add a dependence on partitions with only one member. (is_replaceable_p): New. Split out replaceability check from check_replaceable. (process_replaceable): New. Replacement code split from check_replaceable. (check_replaceable): Removed. (finished_with_expr): Renamed from finish_expr. (kill_expr): Use renamed fields. Less parameters. (kill_virtual_exprs): Less parameters. (mark_replaceable): Use renamed fields. (find_replaceable_in_bb): Use renamed fields, cleanup. (find_replaceable_exprs): Use renamed routines, cleanup. (dump_replaceable_exprs): don;t go past end of ssa_names list. (debug_ter): New. Debug routine to dump state. From-SVN: r119657
2006-12-08Fix ChangeLog.Eric Botcazou2-6/+9
From-SVN: r119656
2006-12-08bfin.c (effective_address_32bit_p): Return true for anything involving the GOT.Bernd Schmidt3-7/+24
* config/bfin/bfin.c (effective_address_32bit_p): Return true for anything involving the GOT. (bfin_adjust_cost): Don't take the REGNO of a MEM. (trapping_loads_p): Look inside the pattern of an insn to find the SET. * config/bfin/bfin.md (attr "type"): Add movcc. (insn_reservation "alu"): Likewise. (movsicc_insn1, movsicc_insn2): Change type to movcc. From-SVN: r119655
2006-12-08re PR fortran/27546 (IMPORT is broken)Tobias Burnus4-12/+115
fortran/ 2006-12-08 Tobias Burnus <burnus@net-b.de> PR fortran/27546 * trans-decl.f90 (gfc_create_module_variable): Allow imported symbols in interface bodys in modules. testsuite/ 2006-12-08 Tobias Burnus <burnus@net-b.de> PR fortran/27546 * gfortran.dg/import4.f90: New test for IMPORT in modules. From-SVN: r119651
2006-12-08Correctly wrap my changelog entry.Andrew Pinski1-1/+2
From-SVN: r119650
2006-12-08re PR c++/29732 (ICE on invalid friend declaration)Mark Mitchell7-11/+57
PR c++/29732 * cp-tree.h (DECL_USE_TEMPLATE): Mention partial specializations. (explicit_class_specialization_p): Declare. * pt.c (explicit_class_specialization_p): New function. * parser.c (cp_parser_init_declarator): Check correct number of template parameters for in-class function definitions. (cp_parser_check_declrator_template_parameters): Stop looking for template classes when we find an explicit specialization. PR c++/29732 * g++.dg/template/crash65.C: New test. * g++.dg/template/spec16.C: Tweak error markers. From-SVN: r119649
2006-12-07Add a PR reference for the patch which fixed PR 27558.Andrew Pinski1-0/+1
2006-04-20 Jakub Jelinek <jakub@redhat.com> * c-pretty-print.c (pp_c_direct_abstract_declarator): Print TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)). From-SVN: r119648
2006-12-08Daily bump.GCC Administrator1-1/+1
From-SVN: r119642
2006-12-07spu-c.c (spu_build_overload_builtin): Delete.Andrew Pinski5-28/+79
2006-12-07 Andrew Pinski <andrew_pinski@playstation.sony.com> * config/spu/spu-c.c (spu_build_overload_builtin): Delete. (spu_resolve_overloaded_builtin): Check for non scalar instead of vector type and check the function call argument type also for non scalar. Call build_function_call instead of spu_build_overload_builtin. 2006-12-07 Andrew Pinski <andrew_pinski@playstation.sony.com> * gcc.target/spu: New directory. * gcc.target/spu/spu.exp: New file. * gcc.target/spu/intrinsics-1.c: New test. From-SVN: r119637
2006-12-07spu.c (array_to_constant): Correct the order of arguments to the calls of ↵Trevor Smigiel2-2/+7
hwint_to_const_double. * config/spu/spu.c (array_to_constant): Correct the order of arguments to the calls of hwint_to_const_double. From-SVN: r119635
2006-12-07re PR c++/29980 (ICE using attribute in invalid declaration)Lee Millward6-6/+29
PR c++/29980 * cp_parser_elaborated_type_specifier: Check the return value of check_elaborated_type_specifier. * g++.dg/ext/attrib27.C: New test. * g++.dg/parse/struct-as-enum1.C: Adjust error markers. * g++.dg/parse/typedef5.C: Likewise. From-SVN: r119633
2006-12-07* config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to ↵Nick Clifton2-0/+10
elf_record_gcc_switches. From-SVN: r119630
2006-12-07* treelang/compile/var_defs.tree: Adjust.Mike Stump2-4/+8
From-SVN: r119628
2006-12-07* ru.po: New.Joseph Myers2-0/+28930
From-SVN: r119625
2006-12-07expr.c (string_constant): Account for non-zero lower bound arrays.Andrew MacLeod2-1/+19
2006-12-07 Andrew Macleod <amacleod@redhat.com> * expr.c (string_constant): Account for non-zero lower bound arrays. From-SVN: r119623
2006-12-07builtins.c (expand_builtin_pow): Adjust predicates for pow to cbrt expansion ↵Richard Guenther2-3/+14
to unsafe math and !HONOR_NANS for... 2006-12-07 Richard Guenther <rguenther@suse.de> * builtins.c (expand_builtin_pow): Adjust predicates for pow to cbrt expansion to unsafe math and !HONOR_NANS for negative base. From-SVN: r119622
2006-12-07i386.c (nocona_cost, [...]): Update preffered memcpy/memset codegen.Jan Hubicka2-4/+9
* i386.c (nocona_cost, pentium4_cost): Update preffered memcpy/memset codegen. From-SVN: r119620
2006-12-07tree-vrp.c (compare_values): Short circuit INTEGER_CST...Jan Hubicka2-8/+25
* tree-vrp.c (compare_values): Short circuit INTEGER_CST; use fold_constant_to_binary; tolerate wrong type constants. (value_intersect_p): Do just two tests. From-SVN: r119619
2006-12-07bfin.c (print_operand): New modifier 'N' for constants.Bernd Schmidt3-8/+16
* config/bfin/bfin.c (print_operand): New modifier 'N' for constants. * config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3): Use it, and fix the order of alternatives. From-SVN: r119616
2006-12-07common.opt (record-gcc-switches): New command line switch.Nick Clifton8-60/+374
* common.opt (record-gcc-switches): New command line switch. * target.h (print_switch_type): New enum. (print_switch_fn_type): New typedef for a function pointer. (struct gcc_target): Add record_gcc_switches and record_gcc_switches_section fields. * target-def.h (TARGET_ASM_RECORD_GCC_SWITCHES): Provide a default definition. (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Provide a default definition. * toplev.c (print_single_switch): Simplify by providing a pointer to function that will format and output the switch appropriately. (print_switch_values): Likewise. (print_to_asm_out_file): New function. (print_to_stderr): New function. (init_asm_output): If flag_record_gcc_switches is set then if the target supports recording the switches then emit them into the assembler output file, otherwise tell the user that the switch is not supported. * varasm.c (eld_record_gcc_switches): New function. Example handler for the record_gcc_switches target hook. * doc/tm.texi (TARGET_ASM_RECORD_GCC_SWITCHES): Document the new target hook. (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Likewise. * doc/invoke.texi (-frecord-gcc-switches): Document. From-SVN: r119615
2006-12-07re PR target/29794 (cc1 segfaults with -O3 -msched-control-spec)Maxim Kuvyrkov2-1/+12
2006-12-07 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> PR target/29794 * sched-rgn.c (add_block1): Use correct initializer. From-SVN: r119613
2006-12-07tree-vect-transform.c (vectorizable_call): Fix leftover of TREE_OPERAND to ↵Richard Guenther2-1/+6
GIMPLE_STMT_OPERAND conversion. 2006-12-07 Richard Guenther <rguenther@suse.de> * tree-vect-transform.c (vectorizable_call): Fix leftover of TREE_OPERAND to GIMPLE_STMT_OPERAND conversion. From-SVN: r119612
2006-12-07re PR fortran/29711 ([4.2 only] error_print does not support %N$X)Tobias Burnus2-0/+7
2006-12-06 Tobias Burnus <burnus@net-b.de> PR fortran/29711 * error.c (error_print): Fix handling of printf-style position specifiers of the form "%3$d" From-SVN: r119609
2006-12-07Daily bump.GCC Administrator1-1/+1
From-SVN: r119606
2006-12-06re PR c++/29730 (ICE on invalid declaration of template member)Mark Mitchell5-6/+35
PR c++/29730 * parser.c (cp_parser_init_declarator): Reject initialization of functions. PR c++/29730 * g++.dg/template/crash64.C: New test. * g++.dg/parse/crash27.C: Adjust error markers. From-SVN: r119601
2006-12-06pa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR not GIMPLE_MODIFY_STMT.Aldy Hernandez2-1/+7
PR/30079 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR not GIMPLE_MODIFY_STMT. From-SVN: r119600
2006-12-06re PR libfortran/30009 ([4.1 only] Unformatted reads exceeding storage units ↵Thomas Koenig4-7/+69
gives EOF instead of ERR) 2006-12-06 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/30009 PR libfortran/30056 * gfortran.dg/read_eof_4.f90: Add tests. * gfortran.dg/readwrite_unf_direct_eor_1.f90: New test. * gfortran.dg/unf_read_corrupted_1.f90: New test. 2006-12-06 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/30009 PR libfortran/30056 * libgfortran.h: Add ERROR_CORRUPT_FILE to error_codes. * runtime/error.c (translate_error): Add handling for ERROR_CORRUPT_FILE. * io/transfer.c (read_block_direct): Add comment about EOR for stream files. Remove test for no bytes left for direct access files. Generate an ERROR_SHORT_RECORD if the read was short. For unformatted sequential files: Check endfile condition. Remove test for no bytes left. End of file here means that the file structure has been corrupted. Pre-position the file for the next record in case of error. (write_buf): Whitespace fix. Subtract the number of bytes written from bytes_left. From-SVN: r119592
2006-12-06tree-vrp.c (operand_less_p): New.Jan Hubicka2-13/+49
* tree-vrp.c (operand_less_p): New. (compare_values, value_inside_range): Rewrite in terms of operand_less_p. From-SVN: r119583
2006-12-06i386.md (DIRFLAG_REG): Remove constant.Uros Bizjak8-141/+108
* config/i386/i386.md (DIRFLAG_REG): Remove constant. (type): Remove cld. (length_immediate): Do not depend on cld type attribute. (length_address): Ditto. (modrm): Ditto. (memory): Ditto. (cld): Remove insn pattern. (strmov_singleop): Do not use DIRFLAG_REG. (*strmovdi_rex_1): Ditto. (*strmovsi_1): Ditto. (*strmovsi_rex_1): Ditto. (*strmovhi_1): Ditto. (*strmovhi_rex_1): Ditto. (*strmovqi_1): Ditto. (*strmovqi_rex_1): Ditto. (rep_mov): Ditto. (*rep_movdi_rex64): Ditto. (*rep_movsi): Ditto. (*rep_movsi_rex64): Ditto. (*rep_movqi): Ditto. (*rep_movqi_rex64): Ditto. (strset_singleop): Ditto. (*strsetdi_rex_1): Ditto. (*strsetsi_1): Ditto. (*strsetsi_rex_1): Ditto. (*strsethi_1): Ditto. (*strsethi_rex_1): Ditto. (*strsetqi_1): Ditto. (*strsetqi_rex_1): Ditto. (rep_stos): Ditto. (*rep_stosdi_rex64): Ditto. (*rep_stossi): Ditto. (*rep_stossi_rex64): Ditto. (*rep_stosqi): Ditto. (*rep_stosqi_rex64): Ditto. (cmpstrnsi): Do not generate cld insn. (cmpstrnqi_nz_1): Do not use DIRFLAG_REG. (*cmpstrnqi_nz_1): Ditto. (*cmpstrnqi_nz_rex_1): Ditto. (cmpstrnqi_1): Ditto. (*cmpstrnqi_1): Ditto. (*cmpstrnqi_rex_1): Ditto. (strlenqi_1): Ditto. (*strlenqi_1): Ditto. (*strlenqi_rex_1): Ditto. * config/i386/geode.md (shift): Do not depend on cld type attribute. * config/i386/pentium.md (pent_cld): Remove insn reservation. * config/i386/athlon.md (athlon_decode): Do not depend on cld type attribute. * config/i386/ppro.md (ppro_cld): Remove insn reservation. * config/i386/k6.md (k6_alux_only): Do not depend on cld type attribute. (k6_alux_only_load): Ditto. (k6_alux_only_store): Ditto. * config/i386/i386.c (ix86_expand_movmem): Remove cld_done boolean. Do not emit cld instruction. (ix86_expand_setmem): Ditto. (ix86_expand_strlen): Do not emit cld instruction. From-SVN: r119581
2006-12-06bfin.c (bfin_rtx_costs): Add a number of new cases, tweak old ones.Bernd Schmidt2-15/+131
* config/bfin/bfin.c (bfin_rtx_costs): Add a number of new cases, tweak old ones. From-SVN: r119579
2006-12-06gdbinit.in: Set complaints to 0.Diego Novillo2-4/+5
* gdbinit.in: Set complaints to 0. From-SVN: r119578
2006-12-06ChangeLog: Use tabs instead of spaces.Uros Bizjak1-216/+216
* ChangeLog: Use tabs instead of spaces. From-SVN: r119576
2006-12-06re PR c++/29729 (ICE with template class in template function)Mark Mitchell5-7/+32
PR c++/29729 * decl2.c (check_member_template): Move check for member templates in local classes to ... * parser.c (cp_parser_template_declaration_after_export): ... here. PR c++/29729 * g++.dg/template/crash63.C: New test. From-SVN: r119575
2006-12-06statistics.h (ALONE_PASS_MEM_STAT, [...]): New macros.Jan Hubicka5-9/+236
* statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO, ALONE_MEM_STAT_DECL): New macros. * bitmap.h: Include statistics.h (struct bitmap_head_def): Add variant with pointer to bitmap descriptor. (bitmap_initialize_stat): Rename from bitmap_initialize; add statistics. (bitmap_obstack_alloc_stat, bitmap_gc_alloc_stat): Declare. * bitmap.c: Include hashtab.h (bitmap_descriptor): New. (bitmap_hash): New static variable (hash_descriptor, eq_descriptor, bitmap_descriptor, register_overhead): New static functions. (bitmap_register): New. (bitmap_element_free, bitmap_element_allocate, bitmap_elt_clear_from, bitmap_obstack_release): Do accounting. (bitmap_obstack_alloc_stat): Rename from bitmap_obstack_alloc ; do accounting. (bitmap_gc_alloc_stat): Likewise. (bitmap_obstack_free, bitmap_find_bit): Do statictics. (print_statistics, dump_bitmap_statistics): New functions. * toplev.c (finalize): Dump bitmap statistics. From-SVN: r119573
2006-12-06reload1.c (delete_output_reload): Count occurrences in CALL_INSN_FUNCTION_USAGE.Bernd Schmidt3-0/+16
* reload1.c (delete_output_reload): Count occurrences in CALL_INSN_FUNCTION_USAGE. * rtlanal.c (count_occurrences): Handle EXPR_LIST nodes without crashing at the end of the list. From-SVN: r119571
2006-12-06Daily bump.GCC Administrator1-1/+1
From-SVN: r119569
2006-12-05Missed commitDaniel Berlin1-2/+0
From-SVN: r119564
2006-12-05tree-ssa-structalias.c (set_used_smts): Re-fix pr29156.Daniel Berlin2-14/+16
2006-12-05 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-structalias.c (set_used_smts): Re-fix pr29156. Optimize to avoid marking more SMT's as used when they aren't. From-SVN: r119562
2006-12-05i386.c (x86_output_aligned_bss): Move out of COMMON_ASM_OP ifdef.Eric Christopher2-2/+6
2006-12-05 Eric Christopher <echristo@apple.com> * config/i386/i386.c (x86_output_aligned_bss): Move out of COMMON_ASM_OP ifdef. From-SVN: r119560
2006-12-05re PR c++/29728 (ICE on invalid initializer in template function)Mark Mitchell4-31/+82
PR c++/29728 * decl.c (check_array_designated_initializer): New function. (maybe_deduce_size_from_array_init): Use it. (reshape_init_array): Likewise. PR c++/29728 * g++.dg/template/crash62.C: New test. From-SVN: r119558
2006-12-05re PR fortran/30003 ([4.1 only] Expressions with side effects in array ↵Paul Thomas6-5/+90
references) 2006-12-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/30003 * trans-array.c (gfc_trans_create_temp_array): Set the section ends to zero. (gfc_conv_array_transpose): Likewise. (gfc_conv_section_startstride): Declare an expression for end, set it from a the array reference and evaluate it for the info structure. Zero the ends in the ss structure and set end, used in the bounds check, from the info structure. trans.h: Add and end array to the gfc_ss_info structure. 2006-12-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/30003 * gfortran.dg/allocatable_function_1.f90: Increase the number of expected calls of free to 10; the lhs section reference is now evaluated so there is another call to bar. Change the comment appropriately. * gfortran.dg/array_section_1.f90: New test. From-SVN: r119556
2006-12-05darwin.h (DARWIN_EXTRA_SPECS): New.Eric Christopher5-3/+29
2006-12-05 Eric Christopher <echristo@apple.com> * config/darwin.h (DARWIN_EXTRA_SPECS): New. (STARTFILE_SPEC): Use. (DARWIN_DYLIB1_SPEC): New. (DARWIN_CRT1_SPEC): New. * config/i386/darwin64.h (SUBTARGET_EXTRA_SPECS): Use DARWIN_EXTRA_SPECS. * config/i386/darwin.h: Ditto. * config/rs6000/darwin.h: Ditto. From-SVN: r119555
2006-12-05re PR fortran/29912 ([4.1 only] Gfortran: string array functions behaving ↵Paul Thomas4-0/+60
incorrectly...) 2006-12-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/29912 * trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL if the lhs and rhs character lengths are not constant and equal for character array valued functions. 2006-12-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/29912 * gfortran.dg/char_result_12.f90: New test. From-SVN: r119554
2006-12-05Commit missing changelog entryDaniel Berlin1-0/+24
From-SVN: r119553
2006-12-05* doc/include/texinfo.tex: Update to version 2006-11-08.17.Brooks Moses2-285/+572
From-SVN: r119551
2006-12-05tree-vrp.c (pass_vrp): Remove PROP_smt_usage.Daniel Berlin12-174/+9
2006-12-05 Daniel Berlin <dberlin@dberlin.org> * tree-vrp.c (pass_vrp): Remove PROP_smt_usage. * tree-complex.c (pass_lower_complex): Ditto. * tree-ssa-ccp.c (pass_ccp): Ditto. (pass_store_ccp): Ditto. * tree-ssa-dom.c (pass_dominator): Ditto. (pass_phi_only_cprop): Ditto. * tree-sra.c (pass_sra): Ditto. * tree-ssa-forwprop.c (pass_forwprop): Ditto. * tree-flow.h (updating_used_alone): Remove. (updating_used_alone): Ditto. * tree-ssa-alias.c (updating_used_alone): Remove variable. (lhs_may_store_to): Remove function. (recalculate_used_alone): Ditto. (compute_may_aliases): Remove used_alone calculation. * tree.h (struct tree_memory_tag): Remove is_used_alone and old_used_alone. Remove SMT_USED_ALONE and SMT_OLD_USED_ALONE. * tree-pass.h (PROP_smt_usage): Remove. * passes.c (execute_todo): Remove used alone recalculation. (execute_one_pass): Ditto. * tree-ssa-operands.c (add_virtual_operand): Remove used_alone stuff. From-SVN: r119550
2006-12-05re PR tree-optimization/14784 ([Tree-ssa] alias analysis deficiency)Zdenek Dvorak2-5/+5
PR tree-optimization/14784 * tree-ssa-operands.c (access_can_touch_variable): Unrevert the fix. From-SVN: r119549
2006-12-05Revert accidental change.Aldy Hernandez1-13/+0
From-SVN: r119547
2006-12-05Merge gimple-tuples-branch into mainline.Aldy Hernandez114-1381/+2750
From-SVN: r119546
2006-12-05config.host: Remove extra blank line.H.J. Lu2-3/+6
2006-12-05 H.J. Lu <hongjiu.lu@intel.com> * config.host: Remove extra blank line. From-SVN: r119544