aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2004-08-18alias.c (readonly_fields_p): Remove.Richard Henderson7-38/+12
* alias.c (readonly_fields_p): Remove. (objects_must_conflict_p): Don't call it. * tree.h (readonly_fields_p): Remove. * langhooks.h (struct lang_hooks): Remove honor_readonly. * langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove. ada/ * misc.c (LANG_HOOKS_HONOR_READONLY): Remove. From-SVN: r86200
2004-08-18re PR c++/17068 (ICE: tree check: expected class 'd', have 'x' ↵Mark Mitchell4-2/+25
(identifier_node) in dependent_template_p, at cp/pt.c:12043) PR c++/17068 * pt.c (dependent_template_p): Treat IDENTIFIER_NODEs as dependent. PR c++/17068 * g++.dg/template/operator4.C: New test. From-SVN: r86199
2004-08-18tree-dfa.c (add_referenced_var): Only global variables are call-clobbered.Diego Novillo6-100/+129
* tree-dfa.c (add_referenced_var): Only global variables are call-clobbered. * tree-flow.h (struct ptr_info_def): Add field pt_global_mem. * tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark all pointers dereferenced if the statement dereferences them. (create_name_tags): Do not create memory tags for pointers that have PT_ANYTHING set. Also check if PT_VARS is not empty before creating a name tag. (compute_flow_sensitive_aliasing): Don't mark call-clobbered variables that share the same alias set with a pointer that may point anywhere. (add_may_alias): Add FIXME comment to remove clobbering aliased variables and tags. (replace_may_alias): Likewise. (set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED. (merge_pointed_to_info): If the original variable has not points-to information, call set_pt_anything. (add_pointed_to_var): Do not prevent adding a pointed-to variable if the pointers is PT_ANYTHING. If the variable is a global, set PT_GLOBAL_MEM. (collect_points_to_info_r): Don't assume that PLUS_EXPRs of pointer type only come in PTR+OFFSET flavours. Always call merge_pointed_to_info on PHI arguments that are SSA_NAMEs. (get_nmt_for): Mark call-clobbered tags whose pointer points to global memory. * tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch values. (get_indirect_ref_operands): Always clear OPF_KILL_DEF from FLAGS. (add_stmt_operand): Abort if the caller tried to add a killing definition for a memory tag. * tree-ssa.c (verify_flow_sensitive_alias_info): Remove unnecessary checks. From-SVN: r86198
2004-08-18re PR libgcj/17081 (Deserializing java.net.URI fails)Bryce McKinlay2-17/+41
2004-08-18 Bryce McKinlay <mckinlay@redhat.com> PR libgcj/17081 * java/net/URI.java (string): New field. Make all other fields transient. (readObject): Implemented. (writeObject): Implemented. (URI): Set 'string'. From-SVN: r86197
2004-08-18class.c (make_local_function_alias): New function.Bryce McKinlay3-13/+58
2004-08-18 Bryce McKinlay <mckinlay@redhat.com> * class.c (make_local_function_alias): New function. Create local alias for public method DECL. (make_method_value): Use make_local_function_alias. * parse.y (craft_constructor): Don't special-case anonymous classes. Always set ctor_name to init_identifier_node. (lookup_method_invoke): Call layout_class_method when creating anonymous class constructor. From-SVN: r86196
2004-08-18sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers from ↵J"orn Rennecke4-19/+43
call_used_regs. * sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers from call_used_regs. Update call_really_used_regs. (CALL_REALLY_USED_REGISTERS): Define. * sh.c (output_stack_adjust, shmedia_target_regs_stack_space): Replace call_used_regs with call_really_used_regs. (calc_live_regs, sh_media_register_for_return): Likewise. (sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise. * sh.md (return_media): Likewise. From-SVN: r86195
2004-08-18darwin.c (machopic_legitimize_pic_address): Only set MEM_READONLY_P in the ↵Andrew Pinski2-1/+6
non TARGET_TOC case. 2004-08-18 Andrew Pinski <apinski@apple.com> * config/darwin.c (machopic_legitimize_pic_address): Only set MEM_READONLY_P in the non TARGET_TOC case. From-SVN: r86194
2004-08-18rtl.def (NIL): Delete.Zack Weinberg26-131/+143
* rtl.def (NIL): Delete. * read-rtl.c (read_rtx): Handle (nil) like (define_constants). Tighten the syntax a little. * cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c * config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h * config/arm/arm.h, config/frv/frv.h, config/i386/i386.c * config/i386/predicates.md, config/m32r/m32r.h * config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c * config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h * config/sparc/sparc.h, doc/tm.texi: Replace all occurrences of NIL with UNKNOWN. From-SVN: r86193
2004-08-18dojump.c (do_jump <unordered_bcc>): Do not recursively call self with a ↵Zack Weinberg2-53/+54
TRUTH_ORIF_EXPR... * dojump.c (do_jump <unordered_bcc>): Do not recursively call self with a TRUTH_ORIF_EXPR; generate the appropriate jump sequence inline. Move drop_through_label code into this block, being the only place it is used. Adjust comments. From-SVN: r86192
2004-08-18save_world/rest_world for ppc-darwin.Fariborz Jahanian5-12/+476
Approved by Geoff Keating. From-SVN: r86191
2004-08-18Forgot to commit ChangeLog for rest of hot/cold partitioning update patch.Caroline Tice1-0/+97
From-SVN: r86190
2004-08-18Hot/cold partitioning update patch.Caroline Tice23-109/+246
Hot/cold partitioning update patch. The problems that this patch attemptd to address/fix are: - Fix places where adding in_unlikely_executed_text to the enum data type "in_section" threw off switch case statements. - Make it work correctly (by turning it off) for functions where user specifies "__attribute__ section" - Make it work correctly (by turning it off) for linkonce sections - Make it work correctly with -ffunction-sections flag - Make it output correct cold section labels - Undo some changes to original assembly code generation - Turn off hot/cold partitioning in the presence of DWARF debugging (for the moment) - Turn off hot/cold partitioning for architectures that do not support named sections - Use variables rather than constants for cold section labels and names (to work correctly with -ffunction-sections, among other things) 2004-08-18 Caroline Tice <ctice@apple.com> * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add "-freorder-blocks-and-partition" to the flags used in second stage of profiledbootstrap. * bb-reorder.c (push_to_next_round_p): Add new variable, next_round_is_last; set and use variable to make sure, when partitioning, that the last trace construction round consists of all (and only) cold basic blocks. (rotate_loop): Don't copy blocks that end in a section crossing jump. (copy_bb): Correctly initialize "partition" of duplicated bb. (add_unlikely_executed_notes): Add a comment. (find_rarely_executed_basic_blocks_and_crossing_edges): Modify to make sure, if function contains hot blocks, that the successors of ENTRY_BLOCK_PTR are hot; also, only look for crossing edges if the architecture supports named sections. (mark_bb_for_unlikely_executed_section): Modify to always insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after the basic block note insn. (fix_crossing_unconditional_branches): Remove extra space. (fix_edges_for_rarely_executed_code): Modify to only do partitioning work if the architecture supports named sections. (reorder_basic_blocks): Modify to only add NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture supports named sections. * c-common.c (handle_section_attribute): Initialize new global variable, user_defined_section_attribute, to true if user has specified one. * cfgcleanup.c (try_forward_edges): Modify to not attempt to forward edges that cross section boundaries. * cfglayout.c (fixup_reorder_chain): Modify to only fix up partitioning information if the architecture supports named sections. * cfgrtl.c (target.h): Add statement to include this. (rtl_split_block): Make sure newly created bb gets correct partition. (try_redirect_by_replacing_jump): Make sure redirection isn't attempting to cross section boundaries. (force_nonfallthru_and_redirect): Only do partition fix up if architecture supports named sections. (rtl_split_edge): Make sure newly created bb ends up in correct partition. (commit_one_edge_insertion): Remove code that incorrectly updated basic block partition; Make sure partition fix up only happens if architecture supports named sections and it's not already done. (rtl_verify_flow_info_1): Fix if-condition on test/error condition that fallthru edges are not allowed to cross section boundaries. * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this. * final.c (final_scan_insn): Remove redundant test from if-statement; change calls to text_section into calls to function_section; add code to only to partitioning fix up if architecture supports named sections. * ifcvt.c (find_if_case_1): Make sure newly created bb has correct partition. (if_convert): Add targetm.have_named_sections to test. * output.h (unlikely_section_label): Extern declaration for new global variable. (unlikely_text_section_name): Likewise. * opts.c (decode_options): If both partitioning and DWARF debugging are turned on, issue a warning that this doesn't work, and change partitiong to basic block reordering (without hot/cold partitions). * passes.c (rest_of_handle_final): Re-set new global variable, user_defined_section_attribute, to false. (rest_of_compilation): Change options for calling partitioning function: Don't call if the user defined the section attribute, and don't call if DECL_ONE_ONLY is true for the current function. * predict.c (choose_function_section): Return immediately if we are doing hot/cold partitioning (i.e. let the basic block partitioning determine where the function belongs). * reg-stack.c (emit_swap_insn): Add condition to step over NOTE_INSN_UNLIKELY_EXECUTED_CODE notes. * toplev.c (user_defined_section_attribute): New global variable. * toplev.h (user_defined_section_attribute): Extern declaration for new global variable. * varasm.c (unlikely_section_label): New global variable. (unlikely_text_section_name): New global variable. (unlikely_text_section): Add code to initialize unlikely_text_section_name if necessary; modify to use unlikely_text_section_name and unlikely_section_label; also to use named_section properly. (in_unlikely_text_section): Modify to work correctly with named_section and to use unlikely_text_section_name. (named_section): Add code to work properly with cold section. (function_section): Clean up if-statement. * config/darwin.c (darwin_asm_named_section): Return to original code, removing use of SECTION_FORMAT_STRING. * config/arm/pe.h (switch_to_section): Add case for in_unlikely_executed_text to switch statement. * config/i386/cygming.h (switch_to_section): Likewise. * config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove. (SECTION_FORMAT_STRING): Likewise. * config/mcore/mcore.h (switch_to_section): Likewise. * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove. From-SVN: r86189
2004-08-18re PR libgcj/17079 ([PATCH] Log messages whose logging level is equal to the ↵Bryce McKinlay2-1/+7
threshold discarded by java.util.logging.Handler) 2004-08-18 Bryce McKinlay <mckinlay@redhat.com> PR libgcj/17079 * java/util/logging/Handler.java (isLoggable): Accept record if its log level equals the threshold level. From Robin Green. From-SVN: r86187
2004-08-18natPosixProcess.cc (waitForSignal): Use sigsuspend instead of sigwait.David Daney2-7/+14
2004-08-18 David Daney <ddaney@avtrex.com> * java/lang/natPosixProcess.cc (waitForSignal): Use sigsuspend instead of sigwait. From-SVN: r86186
2004-08-18i386.h (FIXED_REGISTERS): Update encoding to be -ffixed-reg safe, by ↵Roger Sayle2-19/+32
preserving the meanings of zero and one. * config/i386/i386.h (FIXED_REGISTERS): Update encoding to be -ffixed-reg safe, by preserving the meanings of zero and one. (CALL_USED_REGISTERS): Likewise. (CONDITIONAL_REGISTER_USAGE): Update to process new encodings. From-SVN: r86185
2004-08-18* trans-types.c (gfc_sym_type): Use pointer types for optional args.Paul Brook2-1/+12
From-SVN: r86182
2004-08-18sh.c (split_branches): Check the result of next_active_insn.Kaz Kojima2-1/+12
* config/sh/sh.c (split_branches): Check the result of next_active_insn. (sh_output_mi_thunk): Call init_flow if basic_block_info is null. Call rtl_register_cfg_hooks. From-SVN: r86181
2004-08-18Part of the vectorizer patch that was accidently left out...:Dorit Nuzman2-0/+6
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Define. * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define. From-SVN: r86180
2004-08-18rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.Richard Henderson49-458/+238
* rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P. * alias.c (true_dependence): Update to match new semantics. (canon_true_dependence, write_dependence_p): Likewise. (anti_dependence, output_dependence): Update write_dependence_p args. (unchanging_anti_dependence): Remove. * calls.c (purge_mem_unchanging_flag): Remove. (fixup_tail_calls): Don't call it. (expand_call): Don't add unchanging memory to function usage. * expr.c (emit_block_move_via_libcall): Likewise. (clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems. (get_subtarget): Don't use RTX_UNCHANGING_P. (expand_assignment, store_constructor, expand_expr_real_1): Likewise. (do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P. * combine.c (get_last_value_validate): Use MEM_READONLY_P. * cse.c (insert): Don't use RTX_UNCHANGING_P. (cse_insn, canon_hash): Use MEM_READONLY_P. * emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P instead of RTX_UNCHANGING_P. * explow.c (maybe_set_unchanging): Remove. * expr.h (maybe_set_unchanging): Remove. * flow.c (insn_dead_p, mark_used_regs): Use anti_dependence. * function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P. (assign_parm_setup_reg, expand_function_start): Likewise. * integrate.c (copy_rtx_and_substitute): Likewise. * ra-rewrite.c (emit_colors): Likewise. * regmove.c (copy_src_to_dest, regmove_optimize): Likewise. (fixup_match_1): Likewise. * reload1.c (reload, alter_reg): Likewise. * local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P, not RTX_UNCHANGING_P. (equiv_init_varies_p): Likewise. * loop-invariant.c (check_maybe_invariant): Likewise. * resource.c (mark_referenced_resources, mark_set_resources): Likewise. * loop.c (note_addr_stored): Likewise. (prescan_loop): Likewise. Don't check function usage for clobbered unchanging memory. * rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P, not RTX_UNCHANGING_P. (rtx_varies_p, modified_between_p, modified_in_p): Likewise. * varasm.c (force_const_mem): Likewise. * stmt.c (expand_decl): Don't set RTX_UNCHANGING_P. * web.c (entry_register): Likewise. * tree-gimple.h (get_base_address): Move decl ... * tree.h: ... here. * doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P. * config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too. (alpha_set_memflags): Update to match. * config/darwin.c (machopic_indirect_data_reference): Set MEM_READONLY_P instead of RTX_UNCHANGING_P. (machopic_indirect_call_target): Likewise. (machopic_legitimize_pic_address): Likewise. * config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple, arm_gen_store_multiple, arm_gen_movmemqi): Likewise. * config/arm/arm.md (load_multiple, store_multiple): Likewise. * config/frv/frv.md (symGOT2reg): Likewise. * config/i386/i386.c (legitimize_pic_address, legitimize_tls_address, ix86_split_to_parts): Likewise. * config/ia64/ia64.c (ia64_expand_tls_address): Likewise. * config/ia64/ia64.md (load_fptr): Likewise. * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise. * config/m68k/m68k.c (legitimize_pic_address): Likewise. * config/mcore/mcore.c (block_move_sequence): Likewise. * config/mn10300/mn10300.md (symGOT2reg): Likewise. * config/pa/pa.c (legitimize_pic_address): Likewise. * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise. (rs6000_emit_move): Likewise. * config/s390/s390.c (legitimize_pic_address): Likewise. (legitimize_tls_address): Likewise. * config/s390/s390.md (casesi): Likewise. * config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise. * config/sh/sh.md (symGOT2reg): Likewise. * config/sparc/sparc.c (legitimize_pic_address): Likewise. * config/v850/v850.md (casesi): Likewise. * config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P. * config/iq2000/iq2000.c (save_restore_insns): Likewise. * config/mips/mips.c (mips_restore_gp): Likewise. (mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise. * config/sh/sh.c (sh_reorg): Likewise. From-SVN: r86178
2004-08-18tree.h (struct tree_decl): Add gimple_formal_temp.Richard Henderson11-107/+148
* tree.h (struct tree_decl): Add gimple_formal_temp. (DECL_GIMPLE_FORMAL_TEMP_P): New. * gimplify.c (pop_gimplify_context): Clear it. (lookup_tmp_var): Set it, if is_formal. (gimplify_init_constructor): Use rhs_predicate_for for COMPLEX. Use is_gimple_val for VECTOR. Simplify return value. (gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P. (gimplify_expr): Likewise. * tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from is_gimple_tmp_rhs for clarity. Update all callers. (is_gimple_reg_rhs): Simplify logic. (is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for clarity; use DECL_GIMPLE_FORMAL_TEMP_P. (is_gimple_formal_tmp_reg): Similarly. * tree-gimple.h: Update decls. * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting. * tree-ssa-live.c (var_union, type_var_init): Likewise. java/ * java-gimplify.c (java_gimplify_expr): Move '2' handling into default case. Treat '<' similarly. Update for is_gimple_formal_tmp_var name change. testsuite/ * gcc.dg/20040206-1.c: XFAIL. From-SVN: r86176
2004-08-18c4x.c (legitimize_operands): Remove calls to preserve_subexpressions_p.Paolo Bonzini2-2/+5
2004-04-18 Paolo Bonzini <bonzini@gnu.org> * config/c4x/c4x.c (legitimize_operands): Remove calls to preserve_subexpressions_p. From-SVN: r86175
2004-08-18Split ChangeLogIan Lance Taylor2-2122/+2130
From-SVN: r86172
2004-08-18re PR c++/16246 (Incorrect template argument deduction)Mark Mitchell4-50/+50
PR c++/16246 * pt.c (unify): Tidy ARRAY_TYPE handling. Make sure that non-type arguments have the same type as the corresponding parameter. PR c++/16246 * g++.dg/template/array7.C: New test. From-SVN: r86169
2004-08-17varasm.c (MAX_OFILE_ALIGNMENT): Move ...David Edelsohn3-3/+10
* varasm.c (MAX_OFILE_ALIGNMENT): Move ... * defaults.h (MAX_OFILE_ALIGNMENT): ... here. From-SVN: r86168
2004-08-18gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii" ↵Ziemowit Laski3-6/+28
Objective-C++ extensions. [gcc/ChangeLog] 2004-08-18 Ziemowit Laski <zlaski@apple.com> * gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii" Objective-C++ extensions. * gengtype.c (get_file_basename): Match entire subdirectory name ('cp', 'objc', 'objcp') rather than just its suffix. (get_base_file_bitmap): Allow for files to belong to more than one language. (get_output_file_with_visibility): Treat objc/objc-act.h as a header used by more than one front-end. From-SVN: r86167
2004-08-18re PR fortran/13278 (derived type namelist I/O support missing, causes ICE)Victor Leikehman6-64/+156
2004-08-18 Victor Leikehman <lei@il.ibm.com> PR fortran/13278 * trans-io.c (transfer_namelist_element): New. Recursively handle derived-type variables. Pass string lengths. (build_dt): Code moved to build_namelist, with some changes and additions. (gfc_build_io_library_fndecls): Declare the fifth argument in st_set_nml_var_char -- string_length. libgfortran/ * io/transfer.c (st_set_nml_var) * io/write.c (namelist_write): Allow var_name and var_name_len to be null. For strings, use string_length field instead of len. * io/io.h (struct namelist_type): New field string_length. (st_set_nml_var_char): New argument string_length. From-SVN: r86166
2004-08-18re PR c++/16215 (Bad error message when requesting member of non-aggregate type)Mark Mitchell2-8/+25
PR c++/16215 * parser.c (cp_parser_name_lookup_error): If parser->object_scope is set use it for diagnostic purposes. (cp_parser_pseudo_destructor_name): Remove special-case error message. From-SVN: r86165
2004-08-18Daily bump.GCC Administrator2-2/+2
From-SVN: r86163
2004-08-17arm.md (addsi3, [...]): Rework to avoid use of preserve_subexpressions_p.Richard Earnshaw2-12/+12
* arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to avoid use of preserve_subexpressions_p. From-SVN: r86159
2004-08-17re PR tree-optimization/17051 (ICE: internal compiler error: verify_ssa ↵Richard Henderson3-4/+26
failed.for SSA_NAME: l_addr<D8610>_650) PR 17051 * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too. From-SVN: r86158
2004-08-17baseline_symbols.txt: Update to 3.4.0.Paolo Carlini2-3031/+3087
2004-08-17 Paolo Carlini <pcarlini@suse.de> * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0. From-SVN: r86155
2004-08-17extend.texi: Document new xstormy16 attribute.DJ Delorie6-26/+956
* doc/extend.texi: Document new xstormy16 attribute. * config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New. (xstormy16_splittable_below100_or_register): New. (combine_bnp): New. (xstormy16_reorg): New. (TARGET_MACHINE_DEPENDENT_REORG): Define. * config/stormy16/stormy16.md (movqi_internal): Make name public. (movhi_internal): Likewise. (cbhranchhi): Likewise. (cbhranchhi_neg): Likewise. (andhi3): Only allow splittable below100 operands. (iorhi3): Likewise. (peephole2): New and/zero_extend->and peephole. (peephole2): New load/ior/save->set1 peephole. (peephole2): New load/and/save->clr1 peephole. (bclrx, bclrx2, bclr7, bclr15): New. (bsetx, bsetx2, bset7, bset15): New. * config/stormy16/stormy16.c (xstormy16_print_operand): Be more liberal about acceptable 'B' masks. * config/stormy16/stormy16-protos.h (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol, xstormy16_below100_operand, xstormy16_below100_or_register, xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New. (PREDICATE_CODES): Add new predicates. * config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol, xstormy16_below100_operand, xstormy16_below100_or_register, xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New. (xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New. (xstormy16_legitimate_address_p): Allow below100 symbols. (xstormy16_extra_constraint_p): Add 'W' for below100 operands. (xstormy16_expand_move): Leave below100 operands as-is. (xstormy16_encode_section_info): Encode below100 symbols. (xstormy16_strip_name_encoding): New. (xstormy16_print_operand): Print 'b' as shift mask. (xstormy16_attribute_table): Add below100 attributes. (xstormy16_handle_below100_attribute): New. * config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100. (XSTORMY16_SECTION_FUNCTION): New. (EXTRA_SECTION_FUNCTIONS): Define using the above. (ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New. (ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols. (ASM_OUTPUT_LABELREF): Define. * config/stormy16/stormy16.md (movqi_internal): Add below100 support. (movhi_internal): Add below100 support. (andhi3): Add below100 support. (iorhi3): Add below100 support. (iorqi3, iorqi3_internal, andqi3, andqi3_internal): New. From-SVN: r86154
2004-08-17Patch from Robert Millan for kfreebsd-gnu/knetbsd-gnu.Robert Millan3-4/+10
* configure.in: In noconfigdirs check, match GNU/k*BSD with GNU/Linux (instead of FreeBSD). * configure: Regenerate. From-SVN: r86151
2004-08-17Add missing -fno-fast-math.Jim Wilson1-1/+1
From-SVN: r86150
2004-08-17* config/darwin.c (macho_indirect_data_reference): Add DImode case.David Edelsohn2-9/+4
From-SVN: r86149
2004-08-17Canonicalize mips nmadd/nmsub patterns.James E Wilson2-5/+56
* config/mips/mips.md: Add canonical nmadd and nmsub patterns for both normal and -ffast-math code. From-SVN: r86148
2004-08-17Testcases for canonical mips nmadd/nmsub patterns with or w/o fast-math.James E Wilson3-0/+63
* gcc.dg/mips-nmadd-1.c: New test. * gcc.dg/mips-nmadd-2.c: New test. From-SVN: r86147
2004-08-17Testcases for mips conditional move patterns.James E Wilson4-0/+96
* gcc.dg/mips-movcc-1.c: New test. * gcc.dg/mips-movcc-2.c: New test. * gcc.dg/mips-movcc-3.c: New test. From-SVN: r86146
2004-08-17Canonicalize mips conditional move patterns.James E Wilson3-37/+45
* config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead of VOIDmode for comparison code mode. * config/mips/mips.md: For conditional move patterns, use mode of first compare operand for comparison mode, instead of VOIDmode. From-SVN: r86145
2004-08-17re PR c++/15871 (g++ does not honour -fkeep-inline-functions)Mark Mitchell6-5/+28
PR c++/15871 * semantics.c (expand_or_defer_fn): Honor -fkeep-inline-functions. PR c++/15871 * doc/invoke.texi (-fkeep-inline-functions): Update documentation. PR c++/15871 * g++.dg/opt/inline8.C: New test. From-SVN: r86144
2004-08-17baseline_symbols.txt: Update to 3.4.0.Paolo Carlini2-3031/+3074
2004-08-17 Paolo Carlini <pcarlini@suse.de> * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0. From-SVN: r86142
2004-08-17Add -mdynamic-no-pic to compile flags for gcc. On Mac OS X and Darwin,Robert Bowdidge2-0/+5
the compiler generates position-independent-code by default. This allows an object file to be used for a dylib or executable without any thought on the developer's part, but generates less-efficient code. Setting this flag on gcc speeds compiles by 3-5%. * config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags. From-SVN: r86141
2004-08-17re PR c++/16965 (Confusing mismatch in error messages)Mark Mitchell8-28/+107
PR c++/16965 * cp-tree.h (qualified_name_lookup_error): Add parameter. * name-lookup.c (do_class_using_decl): Restrict set of entities passed to cp_emit_debug_info_for_using more carefully. (lookup_qualified_name): Allow lookup_member to return sets of ambiguous entries. * parser.c (cp_parser_lookup_name): Add ambiguous_p parameter. (cp_parser_primary_expression): Handle ambiguous lookups. (cp_parser_template_name): Adjust use of cp_parser_lookup_name. (cp_parser_template_argument): Likewise. (cp_parser_elaborate_type_specifier): Likewise. (cp_parser_namespace_name): Likewise. (cp_parser_class_name): Likewise. (cp_parser_lookup_name_simple): Likewise. * pt.c (tsubst_qualified_id): Handle ambiguous results. (tsubst_expr): Likewise. * semantics.c (qualified_name_lookup_error): Add decl paramter. For ambiguous lookups, print candidates. PR c++/16965 * g++.dg/parse/error17.C: New test. From-SVN: r86137
2004-08-17darwin.md (*call_nonlocal_darwin64): Add #else clause for non Darwin targets.Andreas Tobler2-1/+11
2004-08-17 Andreas Tobler <a.tobler@schweiz.ch> * config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause for non Darwin targets. (*call_value_nonlocal_darwin64): Likewise. From-SVN: r86136
2004-08-17Check for Altivec mode when returning altivec register.Fariborz Jahanian2-1/+7
Reviewed by David Edehlson. From-SVN: r86135
2004-08-17Revert 2004-08-16 Stan Shebs <shebs@apple.com>David Edelsohn3-18/+13
Revert 2004-08-16 Stan Shebs <shebs@apple.com> * config/rs6000/rs6000.md: Include darwin.md. (builtin_setjmp_receiver): Add DImode case. * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to Darwin bits. From-SVN: r86132
2004-08-17tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees.Dorit Naishlos81-29/+8167
* tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees. * tree-vectorizer.h: New File: Same. * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files. * common.opt (ftree-vectorize): New flag to enable vectorization. * timevar.def (TV_TREE_VECTORIZATION): New dump file for vectorization pass. * tree-data-ref.h (init_data_ref): Additional argument. (array_base_name_differ_p): Moved to tree-data-ref.c. * tree-data-ref.c (array_base_name_differ_p): Revised. (initialize_data_dependence_relation): Call array_base_name_differ_p with an extra argument. (analyze_all_data_dependences): Same. (init_data_ref): Additional argument is_read to set DR_IS_READ. * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this file. * tree-flow.h (vectorize_loops, empty_block_p): Add declaration. * tree-optimize.c (pass_vectorize): Schedule the vectorization pass. * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new vectorization pass. * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize. (tree_ssa_loop_done): Call scev_finalize. (tree_vectorize): Define the new vectorization pass. * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the size of the vector they support (until support for multiple vector sizes is added to the vectorizer). * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define. * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define. * invoke.texi (fdump-tree-vect, ftree-vectorize): Add documentation. From-SVN: r86131
2004-08-17Makefile.am (AM_CXXFLAGS): Reformatted to make it more ease to read.Michael Koch3-11/+31
2004-08-17 Michael Koch <konqueror@gmx.de> * Makefile.am (AM_CXXFLAGS): Reformatted to make it more ease to read. * Makefile.in: Regenerated. From-SVN: r86130
2004-08-17objc-act.c (build_protocol_initializer): Fix build_int_cst usage.Nathan Sidwell2-7/+10
* objc/objc-act.c (build_protocol_initializer): Fix build_int_cst usage. (generate_protocol_list, handle_impent): Likewise. From-SVN: r86129
2004-08-17re PR fortran/13082 (Function entries and entries with alternate returns not ↵Paul Brook18-176/+718
implemented) 2004-08-17 Paul Brook <paul@codesourcery.com> Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> PR fortran/13082 * decl.c (get_proc_name): Update mystery comment. (gfc_match_entry): Check for errors earlier. Add entry point to list. * dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes. * gfortran.h (symbol_attribute): Add entry_master. Document entry. (struct gfc_entry_list): Define. (gfc_get_entry_list): Define. (struct gfc_namespace): Add refs and entries. (enum gfc_exec_op): Add EXEC_ENTRY. (struct gfc_code): Add ext.entry. * module.c (ab_attribute, attr_bits): Remove AB_ENTRY. (mio_symbol_attribute): Don't save/reture addr->entry. (mio_namespace_ref): Refcount namespaces. * parse.c (accept_statement): Handle ST_ENTRY. (gfc_fixup_sibling_symbols): Mark symbol as referenced. (parse_contained): Fixup sibling references to entry points after parsing the procedure body. * resolve.c (resolve_contained_fntype): New function. (merge_argument_lists, resolve_entries): New functions. (resolve_contained_functions): Use them. (resolve_code): Handle EXEC_ENTRY. (gfc_resolve): Call resolve_entries. * st.c (gfc_free_statement): Handle EXEC_ENTRY. * symbol.c (gfc_get_namespace): Refcount namespaces. (gfc_free_namespace): Ditto. * trans-array.c (gfc_trans_dummy_array_bias): Treat all args as optional when multiple entry points are present. * trans-decl.c (gfc_get_symbol_decl): Remove incorrect check. (gfc_get_extern_function_decl): Add assertion. Fix coment. (create_function_arglist, trans_function_start, build_entry_thunks): New functions. (gfc_build_function_decl): Rename ... (build_function_decl): ... to this. (gfc_create_function_decl): New function. (gfc_generate_contained_functions): Use it. (gfc_trans_entry_master_switch): New function. (gfc_generate_function_code): Use new functions. * trans-stmt.c (gfc_trans_entry): New function. * trans-stmt.h (gfc_trans_entry): Add prototype. * trans-types.c (gfc_get_function_type): Add entry point argument. * trans.c (gfc_trans_code): Handle EXEC_ENTRY. (gfc_generate_module_code): Call gfc_create_function_decl. * trans.h (gfc_build_function_decl): Remove. (gfc_create_function_decl): Add prototype. testsuite/ * gfortran.dg/entry_1.f90: New test. Co-Authored-By: Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> From-SVN: r86128