- 08 Apr, 2000 5 commits
-
-
* i386.md (ashrsi3, ashrhi3, ashrqi3): Fix typo. * i386.md (floathisf2, floathidf2, floathixf2): New patterns. * i386.c (print_operand): Use the proper suffix for a 387 HImode operand. Abort if a 387 operand has an unsupported size. From-SVN: r33018
John Wehle committed -
From-SVN: r33016
Kaveh R. Ghazi committed -
From-SVN: r33015
Neil Booth committed -
From-SVN: r33014
Neil Booth committed -
* cppexp.c (parse_charconst): Null does not end character constants. * cppinit.c (ISTABLE): Null character handled as whitespace. * cpplex.c (null_warning): new function. (skip_string): Emit warning if nulls encountered. (_cpp_skip_hspace): Emit warning if nulls encountered. (_cpp_lex_token): Emit warning if nulls encountered. Drop them. * cpp.texi: Update. From-SVN: r33013
Neil Booth committed
-
- 07 Apr, 2000 22 commits
-
-
* flow.c (loop_depth): Remove. (reg_next_use, cc0_live, mem_set_list): Replace with ... (struct propagate_block_info): New. (life_analysis): Don't allocate reg_next_use. (propagate_block_delete_insn): Break out of propagate_block. Use flow_delete_insn to unlink rather than use NOTE_INSN_DELETED. (propagate_block_delete_libcall): Likewise. (propagate_block): Create a propagate_block_info struct to pass to subroutines. Allocate one not two temporary regsets. Don't clobber memory for const calls. Look for clobbers in CALL_INSN_FUNCTION_USAGE. (mark_set_regs): Recognize COND_EXEC. (mark_set_reg): Break out of mark_set_1. (mark_used_reg): Break out of mark_used_regs. (mark_used_regs): Recognize COND_EXEC. (insn_dead_p): Use propagate_block_info struct. (libcall_dead_p, invalidate_mems_from_autoinc): Likewise. (find_auto_inc, try_pre_increment_1): Likewise. (print_rtl_with_bb): Dump regs live at end too. (count_reg_sets_1): Pass in loop_depth. (count_reg_sets, count_reg_references): Likewise. (recompute_reg_usage): Provide it. From-SVN: r33012
Richard Henderson committed -
From-SVN: r33011
Joern Rennecke committed -
From-SVN: r33010
Joern Rennecke committed -
* Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H) not the raw files. From-SVN: r33009
Richard Henderson committed -
* cpplib.c (do_elif): Skip the rest of the line if we're not going to bother evaluating it. (skip_if_group): Clear pfile->only_seen_white. Reorder loop to avoid pointless calls to the lexer. * gcc.dg/cpp-mi2.c: New test. * gcc.dg/cpp-mi2[abc].h: New files. From-SVN: r33008
Zack Weinberg committed -
* config/ia64/ia64.c: Delete stdio.h and ctype.h includes. From-SVN: r33007
Jim Wilson committed -
From-SVN: r33006
Jason Merrill committed -
* g++.old-deja/g++.abi/vmihint.C: Adjust __vmi_class_type_info member name. From-SVN: r33005
Nathan Sidwell committed -
* inc/cxxabi.h (__vmi_class_type_info): Rename details, n_bases, base_list, detail_masks members to vmi_flags, vmi_base_count, vmi_bases and vmi_flags_masks respectively. (__vmi_class_type_info::vmi_flags_masks): Rename details_unknown_mask to flags_unknown_mask. * tinfo.cc (__class_type_info::do_upcast): Adjust. (__vmi_class_type_info::do_find_public_src): Adjust. (__vmi_class_type_info::do_dyncast): Adjust. (__vmi_class_type_info::do_upcast): Adjust. From-SVN: r33004
Nathan Sidwell committed -
* config/sparc/t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove. * Makefile.in: Build crtbeginS and crtendS like crtbegin and crtend so they can be multilibbed. (STAGESTUFF): Remove s-crt and s-crtS. From-SVN: r33003
Jakub Jelinek committed -
alpha.c (alpha_emit_conditional_move): Fail if we discover we need a pseudo and no_new_pseudos is true. * config/alpha/alpha.c (alpha_emit_conditional_move): Fail if we discover we need a pseudo and no_new_pseudos is true. * config/alpha/alpha.md (ne:DI insn): New. (trunctfsf2, sne): Emit NE instead of non-canonical LTU. From-SVN: r32998
Richard Henderson committed -
* rtl.def (COND_EXEC): New. * rtl.h (COND_EXEC_TEST, COND_EXEC_CODE): New. * tm.texi (MAX_CONDITIONAL_EXECUTE): Document. * genconfig.c (have_cond_arith_flag): Remove. (have_cond_exec_flag): New. (walk_insn_part): Detect COND_EXEC, not arithmetic in IF_THEN_ELSE. (main): Print HAVE_conditional_execution. * haifa-sched.c (haifa_classify_insn): Recognize COND_EXEC. (sched_analyze_insn, print_pattern): Likewise. * reload.c (find_equiv_reg): Likewise. * rtlanal.c (reg_referenced_p): Likewise. (note_stores, dead_or_set_regno_p): Likewise. (reg_overlap_mentioned_p): Rewrite to use a switch. From-SVN: r32997
Richard Henderson committed -
* ggc.h (struct rtx_def): Forward declare. * print-rtl.c (debug_rtx_range): New. * rtl.h (debug_rtx_range): Declare. * varray.h (VARRAY_ACTIVE_SIZE, VARRAY_POP_ALL): New. From-SVN: r32996
Richard Henderson committed -
* gcse.c (gcse_main): Don't rebuild the CFG here. (delete_null_pointer_checks): Likewise. * ssa.c (convert_to_ssa): Likewise. * toplev.c (rest_of_compilation): Do it here instead. Combine sequential calls to TIMEVAR. Consistently use `insns' instead of `get_insns()'. Always split insns after reload when optimizing. From-SVN: r32995
Richard Henderson committed -
* basic-block.h (merge_blocks_nomove): Declare. (tidy_fallthru_edge): Declare. * flow.c (merge_blocks_nomove): Document as merging into previous blocks. Remove cruft from between blocks; remove all edges out of A. (tidy_fallthru_edge): Export. From-SVN: r32994
Richard Henderson committed -
* tinfo.cc (convert_to_base): New function. (get_vbase_offset): Remove. Move into convert_to_base. (__vmi_class_type_info::do_find_public_src): Adjust. (__vmi_class_type_info::do_dyncast): Adjust. (__vmi_class_type_info::do_upcast): Adjust. plus commit changelog entry 2000-04-06 Nathan Sidwell <nathan@codesourcery.com> From-SVN: r32993
Nathan Sidwell committed -
* ssa.c (compute_conservative_reg_partition): Declare with void arguments. * toplev.c (clean_dump_file): Remove previously-deleted function inadvertantly merged back in. * conflict.c (conflict_graph_add): Use a single call to htab_find_slot to look up and insert. From-SVN: r32992
Alex Samuel committed -
From-SVN: r32991
Jeff Law committed -
* genrecog.c (*): Rename _last_insn to last_insn. (make_insn_sequence): Set the position of the peephole2 C test to be at the last insn. From-SVN: r32990
Richard Henderson committed -
From-SVN: r32983
Richard Henderson committed -
Michael Matz <matzmich@cs.tu-berlin.de> * flow.c (compute_flow_dominators): Process blocks FIFO not LIFO. From-SVN: r32982
Richard Henderson committed -
* rtl.h (INSN_P): New macro. (successor_phi_fn): New typedef. (for_each_successor_phi): New prototype. (in_ssa_form): New variable. (PHI_NODE_P): Likewise. * flow.c (calculate_global_regs_live): Add to new_live_at_end from phi nodes in successors. (mark_used_regs): Add PHI case. (set_phi_alternative_reg): New function. (life_analysis): Assert that dead code elimination is not selected when in SSA form. * toplev.c (to_ssa_time): New variable. (from_ssa_time): Likewise. (compile_file): Zero to_ssa_time and from_ssa_time. Print time to convert to and from SSA. (rest_of_compilation): Time convert_to_ssa and convert_from_ssa. (print_time): Compute percent fraction as integer. * ssa.c (PHI_NODE_P): Moved to rtl.h. (convert_to_ssa): Check if we're already in SSA. Don't eliminate dead code in life_analysis. Rerun flow and life analysis at bottom. (eliminate_phi): Use canonical regnos when adding nodes. (mark_reg_in_phi): New function. (mark_phi_and_copy_regs): Likewise. (convert_from_ssa): Rerun life analysis at top. Use coalesced partition. Check for removing a phi node at the end of the block. (compute_coalesced_reg_partition): New function. (coalesce_regs_in_copies): Likewise. (coalesce_reg_in_phi): Likewise. (coalesce_regs_in_sucessor_phi_nodes): Likewise. (for_each_successor_phi): Likewise. (rename_context): New struct. (rename_block): Use a rename_context with rename_insn_1. When renaming sets of a subreg, emit a copy of the entire reg first. (rename_insn_1): Treat data as a rename_context *. Save current insn in set_data. (rename_set_data): Add field set_insn. * Makefile.in (HASHTAB_H): Move up in file. (OBSTACK_H): New macro. (collect2.o): Use OBSTACK_H in dependencies. (sdbout.o): Likewise. (emit-rtl.o): Likewise. (simplify-rtx.o): Likewise. (fix-header.o): Likewise. (OBJS): Add conflict.o. (conflict.o): New rule. * basic-block.h: Include partition.h. (conflict_graph): New typedef. (conflict_graph_enum_fn): Likewise. (conflict_graph_new): New prototype. (conflict_graph_delete): Likewise. (conflict_graph_add): Likewise. (conflict_graph_conflict_p): Likewise. (conflict_graph_enum): Likewise. (conflict_graph_merge_regs): Likewise. (conflict_graph_print): Likewise. (conflict_graph_compute): Likewise. * conflict.c: New file. From-SVN: r32981
Alex Samuel committed
-
- 06 Apr, 2000 13 commits
-
-
* tinfo.cc (operator=): Use __builtin_strcmp. * tinfo2.cc (before): Likewise. From-SVN: r32980
Jason Merrill committed -
* rtl.h (INSN_P): New macro. (successor_phi_fn): New typedef. (for_each_successor_phi): New prototype. (in_ssa_form): New variable. (PHI_NODE_P): Likewise. * flow.c (calculate_global_regs_live): Add to new_live_at_end from phi nodes in successors. (mark_used_regs): Add PHI case. (set_phi_alternative_reg): New function. (life_analysis): Assert that dead code elimination is not selected when in SSA form. * toplev.c (to_ssa_time): New variable. (from_ssa_time): Likewise. (compile_file): Zero to_ssa_time and from_ssa_time. Print time to convert to and from SSA. (rest_of_compilation): Time convert_to_ssa and convert_from_ssa. (print_time): Compute percent fraction as integer. * ssa.c (PHI_NODE_P): Moved to rtl.h. (convert_to_ssa): Check if we're already in SSA. Don't eliminate dead code in life_analysis. Rerun flow and life analysis at bottom. (eliminate_phi): Use canonical regnos when adding nodes. (mark_reg_in_phi): New function. (mark_phi_and_copy_regs): Likewise. (convert_from_ssa): Rerun life analysis at top. Use coalesced partition. Check for removing a phi node at the end of the block. (compute_coalesced_reg_partition): New function. (coalesce_regs_in_copies): Likewise. (coalesce_reg_in_phi): Likewise. (coalesce_regs_in_sucessor_phi_nodes): Likewise. (for_each_successor_phi): Likewise. (rename_context): New struct. (rename_block): Use a rename_context with rename_insn_1. When renaming sets of a subreg, emit a copy of the entire reg first. (rename_insn_1): Treat data as a rename_context *. Save current insn in set_data. (rename_set_data): Add field set_insn. * Makefile.in (HASHTAB_H): Move up in file. (OBSTACK_H): New macro. (collect2.o): Use OBSTACK_H in dependencies. (sdbout.o): Likewise. (emit-rtl.o): Likewise. (simplify-rtx.o): Likewise. (fix-header.o): Likewise. (OBJS): Add conflict.o. (conflict.o): New rule. * basic-block.h: Include partition.h. (conflict_graph): New typedef. (conflict_graph_enum_fn): Likewise. (conflict_graph_new): New prototype. (conflict_graph_delete): Likewise. (conflict_graph_add): Likewise. (conflict_graph_conflict_p): Likewise. (conflict_graph_enum): Likewise. (conflict_graph_merge_regs): Likewise. (conflict_graph_print): Likewise. (conflict_graph_compute): Likewise. * conflict.c: New file. From-SVN: r32979
Alex Samuel committed -
* tlink.c (read_repo_files): Don't look for .rpo info for linker flags. From-SVN: r32978
Jason Merrill committed -
From-SVN: r32977
J"orn Rennecke committed -
From-SVN: r32976
Joern Rennecke committed -
lib1funcs.asm (___udivsi3_i4): ( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant): value for fpscr only depends... * config/sh/lib1funcs.asm (___udivsi3_i4): ( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant): value for fpscr only depends on FMOVD_WORKS. From-SVN: r32975
J"orn Rennecke committed -
* config/sh/lib1funcs.asm (___udivsi3_i4): When using fmovd, make double constant 8-byte aligned. From-SVN: r32974
J"orn Rennecke committed -
* cp-tree.h (lang_decl_flags): Rename saved_inline to deferred. (DECL_SAVED_INLINE): Rename to ... (DECL_DEFERRED_FN): ... this. (in_function_p): Remove declaration. (mark_inline_for_output): Rename to ... (defer_fn): ... this. * decl.c (finish_function): Adjust call to mark_inline_for_output. (in_function_p): Remove definition. * decl2.c (saved_inlines): Rename to ... (deferred_fns): ... this. (saved_inlines_used): Rename to ... (deferred_fns_used): ... this. (mark_inline_for_output): Rename to ... (defer_fn): ... this. (finish_file): Adjust accordingly. (init_decl2): Likewise. * lex.c (cons_up_default_function): Likewise. * pt.c (mark_decl_instantiated): Likewise. (instantiate_decl): Don't set DECL_DEFER_OUTPUT under any circumstances. * rtti.c (get_tinfo_decl): Adjust call to mark_inline_for_output. * semantics.c (expand_body): Defer more functions. From-SVN: r32973
Mark Mitchell committed -
* config/sparc/sparc.md (movtf_insn_sp32, movtf_insn_vis_sp32, movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_hq_vis_sp64, movtf_no_e_insn_sp64): Accept loading 0.0 into GENERAL_REGS. (movtf_insn_sp64, movtf_insn_vis_sp64): Likewise. Accept storing GENERAL_REGS into offsetable memory. * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Don't allow building a TFmode constant other than 0.0L into GENERAL_REGS. From-SVN: r32972
Jakub Jelinek committed -
From-SVN: r32971
Philippe De Muyter committed -
From-SVN: r32970
Nathan Sidwell committed -
From-SVN: r32969
Clinton Popetz committed -
* cpp-ifparen.c, cpp-missingop.c, cpp-missingparen.c, cpp-shift.c, cpp-shortcircuit.c, cpp-unary.c: Add FSF copyright. From-SVN: r32968
Neil Booth committed
-