* 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 :-)
From-SVN: r14987
alpha linux glibc2 patch from H.J. Lu
* config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
if USE_GNULIBC_1 is not defined.
From-SVN: r14975
* 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.
From-SVN: r14972
* 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.
From-SVN: r14967
* config/linux.h (CC1_SPEC): Define it only if not defined.
* config/m68k/linux.h (CC1_SPEC): Undefine it before include
<linux.h>
* config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
USE_GNULIBC_1 is not defined.
* config/alpha/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
as 1.
* config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): Ditto.
* config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
as 1 if USE_GNULIBC_1 is not defined.
Linux patches from HJ.
From-SVN: r14960
* 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.
From-SVN: r14956
* reload.c (find_reloads, case '0'): Reject matching a non-offsettable
address where an offsettable address is required.
Fixes 68k bootstrap problem.
From-SVN: r14948
* input.c (sub_getch): Eventually give up and release the input file.
* decl.c (cp_finish_decl): If #p i/i, put inline statics in the
right place.
From-SVN: r14923
Mon Aug 25 14:26:45 1997 Jason Merrill <jason@yorick.cygnus.com>
* Makefile.in (CXXFLAGS): Add -Weffc++.
Sat Aug 23 21:25:37 1997 Mark Mitchell <mmitchell@usa.net>
* bastring.h: Enable reverse_iterator and its ilk.
* bastring.h: Provide specializations of member function templates
for const_iterator.
From-SVN: r14922
* call.c (joust): Tweak message.
Sat Aug 23 18:02:59 1997 Mark Mitchell <mmitchell@usa.net>
* error.c (type_as_string): Put const/volatile on template type
parameters where appropriate.
From-SVN: r14919
* haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
(find_post_sched_live): Likewise.
Just cleaning up.
* 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.
From-SVN: r14918
* 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.
From-SVN: r14915
* 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
* 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
* 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
* 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"'.
-
and regenerate parse.c.
From-SVN: r14885