aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
1999-10-09gcse.c (gcse_main): Avoid global optimizations if we have a large number of ↵Jeffrey A Law2-0/+37
basic blocks and the... * gcse.c (gcse_main): Avoid global optimizations if we have a large number of basic blocks and the ratio of edges to blocks is high. (delete_null_pointer_checks): Likewise. From-SVN: r29882
1999-10-09c-common.c (check_format_info): Warn if format string isn't a string literal.Ken Raeburn2-2/+17
* c-common.c (check_format_info): Warn if format string isn't a string literal. From-SVN: r29881
1999-10-09configure.in (arm*-*-*): Don't let autoconf remove bracketsJonathan Larmour3-1/+8
* configure.in (arm*-*-*): Don't let autoconf remove brackets * configure: regenerate From-SVN: r29880
1999-10-09cp-tree.h (make_rtl_for_local_static): New function.Mark Mitchell5-32/+68
* cp-tree.h (make_rtl_for_local_static): New function. * decl.c (make_rtl_for_nonlocal_decl): Move code to create RTL for local statics ... (make_rtl_for_local_static): Here. * semantics.c (expand_stmt): Use make_rtl_for_local_static. From-SVN: r29879
1999-10-09alpha.md (extendsidi2): Turn into a splitter.Richard Henderson2-38/+53
* alpha.md (extendsidi2): Turn into a splitter. Allow f/f. If TARGET_FIX, allow r/f. Remove cvtlq unspec pattern. (peepholes): Re-enable. From-SVN: r29878
1999-10-09Makefile.in (flow.o): Depend on TREE_H.Richard Henderson11-1659/+1098
* Makefile.in (flow.o): Depend on TREE_H. * basic-block.h (REG_SET_EQUAL_P): New. (XOR_REG_SET): New. (n_edges): Declare. (free_regset_vector): Remove declaration. (flow_delete_insn_chain): Declare. (enum update_life_extent): New. (update_life_info, count_or_remove_death_notes): Declare. * combine.c (distribute_notes) [REG_DEAD]: Stop search at bb->head. Verify register live at bb->global_live_at_start before adding USE. * flow.c (HAVE_epilogue, HAVE_prologue): Provide default. (CLEAN_ALLOCA): New. (n_edges): New. (PROP_*): New flags. (find_basic_blocks_1): Use alloc_EXPR_LIST. (clear_edges): Zero n_edges. (make_edge): Increment n_edges. (split_edge): Don't allocate bb->local_set. Increment n_edges. (flow_delete_insn_chain): Export. (delete_block): Decrement n_edges. (merge_blocks_nomove): Likewise. (life_analysis): Give life_analysis_1 PROP flags. (verify_wide_reg_1, verify_wide_reg): New. (verify_local_live_at_start): New. (update_life_info): Rewrite to call into propogate_block. (mark_reg): New. (mark_regs_live_at_end): After reload, if epilogue as rtl, always mark stack pointer. Conditionally mark PIC register. After reload, mark call-saved registers, return regsiters. (life_analysis_1): Accept PROP flags not remove_dead_code. Call mark_regs_live_at_end before zeroing regs_ever_live. Use calculate_global_regs_live. Copy global_live_at_end before calling final propagate_block. Zero reg_next_use on exit. (calculate_global_regs_live): New. (allocate_bb_life_data): Don't allocate bb->local_set. (init_regset_vector, free_regset_vector): Remove. (propagate_block): Accept FLAGS not FINAL or REMOVE_DEAD_CODE. Test flags before every operation. Warn if prologue/epilogue insn would have been deleted. (mark_set_regs, mark_set_1): Accept and use FLAGS. Use alloc_EXPR_LIST. (mark_used_regs): Accept and use FLAGS, not FINAL. Remove special handling for RETURN. (try_pre_increment): Use alloc_EXPR_LIST. (dump_flow_info): Dump n_edges. (unlink_insn_chain, split_hard_reg_notes): Remove. (maybe_add_dead_note, maybe_add_dead_note_use): Remove. (find_insn_with_note, new_insn_dead_notes): Remove. (update_n_sets, sets_reg_or_subreg_1, sets_reg_or_subreg): Remove. (maybe_remove_dead_notes, prepend_reg_notes): Remove. (replace_insns): Remove. (count_or_remove_death_notes): New. (verify_flow_info): Abort on error after all checks. (remove_edge): Decrement n_edges. (remove_fake_edges): Tweek format. * haifa-sched.c (schedule_insns): Use split_all_insns. * output.h (update_life_info): Remove declaration. * recog.c (split_all_insns): From the corpse of split_block_insns, do the whole function block by block. Use update_life_info. (recog_last_allowed_insn): New. (recog_next_insn): Mind it. (peephole2_optimize): Set it. Walk backwards through blocks. Use update_life_info. * rtl.h (update_flow_info, replace_insns): Remove declarations. (split_all_insns): Declare. * toplev.c (rest_of_compilation): Thread prologue before flow2. Use split_all_insns. * i386.md (or -1 peep2s): Disable. From-SVN: r29877
1999-10-09Test commit.Richard Henderson1-1/+1
From-SVN: r29876
1999-10-09* mips.c (mips_va_arg) [EABI]: Return addr_rtx.Richard Henderson2-0/+6
From-SVN: r29875
1999-10-08mips.md (movstrsi+[123]): Combine these into a single pattern.Richard Henderson2-57/+18
* config/mips/mips.md (movstrsi+[123]) : Combine these into a single pattern. Scrap the 'd' versions as unnecessary. * config/mips/mips.md (tablejump_internal3,tablejump_mips161, tablejump_mips162,tablejump_internal4): The operands to a label_ref must be VOIDmode. From-SVN: r29874
1999-10-08* configure.in (c-mbchar): Append, don't overwrite, `extra_c_flags'.Kaveh R. Ghazi3-2/+6
From-SVN: r29873
1999-10-08lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the cache every ↵Richard Henderson2-7/+19
function if ggc_p. * lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the cache every function if ggc_p. From-SVN: r29872
1999-10-08New testcaseBernd Schmidt2-0/+27
From-SVN: r29871
1999-10-08Add functions copy_insn/copy_insn_1; use them in jump.cBernd Schmidt4-6/+214
From-SVN: r29870
1999-10-08Makefile.in (insn-recog.o): Depend on hard-reg-set.h and resource.h.Kaveh R. Ghazi7-2/+23
* Makefile.in (insn-recog.o): Depend on hard-reg-set.h and resource.h. * alpha.h (ASM_OUTPUT_MI_THUNK): Pass the correct number of arguments to `current_file_function_operand'. * genrecog.c: Include hard-reg-set.h and resource.h in the generated output file. * real.c: Include tm_p.h. cp: * method.c: Include tm_p.h. From-SVN: r29869
1999-10-08Fix bad constraints in prologue_allocate_stack in i386.mdBernd Schmidt2-1/+6
From-SVN: r29868
1999-10-08Daily bump.Jeff Law5-5/+5
From-SVN: r29867
1999-10-07rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber before the fctiwz insn.Richard Henderson2-1/+7
* rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber before the fctiwz insn. From-SVN: r29866
1999-10-08cp-tree.h (cp_make_lake_type): Renamed from make_lang_type.Franz Sirl4-2/+9
* cp-tree.h (cp_make_lake_type): Renamed from make_lang_type. * lex.c (cp_make_lake_type): Likewise. * tree.c (init_tree): Init make_lang_type_fn. From-SVN: r29865
1999-10-08tree.c (make_lang_type_fn): New funtion pointer.Franz Sirl4-2/+28
* tree.c (make_lang_type_fn): New funtion pointer. (make_lang_type): Call it. * tree.h (make_lang_type): Declare. (make_lang_type_fn): Likewise. * rs6000.c (rs6000_build_va_list): Use make_lang_type. Co-Authored-By: Mark Mitchell <mark@codesourcery.com> From-SVN: r29864
1999-10-08pt.c (tsubst_expr): Set DECL_TEMPLATE_INSTANTIATED for a catch paramter.Mark Mitchell6-4/+85
* pt.c (tsubst_expr): Set DECL_TEMPLATE_INSTANTIATED for a catch paramter. * semantics.c (expand_stmt): Don't pretend to have asmspecs for local statics if we don't really have them. * ir.texi: Improve documentation for STMT_EXPR. Describe CLEANUP_POINT_EXPR. From-SVN: r29863
1999-10-08Fix test caseMark Mitchell1-3/+1
From-SVN: r29862
1999-10-07Moved ChangeLog entry for a recent change to gcc/config/rs6000 toDiego Novillo2-5/+5
its proper place in gcc/ChangeLog. From-SVN: r29861
1999-10-07expr.c (expand_expr, [...]): Set TREE_USED sooner.Jason Merrill3-26/+27
* expr.c (expand_expr, TARGET_EXPR): Set TREE_USED sooner. * c-decl.c (finish_struct): Use simpler method of removing elements of a singly-linked list. From-SVN: r29860
1999-10-07class.c (build_vtable_entry_ref): Use finish_asm_stmt.Jason Merrill2-14/+22
* class.c (build_vtable_entry_ref): Use finish_asm_stmt. * class.c (finish_struct_1): Use simpler method of removing elements of a singly-linked list which doesn't lose for classes without data members. From-SVN: r29859
1999-10-07Comment out peepholes that generate buggy codeMichael Meissner2-22/+27
From-SVN: r29858
1999-10-07genrecog.c (add_to_sequence): Disable mode check for wildcard matches.Richard Henderson2-0/+11
* genrecog.c (add_to_sequence): Disable mode check for wildcard matches. From-SVN: r29857
1999-10-07Initialize empty_string in ggc-simple.Bernd Schmidt2-1/+5
From-SVN: r29856
1999-10-07friend.c (make_friend_class): Robustify.Mark Mitchell3-4/+20
* friend.c (make_friend_class): Robustify. * semantics.c (finish_object_call_expr): Reject calls to template types. From-SVN: r29855
1999-10-07During class file generation...Anthony Green2-6/+21
During class file generation, generate_classfile occasionally writes out a bunch of data and then skips backwards to fill in blanks. When configured with --enable-checking, this patching up will often trip the checking code. This change introduces UNSAFE_PUTx macros which never use CHECK_PUT. These should only be used in cases we know CHECK_PUT will fail. From-SVN: r29854
1999-10-07configure.in: Detect mmap.Richard Henderson4-480/+523
* configure.in: Detect mmap. Add --with-gc=foo to select garbage collector; default to page if mmap available. * Makefile.in (GGC): Substitute. From-SVN: r29853
1999-10-07Daily bump.Jeff Law5-5/+5
From-SVN: r29852
1999-10-06* c-decl.c (ggc_p): Enable.Richard Henderson2-2/+6
From-SVN: r29851
1999-10-07rs6000.c (secondary_reload_class): For TARGET_ELF make sure that HIGH ↵Diego Novillo2-0/+6
instructions are copied into BASE_REGS. * config/rs6000/rs6000.c (secondary_reload_class): For TARGET_ELF make sure that HIGH instructions are copied into BASE_REGS. From-SVN: r29850
1999-10-07* dump.c (dequeue_and_dump): Dump all three operands to a COND_EXPR.Mark Mitchell2-1/+8
From-SVN: r29849
1999-10-06configure.in (GCJ): Define as "target-gcj", not "target/gcj" when building ↵Tom Tromey4-137/+147
Canadian cross. * configure.in (GCJ): Define as "target-gcj", not "target/gcj" when building Canadian cross. (NATIVE): Don't define when cross-compiling. From-SVN: r29848
1999-10-06* flow.c (verify_flow_info): Make it extern & unconditionally define.Kaveh R. Ghazi2-6/+10
From-SVN: r29847
1999-10-06sp86x-elf.h (SUBTARGET_SWITCHES): Add missing doc string for little-endian-data.Brendan Kehoe2-1/+6
* sparc/sp86x-elf.h (SUBTARGET_SWITCHES): Add missing doc string for little-endian-data. From-SVN: r29846
1999-10-06Fix sanity checkMichael Meissner2-2/+8
From-SVN: r29845
1999-10-06genrecog.c (add_to_sequence): Verify operand to label_ref is VOIDmode.Richard Henderson2-2/+14
* genrecog.c (add_to_sequence): Verify operand to label_ref is VOIDmode. From-SVN: r29844
1999-10-06cp-tree.h (CLASSTYPE_VFIELD): Remove.Mark Mitchell9-36/+59
* cp-tree.h (CLASSTYPE_VFIELD): Remove. * call.c (build_vfield_ref): Use TYPE_VFIELD, not CLASSTYPE_VFIELD. * class.c (get_vfield_offset): Likewise. (finish_base_struct): Likewise. (modify_one_vtable): Likewise. (fixup_vtable_deltas): Likewise. (finish_struct_1): Likewise. * init.c (expand_virtual_init): Likewise. * search.c (lookup_field_1): Likewise. (expand_upcast_fixups): Likewise. * typeck.c (build_component_ref): Likewise. (build_binary_op_nodefault): Likewise. * dump.c (dqueue_and_dump): Dump TYPE_VFIELD. * ir.texi: Document TYPE_VFIELD. From-SVN: r29843
1999-10-06decl.c (grokdeclarator): Only warn about non-zero arrays if ↵Brendan Kehoe2-1/+7
!in_system_header (linux socketbits.h can... * decl.c (grokdeclarator): Only warn about non-zero arrays if !in_system_header (linux socketbits.h can give this for __cmsg_data, which is using a GNU extension). From-SVN: r29842
1999-10-06genconfig.c (main): Disable HAVE_conditional_arithmetic.Richard Henderson3-0/+39
* genconfig.c (main): Disable HAVE_conditional_arithmetic. * jump.c (jump_optimize_1): Document why. From-SVN: r29841
1999-10-06collect2.c (scan_prog_file, [...]): Prototype function pointers and casts ↵Kaveh R. Ghazi6-35/+90
for `int_handler' and `quit_handler'. * collect2.c (scan_prog_file, scan_libraries): Prototype function pointers and casts for `int_handler' and `quit_handler'. * flow.c (verify_flow_info, split_hard_reg_notes, find_insn_with_note, sets_reg_or_subreg_1, prepend_reg_notes, remove_edge, remove_fake_successors): Add static prototypes. (verify_flow_info): Wrap with macro ENABLE_CHECKING. (mark_set_1): Initialize variable `regno'. (unlink_insn_chain): Likewise for variable `curr'. (remove_fake_edges): Remove unused variables `e', `tmp' and `last'. * loop.c (strength_reduce): Initialize variable `unrolled_insn_copies'. (cmp_combine_givs_stats, cmp_recombine_givs_stats): Add static prototypes. Change these functions to take const PTR parameters to avoid prototype conflict when used as the comparson argument for qsort. (check_dbra_loop): Initialize variable `comparison_val'. * reload.c (debug_reload_to_stream, debug_reload): Add prototypes. (get_secondary_mem): Mark parameter `x' with ATTRIBUTE_UNUSED. (find_valid_class): Initialize variable `best_class'. (find_reloads): Call memcpy, not bcopy. * reload1.c (gen_mode_int, dump_needs): Add prototypes. (hard_reg_use_compare): Don't needlessly cast away const. (reload_reg_class_lower): Likewise. (choose_reload_regs): Initialize variable `regno'. From-SVN: r29840
1999-10-06Daily bump.Jeff Law5-5/+5
From-SVN: r29839
1999-10-06decl2.c (start_static_storage_duration_function): Push the function ↵Mark Mitchell2-0/+6
declaration so it ends up in namespace scope. * decl2.c (start_static_storage_duration_function): Push the function declaration so it ends up in namespace scope. From-SVN: r29838
1999-10-06dump.c (DUMP_CHILDREN): Remove.Mark Mitchell2-247/+146
* dump.c (DUMP_CHILDREN): Remove. (DUMP_BINFO): Adjust. (struct dump_node_info): Remove dump_children_p. (queue_and_dump_type): Remove dump_children_p parameter. (queue): Don't set dump_children_p. (dump_child): Pass DUMP_NONE, instead of DUMP_CHILDREN, to queue_and_dump_index. (dequeue_and_dump): Unconditionally print children. Adjust calls to functions mentioned above. (dump_node): Pass DUMP_NONE, instead of DUMP_CHILDREN to queue. From-SVN: r29837
1999-10-06Redo changelog entry.Michael Meissner1-3/+7
From-SVN: r29836
1999-10-05ir.texi: Document BIND_EXPR, LOOP_EXPR, and EXIT_EXPR.Mark Mitchell3-2/+29
* ir.texi: Document BIND_EXPR, LOOP_EXPR, and EXIT_EXPR. * dump.c (dequeue_and_dump): Dump them. From-SVN: r29835
1999-10-05* ir.texi: Document LOOP_EXPR and EXIT_EXPR.Mark Mitchell2-0/+15
From-SVN: r29834
1999-10-05* ggc-page.c (GGC_ALWAYS_COLLECT): Fix typo when undef'ing.Paul Burchard2-1/+5
From-SVN: r29833