aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2000-04-30cpplex.c (cpp_idcmp): New function.Zack Weinberg6-200/+243
* cpplex.c (cpp_idcmp): New function. * cpplib.h: Prototype it. * scan_decls.c (scan_decls): Use it to inspect token names. * fix-header.c (read_scan_file): Likewise. Set system_header_p on the file being run through the preprocessor. (check_macro_names): Provide length of token to cpp_defined. * Makefile.in: Remove stale warning message. From-SVN: r33552
2000-04-30cppfiles.c (redundant_include_p): Provide length of token to cpp_defined.Zack Weinberg5-39/+37
* cppfiles.c (redundant_include_p): Provide length of token to cpp_defined. * cpphash.c (_cpp_make_hashnode, _cpp_lookup_slot): Hash values are unsigned int. (_cpp_lookup, _cpp_lookup_slot): Do not calculate the length. (_cpp_lookup_slot): Do not calculate the hash, either. * cpphash.h: Update prototypes. * cpplib.c (do_define, do_undef, do_pragma_poison, do_assert): Hashes are unsigned int. Calculate hash here, pass by value to _cpp_lookup_slot. From-SVN: r33551
2000-04-30Fix memory corruption bugBernd Schmidt2-30/+34
From-SVN: r33549
2000-04-30d30v: New port.Richard Henderson11-91/+14466
* config/d30v: New port. * configure.in (d30v-*): Set fp format. * configure: Rebuild. From-SVN: r33548
2000-04-30ifcvt.c: New file.Richard Henderson6-1494/+2147
* ifcvt.c: New file. * Makefile.in (OBJS): Add it. (ifcvt.o): New target. * jump.c (jump_optimize_1): Remove all code related to if-conversion, and conditional arithmetic. (find_insert_position): Remove. * timevar.def (TV_IFCVT, TV_IFCVT2): New. * toplev.c (DFI_ce, DFI_ce2): New. (dump_file): Add ce and ce2 dumps. (rest_of_compilation): Run if_convert a couple o times. Set cse_not_expected after cse2. Don't set no_new_pseudos until after sched1 or recompute_reg_usage. From-SVN: r33547
2000-04-30t-crtbe (crtbegin.o): Add "-I.".Richard Henderson2-4/+9
* config/alpha/t-crtbe (crtbegin.o): Add "-I.". (crtend.o, crtbeginS.o, crtendS.o): Likewise. From-SVN: r33546
2000-04-30Remove ifnottex block confusing makeinfo 3.12.Richard Henderson1-3/+0
From-SVN: r33545
2000-04-30flow.c (struct reg_cond_life_info): New.Richard Henderson3-1/+453
* flow.c (struct reg_cond_life_info): New. (struct propagate_block_info): Add reg_cond_dead and reg_cond_reg. (init_propagate_block_info): Initialize them. (free_propagate_block_info): Destruct them. (mark_set_1): Consider conditional life before killing a register. (mark_regno_cond_dead): New. (free_reg_cond_life_info): New. (flush_reg_cond_reg_1, flush_reg_cond_reg): New. (ior_reg_cond, not_reg_cond, nand_reg_cond): New. (mark_used_reg): Record conditional life. * haifa-sched.c (schedule_insns): Disable death counting sanity check for HAVE_conditional_execution. From-SVN: r33544
2000-04-30Makefile.in (TIMEVAR_H): New.Richard Henderson2-7/+11
* Makefile.in (TIMEVAR_H): New. (ggc-simple.o, ggc-page.o, toplev.o, timevar.o): Use it. (timevar.h): Remove rule. From-SVN: r33543
2000-04-30Missed last config/alpha update.Richard Henderson1-0/+7
From-SVN: r33540
2000-04-30Daily bump.Jeff Law2-2/+2
From-SVN: r33539
2000-04-30cpphash.h (enum node_type): Take out T_MCONST.Zack Weinberg4-145/+195
* cpphash.h (enum node_type: Take out T_MCONST. (union hashval): Move into struct hashnode. (struct hashnode): Pack tighter. Remove file, line, col members. * cpphash.c: Constify most of the macro-definition structures. (struct definition): Replace by struct object_defn and struct funct_defn. Put file, line, column information here. All users updated to match. (_cpp_create_definition, _cpp_macroexpand): Remove special case for #define WORD OTHERWORD. * cpplib.c (do_undef): Remove T_MCONST case. From-SVN: r33538
2000-04-29crtend.asm: Use C comments instead of #.Richard Henderson3-116/+133
* config/alpha/crtend.asm: Use C comments instead of #. * config/alpha/crtbegin.asm: Likewise. Mark __dso_handle hidden. * config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL. From-SVN: r33537
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