Commit Graph

13942 Commits

Author SHA1 Message Date
Jeffrey A Law
7bb6fbd1c6 version.c: Bump version to "gcc-3.0.0 970802 experimental".
* version.c: Bump version to "gcc-3.0.0 970802 experimental".

        * gcc.info*: Rebuilt.

        * COPYING.g77, README.g77: New files.
        * real.c (ereal_unto_float, ereal_unto_double): New functions.
        * real.h (ereal_unto_float, ereal_unto_double): Declare them.
        (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
Get g77 to work with gcc3.

From-SVN: r14776
1997-08-12 11:13:25 -06:00
Jeffrey A Law
8f87a56384 g77.info*: Rebuilt.
* g77.info*: Rebuilt.

        * config-lang.in: Don't demand the backend patch.
        * com.c (lang_printable_name): Second argument is now an int.  Don't
        store into the value of the second argument.
        * top.c (ffe_decode_option): Temporarily disable setting
        of "Toon" loop options until we figure out how to address
        them.

Make g77 work with gcc3.

From-SVN: r14775
1997-08-12 11:12:21 -06:00
Jeff Law
5ff904cd27 Initial revision
From-SVN: r14772
1997-08-12 01:47:32 -06:00
Jeff Law
9f31cf0d42 Remove gratuitous changes from the alias analysis patches.
From-SVN: r14771
1997-08-11 22:12:04 -06:00
Jeffrey A Law
8c660648ca * Integrate Haifa instruction scheduler.
* Integrate regmove pass.
See ChangeLog for deatils.

From-SVN: r14770
1997-08-11 22:07:19 -06:00
Jeffrey A Law
aa32d84158 * Integrate tlink patch from jason@cygnus.com
* 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 14:23:53 -06:00
Jeffrey A Law
9ae8ffe751 * Integrate alias analysis changes from jfc@mit.edu
* 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 14:07:24 -06:00
Jeff Law
5fa39bfeb7 * Integrate reload bugfix from Wilson which enables the PA port
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-11 13:31:10 -06:00
Jeff Law
861bb6c1b0 Initial revision
From-SVN: r14764
1997-08-11 09:56:58 -06:00
Jeff Law
737cee66f2 Initial revision
From-SVN: r14727
1997-08-07 10:29:49 -06:00
Jeff Law
89045fd128 Initial revision
From-SVN: r14676
1997-08-06 13:57:47 -06:00
Jeff Law
d7194dd690 Initial revision
From-SVN: r14671
1997-08-05 10:26:36 -06:00
Richard Kenner
50eb43cabc (store_one_arg): Allow stack_slot to be SP in ARGS_GROW_DOWNWARD case.
From-SVN: r14639
1997-08-02 19:22:18 -04:00
Richard Kenner
293facbcd4 parmlist_tags_warning): Only suppress warning on union if anonymous.
From-SVN: r14638
1997-08-02 19:06:27 -04:00
Richard Kenner
ae0a3dfbf4 (int_fits_type_p): Negative ints never fit unsigned types, and
unsigned ints with top-bit-set never fit signed types.

From-SVN: r14637
1997-08-02 18:50:39 -04:00
Richard Kenner
272e2587a2 (_trampoline): Rework last change; both getpagesize and mprotect are
in cygwin32.

From-SVN: r14636
1997-08-02 18:27:33 -04:00
Richard Kenner
b080c137d7 (reload): Add IN_ADDR to IN_ADDR_ADDR when computing needs since they conflict.
From-SVN: r14635
1997-08-02 17:46:08 -04:00
Richard Kenner
505923a0ad (debug_reload): Rework to make output more compact.
From-SVN: r14634
1997-08-02 17:29:22 -04:00
Richard Kenner
1d79197a77 (indent): Move to file level; was static in print_rtx.
(print_inline_rtx): New function.

From-SVN: r14633
1997-08-02 17:29:08 -04:00
Per Bothner
a0c94d6d68 * objc/Make-lang.in (OBJC_CCOMMON): Removed.
From-SVN: r14632
1997-08-02 14:06:25 -07:00
Per Bothner
3cb8856545 Makefile.in (EXTRA_C_OBJS): Removed.
* Makefile.in (EXTRA_C_OBJS): Removed.
(C_AND_OBJC_OBJS):  New.  Subsumes EXTRA_C_OBJS and OBJC_CCOMMON.

From-SVN: r14631
1997-08-02 13:59:17 -07:00
Doug Evans
296e46bd9b configure.in: Build .gdbinit for top level build dir here.
* configure.in: Build .gdbinit for top level build dir here.
	(AC_OUTPUT): Pass oldstyle_subdirs to configure.lang.

