Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r14772
|
|
From-SVN: r14771
|
|
* Integrate regmove pass.
See ChangeLog for deatils.
From-SVN: r14770
|
|
* gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
(process_command): Increment n_switches for them. Don't discard
their args. Validate them.
(main): Escape " marks when creating COLLECT_GCC_OPTIONS.
From Rohan Lenard.
(process_command): Set include_prefixes from COMPILER_PATH.
(main): Set COLLECT_GCC_OPTIONS sooner.
* confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
* tlink.c, hash.c, hash.h: New files.
* Makefile.in (USE_COLLECT2): Always use collect2.
(collect2): Depend on and link in hash.o and tlink.o.
(tlink.o, hash.o): Add dependencies.
tlink patches from Jason.
From-SVN: r14769
|
|
* Makefile.in (OBJS): Add alias.o
(alias.o): Add dependencies.
* alias.c: New file.
* sched.c: Remove alias analysis code. It lives in alias.c now.
(reg_last_uses_size): Declare.
(sched_analyze_2): Add new arguments to true_dependence.
(sched_analyze_insn): Use reg_last_uses_size instead of max_reg.
(schedule_block): Initialize reg_last_uses_size.
(schedule_insns): Always call init_alias_analysis.
* calls.c (expand_call): Note calls to malloc, calloc, and realloc;
mark return value from such functions as a pointer and keep track of
them for alias analysis. If a return value from a function is a
pointer, mark it as such.
* combine.c (distribute_notes): Handle REG_NOALIAS.
* cse.c (struct write_data): Delete. No longer needed.
(invalidate): Don't call set_nonvarying_address_components anymore.
Use true_dependence to decide if an entry should be removed from
the hash table.
(invalidate_memory): Remove WRITES argument, simplify appropriately.
Fix all callers.
(note_mem_written): Similarly for WRITE_PTR argument.
(invalidate_from_clobbers): Similarly for W argument.
(invalidate_for_call): Remove memory elements from the hash table.
(refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
(cse_rtx_varies_p): New function. Derived from old
cse_rtx_addr_varies_p.
(cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
Don't call note_mem_written anymore. Stack pushes invalidate the stack
pointer if PUSH_ROUNDING is defined. No longer need to call
cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
(skipped_writes_memory): Remove variable.
(invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
(invalidate_skipped_block): Simplify for new alias analysis code.
(cse_set_around_loop): Likewise.
(cse_main): Call init_alias_analysis.
* flags.h (flag_alias_check, flag_argument_noalias): Declare.
* toplev.c (flag_alias_check, flag_argument_noalias): Define.
(f_options): Add new alias checking arguments.
(main): Set flag_alias_check when optimizing.
* local_alloc (validate_equiv_mem_from_store): Add new arguments
to true_dependence.
(memref_referenced_p): Likewise.
* loop.c (NUM_STORES): Increase to 30.
(prescan_loop): Only non-constant calls set unknown_address_altered.
(invariant_p): Add new arguments to true_dependence.
(record_giv): Initialize unrolled and shared fields.
(emit_iv_add_mult): Call record_base_value as needed.
* loop.h (struct induction): Add unrolled and shared fields.
* unroll.c (unroll_loop): Call record_base_value as needed.
(copy_loop_body): Likewise.
(final_biv_value): Likewise.
(final_giv_value): Likewise.
(find_splittable_regs): Likewise. Only create one new pseudo
if we have multiple address GIVs that were combined with the same
dst_reg GIV. Note when a new register is created due to unrolling.
* rtl.c (reg_note_name): Add REG_NOALIAS.
* rtl.h (enum reg_note): Similarly.
(rtx_varies_p, may_trap_p, side_effects_p): Declare.
(volatile_refs_p, volatile_insn_p, remove_note): Likewise.
(note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
(true_dependence, read_dependence, anti_dependence): Likewise.
(output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
(mark_user_reg, mark_reg_pointer): Likewise.
jfc's alias analysis code.
From-SVN: r14768
|
|
to bootstrap again.
* reload1.c (reload): Sum needs for both OPADDR_ADDR and and
OPERAND_ADDRESS when computing how many registers an insn needs.
(reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
conflict.
(reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
OPADDR_ADDR reload.
(reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
in reload_reg_use_in_op_addr do not reach the end.
do not reach the end.
(reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
RELOAD_FOR_OPERAND_ADDRESS.
Start a new ChangeLog for gcc3.
From-SVN: r14767
|
|
From-SVN: r14764
|
|
From-SVN: r14727
|
|
From-SVN: r14676
|
|
From-SVN: r14671
|
|
From-SVN: r14639
|
|
From-SVN: r14638
|
|
unsigned ints with top-bit-set never fit signed types.
From-SVN: r14637
|
|
in cygwin32.
From-SVN: r14636
|
|
From-SVN: r14635
|
|
From-SVN: r14634
|
|
(print_inline_rtx): New function.
From-SVN: r14633
|
|
From-SVN: r14632
|
|
* Makefile.in (EXTRA_C_OBJS): Removed.
(C_AND_OBJC_OBJS): New. Subsumes EXTRA_C_OBJS and OBJC_CCOMMON.
From-SVN: r14631
|
|
* configure.in: Build .gdbinit for top level build dir here.
(AC_OUTPUT): Pass oldstyle_subdirs to configure.lang.
From-SVN: r14630
|
|
From-SVN: r14629
|
|
From-SVN: r14628
|
|
From-SVN: r14627
|
|
From-SVN: r14626
|
|
From-SVN: r14625
|
|
registers.
From-SVN: r14624
|
|
registers.
From-SVN: r14623
|
|
registers.
From-SVN: r14622
|
|
saved registers.
From-SVN: r14621
|
|
registers.
From-SVN: r14620
|
|
flag_prefix_function_name_usage is set.
(make_function_rtl, make_decl_rtl): Add a prefix when
flag_prefix_function_name_usage is set.
(assemble_name): Strip the CHKR_PREFIX.
From-SVN: r14619
|
|
From-SVN: r14618
|
|
(f_options): Add `check-memory-usage' and `prefix_function_name'.
(main): Disable `-fomit-frame-pointer' if `-fcheck-memory-usage' is set
and the machine can't debug without the frame pointer.
From-SVN: r14617
|
|
of a goto is executable.
(expand_computed_goto): If -fcheck-memory-usage, check that computed address
of a goto is executable.
(expand_asm, expand_asm_operands): If -fcheck-memory-usage, disallow
asm statments.
From-SVN: r14616
|
|
(chkr_{copy_bitmap,check_exec}_libfunc): Likewise.
(init_optabs): Initialize these chkr_*_libfunc.
From-SVN: r14615
|
|
rights of pushed variable.
From-SVN: r14614
|
|
From-SVN: r14613
|
|
(chkr_*_libfunc): New decls.
(memory_use_mode): New declaration.
From-SVN: r14612
|
|
(expand_assignment, expand_expr, emit_push_insn, store_expr):
Insert calls to chkr_check_addr, chkr_set_right, and chkr_copy_bitmap
when -fcheck-memory-usage.
(get_push_address, get_memory_usage_from_modifier): New functions.
From-SVN: r14611
|
|
From-SVN: r14610
|
|
From-SVN: r14609
|
|
(expand_call): If -fcheck-memory-usage, use pseudo-register, check
indirectly called function is executable, and set rights of memory for
aggregate as write only.
(store_one_arg): If -fcheck-memory-usage, set rights for pushed stack
argument.
From-SVN: r14608
|
|
From-SVN: r14607
|
|
(record_constant_1, case STRING_CST): Record TYPE_MODE.
From-SVN: r14606
|
|
don't check contains_placeholder_p.
From-SVN: r14605
|
|
(contains_placeholder_p): Now contains code from above function.
(contains_placeholder_p, case 'r'): Don't look at offset info.
From-SVN: r14604
|
|
From-SVN: r14603
|
|
From-SVN: r14602
|
|
From-SVN: r14601
|
|
From-SVN: r14600
|