aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
1997-08-12Initial revisionJeff Law371-0/+211175
From-SVN: r14772
1997-08-11Remove gratuitous changes from the alias analysis patches.Jeff Law2-8/+5
From-SVN: r14771
1997-08-11* Integrate Haifa instruction scheduler.Jeffrey A Law15-10/+10737
* Integrate regmove pass. See ChangeLog for deatils. From-SVN: r14770
1997-08-11* Integrate tlink patch from jason@cygnus.comJeffrey A Law9-54/+1073
* 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
1997-08-11* Integrate alias analysis changes from jfc@mit.eduJeffrey A Law15-903/+1371
* 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
1997-08-11* Integrate reload bugfix from Wilson which enables the PA portJeff Law3-10666/+10688
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
1997-08-11Initial revisionmisc/cutover-egcs-1Jeff Law112-437/+162377
From-SVN: r14764
1997-08-07Initial revisionJeff Law1-0/+22
From-SVN: r14727
1997-08-06Initial revisionJeff Law1-0/+2840
From-SVN: r14676
1997-08-05Initial revisionJeff Law1-0/+96
From-SVN: r14671
1997-08-02(store_one_arg): Allow stack_slot to be SP in ARGS_GROW_DOWNWARD case.misc/cutover-egcs-0Richard Kenner1-1/+1
From-SVN: r14639
1997-08-02parmlist_tags_warning): Only suppress warning on union if anonymous.Richard Kenner1-1/+1
From-SVN: r14638
1997-08-02(int_fits_type_p): Negative ints never fit unsigned types, andRichard Kenner1-2/+8
unsigned ints with top-bit-set never fit signed types. From-SVN: r14637
1997-08-02(_trampoline): Rework last change; both getpagesize and mprotect areRichard Kenner1-13/+15
in cygwin32. From-SVN: r14636
1997-08-02(reload): Add IN_ADDR to IN_ADDR_ADDR when computing needs since they conflict.Richard Kenner1-10/+10
From-SVN: r14635
1997-08-02(debug_reload): Rework to make output more compact.Richard Kenner1-41/+30
From-SVN: r14634
1997-08-02(indent): Move to file level; was static in print_rtx.Richard Kenner1-3/+18
(print_inline_rtx): New function. From-SVN: r14633
1997-08-02* objc/Make-lang.in (OBJC_CCOMMON): Removed.Per Bothner1-7/+3
From-SVN: r14632
1997-08-02Makefile.in (EXTRA_C_OBJS): Removed.Per Bothner1-5/+5
* Makefile.in (EXTRA_C_OBJS): Removed. (C_AND_OBJC_OBJS): New. Subsumes EXTRA_C_OBJS and OBJC_CCOMMON. From-SVN: r14631
1997-08-02configure.in: Build .gdbinit for top level build dir here.Doug Evans1-0/+19
* configure.in: Build .gdbinit for top level build dir here. (AC_OUTPUT): Pass oldstyle_subdirs to configure.lang. From-SVN: r14630
1997-08-02* configure.lang: Fix building of .gdbinit for oldstyle lang subdirs.Doug Evans1-9/+4
From-SVN: r14629
1997-08-02(gen_compile_unit_die): Add support for Pascal.Richard Kenner1-0/+3
From-SVN: r14628
1997-08-02(output_compile_unit_die): Add support for Pascal.Richard Kenner1-0/+2
From-SVN: r14627
1997-08-02(lvalue_p, case BIND_EXPR, RTL_EXPR): Return 1 if array.Richard Kenner1-12/+17
From-SVN: r14626
1997-08-02(cse_insn): Ignore paradoxical SUBREGs unless we are looking for such.Richard Kenner1-0/+31
From-SVN: r14625
1997-08-02(sparc_builtin_saveregs): If -fcheck-memory-usage, set rights of savedRichard Kenner1-0/+21
registers. From-SVN: r14624
1997-08-02(hppa_builtin_saveregs): f -fcheck-memory-usage, set rights of savedRichard Kenner1-7/+12
registers. From-SVN: r14623
1997-08-02(m88k_builtin_saveregs): If -fcheck-memory-usage, set rights of savedRichard Kenner1-8/+23
registers. From-SVN: r14622
1997-08-02(clipper_builtin_saveregs): If -fcheck-memory-usage, set rights ofRichard Kenner1-3/+23
saved registers. From-SVN: r14621
1997-08-02(alpha_builtin_saveregs): If -fcheck-memory-usage, set rights of savedRichard Kenner1-7/+21
registers. From-SVN: r14620
1997-08-02(make_function_rtl, make_decl_rtl): Add a prefix when ↵Richard Kenner1-0/+44
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
1997-08-02(built_in_function): Add BUILT_IN_AGGREGATE_INCOMING_ADDRESS.Richard Kenner1-0/+1
From-SVN: r14618
1997-08-02(flag_check_memory_usage, flag_prefix_function_name): New variable.Richard Kenner1-1/+17
(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
1997-08-02(expand_computed_goto): If -fcheck-memory-usage, check that computed address ↵Richard Kenner1-1/+19
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
1997-08-02(chkr_{check_addr,set_right}_libfunc): New definitions.Richard Kenner1-0/+11
(chkr_{copy_bitmap,check_exec}_libfunc): Likewise. (init_optabs): Initialize these chkr_*_libfunc. From-SVN: r14615
1997-08-02(put_var_into_stack, assign_parms): If -fcheck-memory-usage, set theRichard Kenner1-2/+42
rights of pushed variable. From-SVN: r14614
1997-08-02(flag_check_memory_usage, flag_prefix_function_name): New declaration.Richard Kenner1-0/+8
From-SVN: r14613
1997-08-02Add expand_modifier flags.Richard Kenner1-3/+27
(chkr_*_libfunc): New decls. (memory_use_mode): New declaration. From-SVN: r14612
1997-08-02(expand_builtin, case BUILT_IN_AGGREGATE_INCOMING_ADDRESS): New case.Richard Kenner1-40/+283
(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
1997-08-02(expr_size): Call expand_expr with appropriate flag.Richard Kenner1-1/+2
From-SVN: r14610
1997-08-02(init_decl_processing): Add __builtin_aggregate_incoming_address.Richard Kenner1-0/+4
From-SVN: r14609
1997-08-02(expand_call): If -fcheck-memory-usage...Richard Kenner1-2/+36
(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
1997-08-02(OBJC_OBJC): Delete from here.Richard Kenner1-4/+0
From-SVN: r14607
1997-08-02(compare_constant_1, case STRING_CST): Compare TYPE_MODE.Richard Kenner1-0/+4
(record_constant_1, case STRING_CST): Record TYPE_MODE. From-SVN: r14606
1997-08-02(expand_expr, case PLACEHOLDER_EXPR): Find innermost matching andRichard Kenner1-27/+19
don't check contains_placeholder_p. From-SVN: r14605
1997-08-02(contains_this_placeholder_p): Delete.Richard Kenner1-40/+14
(contains_placeholder_p): Now contains code from above function. (contains_placeholder_p, case 'r'): Don't look at offset info. From-SVN: r14604
1997-08-01* c-lang.c (lang_init): Restore, but add #if !USE_CPPLIB.Per Bothner1-0/+2
From-SVN: r14603
1997-08-01* c-lex.c (lang_init): Remove (recently moved here).Per Bothner1-11/+0
From-SVN: r14602
1997-08-01* objc/objc-act.c (lang_init): Don't check_newline #if USE_CPPLIB.Per Bothner1-0/+2
From-SVN: r14601
1997-08-01xJason Merrill1-44/+0
From-SVN: r14600