From-SVN: r14630
1997-08-02 20:10:47 +00:00
Doug Evans
4caa6262f7 * configure.lang: Fix building of .gdbinit for oldstyle lang subdirs.
From-SVN: r14629
1997-08-02 20:10:15 +00:00
Richard Kenner
bc28c45bb5 (gen_compile_unit_die): Add support for Pascal.
From-SVN: r14628
1997-08-02 14:34:12 -04:00
Richard Kenner
7532a0fbfa (output_compile_unit_die): Add support for Pascal.
From-SVN: r14627
1997-08-02 14:33:42 -04:00
Richard Kenner
cff9c40790 (lvalue_p, case BIND_EXPR, RTL_EXPR): Return 1 if array.
From-SVN: r14626
1997-08-02 14:15:29 -04:00
Richard Kenner
5a03c8c401 (cse_insn): Ignore paradoxical SUBREGs unless we are looking for such.
From-SVN: r14625
1997-08-02 13:48:13 -04:00
Richard Kenner
eadceb598a (sparc_builtin_saveregs): If -fcheck-memory-usage, set rights of saved
registers.

From-SVN: r14624
1997-08-02 13:25:31 -04:00
Richard Kenner
5e32727ccc (hppa_builtin_saveregs): f -fcheck-memory-usage, set rights of saved
registers.

From-SVN: r14623
1997-08-02 13:24:48 -04:00
Richard Kenner
4e264c3fbf (m88k_builtin_saveregs): If -fcheck-memory-usage, set rights of saved
registers.

From-SVN: r14622
1997-08-02 13:23:45 -04:00
Richard Kenner
e72f998d69 (clipper_builtin_saveregs): If -fcheck-memory-usage, set rights of
saved registers.

From-SVN: r14621
1997-08-02 13:22:50 -04:00
Richard Kenner
5b838011fe (alpha_builtin_saveregs): If -fcheck-memory-usage, set rights of saved
registers.

From-SVN: r14620
1997-08-02 13:22:01 -04:00
Richard Kenner
7c6d412013 (make_function_rtl, make_decl_rtl): Add a prefix when 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 13:21:32 -04:00
Richard Kenner
0844ee7f63 (built_in_function): Add BUILT_IN_AGGREGATE_INCOMING_ADDRESS.
From-SVN: r14618
1997-08-02 13:20:58 -04:00
Richard Kenner
f602c208ab (flag_check_memory_usage, flag_prefix_function_name): New variable.
(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 13:20:21 -04:00
Richard Kenner
17f5f329ca (expand_computed_goto): If -fcheck-memory-usage, check that computed address 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 13:19:38 -04:00
Richard Kenner
8960ab1a98 (chkr_{check_addr,set_right}_libfunc): New definitions.
(chkr_{copy_bitmap,check_exec}_libfunc): Likewise.
(init_optabs): Initialize these chkr_*_libfunc.

From-SVN: r14615
1997-08-02 13:18:49 -04:00
Richard Kenner
86fa911a16 (put_var_into_stack, assign_parms): If -fcheck-memory-usage, set the
rights of pushed variable.

From-SVN: r14614
1997-08-02 13:18:18 -04:00
Richard Kenner
151b783bca (flag_check_memory_usage, flag_prefix_function_name): New declaration.
From-SVN: r14613
1997-08-02 13:17:58 -04:00
Richard Kenner
99b5da0823 Add expand_modifier flags.
(chkr_*_libfunc): New decls.
(memory_use_mode): New declaration.

From-SVN: r14612
1997-08-02 13:17:40 -04:00
Richard Kenner
921b3427bc (expand_builtin, case BUILT_IN_AGGREGATE_INCOMING_ADDRESS): New case.
(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 13:17:17 -04:00
Richard Kenner
8fbea4dc1a (expr_size): Call expand_expr with appropriate flag.
From-SVN: r14610
1997-08-02 13:16:45 -04:00
Richard Kenner
18989c57d3 (init_decl_processing): Add __builtin_aggregate_incoming_address.
From-SVN: r14609
1997-08-02 13:15:09 -04:00
Richard Kenner
7815214ef7 (expand_call): If -fcheck-memory-usage...
(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 13:14:33 -04:00
Richard Kenner
ca20456a33 (OBJC_OBJC): Delete from here.
From-SVN: r14607
1997-08-02 09:09:23 -04:00
Richard Kenner
f163668c0d (compare_constant_1, case STRING_CST): Compare TYPE_MODE.
(record_constant_1, case STRING_CST): Record TYPE_MODE.

From-SVN: r14606
1997-08-02 08:11:40 -04:00
Richard Kenner
2cde2255e0 (expand_expr, case PLACEHOLDER_EXPR): Find innermost matching and
don't check contains_placeholder_p.

From-SVN: r14605
1997-08-02 08:01:10 -04:00
Richard Kenner
cc3c7c1329 (contains_this_placeholder_p): Delete.
(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-02 08:00:52 -04:00
Per Bothner
40365c9252 * c-lang.c (lang_init): Restore, but add #if !USE_CPPLIB.
From-SVN: r14603
1997-08-01 14:18:54 -07:00
Per Bothner
736c628948 * c-lex.c (lang_init): Remove (recently moved here).
From-SVN: r14602
1997-08-01 14:18:54 -07:00