Commit Graph

32295 Commits

Author SHA1 Message Date
Jim Wilson feb9ea1a1f Fix solaris2 (without GNU install installed) install failure.
* Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
	filenames.  Use sed to extract base filename for install.

From-SVN: r14910
1997-08-24 17:25:22 -07:00
John F. Carr b6ffe60242 unroll.c (find_splittable_givs): Only share if two givs have the same add and multiply values.
* unroll.c (find_splittable_givs): Only share if two givs have the
        same add and multiply values.
Fixes some testsuite failures on the x86.

From-SVN: r14908
1997-08-23 17:25:05 -06:00
Jim Wilson 2ebfd23067 Fix typos in m68k configuration files.
* m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
	* m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.

From-SVN: r14902
1997-08-23 14:41:33 -07:00
Jeffrey A Law 251ffdee0e pa.c (pa_reorg): Always put begin_brtab and end_brtab insns around branch tables.
* pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
        around branch tables.
        * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
        and .end_brtab directives if TARGET_GAS.
Should fix bootstrap problem with PA port when not using gas.

From-SVN: r14899
1997-08-23 00:19:56 -06:00
Jim Wilson 2731427487 Fix m68k-next-nextstep3 stage2 enquire compilation hang reported by Moene.
* alias.c (true_dependence): Pass x_addr not x to varies.

From-SVN: r14898
1997-08-22 21:39:31 -07:00
Jim Wilson 19372aa112 Fix AIX build problem when IBM cc is used.
* acconfig.h (NEED_DECLARATION_CALLOC): Add.
	* configure.in: Add GCC_NEED_DECLARATION call for calloc.
	* rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
	declarations.
	* config.in, configure: Regenerate.

From-SVN: r14896
1997-08-22 14:39:10 -07:00
John F. Carr 2a2c8203b6 alias.c (find_base_value): Improve handling of PLUS, MINUS, and LO_SUM.
* alias.c (find_base_value): Improve handling of PLUS, MINUS, and
        LO_SUM.
        (record_set): Handle LO_SUM like PLUS.
        (init_alias_analysis): When following chains of base addresses,
        do not stop on reaching a hard register.
Updates from jfc.

From-SVN: r14888
1997-08-22 00:39:29 -06:00
Jeff Law d80357b704 Tweak.
From-SVN: r14886
1997-08-21 20:16:20 -06:00
Jim Wilson b4f32d7b12 Fix alpha OSF 1.x/2.x/3.x build problems.
* alpha.h (ARCH_ASM_FILE_START): Define.
	(ASM_FILE_START): Use ARCH_ASM_FILE_START.
	* osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.

From-SVN: r14884
1997-08-21 17:47:59 -07:00
Jeffrey A Law f1e182826e Bump version # for new snapshot.
From-SVN: r14874
1997-08-21 14:46:15 -06:00
Jeffrey A Law ca363bb6c1 * Makefile.in (install-common): Put gcov comment at start of line.
From-SVN: r14871
1997-08-21 10:23:22 -06:00
Jeffrey A Law 7557aa9871 alias.c (init_alias_analysis): When simplifying the reg_base_value array, simplify entries for hard registers too.
* alias.c (init_alias_analysis): When simplifying the reg_base_value
        array, simplify entries for hard registers too.
From jfc.  Fixes c-torture failure on the PA.

From-SVN: r14869
1997-08-20 22:48:46 -06:00
Jim Wilson 2dcfcb5604 Change gcc3 to egcs.
From-SVN: r14866
1997-08-20 16:17:46 -07:00
Dave Love c34e3ae410 Patch from Dave Love.
* dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
	list.

From-SVN: r14862
1997-08-20 12:37:49 -07:00
Jim Wilson e3eef942f2 stmt.c (start_cleanup_deferal, [...]): Test block_stack before dereferencing it.
* stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
	block_stack before dereferencing it.

From-SVN: r14861
1997-08-20 12:30:36 -07:00
Michael Meissner 246853b927 Work with haifa renaming get_issue_rate -> ISSUE_RATE
From-SVN: r14858
1997-08-20 19:08:56 +00:00
Jason Merrill 04f4195145 * cplus-dem.c: Add 'extern' to prepends_underscore.
From-SVN: r14856
1997-08-19 20:12:54 -04:00
Jeffrey A Law 62d65906d6 haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
* haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
        (get_issue_rate): Delete.
        * pa.h (ISSUE_RATE): Define.

From-SVN: r14851
1997-08-19 15:22:04 -06:00
Jeffrey A Law 2da05a5bb8 configure.in: Turn on haifa by default for the PA.
* configure.in: Turn on haifa by default for the PA.
        * configure: Rebuilt.
        * pa.c (override_options): Accept -mschedule=7200 option.
        (pa_adjust_cost): No longer need to scale costs for newer
        processors.
        * pa.h (enum processor_type): Add PROCESSOR_7200.
        * pa.md: Revamp scheduling parameters to work better with
        haifa.  Add scheduling parameters for the 7200.

