Jeffrey A Law [Thu, 28 Aug 1997 13:08:54 +0000 (13:08 +0000)]
version.c: Bump for latest snapshot.
* version.c: Bump for latest snapshot.
* bc-optab.c: Conditionally include stdlib.h.
(free): Provide a declaration if NEED_DECLARATION_FREE.
* tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
* rtl.h (free): Remove declaration.
* tree.h (free): Remvoe declaration.
Jeffrey A Law [Thu, 28 Aug 1997 03:35:22 +0000 (03:35 +0000)]
flags.h (flag_move_all_movables): Declare.
* flags.h (flag_move_all_movables): Declare.
(flag_reduce_all_givs): Likewise.
* loop.c (move_movables): Handle flag_move_all_movables.
(strength_reduce): Handle flag_reduce_all_givs.
* toplev.c (flag_move_all_movables): Define.
(flag_reduce_all_givs): Likewise.
(f_options): Add -fmove-all-movables and -freduce-all-givs.
* invoke.texi: Document new options, including alias stuff that
wasn't included last time.
Two of the "Tooning" options :-)
Jeffrey A Law [Wed, 27 Aug 1997 19:59:51 +0000 (19:59 +0000)]
reorg.c (dbr_schedule): Allow current_function_return_rtx to be something other than a REG.
* reorg.c (dbr_schedule): Allow current_function_return_rtx
to be something other than a REG.
* function.c (expand_function_end): Fix current_function_return_rtx
if it was a pseudo.
Brought over from the fsf/devo.
Doug Evans [Wed, 27 Aug 1997 16:58:02 +0000 (16:58 +0000)]
c-decl.c (grokdeclarator): If array index or size calculations overflow, issue an error.
* c-decl.c (grokdeclarator): If array index or size calculations
overflow, issue an error.
* fold-const.c (int_const_binop): New static function.
(const_binop, size_binop): Call it.
Brought over from the fsf.
Bernd Schmidt [Wed, 27 Aug 1997 06:29:59 +0000 (06:29 +0000)]
i386.md (pop): pop increments the stack pointer.
* i386.md (pop): pop increments the stack pointer.
(prologue_set_stack_ptr): New pattern.
* i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
instead of subsi3.
Fixes problem with scheduling on the x86.
* haifa-sched.c (schedule_block): Remove old code to get arguments
from hard regs into pseudos early.
Avoids problems with bogus REG_LOOP_BEGIN notes causing aborts during
and after register allocation.
Jeff Law [Mon, 25 Aug 1997 15:00:44 +0000 (09:00 -0600)]
version.c: Bump for new snapshot.
* version.c: Bump for new snapshot.
* local-alloc.c (update_equiv_regs): All the target to reject
promotion of some REG_EQUAL to REG_EQUIV notes.
* pa.h (DONT_RECORD_EQUIVALENCE): Define.
Fixes some c-torture failures, also improves generated code.
* pa.c (secondary_reload_class): (mem (mem ... )) does not need
secondary reloads.
Fixes 094.fpppp/twldrv.f abort.
* pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
store of the argument registers.
Fixes c-torture failure.
* fold-const.c (multiple_of_p): New function.
(fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
One of the performance patches from the g77 folks.
Jeffrey A Law [Sat, 23 Aug 1997 06:19:56 +0000 (06:19 +0000)]
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.
John F. Carr [Fri, 22 Aug 1997 06:39:29 +0000 (06:39 +0000)]
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.
Jason Merrill [Fri, 22 Aug 1997 01:52:56 +0000 (21:52 -0400)]
lex.c (real_yylex): Refer to __complex instead of complex.
* lex.c (real_yylex): Refer to __complex instead of complex.
-Wed Jul 16 15:57:42 1997 Benjamin Kosnik <bkoz@rhino.cygnus.com>
-
- * parse.y (empty_parms): Only use VOID_LIST_NODE for the PARMS if
- we're in a C++ struct/class, not if we're doing xtern "C"'.
-
Jeffrey A Law [Thu, 21 Aug 1997 04:48:46 +0000 (04:48 +0000)]
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.
Jeffrey A Law [Tue, 19 Aug 1997 21:09:22 +0000 (21:09 +0000)]
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.
Jeffrey A Law [Tue, 19 Aug 1997 18:02:21 +0000 (18:02 +0000)]
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.
Jim Wilson [Tue, 19 Aug 1997 16:04:22 +0000 (16:04 +0000)]
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.
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.
Jeffrey A Law [Sun, 17 Aug 1997 23:33:04 +0000 (23:33 +0000)]
INSTALL: Rebuilt.
* INSTALL: Rebuilt.
* install.texi: Remove "Object File Differences" section. Remove
all references to zzz.o failing comparison tests.
* version.c, version.h: Renamed from zzz.c and zzz.h. Remove
date and time stamps so a 3 stage build reports no differences.
* Make-lang.in: Corresponding changes.
* Makefile.in: Likewise.
* g77.c, parse.c: Likewise.
So 3-stage build compares OK. Rename zzz.[ch] files to version.[ch].
Jeffrey A Law [Sat, 16 Aug 1997 07:09:42 +0000 (07:09 +0000)]
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.