Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
* 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
|
|
From-SVN: r33532
|
|
From-SVN: r33531
|
|
* regmove.c (struct record_stack_memrefs_data): New.
(record_stack_memrefs): New function.
(combine_stack_adjustments_for_block): Use it.
From-SVN: r33529
|
|
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
|
|
From-SVN: r33526
|
|
From-SVN: r33524
|
|
* pcp.h: Delete file.
* po/POTFILES.in: Update.
From-SVN: r33522
|
|
is a barrier.
* h8300.c (function_epilogue): Clean up flags when the last insn
in a function is a barrier.
From-SVN: r33521
|
|
* 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
|
|
* 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
|
|
of a LABEL_REF.
* varasm.c (record_constant_1): Record the CODE_LABEL when
taking the address of a LABEL_REF.
From-SVN: r33517
|
|
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
|
|
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-28 Scott Bambrough <scottb@netwinder.org>
* cpplex.c (_cpp_scan_line): Fix buffer overwrite.
From-SVN: r33514
|
|
From-SVN: r33513
|
|
From-SVN: r33509
|
|
From-SVN: r33507
|
|
* 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
|
|
* 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
|
|
TREE_READONLY.
* c-commom.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are
always TREE_READONLY.
From-SVN: r33500
|
|
instruction with mode QImode.
* i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference
for call instruction with mode QImode.
From-SVN: r33499
|
|
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
|
|
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
|
|
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
|
|
* calls.c (combine_pending_stack_adjustment_and_call): New function.
(expand_call): Use it.
From-SVN: r33491
|
|
* flow.c (mark_set_1): Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT
fields.
From-SVN: r33490
|
|
* config/mn10300/mn10300.md (movhi): Simplify. Prefer data
registers.
From-SVN: r33489
|
|
From-SVN: r33488
|
|
* 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
|
|
* config/mn10300/mn10300.md (movqi): Simplify. Prefer data
registers.
From-SVN: r33485
|
|
* expr.c (store_expr): Use clear_storage instead of direct memset
libcall.
From-SVN: r33484
|
|
* compile/20000427-1.c: New test for loop hoisting code
and hard registers.
From-SVN: r33483
|
|
* config/mn10300/mn10300.c (mn10300_address_cost): Test
ASHIFT, AND and LABEL_REF.
From-SVN: r33482
|
|
From-SVN: r33481
|
|
* 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
|
|
* 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
|
|
From-SVN: r33477
|
|
* flow.c (calculate_global_regs_live): Force stack pointer
live at end.
From-SVN: r33476
|
|
* flow.c (allocate_reg_life_data): Set max_regno here ...
(life_analysis): ... not here.
From-SVN: r33475
|
|
* 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
|
|
* 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
|
|
From-SVN: r33472
|
|
From-SVN: r33471
|
|
* 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
|
|
* 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
|
|
conditional jump.
* flow.c (tidy_fallthru_edge): Don't delete the jump when it's
a still-valid conditional jump.
From-SVN: r33468
|
|
* 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-26 Neil Booth <NeilB@earthling.net>
* cpplib.h: "~=" is not a single pp-token.
* cpplex.c: Correct commentary.
From-SVN: r33463
|