From-SVN: r14850
1997-08-19 15:09:22 -06:00
Jeffrey A Law 4f64eacaee haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P insns too.
* haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
        insns too.
        (schedule_block): When adjusting basic_block_{head,end}, account
        for movement of SCHED_GROUP_P insns too.

        * haifa-sched.c (debug_dependencies): Fix thinko.

From-SVN: r14849
1997-08-19 12:02:21 -06:00
Jeff Law 6182283505 haifa-sched.c: Make lots of variable static.
* haifa-sched.c: Make lots of variable static.
Just cleaning stuff up.

From-SVN: r14848
1997-08-19 10:15:54 -06:00
Jim Wilson a94ce33311 reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR reloads to...
* reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
        reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
        * reload1.c: Undo bugfix from Aug 11.
Back out "simple" patch for PA reload bug and install the one accepted
by the FSF.

From-SVN: r14847
1997-08-19 10:04:22 -06:00
H.J. Lu e9576d2c22 expr.h, real.h: Finish prototyping.
* expr.h, real.h: Finish prototyping.
Some of hj's prototyping stuff after minor formatting fixes.

From-SVN: r14846
1997-08-19 09:51:10 -06:00
Jeffrey A Law e933cbe007 Makefile.in (EXPECT, [...]): Define.
* Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
        (site.exp, check, check-g++, check-gcc): New targets.
For dejagnu.

From-SVN: r14845
1997-08-19 09:36:20 -06:00
Jeff Law 45832e2182 Take out __EGCS__ and __EGCS_MINOR__.
From-SVN: r14839
1997-08-18 21:42:44 -06:00
Mike Meissner f24b370adf Fix --with-cpu=xxx
From-SVN: r14837
1997-08-18 22:03:38 +00:00
Jim Wilson 1c4c585118 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
From-SVN: r14834
1997-08-18 13:51:37 -07:00
Manfred Hollstein 71abb5679c Makefile.in (sub-makes): Pass the current value of LANGUAGES down to sub-makes to avoid building more...
* Makefile.in (sub-makes): Pass the current value of LANGUAGES down
        to sub-makes to avoid building more passes than the user might have
        requested on the command line.
From Manfred Hollstein.

From-SVN: r14825
1997-08-17 17:48:47 -06:00
Dave Love 6042434abc configure.in: Expurgate `broken_install' (install is autoconfed).
* configure.in: Expurgate `broken_install' (install is
        autoconfed).

        * configure.lang: Substitute autoconfed ${INSTALL} (not currently
        relevant).
From Dave love.

From-SVN: r14823
1997-08-17 15:41:59 -06:00
Jeffrey A Law 094420edc0 gcc.c (default_compilers): Add __EGCS__ and __EGCS_MINOR__ predefines.
* gcc.c (default_compilers): Add __EGCS__ and __EGCS_MINOR__
        predefines.

From-SVN: r14822
1997-08-17 15:15:15 -06:00
Jeffrey A Law 38ea060fa7 loop.c (is_power_of_2, [...]): Delete unused functions and declarations.
* loop.c (is_power_of_2, is_conditional_branch): Delete unused
        functions and declarations.
        (analyze_loop_iterations): Use condjump_p.
        (insert_bct): Likewise.  Use exact_log2.
Just cleanup up some haifa code.

From-SVN: r14818
1997-08-16 01:09:42 -06:00
Jeffrey A Law f187056f8a haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
* haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
        (schedule_region): Likewise.
        (schedule_insns): Likewise.
To avoid leaking memory.

        * PROJECTS: Update with Haifa stuff.

From-SVN: r14817
1997-08-15 23:49:38 -06:00
Jeffrey A Law 0945e93725 loop.c (is_conditional_branch): Make definition match declaration.
* loop.c (is_conditional_branch): Make definition match declaration.
Found by the sunos compiler

From-SVN: r14815
1997-08-15 14:50:04 -06:00
Jeffrey A Law 11c21791a4 Tweak again.
From-SVN: r14814
1997-08-15 14:38:11 -06:00
Jeffrey A Law 96e87e3e2a Make version # egcs-3.0.0 since we need to make sure the version#s
in the built-in defines are > 2.7.

From-SVN: r14813
1997-08-15 14:26:03 -06:00
Jeffrey A Law 9af0625405 version.c: Change the version string to look like...
* version.c: Change the version string to look like:
        egcs-1.0.0 970814 (gcc2-970802 experimental).

        * gcc.c: Take out experimental snapshot warning message.

From-SVN: r14811
1997-08-15 12:50:36 -06:00
Michael Meissner ebc25a17d4 Use rtl macros for names of NOTEs.
From-SVN: r14810
1997-08-15 17:48:56 +00:00
Doug Evans 992d1248f5 configure.in (haifa configury): Fix typo.
* configure.in (haifa configury): Fix typo.
	* configure: Regenerate.

From-SVN: r14783
1997-08-13 08:04:44 +00:00
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
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