aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2000-04-29cpphash.h: Move struct reflist, struct definition, and the DEFINITION ↵Zack Weinberg4-75/+83
typedef to cpphash.c. * cpphash.h: Move struct reflist, struct definition, and the DEFINITION typedef to cpphash.c. Use 'struct definition *' in union hashval. _cpp_free_definition takes a HASHNODE pointer. * cpphash.c (_cpp_free_definition): Free data pointed to by MCONST, XCONST, MACRO, and FMACRO nodes properly. (_cpp_create_definition, del_HASHNODE): Just call _cpp_free_definition to clear out a hashnode. * cpplib.c (do_pragma_poison): Likewise. From-SVN: r33536
2000-04-29mn10300.h (FIRST_DATA_REGNUM, [...]): New macros.Alexandre Oliva2-30/+59
* config/mn10300/mn10300.h (FIRST_DATA_REGNUM, LAST_DATA_REGNUM, FIRST_ADDRESS_REGNUM, LAST_ADDRESS_REGNUM, FIRST_EXTENDED_REGNUM, LAST_EXTENDED_REGNUM): New macros. (REGNO_SP_P): Redefine in terms of STACK_POINTER_REGNUM. (REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_EXTENDED_P, REGNO_AM33_P): Redefine in terms of the new macros. (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise. (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, STRUCT_VALUE): Likewise. (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Likewise. Moved. From-SVN: r33534
2000-04-29Daily bump.Jeff Law2-2/+2
From-SVN: r33532
2000-04-28revertJason Merrill2-9/+0
From-SVN: r33531
2000-04-28regmove.c (struct record_stack_memrefs_data): New.Jan Hubicka2-18/+64
* regmove.c (struct record_stack_memrefs_data): New. (record_stack_memrefs): New function. (combine_stack_adjustments_for_block): Use it. From-SVN: r33529
2000-04-28calls.c (calls_function_1): Propertly handle TREE_LIST expressions; use ↵Jan Hubicka2-12/+18
special_function_p to detect alloca. * calls.c (calls_function_1): Propertly handle TREE_LIST expressions; use special_function_p to detect alloca. From-SVN: r33528
2000-04-28* gcc.texi: Fixes for makeinfo 4.0 --html.Marc Espie2-17/+21
From-SVN: r33526
2000-04-28* decl.c (grok_op_properties): Add an extra check of argtypes.Cosmin Truta2-14/+19
From-SVN: r33524
2000-04-28pcp.h: Delete file.Zack Weinberg4-102/+8
* pcp.h: Delete file. * po/POTFILES.in: Update. From-SVN: r33522
2000-04-28h8300.c (function_epilogue): Clean up flags when the last insn in a function ↵Kazu Hirata2-1/+6
is a barrier. * h8300.c (function_epilogue): Clean up flags when the last insn in a function is a barrier. From-SVN: r33521
2000-04-28configure.in (sparc-hal-solaris2*): protect [] glob from my expansion.Chris Demetriou3-8/+18
* configure.in (sparc-hal-solaris2*): protect [] glob from my expansion. (mips*-*-ecoff*, mips*-*-elf*, mips*-*-*): use MASK_ defines rather than hard-coded constants in target_cpu_default2. * configure: Regenerate. From-SVN: r33520
2000-04-28tree.c (get_callee_fndecl): Extract the initial value from a readonly decl.Jason Merrill4-0/+22
* tree.c (get_callee_fndecl): Extract the initial value from a readonly decl. * cp/optimize.c (initialize_inlined_parameters): Call c_apply_type_quals_to_decl. Set DECL_INITIAL. From-SVN: r33518
2000-04-28varasm.c (record_constant_1): Record the CODE_LABEL when taking the address ↵Richard Henderson2-3/+23
of a LABEL_REF. * varasm.c (record_constant_1): Record the CODE_LABEL when taking the address of a LABEL_REF. From-SVN: r33517
2000-04-28calls.c (combine_pending_stack_adjustment_and_call): Return the adjustment; ↵Richard Henderson3-54/+92
don't do the stack adjust. * calls.c (combine_pending_stack_adjustment_and_call): Return the adjustment; don't do the stack adjust. (expand_call): Call compute_argument_block_size right before allocating the block; update comment; don't do alignment sanity checking for sibling call; use args_size instead of unadjusted_args_size before args_size is adjusted. Use combine_pending_stack_adjustment_and_call to compute stack adjust for must_preallocate case. * expr.c (push_block): Remove shadow `temp' in inner scope. Co-Authored-By: Jan Hubicka <jh@suse.cz> From-SVN: r33516
2000-04-28toplev.c (rest_of_compilation): Call ↵Jason Merrill2-2/+15
note_deferral_of_defined_inline_function even if the function can't be inlined. * toplev.c (rest_of_compilation): Call note_deferral_of_defined_inline_function even if the function can't be inlined. From-SVN: r33515
2000-04-28cpplex.c (_cpp_scan_line): Fix buffer overwrite.Scott Bambrough2-1/+5
2000-04-28 Scott Bambrough <scottb@netwinder.org> * cpplex.c (_cpp_scan_line): Fix buffer overwrite. From-SVN: r33514
2000-04-28* toplev.c (rest_of_type_compilation): Fix sdb TIMEVAR typo.Richard Henderson2-1/+5
From-SVN: r33513
2000-04-28* timevar.c (init_timevar): DeANSIfy function definition.Kaveh R. Ghazi2-1/+5
From-SVN: r33509
2000-04-28Daily bump.Jeff Law2-2/+2
From-SVN: r33507
2000-04-28optimize.c (copy_body_r): Use STRIP_TYPE_NOPS when copying variables.Mark Mitchell2-2/+41
* optimize.c (copy_body_r): Use STRIP_TYPE_NOPS when copying variables. (initialize_inlined_parameters): Try to avoid creating new VAR_DECLs. From-SVN: r33505
2000-04-28Makefile.in (timevar.o): Depend on flags.h.Alex Samuel3-30/+105
* Makefile.in (timevar.o): Depend on flags.h. * timevar.c (unused_stack_instances): New variable. (timevar_push): Take a timevar_stack_def from unused_stack_instances if available. (timevar_pop): Push the popped timevar_stack_def onto unused_stack_instances. (TIMEVAR_ENABLE): New macro. (timevar_def): Make standalone a 1-bit field. Add field used. (get_time): Rename parameter to now. Return after clearing it if not TIMEVAR_ENABLE. (init_timevar): Do nothing if not TIMEVAR_ENABLE. (timevar_pop): Likewise. (timevar_stop): Likewise. (timevar_push): Likewise. Mark the timing variable as used. (timevar_start): Likewise. (timevar_print): Do nothing if not TIMEVAR_ENABLE. Don't print timevars that were never used. From-SVN: r33504
2000-04-28c-commom.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are always ↵Mark Mitchell2-1/+8
TREE_READONLY. * c-commom.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are always TREE_READONLY. From-SVN: r33500
2000-04-28i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference for call ↵Ulrich Drepper2-1/+6
instruction with mode QImode. * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference for call instruction with mode QImode. From-SVN: r33499
2000-04-28Makefile.in (OBJS): Add timevar.o.Alex Samuel12-620/+1101
hangeLog: * Makefile.in (OBJS): Add timevar.o. (toplev.o): Depend on timevar.h. (ggc-simple.o): Likewise. (ggc-page.o): Likewise. (timevar.o): New rule. (timevar.h): New rule. * timevar.h: New file. * timevar.c: Likewise. * timevar.def: Likewise. * toplev.h (gc_time, parse_time, varconst_time): Remove. * toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR throughout. (TIMEVAR): Remove macro. (gc_time, parse_time, varconst_time, integration_time, jump_time, cse_time, gcse_time, loop_time, cse2_time, branch_prob_time, flow_time, combine_time, regmove_time, sched_time, local_alloc_time, global_alloc_time, flow2_time, peephole2_time, sched2_time, dbr_sched_time, reorder_blocks_time, rename_registers_time, shorten_branch_time, stack_reg_time, to_ssa_time, from_ssa_time, final_time, symout_time, dump_time, all_time): Remove. (compile_file): Don't initialize time variables. Call init_timevar and start TV_TOTAL timer. Call timevar_print instead of many calls to print_time. (rest_of_compilation): Add timing for reload_cse_regs. (get_run_time): Removed to timevar.c. (print_time): Likewise. (get_run_time): Implement using TV_TOTAL time variable. (print_time): Get total run time from get_run_time. * ggc-page.c (ggc_collect): Push and pop TV_GC instead of computing elapsed time explicitly. * ggc-simple.c (ggc_collect): Likewise. (gc_time): Remove declaration. cp/ChangeLog: * lex.c (my_get_run_time): Remove. (init_filename_times): Use get_run_time instead of my_get_run_time. (check_newline): Likewise. (dump_time_statistics): Likewise. * decl2.c (finish_file): Push and pop timevar TV_VARCONST instead of computing elapsed time explicitly. From-SVN: r33496
2000-04-28re GNATS gcj/2 (Method call on null instance should throw NullPointerException)Tom Tromey6-251/+326
Fix for PR gcj/2: * expr.c (expand_invoke): Generate check to see if object pointer is null in nonvirtual invocation case. * java-tree.h (soft_nullpointer_node): Declare. * decl.c (soft_nullpointer_node): New global. (init_decl_processing): Initialize soft_nullpointer_node. * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final' or `private' methods. (patch_invoke): Handle INVOKE_NONVIRTUAL case. From-SVN: r33495
2000-04-27decl.c (complete_start_java_method): Don't call _Jv_InitClass from <clinit>Alexandre Petit-Bianco2-0/+6
Wed Apr 26 14:29:33 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * decl.c (complete_start_java_method): Don't call _Jv_InitClass from <clinit> From-SVN: r33493
2000-04-27calls.c (combine_pending_stack_adjustment_and_call): New function.Mark Mitchell2-15/+77
* calls.c (combine_pending_stack_adjustment_and_call): New function. (expand_call): Use it. From-SVN: r33491
2000-04-27Jan Hubicka <jh@suse.cz>Jan Hubicka1-0/+5
* flow.c (mark_set_1): Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT fields. From-SVN: r33490
2000-04-27mn10300.md (movhi): Simplify.Alexandre Oliva2-24/+19
* config/mn10300/mn10300.md (movhi): Simplify. Prefer data registers. From-SVN: r33489
2000-04-27* function.c (epilogue_done): Pass whole insn to record_insns.Jan Hubicka3-2/+10
From-SVN: r33488
2000-04-27cse.c (CSE_ADDRESS_COST): Remove.Jan Hubicka7-54/+143
* cse.c (CSE_ADDRESS_COST): Remove. (find_best_addr): Add new parameter "MODE", use address_cost instead of CSE_ADDRESS_COST (address_cost): New. (fold_rtx): Update call of find_best_addr. * rtl.h (address_cost): Declare. * loop.c (general_induction_var): Add new parameter "MODE", use address_cost instead of ADDRESS_COST (init_loop): Use address_cost instead of ADDRESS_COST. (check_insn_for_givs): Update call of general_induction_var. (find_mem_givs): Likewise. (consec_sets_giv): Likewise. * config/i386/i386.h (ADDRESS_COST): Call ix86_address_cost. * i386.c (ix86_address_cost): New. * i386-protos.h (ix86_address_cost): Declare. From-SVN: r33486
2000-04-27mn10300.md (movqi): Simplify.Alexandre Oliva2-24/+19
* config/mn10300/mn10300.md (movqi): Simplify. Prefer data registers. From-SVN: r33485
2000-04-27expr.c (store_expr): Use clear_storage instead of direct memset libcall.Jan Hubicka2-16/+12
* expr.c (store_expr): Use clear_storage instead of direct memset libcall. From-SVN: r33484
2000-04-2720000427-1.c: New test for loop hoisting code and hard registers.Jan Hubicka2-0/+14
* compile/20000427-1.c: New test for loop hoisting code and hard registers. From-SVN: r33483
2000-04-27mn10300.c (mn10300_address_cost): Test ASHIFT, AND and LABEL_REF.Alexandre Oliva2-0/+8
* config/mn10300/mn10300.c (mn10300_address_cost): Test ASHIFT, AND and LABEL_REF. From-SVN: r33482
2000-04-27* invoke.texi (-foptimize-sibling-calls): Fix.Jan Hubicka2-3/+7
From-SVN: r33481
2000-04-27* loop.c (load_mems) Don't use hard registers for the hoisting.Jan Hubicka3-2/+18
* unroll.c (unroll_loop): Avoid overflow in the n_iterations calculation; rename const_equiv array in the preconditioning code from loop_unroll to loop_unroll_precondition From-SVN: r33480
2000-04-27flow.c (struct propagate_block_info): Remove new_dead, new_live; add new_set.Richard Henderson2-72/+133
* flow.c (struct propagate_block_info): Remove new_dead, new_live; add new_set. (propagate_one_insn): Clear it. Don't update reg_live here. (init_propagate_block_info): Update for pbi member changes. (free_propagate_block_info): Likewise. (mark_set_1): Know that zero_extract, sign_extract, and strict_low_part don't kill their argument. Alter hard subregs. Update new_set for non-CLOBBER sets. Update reg_live. (find_auto_inc): Update reg_live, not new_dead. (mark_used_reg): Update reg_live, not new_live. Examine new_set to determine if the reg in question was set this insn. Only update reg info with PROP_REG_INFO. From-SVN: r33478
2000-04-27Daily bump.Jeff Law2-2/+2
From-SVN: r33477
2000-04-27flow.c (calculate_global_regs_live): Force stack pointer live at end.Richard Henderson2-0/+7
* flow.c (calculate_global_regs_live): Force stack pointer live at end. From-SVN: r33476
2000-04-27flow.c (allocate_reg_life_data): Set max_regno here ...Richard Henderson2-2/+7
* flow.c (allocate_reg_life_data): Set max_regno here ... (life_analysis): ... not here. From-SVN: r33475
2000-04-27jump.c (redirect_exp_1): Rework from old redirect_exp.Richard Henderson3-149/+217
* jump.c (redirect_exp_1): Rework from old redirect_exp. Never commit change group changes. (invert_exp_1): Similarly. (redirect_exp, invert_exp): Use them. (redirect_jump_1): New. (invert_jump_1): New. (jump_optimize_1): Remove code subsumed by condexec.c. * rtl.h (invert_jump_1, redirect_jump_1): Declare. From-SVN: r33474
2000-04-27rtlanal.c (dead_or_set_regno_p): Use find_regno_note.Richard Henderson4-49/+21
* rtlanal.c (dead_or_set_regno_p): Use find_regno_note. * genconfig.c (main): Set all HAVE_foo to 1. * graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array. From-SVN: r33473
2000-04-27Fix commentary.Richard Henderson1-1/+2
From-SVN: r33472
2000-04-27* invoke.texi: Document -fssa flag.Alex Samuel2-1/+12
From-SVN: r33471
2000-04-27flow.c (count_reg_sets_1): Remove.Richard Henderson2-269/+9
* flow.c (count_reg_sets_1): Remove. (count_reg_sets, count_reg_references): Remove. (recompute_reg_usage): Implement with update_life_info. Reallocate life data. From-SVN: r33470
2000-04-27flow.c (update_life_info): Consider blocks null to mean the universal set.Richard Henderson2-27/+73
* flow.c (update_life_info): Consider blocks null to mean the universal set. (calculate_global_regs_live): Likewise. (life_analysis): Do that instead of collecting all_blocks. From-SVN: r33469
2000-04-26flow.c (tidy_fallthru_edge): Don't delete the jump when it's a still-valid ↵Richard Henderson2-1/+8
conditional jump. * flow.c (tidy_fallthru_edge): Don't delete the jump when it's a still-valid conditional jump. From-SVN: r33468
2000-04-26jump.c (invert_jump): Always invert REG_BR_PROB.Richard Henderson6-34/+33
* jump.c (invert_jump): Always invert REG_BR_PROB. Do it correctly. * bb-reorder.c (reorder_basic_blocks): Don't run estimate_probability. * flow.c (calculate_loop_depth): Remove. * output.h (calculate_loop_depth): Don't declare. * toplev.c (rest_of_compilation): Expand calculate_loop_depth inline; run estimate_probability at the same time. From-SVN: r33464
2000-04-27cpplib.h: "~=" is not a single pp-token.Neil Booth3-15/+19
2000-04-26 Neil Booth <NeilB@earthling.net> * cpplib.h: "~=" is not a single pp-token. * cpplex.c: Correct commentary. From-SVN: r33463