6cf26de5b15f832572dfcf33f92a73ee1cbbcbbe
[platform/upstream/gcc.git] / gcc / ChangeLog
1 Wed Jan 14 01:26:05 1998  Jeffrey A Law  (law@cygnus.com)
2
3         * loop.c (check_dbra_loop): Make sure initial value is a 
4         CONST_INT before trying to normalize it.
5
6 Tue Jan 13 23:27:54 1998  Robert Lipe   (robertl@dgii.com)
7
8         * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
9
10 Tue Jan 13 22:47:02 1998  Herman ten Brugge <herman@htbrug.net.HCC.nl>
11
12         * cppexp.c: Include gansidecl.h
13
14 Tue Jan 13 22:43:35 1998  Ian Lance Taylor  <ian@cygnus.com>
15
16         * svr4.h (LINK_SPEC): Never specify -h.
17         * ptx4.h (LINK_SPEC): Likewise.
18         * rs6000/sysv4.h (LINK_SPEC): Likewise.
19         * sparc/sol2.h (LINK_SPEC): Likewise.
20
21 Tue Jan 13 22:39:40 1998  Richard Henderson  (rth@cygnus.com)
22
23         * c-typeck.c (comptypes): Exit early on NULL input.
24
25         * haifa-sched.c (schedule_insns): Correctly remove inter-block
26         dependencies after reload.
27
28 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
29
30         * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
31
32 Tue Jan 13 22:14:57 1998  Klaus Kaempf <kkaempf@progis.de>
33
34         * alpha/vms.h (DIR_SEPARATOR): define
35
36 Tue Jan 13 22:13:04 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
37
38         * Makefile.in (stamp-proto): Remove.
39         (protoize.o, unprotoize.o): Straightforward compile.
40         * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
41
42 Tue Jan 13 21:59:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
43
44         * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
45         off the trailing @[NUM] added by ENCODE_SECTION_INFO.
46
47 Tue Jan 13 21:55:06 1998  Jeffrey A Law  (law@cygnus.com)
48
49         * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
50         * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
51         * sparc/netbsd.h, vax/netbsd.h: Likewise.
52
53 Tue Jan 13 21:37:07 1998  Shigeya Suzuki <shigeya@foretune.co.jp>
54
55         * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
56
57 Tue Jan 13 17:50:55 1998  Jim Wilson  <wilson@cygnus.com>
58
59         * configure.in (target_cpu_default, target_cpu_default2): Use double
60         quotes around them when testing their value.
61         * configure: Rebuilt.
62         
63 Tue Jan 13 09:07:44 1998  John Carr  <jfc@mit.edu>
64
65         * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
66         to allocate rtx.
67         (gendef): Call obstack_alloc_rtx.
68
69 Tue Jan 13 01:16:36 1998   Robert Lipe (robertl@dgii.com)
70
71         * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
72         for now.
73
74 Thu Dec 18 18:40:17 1997  Mumit Khan <khan@xraylith.wisc.edu>
75         
76         * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
77         of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
78         (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
79
80 Tue Jan 13 00:44:02 1998  Jim Wilson  <wilson@cygnus.com> 
81
82         * mips.md (return_internal): Change mode from SImode to VOIDmode.
83
84 Sat Jan 10 22:11:39 1998  J. Kean Johnston  <jkj@sco.com>
85
86         * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
87         "-static".
88
89 Sat Jan 10 22:04:15 1998  Stan Cox  <scox@equinox.cygnus.com>
90
91         * i386.md: (movsicc_1, movhicc_1):  For alternate 3 set the opcode
92         suffix from operand 3.
93
94 Sat Jan 10 21:50:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
95                           Jeffrey A Law  (law@cygnus.com)
96
97         * regmove.c: New implementation of regmove pass.
98         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
99         decls, make them have external linkage.  Return a value from
100         optimize_reg_copy_1.
101         * reload.h (count_occurrences): Add decl.
102         * reload1.c (count_occurrences): Delete decl, make it have external
103         linkage.
104         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
105
106 Sat Jan 10 20:30:12 1998  Jeffrey A Law  (law@cygnus.com)
107  
108         * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
109         if it is not defined.
110  
111 Thu Jan  8 21:06:54 1998  Richard Henderson  <rth@cygnus.com>
112
113         * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
114         * emit-rtl.c (gen_rtx): Move special code to ...
115         (gen_rtx_CONST_INT): New function.
116         (gen_rtx_REG): New function.
117         (*): Update all calls to gen_rtx.
118         * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
119         * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
120         (GEN_INT): Call gen_rtx_CONST_INT.
121         * gengenrtl.c: New file.
122
123 Mon Jan  5 13:00:18 1998  John F. Carr  <jfc@mit.edu>
124
125         * alias.c (*_dependence): Call base_alias_check before canon_rtx.
126         (base_alias_check): If no base found for address call canon_rtx and
127         try again.
128
129 Mon Jan  5 11:39:49 1998  Jeffrey A Law  (law@cygnus.com)
130
131         * mips.c (mips_expand_prologue): Handle large frame with no outgoing
132         arguments for mips16.
133         (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
134         Don't lose if tsize is zero after handling large stack for mips16.
135         * mips.md (return): For trivial return, return address is in $31.
136
137 Sun Jan  4 20:24:00 1998  Nigel Stephens  <nigel@algor.co.uk>
138
139         *  mips/mips16.S: Various changes to make it work with -msingle-float
140         and -EL.
141
142 Sun Jan  4 14:25:18 1998  Gavin Koch  <gavin@cygnus.com>
143                           Ian Lance Taylor  <ian@cygnus.com>
144                           Jeff Law  <law@cygnus.com>
145
146         * mips.c, mips.h, mips.md: First cut at merging in mips16
147         support.  Major modifications throughout all three files.
148
149 Sun Jan  4 01:01:50 1998  scott snyder  <snyder@d0sgif.fnal.gov>
150
151         * configure.in: Make gthr-default.h a forwarding header instead of
152         a symlink.
153
154 Sat Jan  3 12:08:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
155
156         * gcov-io.h: Include sys/types.h to ensure we get size_t.
157
158         * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
159
160 Fri Jan  2 23:40:09 1998  Jim Wilson  (wilson@cygnus.com)
161                           Jeffrey A Law  (law@cygnus.com)
162
163         * crtstuff.c (__frame_dummy): New function for irix6.
164         (__do_global_ctors): Call __frame_dummy for irix6.
165         * iris6.h (LINK_SPEC): Hide __frame_dummy too.
166
167 Fri Jan  2 04:57:57 1998  Weiwen Liu  <liu@hepmail.physics.yale.edu>
168
169         * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
170
171 Fri Jan  2 04:34:14 1998  Richard Henderson  <rth@cygnus.com>
172
173         * c-decl.c (init_decl_processing): Provide proper fallback symbol
174         for __builtin_memset.
175         * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
176         not INTEGER_CST.  Assert arg 3 is a constant.
177
178         * alpha.c (mode_width_operand): Accept 64-bit modes.
179         (mode_mask_operand): Likewise.
180         (print_operand): Likewise for 'M' and 'U' codes.
181         (alpha_expand_unaligned_load): New function.
182         (alpha_expand_unaligned_store): Likewise.
183         (alpha_expand_unaligned_load_words): Likewise.
184         (alpha_expand_unaligned_store_words): Likewise.
185         (alpha_expand_block_move): Likewise.
186         (alpha_expand_block_clear): Likewise.
187         * alpha.h (MOVE_RATIO): New define.
188         * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
189         (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
190
191         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
192         (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
193
194 Thu Jan  1 15:40:15 1998  Richard Henderson  <rth@cygnus.com>
195
196         * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
197         * configure: Update.
198
199 Thu Jan  1 10:49:12 1998  Jeffrey A Law  (law@cygnus.com)
200
201         * emit-rtl.c (operand_subword): Correctly handle extracting a word
202         from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
203
204         * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
205         for first argument.
206
207 Wed Dec 31 14:42:18 1997  Ian Lance Taylor  <ian@cygnus.com>
208
209         * configure.in: Set and subsitute host_exeext.  Use it when creating
210         the assembler and linker symlinks.
211         * configure: Rebuild.
212         * Makefile.in (exeext): Set to @host_exeext@.
213         (build_exeext): New variable, set to @build_exeext@.
214         (FLAGS_TO_PASS): Pass down build_exeext.
215         (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
216         programs.
217
218 Wed Dec 31 10:05:44 1997  Jeffrey A Law  (law@cygnus.com)
219
220         * mn10200.md (addsi3, subsi3): Fix thinkos.
221
222 Tue Dec 30 00:04:49 1997  Richard Henderson  <rth@cygnus.com>
223
224         * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
225         save+restore.  Fix pic+big_offset delay slot.  Use "pic" case for
226         unix always, since we want to be able to thunk to functions in a
227         shared library from an application.
228
229 Mon Dec 29 14:37:31 1997  Ian Lance Taylor  <ian@cygnus.com>
230
231         * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
232         (LIB1ASMSRC, LIB1ASMFUNCS): Define.
233
234 Mon Dec 29 14:03:38 1997  Jeffrey A Law  (law@cygnus.com)
235
236         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
237         offset's mode is not ptr_mode, convert it.
238
239 Mon Dec 29 15:58:18 1997  Michael Meissner  <meissner@cygnus.com>
240
241         * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
242         compiling if it was already defined.
243
244 Sun Dec 28 00:32:16 1997  Jeffrey A Law  (law@cygnus.com)
245
246         * flow.c (find_basic_blocks): Don't create a new basic block
247         for calls in a LIBCALL block.
248
249 Sun Dec 28 00:30:24 1997  David Edelsohn  <edelsohn@mhpcc.edu>
250
251         * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
252
253 Sat Dec 27 22:43:12 1997  Jeffrey A Law  (law@cygnus.com)
254
255         * cse.c (rtx_cost): Remove conflicting default case.
256
257 Sat Dec 27 21:20:02 1997  Richard Henderson  <rth@cygnus.com>
258
259         * configure.in: Move default enabling of Haifa out of for loop.
260         * configure: Rebuild.
261
262 Thu Dec 25 01:02:54 1997  Jeffrey A Law  (law@cygnus.com)
263
264         * version.c: Bump for snapshot.
265
266 1997-12-25  Teemu Torma  <tot@trema.com>
267
268         * Makefile.in (GTHREAD_FLAGS): New var.
269         (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
270         (distclean): Remove gthr-default.h.
271
272         * configure.in: Accept dce as a thread package.
273         Check for thread.h and pthread.h.
274         Link gthr-default.h to appropriate thread file and set
275         gthread_flags.
276         (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
277         include multilib definitions from pa/t-dce-thr.
278         (sparc-*-solaris2*): Enable threads by default, if thread.h or
279         pthread.h is found, preferring posix threads over solaris ones.
280
281         * config/pa/t-dce-thr: New file.
282         * config/pa/t-pa: Removed multilibs.
283         * config/sparc/t-sol2: Ditto.
284                 
285         * gthr.h: New file.
286         * gthr-single.h: New file.
287         * gthr-posix.h: New file.
288         * gthr-solaris.h: New file.
289         * gthr-dce.h: New file.
290         * libgcc-thr.h: Removed.
291         * objc/thr-dce.c: New file copied from thr-decosf1.c.
292
293         * frame.c: Include gthr.h instead of libgcc-thr.h.
294         * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
295         (eh_context_initialize): If __gthread_once fails, use static eh
296         context.
297         (eh_context_free): Call __gthread_key_dtor.
298
299 Wed Dec 24 23:33:17 1997  Jeffrey A Law  (law@cygnus.com)
300
301         * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
302
303 Wed Dec 24 23:12:14 1997  Jim Wilson  <wilson@cygnus.com>
304
305         * cse.c (max_insn_uid): New variable.
306         (cse_around_loop): Use max_insn_uid.
307         (cse_main): Set max_insn_uid.
308
309         * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
310         and define __LONG_MAX__ appropriately.  Add support for -mabi=X,
311         -mlong64, and -mgp{32,64} options.
312         * mips.c (mips_abi): Change type to int.
313         * mips.h (enum mips_abi_type): Delete.
314         (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
315         (mips_abi): Change type to int.
316
317 Wed Dec 24 22:38:34 1997  John Carr  <jfc@mit.edu>
318
319         * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
320         optimization is now always enabled.
321
322         * calls.c (expand_call): Recognize C++ operator new as malloc-like
323         function.
324
325         * alias.c (memrefs_conflict_p): Eliminate tests now done by
326         base_alias_check.
327         (*_dependence): Call canon_rtx before base_alias_check.
328         (init_alias_once): New function to precompute set of registers which
329         can hold Pmode function arguments.
330
331         * rtl.h: Declare init_alias_once.
332
333         * toplev.c (compile_file): Call init_alias_once.
334
335 Wed Dec 24 22:34:55 1997  Jeffrey A Law  (law@cygnus.com)
336
337         * tree.c (restore_tree_status): Do not dereference a null pointer.
338
339 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
340
341         * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
342         RLIMIT_STACK.  This maintains consistency with the recent, similar
343         patch to cccp.c and toplev.c.
344
345 Tue Dec 23 05:17:28 1997  Richard Henderson  <rth@cygnus.com>
346
347         * genattrtab.c (expand_units): For large nr opclasses, expand
348         function_units_used with ORX to prevent blowups.  Tag with FFS.
349         (num_unit_opclasses): New variable.
350         (gen_unit): Update it.
351         (enum operator): Add ORX_OP.
352         (operate_exp): Treat ORX as or, except don't expand across an if.
353         Reuse number rtx's after operating on them.
354         (check_attr_value): Accept IOR, AND, & FFS.
355         (write_test_expr): Transmute `in_comparison' to `flags'.  Allow
356         for attribute value caching.  Handle CONST_STRING, IF_THEN_ELSE.
357         (write_expr_attr_cache, write_toplevel_expr): New functions.
358         (write_attr_get): Handle FFS-tagged expressions.
359         (make_canonical): Don't expand const attributes.
360         (convert_const_symbol_ref): Dike out.
361         (evaluate_eq_attr): Handle SYMBOL_REF.
362         (main): Don't emit get_attr_foo for const attributes.
363
364         * alpha.c (override_options): Reinstate PROCESSOR_EV6.
365         (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
366         * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
367         * alpha.md: Redo all of the scheduling, adding EV6 support, and 
368         combining function units where possible.  
369         (attr "type"): Split loads, stores, cmov into int/fp.  Combine
370         multiplies and divides.  Add EV6 sqrt, ftoi, itof.
371         (attr "opsize"): New attribute.
372         (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
373         (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
374         to control register allocation.
375         (movsi2-1, movdi2-1): Likewise.
376
377 Tue Dec 23 03:53:21 1997  Richard Henderson  <rth@cygnus.com>
378         
379         * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
380         MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
381         Move OSF/1 specific defines out.
382         * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
383         Move Linux specific defines out.
384         (LINK_SPEC): Genericize.
385         (ASM_FILE_START): Emit .arch if using more than the base insn set.
386         (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
387         (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
388         (HANDLE_SYSV_PRAGMA): Define.
389         * alpha/osf.h: New file.
390         * alpha/linux.h: Split.  Retain file-format independant defines.
391         Import Linux bits from elf.h.
392         (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
393         (FUNCTION_PROFILER): _mcount takes its address in $28.
394         (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
395         * alpha/linux-ecoff.h: New file.
396         * alpha/linux-elf.h: New file.
397         * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
398         * alpha/win-nt.h (TARGET_DEFAULT): Define.
399         * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
400         Add new headers as appropriate.
401         
402         * configure.in (alpha*): Enable Haifa by default.
403         (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
404         * configure: Rebuild.
405         
406 Tue Dec 23 03:14:54 1997  Richard Henderson  <rth@cygnus.com>
407
408         * Makefile.in (clean): Remove the stages with their objects here ...
409         (distclean): ... instead of here.
410
411 Mon Dec 22 11:24:01 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
412  
413         * cse.c (rtx_cost): Add default case in enumeration switch.
414         * fix-header.c (recognized_macro): Likewise.
415         (recognized_extern): Likewise.
416         (write_rbrac): Likewise.
417         * objc/objc-act.c (encode_aggregate): Likewise.
418         (gen_declarator): Likewise.
419         (gen_declspecs): Likewise.
420
421 Mon Dec 22 09:58:51 1997  Jeffrey A Law  (law@cygnus.com)
422
423         * haifa-sched.c (create_reg_dead_note): Detect and handle another
424         case where we kill more regs after sched than were killed before
425         sched.
426         * sched.c (create_reg_dead_note): Similarly.
427
428 Mon Dec 22 09:18:37 1997  Jeffrey A Law  (law@cygnus.com)
429
430         * c-pragma.c: Include flags.h.
431
432 Sun Dec 21 22:10:59 1997  Mumit Khan <khan@xraylith.wisc.edu>
433
434         * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
435         about system headers.
436         (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
437         and also to resolve symbols in prefix.c.
438
439         * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
440         between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
441         when the definitions in auto-config.h is not visible.
442         (HAVE_BZERO): Likewise.
443         (HAVE_BCMP): Likewise.
444         (HAVE_RINDEX): Likewise.
445         (HAVE_INDEX): Likewise.
446
447 Sun Dec 21 21:54:22 1997  Jeffrey A Law  (law@cygnus.com)
448
449         * pa.c (emit_move_sequence): Handle a function label source
450         operand.
451
452 Sun Dec 21 16:13:55 1997  Nick Clifton  <nickc@cygnus.com
453
454         * c-pragma.c (handle_pragma_token): Generate warning messages
455         about unknown pragmas if warn_unknown_pragmas is set.
456
457         * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
458         line option to set variable: warn_unknown_pragmas.
459
460 Sun Dec 21 15:51:10 1997  Manfred Hollstein  <manfred@lts.sel.alcatel.de>
461
462         * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
463         definition.
464         (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
465
466 Sun Dec 21 13:58:39 1997  Jeffrey A Law  (law@cygnus.com)
467
468         * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
469         (libgcc2.a): Depend on $(DPBIT) and $(FPBIT).  Add rules to
470         generate more fine grained floating point emulation libraries.
471         * config/fp-bit.c: Add protecting #ifdef to all functions so
472         that they can be compiled separately.  If !FINE_GRAINED_LIBRARIES,
473         then compile all suitable functions.
474         (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
475         underscores to avoid namespace pollution.
476         * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
477         (FPBIT): Define.
478         * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
479         (FPBIT): Define.
480         (DPBIT): Define.
481
482 Sat Dec 20 11:26:47 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
483                           Jeff Law  <law@cygnus.com>
484
485         * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
486         of the declaration.
487         * c-decl.c (finish_decl): Use parentheses around && within ||.
488         * rtl.c: Include stdlib.h.
489         (read_skip_spaces): Add parentheses around assignments used as
490         truth values.
491         (read_rtx): Initialize list_rtx.
492         * cppexp.c (parse_number): Use || when operands are truth values.
493         * alias.c (find_base_value): Add default case.
494         (memrefs_conflict): Likewise.
495         * combine.c (sets_function_arg_p): Likewise.
496         * genemit.c (gen_exp): Likewise.
497         * local-alloc.c (contains_replace_regs): Likewise.
498         * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
499         * fold-const.c (fold_convert): Use "&&" for truth values.
500         (fold): Add default case.
501         * sdbout.c (sdbout_field_types): Fix typo in declaration.
502         (sdbout_one_type): Add default case.
503         * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
504         (some_operand): Add default case.
505         (input_operand): Likewise.
506         (signed_comparison_operator): Likewise.
507         (divmod_operator): Likewise.
508         (alpha_set_memflags_1): Likewise.
509         * reload1.c (reload_cse_simplify_operands): Ensure function
510         always returns a value.
511         * scan-decls.c (scan_decls): Likewise.
512         * c-lex.c (skip_white_space): Fix typo in declaraion.
513         * c-typeck.c (comp_target_types): Add parentheses around assignment
514         used as truth value.
515         (print_spelling): Likewise.
516         (constructor_implicit, constructor_result): Remove unused variables.
517         * collect2.c (scan_library): Protect prototype with
518         #ifdef SCAN_LIBRARIES.
519         * emit-rtl.c (find_line_note): Fix typo in declaration.
520         * final.c (asm_insn_count): Protect prototype with 
521         #ifdef HAVE_ATTR_length.
522         * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
523         (try_pre_increment_1, try_pre_increment): Likewise.
524         * regclass.c (auto_inc_dec_reg_p): Protect prototype with
525         #ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
526         * gcov-io.h (__store_long, __write_long, __read_long): Fix
527         unsigned/signed comparisons.
528         * gcov.c (read_files): Remove unused "first_type" variable.
529         (scan _for_source_files): Initialize s_ptr.
530         (function_summary): Eliminate "%lf" formatting, use %ld for
531         longs.
532         (output_data): Initialize branch_probs and last_line_num.
533         Eliminate "%lf" formatting, use "%ld" for longs.
534
535 Fri Dec 19 17:31:11 1997  Ian Lance Taylor  <ian@cygnus.com>
536
537         * mips16.S: New file.
538
539         * libgcc2.c (varargs): Handle mips16.
540
541         * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
542         expression.
543         * stmt.c (expand_end_case): Likewise.
544         * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
545         * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
546         * rs6000.h, sh.h, tahoe.h, v850.h vax.h z8k.h: Likewise.
547
548 Tue Dec 16 15:14:09 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
549
550         * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
551         the build directory.
552         (libobjc.a): Update dependency list.
553         (libobjc.dll): Likewise.  Use libobjc_entry.o from the build
554         directory.
555         (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
556         (objc.mostlyclean): Remove runtime-info.h.
557
558 Fri Dec 19 00:19:42 1997  Richard Henderson  <rth@cygnus.com>
559
560         * tree.c (build_range_type): Allow creation of ranges with no maximum.
561         * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
562         * dwarf2out.c (add_subscript_info): Likewise.
563         * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
564         * sdbout.c (plain_type_1): Likewise.
565         * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
566         Likewise.
567         * fold-const.c (int_const_binop, fold_convert, make_range, fold):
568         Likewise.
569
570 Thu Dec 18 17:05:10 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
571  
572         * mips.c (fatal): Remove declaration.
573
574 1997-12-18  Mark Mitchell  <mmitchell@usa.net>
575
576         * integrate.c (get_label_from_map): New function.
577         (expand_inline_function): Use it.  Initialize the label_map to
578         NULL_RTX instead of gen_label_rtx.
579         (copy_rtx_and_substitute): Use get_label_from_map.
580         * integrate.h (get_label_from_map): New function.
581         (set_label_from_map): New macro.
582         * unroll.c (unroll_loop): Use them.
583         (copy_loop_body): Ditto.
584
585 Thu Dec 18 19:19:57 1997  Ian Lance Taylor  <ian@cygnus.com>
586
587         * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
588         (INIT_TARGET_OPTABS): Define.
589         * mips/ecoff.h: Include gofast.h before mips.h.
590         (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
591         * mips/elf64.h: Likewise.
592         * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
593
594 Thu Dec 18 14:51:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
595
596         * except.c: Remove register_exception_table{,_p}.
597
598 Thu Dec 18 14:57:29 1997  Gavin Koch  <gavin@cygnus.com>
599
600         * unroll.c (calculate_giv_inc): Handle constant increment found in
601         a MEM with an appropriate REG_EQUAL note.
602
603         * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
604
605         * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
606         frame pointer in the prologue.
607
608 Thu Dec 18 00:19:38 1997  Robert Lipe <robertl@dgii.com>
609
610         * i386/x-sco5 (CLIB) Deleted.  (ALLOCA) Added.
611         * i386/xm-sco5.h  (USE_C_ALLOCA) Added.
612
613 Tue Dec 16 18:51:00 1997  Bill Moyer <billm@cygnus.com>
614          
615         * config/m68k/m68k.c (output_function_prologue): Typecast
616         dwarf2out_cfi_label to (char *).
617         * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
618          
619 Wed Dec 17 15:06:04 1997  Richard Henderson  <rth@cygnus.com>
620
621         * sparc.md (jump): Don't use the annul bit around an empty loop.
622         Patch from Kevin.Kelly@East.Sun.COM.
623
624 Wed Dec 17 00:51:36 1997  Stan Cox (scox@cygnus.com)
625
626         * jump.c: (optimize_jump): Don't use the return register as a 
627         source1 of a conditional move.
628
629 Tue Dec 16 23:45:40 1997  Richard Henderson  <rth@cygnus.com>
630
631         * sparc.c (DF_MODES): Or the mask not the bit number.
632         (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
633
634 Wed Dec 17 00:13:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
635
636         * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
637
638 Tue Dec 16 23:44:54 1997  Manfred Hollstein  <manfred@s-direktnet.de>
639
640         * fixincludes (size_t): Add support for Motorola's stdlib.h
641         which fails to provide a definition for size_t.
642         (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
643         (strlen,strspn,strcspn return value): Handle different layout on sysV88.
644         (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
645
646         * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
647         prevent unresolved externals in libio.
648         * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
649
650 Tue Dec 16 23:25:45 1997  H.J. Lu  (hjl@gnu.org)
651
652         * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
653         (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
654         (LIB_SPEC): Updated for glibc 2.
655
656 Tue Dec 16 20:11:36 1997  Jeffrey A Law  (law@cygnus.com)
657
658         * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
659         * ginclude/varargs.h: Likewise.
660
661 Tue Dec 16 00:32:01 1997  Jeffrey A Law  (law@cygnus.com)
662
663         * version.c: Bump for snapshot.
664
665 Tue Dec 16 00:14:29 1997  H.J. Lu  (hjl@gnu.org)
666
667         * frame.h (__register_frame, __register_frame_table,
668         __deregister_frame): New.
669         * frame.c (__register_frame, __register_frame_table,
670         __deregister_frame): New.
671         * frame.c (__deregister_frame_info): Return void *.
672         * frame.h (__deregister_frame_info): Ditto.
673         * collect2.c (__deregister_frame_info): Ditto.
674
675 Mon Dec 15 18:40:08 1997  Richard Henderson  <rth@cygnus.com>
676
677         * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
678
679 Mon Dec 15 18:31:43 1997  Richard Henderson  <rth@cygnus.com>
680
681         * alpha.c (alpha_cpu_name): New variable.
682         (alpha_mlat_string): Likewise.
683         (alpha_memory_latency): Likewise.
684         (override_options): Handle -mmemory-latency.
685         (alpha_adjust_cost): Adjust load cost for latency.
686         * alpha.h (TARGET_OPTIONS): Add meory-latency.
687         (REGISTER_MOVE_COST): Define in terms of memory_latency.  Take
688         TARGET_CIX into account.
689         (MEMORY_MOVE_COST): Define in terms of memory_latency.
690         * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
691
692         * alpha.h (ASM_COMMENT_START): New macro.
693
694 Mon Dec 15 17:48:05 1997  Richard Henderson  <rth@cygnus.com>
695
696         * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
697         dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
698
699         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
700         SUBREG_REG if the word count is unchanged.
701         * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
702         subregs of identical word size for push_reload.
703
704 Mon Dec 15  Mark Mitchell  <mmitchell@usa.net> 11:41:32 1997
705
706         * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
707         if all we're doing is dealing with -Wreturn-type.
708
709 Mon Dec 15 09:44:39 1997  Richard Henderson  <rth@cygnus.com>
710
711         * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
712         Use and 255 instead of zapnot 1, since it schedules better.
713
714 Mon Dec 15 08:48:24 1997  Jeffrey A Law  (law@cygnus.com)
715
716         * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
717         it as volatile.
718
719 Mon Dec 15 00:04:48 1997  Jeffrey A Law  (law@cygnus.com)
720
721         * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
722         dependency we delete.  Properly update prev for multiple consecutive
723         deletions.
724         (priority): Skip deleted dependence.
725
726 Fri Dec 12 18:54:23 1997  Per Bothner  <bothner@cygnus.com>
727
728         * expr.c (expand_builtin):  Support BUILT_IN_FMOD - just call fmod.
729
730 Fri Dec 12 01:19:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
731
732         * flow.c (flow_analysis): Be consistent with find_basic_blocks in
733         determining when a new basic block starts.
734
735         * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
736
737         * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
738         * pa.md (iorsi3): Add missing args to *_operand calls.
739
740         * except.c (call_get_eh_context): Don't mess with sequences.
741         (emit_eh_context): Include the call in the sequence here.
742
743 1997-12-11  Paul Eggert  <eggert@twinsun.com>
744
745         * collect2.c (write_c_file_glob): Allocate initial frame object
746         in static storage and pass its address.
747
748 Thu Dec 11 23:33:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
749
750         * except.c (call_get_eh_context): Don't take a parm.
751         Put the call at the top of the function.
752         (emit_eh_context): Adjust.
753         (get_eh_context): Replace with former use_eh_context.
754         (get_eh_context_once, get_saved_pc_ref): Remove.
755         (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
756         * except.h: Adjust.
757         * integrate.c (expand_inline_function): Adjust.
758         * toplev.c (rest_of_compilation): Don't call emit_unwinder.
759
760 Fri Oct 10 17:58:31 CEST 1997  Marc Lehmann <pcg@goof.com>
761
762         * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
763         (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
764
765 Thu Dec 11 23:55:17 1997  Manfred Hollstein  <manfred@s-direktnet.de>
766
767         * fixincludes (strlen,strspn,strcspn return value): Handle different
768         layout on sysV88.
769         (hypot): Provide a fake for hypot which is broken on 
770         m88k-motorola-sysv3.
771
772 Thu Dec 11 23:50:17 1997  John F. Carr  <jfc@mit.edu>
773
774         * tree.c, tree.h: Change tree_code_type, tree_code_length, and
775         tree_code_name from pointers to arrays.
776         * tree.c: Remove standard_tree_code_* variables, no longer used.
777         * print-tree.c: Remove declaration of tree_code_name.
778
779         * cp/lex.c (init_lex): Update for tree_code_* changes.
780         * objc/objc-act.c (init_objc): Likewise.
781
782         * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
783         changes.
784
785 Thu Dec 11 23:34:54 1997  Fred Fish  <fnf@ninemoons.com>
786
787         * config.sub: Add support for BeOS target.
788         * configure.in: Likewise.
789         * ginclude/stdarg.h: Likewise.
790         * ginclude/stddef.h: Likewise.
791         * ginclude/varargs.h: Likewise.
792         * rs6000/beos.h: New file for BeOS.
793         * rs6000/t-beos: Likewise.
794         * rs6000/x-beos: Likewise.
795         * rs6000/xm-beos.h: Likewise.
796         * toplev.c (get_run_time): Just return 0 on BeOS.
797
798 Thu Dec 11 23:25:23 1997  Jeffrey A Law  (law@cygnus.com)
799                           Toon Moene  (toon@moene.indiv.nluug.nl)
800
801         * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
802         old and broken Sun3 assemblers.  Newer versions handle large
803         offsets correctly as does the GNU assembler.
804
805 Thu Dec 11 23:06:48 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
806
807         * objc/objc-act.c (lang_report_error_function): Disable.
808         * objc/objc-parse.y: Include "output.h".
809         (yyerror): Remove redundant decl.
810         (yyprint): Fix prototype.
811         (apply_args_register_offset): Remove redundant decl.
812         (get_file_function_name): Likewise.
813
814 Thu Dec 11 22:02:10 1997  Jason Merrill  <jason@yorick.cygnus.com>
815
816         * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
817         a new basic block.
818         (find_basic_blocks_1): Likewise.
819
820 Thu Dec 11 21:08:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
821
822         * except.c (use_eh_context): Don't copy_rtx a REG.
823         (emit_throw): Lose old unwinder support.
824         (expand_internal_throw): Likewise.
825         * libgcc2.c (struct eh_context): Likewise.
826         (new_eh_context): Likewise.
827         (__get_eh_info): Lose redundant cast.
828         (__get_dynamic_handler_chain): Likewise.
829         (__get_saved_pc): Lose.
830         Lose all old unwinder support code.
831
832 Thu Dec 11 20:42:18 1997  Teemu Torma  <tot@trema.com>
833
834         Thread-safe EH support for pthreads, DCE threads and Solaris threads.
835         
836         * integrate.c (expand_inline_function): If the inline fn uses eh
837         context, make sure that the current fn has one.
838         * toplev.c (rest_of_compilation): Call emit_eh_context.
839         * except.c (use_eh_context): New fn.
840         (get_eh_context_once): New fn.
841         (call_get_eh_context): New fn.
842         (emit_eh_context): New fn.
843         (get_eh_context): Call either get_eh_context_once or
844         call_get_eh_context, depending on what we have.
845         (get_dynamic_handler_chain): Call get_eh_context_once.
846         * except.h: Prototypes for fns above.
847         * optabs.c (get_eh_context_libfunc): Removed.
848         (init_optabs): Don't initialize it.
849         * expr.h (get_eh_context_libfunc): Removed.
850         * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
851         * config/pa/pa.h (CPP_SPEC): Support for -threads.
852         * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
853         * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
854         New multilib for -threads.
855         * config/sparc/t-sol2: Added multilibs for -threads and
856         made -pthreads alias to it.
857         * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
858         Added -threads and -pthreads options.
859         * libgcc-thr.h: New file.
860         * libgcc2.c: (__get_cpp_eh_context): Removed.
861         (struct cpp_eh_context): Removed.
862         (struct eh_context): Replaced cpp_eh_context with generic language
863         specific pointer. 
864         (__get_eh_info): New function.
865         (__throw): Check eh_context::info.
866         (__sjthrow): Ditto.
867         * libgcc2.c: Include libgcc-thr.h.
868         (new_eh_context, __get_eh_context,
869         eh_pthread_initialize, eh_context_initialize, eh_context_static,
870         eh_context_specific, eh_context_free): New functions.
871         (get_eh_context, eh_context_key): New variables.
872         (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
873         get_eh_context to get the context.
874         (longjmp): Move the declaration inside
875         #ifdef DONT_USE_BUILTIN_SETJMP.
876         * frame.c: Include libgcc-thr.h.
877         (object_mutex): Mutex to protect the object list.
878         (find_fde, __register_frame, __register_frame_table,
879         __deregister_frame): Hold the lock while accessing objects.
880         * except.h (get_eh_context): Declare.
881         * except.c (current_function_ehc): Define.
882         (current_function_dhc, current_function_dcc): Removed.
883         (get_eh_context): New function.
884         (get_dynamic_handler_chain): Use get_eh_context.
885         (get_saved_pc_ref): Ditto.
886         (get_dynamic_cleanup_chain): Removed references to
887         current_function_dcc.
888         (save_eh_status, restore_eh_status): Save and restore
889         current_function_ehc instead.
890         * optabs.c (get_eh_context_libfunc): New variable.
891         (init_optabs): Initialize it.
892         * expr.h: Declare get_eh_context_libfunc.
893         * function.h (struct function): Replaced dhc and dcc with ehc.
894         * except.c (get_saved_pc_ref): New functions.
895         (eh_saved_pc_rtx, eh_saved_pc): Deleted.
896         (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
897         of eh_saved_pc.
898         (end_eh_unwinder): Likewise.
899         (init_eh): Remove initialization of eh_saved_pc.
900         * optabs.c (get_saved_pc_libfunc): New variable.
901         (init_optabs): Initialize it.
902         * expr.h: Declare get_saved_pc_libfunc.
903         * except.h (eh_saved_pc_rtx): Deleted.
904         (get_saved_pc_ref): Declared.
905
906         From Scott Snyder <snyder@d0sgif.fnal.gov>:
907         * libgcc2.c (__get_saved_pc): New.
908         (__eh_type, __eh_pc): Deleted.
909         (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
910         (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
911         this fcn.
912
913 Thu Dec 11 17:23:48 1997  John F. Carr  <jfc@mit.edu>
914
915         * sparc/sol2.h: Use 64 bit multiply and divide functions in
916         Solaris libc.  Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
917         as 0.
918
919         * rtl.h (global_rtl): New variable, replacing separate variables for
920         commonly used rtl.
921         (const_int_rtx): Now array of rtx_def, not rtx.
922         * emit-rtl.c: Update for new rtl data structures.
923         * genattrtab.c: Define global_rtl.
924
925 Thu Dec 11 15:50:29 1997 David Edelsohn  <edelsohn@mhpcc.edu>
926
927         * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
928         default.
929
930 Wed Dec 10 12:30:18 1997  Anthony Green  <green@cygnus.com>
931
932         * crtstuff.c (__do_global_ctors): Fix typo.
933
934 Tue Dec  9 09:43:59 1997  Manfred Hollstein  <manfred@s-direktnet.de>
935
936         * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
937         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
938
939 Tue Dec  9 09:38:58 1997  David Edelsohn  <edelsohn@mhpcc.edu>
940
941         * rs6000.h (FUNCTION_ARG_PADDING): Define.
942         * rs6000.c (function_arg_padding): New function.
943
944 Tue Dec  9 10:34:21 1997  Manfred Hollstein  <manfred@s-direktnet.de>
945
946         * m68k.c: Include tree.h only once.
947
948 Tue Dec  9 09:32:33 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
949
950         * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
951
952 Tue Dec  9 01:16:06 1997  Jeffrey A Law  (law@cygnus.com)
953
954         * Partially cleaned up prototyping code from HJ.
955         * tree.h: Add many prototypes.
956         * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
957         All references changed.
958         * rtl.h: Protect from multiple inclusions.  Add many prototypes.
959         
960 Tue Dec  9 01:15:15 1997  Fred Fish  <fnf@ninemoons.com>
961
962         * libgcc2.c (string.h): Hoist inclusion to occur before first use of
963         string functions like strlen.
964
965 Tue Dec  9 00:57:38 1997  Manfred Hollstein  <manfred@s-direktnet.de>
966
967         * configure.in: Check for functions getrlimit and setrlimit.
968         * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
969         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
970
971 Mon Dec  8 23:53:26 1997  Jay Sachs <sachs@bull.cs.williams.edu>
972
973         * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
974
975 Mon Dec  8 21:03:28 1997  Richard Henderson  <rth@cygnus.com>
976
977         * alpha.c (REG_RA, alpha_return_addr, output_epilog):
978         Fix merge problems.
979
980         * alpha.c (override_options): Don't know about scheduling for EV6.
981         * alpha.md (ev5 function units): Don't overload as ev6.
982
983         * alpha.c (alpha_adjust_cost): Simplify.  Fix typo in ev5 mult case.
984         * alpha.md (define_attr type): Add mvi.
985         (ev5_e0): Define sceduling parameters for it.
986         (TARGET_MAX insns): Type is mvi not shift.
987
988 Mon Dec  8 18:15:00 1997  Richard Henderson  <rth@cygnus.com>
989
990         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
991
992 Mon Dec  8 21:17:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
993
994         * cstamp-h, auto-config.h: Delete.
995
996 Sun Dec  7 19:19:03 1997  Jeffrey A Law  (law@cygnus.com)
997
998         * version.c: Bump for snapshot.
999
1000 Sat Dec  6 22:22:22 1997  Jeffrey A Law  (law@cygnus.com)
1001
1002         * cccp.c: Fix typo brought over in merge.
1003
1004         * Merge in changes from gcc-2.8.
1005
1006 Mon Nov  3 05:45:32 1997  Philippe De Muyter  <phdm@macqel.be>
1007
1008         * m68k.c: Include tree.h for dwarf2out_cfi_label.
1009
1010         * gcc.c (process_command): Do not take address of function fatal when
1011         calling lang_specific_driver.
1012
1013 Sat Dec  6 01:02:38 1997  Mumit Khan  <khan@xraylith.wisc.edu>
1014
1015         * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling 
1016         doesn't work with it yet, so set it to 0.
1017         * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
1018
1019 Sat Dec  6 01:01:02 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
1020
1021         * cse.c (cse_insn): Check for invalid entries when taking references.
1022
1023 Fri Dec  5 18:26:25 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1024
1025         * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
1026         (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
1027         * toplev.c (rest_of_compilation): Pass it.  Remove code to
1028         save / clear / restore flag_unroll_{,all_}loops.
1029
1030 Fri Dec  5 16:26:03 1997  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
1031
1032         * i386.c (notice_update_cc): Remove bogus pentium GCC code.
1033
1034 Fri Dec  5 16:25:14 1997  Jeffrey A Law  (law@cygnus.com)
1035
1036         * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
1037
1038 Thu Dec  4 11:51:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
1039
1040         * except.c (get_dynamic_handler_chain): Only make the call once per
1041         function.
1042
1043         * except.c (expand_end_all_catch): Fix for sjlj exceptions.
1044
1045 Thu Dec  4 12:30:40 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1046
1047         * sh.c (final_prescan_insn): Use local label prefix
1048         when emitting .uses pseudo-ops.
1049
1050 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
1051
1052         * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
1053         * except.c: Lose outer_context_label_stack.
1054         (expand_eh_region_end): Rethrow from outer_context here.
1055         (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
1056         (expand_internal_throw): Take no args.
1057         (expand_internal_throw_indirect): Lose.
1058         (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
1059         (expand_start_all_catch): Start a rethrow region.
1060         (expand_end_all_catch): End it.
1061         (expand_rethrow): New fn.
1062         * except.h: Reflect above changes.
1063         * flow.c: Revert change of Nov 27.
1064
1065 Thu Dec  4 00:24:09 1997  Jeffrey A Law  (law@cygnus.com)
1066
1067         * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
1068
1069 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
1070
1071         * except.c (expand_fixup_region_end): New fn.
1072         (expand_fixup_region_start): Likewise.
1073         (expand_eh_region_start_tree): Store cleanup into finalization here.
1074         * stmt.c (expand_cleanups): Use them to protect fixups.
1075
1076 Wed Dec  3 11:41:13 1997  Gavin Koch  <gavin@cygnus.com>
1077
1078         * mips/mips.md (muldi3_r4000): Broaden the output template
1079         and attribute assignments to handle three operand dmult;
1080         rename to muldi3_internal2.
1081         (muldi3): Call the new muldi3_internal2 for R4000, and
1082         any GENERATE_MULT3 chip.
1083
1084 Tue Dec  2 19:40:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
1085
1086         * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
1087
1088 Tue Dec  2 12:54:33 1997  Jim Wilson  <wilson@cygnus.com>
1089
1090         * unroll.c (find_splittable_givs):  Remove last change.  Handle givs
1091         with a dest_reg that was created by loop.
1092
1093 Sat Nov 29 12:44:57 1997  David Edelsohn  <edelsohn@mhpcc.edu>
1094
1095         * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
1096
1097         * rs6000/aix41.h (ASM_CPU_SPEC): Define.
1098
1099 Fri Nov 28 10:00:27 1997  Jeffrey A Law  (law@cygnus.com)
1100
1101         * configure.in: Fix NCR entries.
1102
1103 Thu Nov 27 12:20:19 1997  Jeffrey A Law  (law@cygnus.com)
1104
1105         * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
1106         nested exceptions correctly.
1107
1108         * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
1109         that was created by loop.
1110
1111 Thu Nov 27 09:34:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
1112
1113         * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
1114
1115         * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
1116
1117 Wed Nov 26 15:47:30 1997  Michael Meissner  <meissner@cygnus.com>
1118
1119         * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
1120         (print_operand): Use SMALL_DATA_REG for the register involved in
1121         small data relocations.
1122         (print_operand_address): Ditto.
1123
1124         * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
1125         -dynamic linker is not used.
1126
1127         * rs6000.md (call insns): For local calls, use @local suffix under
1128         System V.  Don't use @plt under Solaris.
1129
1130         * rs6000.c (output_function_profiler): Put label address in r0, and
1131         store LR in 4(sp) for System V/eabi.
1132
1133         * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
1134         byte boundary, and maintain stack backchain.
1135
1136 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
1137
1138         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
1139         fix_truncsfdi2): Change *.
1140
1141 Wed Nov 26 11:12:26 1997  Jason Merrill  <jason@yorick.cygnus.com>
1142
1143         * toplev.c (main): Complain about -gdwarfn.
1144
1145 Tue Nov 25 22:43:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
1146
1147         * dwarfout.c (output_type): If finalizing, write out nested types 
1148         of types we've already written.
1149
1150 Tue Nov 25 20:32:24 1997  Michael Meissner  <meissner@cygnus.com>
1151
1152         (patches originally from Geoffrey Keating)
1153         * rs6000.c (function_arg): Excess floating point arguments don't
1154         go into GPR registers after exhausting FP registers under the
1155         System V.4 ABI.
1156         (function_arg_partial_nregs): Ditto.
1157
1158         * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
1159         suffix to calls.
1160
1161 Tue Nov 25 23:37:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
1162
1163         * integrate.c (output_inline_function): Just unset DECL_INLINE.
1164
1165 Tue Nov 25 23:33:29 1997  scott snyder  <snyder@d0sgif.fnal.gov>
1166
1167         * dwarf2out.c (outout_call_frame_info): Ensure that the info has
1168         proper alignment.
1169
1170         * libgcc2.c (__throw): Initialize HANDLER.
1171
1172 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
1173
1174         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
1175         fix_truncsfdi2): Change *X to ?*X.
1176
1177 Tue Nov 25 10:00:42 1997  Richard Henderson  (rth@cygnus.com)
1178
1179         * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
1180
1181 Tue Nov 25 10:00:42 1997  Jeffrey A Law  (law@cygnus.com)
1182
1183         * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
1184
1185 Tue Nov 25 01:26:55 1997  Bruno Haible <haible@ilog.fr>:
1186
1187         * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
1188
1189 Mon Nov 24 22:41:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
1190
1191         * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
1192         * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
1193         * expr.h: Likewise.
1194
1195 Sat Nov 22 18:58:20 1997  Jeffrey A Law  (law@cygnus.com)
1196
1197         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
1198         * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
1199         gas and not using the new HP assembler.
1200
1201 Fri Nov 21 15:20:05 1997  Jeffrey A Law  (law@cygnus.com)
1202
1203         * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
1204         (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
1205
1206 Fri Nov 21 19:37:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1207
1208         * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
1209         TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
1210         definition.
1211
1212 Fri Nov 21 12:49:56 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
1213
1214         * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
1215
1216 Fri Nov 21 12:18:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
1217
1218         * except.h: Add outer_context_label_stack.
1219         * except.c: Likewise.
1220         (expand_start_all_catch): Push the outer_context for the try block
1221         onto outer_context_label_stack.
1222         (expand_end_all_catch): Use it and pop it.
1223
1224 Fri Nov 21 10:13:11 1997  Robert Lipe (robertl@dgii.com)
1225
1226         * i386/sco5.h (HAVE_ATEXIT): Revert last change.
1227
1228 Thu Nov 20 16:11:50 1997  Richard Henderson  <rth@cygnus.com>
1229
1230         * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
1231
1232 Thu Nov 20 16:11:50 1997  Klaus Kaempf  <kkaempf@progis.de>
1233
1234         * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
1235         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
1236
1237 Thu Nov 20 14:42:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
1238
1239         * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
1240         * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler, 
1241         __builtin_delete, and __builtin_vec_delete.
1242
1243         * except.c (output_exception_table): Don't bother with
1244         __EXCEPTION_END__.
1245
1246 Thu Nov 20 16:11:50 1997  Jeffrey A Law  (law@cygnus.com)
1247
1248         * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
1249         is an in/out operand.
1250         (zero extended variants of stwm/stwm patterns): Similarly.
1251
1252         * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
1253
1254 Thu Nov 20 13:19:32 1997  Jason Merrill  <jason@yorick.cygnus.com>
1255
1256         * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
1257         Use assemble_name.
1258         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
1259         (output_call_frame_info): Emit a \n after using it.
1260
1261 Thu Nov 20 00:38:46 1997  Dave Love  <d.love@dl.ac.uk>
1262
1263         * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
1264
1265 Wed Nov 19 12:03:04 1997  Philippe De Muyter  <phdm@macqel.be>
1266
1267         * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
1268         (ASM_OUTPUT_DWARF_VALUE4): New macro.
1269         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
1270         defined.
1271         (output_call_frame_info): Do not output forward label differences
1272         if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
1273         * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
1274
1275 Tue Nov 18 23:03:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1276
1277         * sh.md (attribute "type"): Add nil.
1278         (movsi_ie): y/y alternative is type nil.
1279         (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
1280         alternatives.
1281         (movsf_ie+1): Delete.
1282
1283 Tue Nov 18 15:39:59 1997  Jim Wilson  <wilson@cygnus.com>
1284
1285         * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
1286         large_int, emit two insns instead of one splitable insn.
1287         * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
1288         from cfa_temp_value, use cfa_offset.  Add assert checking that
1289         cfa_reg is SP.
1290
1291 Mon Nov 17 15:35:38 1997  Tom Tromey  <tromey@cygnus.com>
1292
1293         * cccp.c (deps_output): Properly quote file names for make.
1294
1295 Mon Nov 17 13:21:40 1997  Jeffrey A Law  (law@cygnus.com)
1296
1297         * t-h8300 (MULTILIB_EXCEPTIONS): Define.
1298
1299 Fri Nov  7 15:33:11 1997  Robert Lipe (robertl@dgii.com)
1300
1301         * i386/sco5.h (HAVE_ATEXIT): Delete definition.
1302
1303 Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
1304
1305         * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
1306         return.
1307         (cse_end_of_basic_block): Similarly.
1308
1309 Sun Nov 16 23:01:40 1997  J. Kean Johnston  <jkj@sco.com>
1310
1311         * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
1312         (SELECT_RTX_SECTION): Define.
1313         (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
1314
1315 Sun Nov 16 22:47:03 1997  Manfred Hollstein  <manfred@s-direktnet.de>
1316
1317         * Makefile.in (compare, compare-lean): Define $stage for each
1318         shell command.
1319         (gnucompare, gnucompare-lean): Likewise.
1320
1321 Sun Nov 16 22:02:16 1997  Richard Henderson  (rth@cygnus.com)
1322
1323         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
1324
1325         * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
1326         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
1327
1328 Fri Nov 14 09:09:20 1997  Fred Fish  (fnf@cygnus.com)
1329
1330         * dwarfout.c (byte_size_attribute):  Add local var upper_bound
1331         and add case to handle STRING_TYPE.
1332         * dwarfout.c (output_string_type_die):  Fix code to generate
1333         correct string length attribute for fixed length strings.
1334         Still needs support for varying length strings.
1335
1336 Fri Nov 14 08:46:56 1997  Jeffrey A Law  (law@cygnus.com)
1337
1338         * toplev.c (get_run_time): Do something sensible for cygwin32.
1339
1340 Fri Nov 14 07:24:20 1997  Richard Henderson  <rth@cygnus.com>
1341
1342         * expr.c (expand_builtin_setjmp): Set
1343         current_function_has_nonlocal_label.
1344         * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
1345         call-saved registers across calls.
1346
1347         * alpha.md (exception_receiver): Remove.
1348         (nonlocal_goto_receiver_osf): New
1349         (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
1350         (nonlocal_goto_receiver): New, select _osf or _vms.
1351
1352         * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
1353         keep them from being propogated to the object file.
1354         (alpha_write_linkage): Likewise.
1355         * alpha.md (call_vms): Likewise.
1356         (call_value_vms): Likewise.
1357         (unnamed osf call insns): Likewise.
1358
1359         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
1360         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1361
1362         * alpha.c (call_operand): Any reg is valid for WinNT.
1363         * alpha.md (call_nt, call_value_nt): Don't force address into $27.
1364         (anon nt calls): Add 'R' alternative.
1365         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
1366         INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
1367
1368 Fri Nov 14 06:59:33 1997  Jeffrey A Law  (law@cygnus.com)
1369
1370         * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
1371
1372         * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
1373         * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
1374         * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
1375
1376 Thu Nov 13 20:37:33 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
1377
1378         * reload1.c (new_spill_reg): Improve fixed or forbidden register
1379         spill error message.
1380
1381 Thu Nov 13 20:29:08 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1382
1383         * prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
1384         use varargs.h.  Wrap header with <>, not "".
1385
1386 Thu Nov 13 20:21:17 1997  Jeffrey A Law  (law@cygnus.com)
1387
1388         * integrate.c (save_for_inline_copying): Add return value from
1389         savealloc.
1390
1391 Thu Nov 13 19:12:33 1997  Brendan Kehoe  <brendan@cygnus.com>
1392
1393         * fixincludes: Be a little more restrictive on what we will
1394         substitute to replace definitions of MAXINT for HPUX.
1395
1396 Thu Nov 13 18:41:02 1997  Michael Meissner  <meissner@cygnus.com>
1397
1398         * dbxout.c (dbxout_symbol_location): Don't assume that variables
1399         whose address is the stack or argument pointers are indirect
1400         pointers.
1401
1402 1997-11-13  Paul Eggert  <eggert@twinsun.com>                               
1403         
1404         * cccp.c, cpplib.c (compare_defs):
1405         Don't complain about arg name respellings unless pedantic.
1406         * cpplib.c (compare_defs): Accept pfile as new arg.              
1407         All callers changed.                                               
1408
1409 Thu Nov 13 23:33:50 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1410
1411         * fold-const.c (fold_truthop): Fix bug in last change.
1412
1413 1997-11-13  Paul Eggert  <eggert@twinsun.com>
1414
1415         Fix some confusion with IEEE minus zero.
1416
1417         * real.h (REAL_VALUES_IDENTICAL): New macro.
1418
1419         * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
1420         * fold-const.c (operand_equal_p): Don't consider -0.0 to be
1421         identical to 0.0.
1422         * tree.c (simple_cst_equal): Don't consider -0.0 to have the
1423         same tree structure as 0.0.
1424
1425         * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
1426         macro instead of doing it by hand.
1427
1428 Thu Nov 13 16:56:14 1997  Jeffrey A Law  (law@cygnus.com)
1429
1430         * v850/lib1funcs.asm: Minor whitespace changes.
1431         * v850.c: Fix minor formatting problems in many places.
1432         (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
1433
1434 Thu Nov 13 12:53:44 1997  Jim Wilson  <wilson@cygnus.com>
1435
1436         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
1437         xplus1 when xplus0 is not a register.
1438
1439 Thu Nov 13 11:41:42 1997  Jeffrey A Law  (law@cygnus.com)
1440
1441         * flow.c (find_basic_blocks): During marking phase, if we encounter
1442         an insn with a REG_LABEL note, make the target block live and
1443         create an edge from the insn to the target block.  Do not make
1444         edges from all blocks to the target block.
1445
1446         * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
1447
1448         * confiugre.in: Tweak NCR entries.
1449         * configure: Rebuilt.
1450
1451 Thu Nov 13 11:07:41 1997  Michael Meissner  <meissner@cygnus.com>
1452
1453         * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
1454         pick apart floating point values, instead of using CONST_DOUBLE_LOW
1455         and CONST_DOUBLE_HIGH.
1456
1457         * rs6000.md (define_splits for DF constants): Use the appropriate
1458         REAL_VALUE_* interface to pick apart DF floating point constants in
1459         a machine independent fashion.
1460
1461 Thu Nov 13 00:06:58 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1462
1463         * fold-const.c (fold_truthop): When changing a one-bit comparison
1464         against zero into a comparison against mask, do a proper sign
1465         extension.
1466
1467 Wed Nov 12 09:37:01 1997  Jeffrey A Law  (law@cygnus.com)
1468
1469         * except.c: Do not include "assert.h".
1470         (save_eh_status): Turn asserts into conditional aborts.
1471         (restore_eh_status, scan_region): Likewise.
1472         * dwarfout.c: Do not include "assert.h".
1473         (bit_offset_attribute): Turn asserts into conditional aborts.
1474         (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
1475         (output_inlined_structure_type_die): Likewise.
1476         (output_inlined_union_type_die): Likewise
1477         (output_tagged_type_instantiation): Likewise.
1478         (dwarfout_file_scope_decl): Likewise.
1479         * dwarf2out.c: Do not include "assert.h"
1480         (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
1481         (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
1482         (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
1483         (add_bit_size_attribute, scope_die_for): Likewise.
1484         (output_pending_types_for_scope): Likewise.
1485         (get_inlined_enumeration_type_die): Likewise.
1486         (get_inlined_structure_type_die): Likewise.
1487         (get_inlined_union_type_die, gen_subprogram_die): Likewise.
1488         (gen_tagged_type_instantiation_die): Likewise.
1489
1490         * flow.c (find_basic_blocks): Refine further to get a more correct
1491         cfg, especially in the presense of exception handling, computed
1492         gotos, and other non-trivial cases.  Call abort if an inaccuracy
1493         is detected in the cfg.
1494
1495 Tue Nov 11 21:47:27 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1496
1497         * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
1498
1499         * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
1500         (skip_white_space): Use whitespace_cr.
1501         (check_newline): Handle whitespace more consistently.
1502
1503 Tue Nov 11 16:25:49 1997  Jim Wilson  <wilson@cygnus.com>
1504
1505         * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
1506         * i386/xm-cygwin32.h (POSIX): Define.
1507
1508 Mon Nov 10 20:53:11 1997  Gavin Koch  <gavin@cygnus.com>
1509
1510         * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
1511         is available elsewhere.
1512
1513 Mon Nov 10 16:21:58 1997  Doug Evans  <devans@canuck.cygnus.com>
1514
1515         * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
1516         what the instruction can handle.
1517
1518 Mon Nov 10 03:02:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
1519
1520         * stmt.c (expand_decl_cleanup_no_eh): New fn.
1521
1522         * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
1523
1524 Mon Nov 10 00:05:56 1997  Jeffrey A Law  (law@cygnus.com)
1525
1526         * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
1527         (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
1528
1529 Sun Nov  9 14:34:47 1997  David Edelsohn  <edelsohn@mhpcc.edu>
1530
1531         * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
1532         swap instruction order.
1533
1534 Sun Nov  9 02:07:16 1997  Jeffrey A Law  (law@cygnus.com)
1535
1536         * fixinc.svr4 (__STDC__): Add another case.
1537
1538 Sun Nov  9 02:00:29 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1539
1540         * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
1541         addresses in the epilogue delay slot.
1542
1543 Sun Nov  9 01:40:40 1997  Manfred Hollstein  (manfred@s-direktnet.de)
1544
1545         * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
1546         in generated `specs' file.
1547
1548 Sun Nov  9 01:37:11 1997  Jim Wilson  (wilson@cygnus.com)
1549
1550         * flags.h (flag_rerun_loop_opt): Declare.
1551         * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
1552         * toplev.c (flag_rerum_loop_opt): Delete static.
1553
1554 Sat Nov  8 18:20:21 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1555
1556         Bring over from FSF:
1557
1558         Thu Oct 30 12:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1559
1560         * va-sh.h (__va_arg_sh1): Define.
1561         (va_arg): Use it.
1562         SH3E doesn't use any integer registers for subsequent arguments
1563         once a non-float value was passed in the stack.
1564         * sh.c (machine_dependent_reorg): If optimizing, put explicit
1565         alignment in front label for ADDR_DIFF_VEC.
1566         * sh.h (PASS_IN_REG_P): Fix SH3E case.
1567         (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
1568
1569         Tue Oct 28 15:06:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1570
1571         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
1572         svr4.h.
1573
1574         Mon Oct 27 16:11:52 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1575
1576         * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
1577         put an use_sfunc_addr before each sfunc.
1578         * sh.md (use_sfunc_addr, dummy_jump): New insns.
1579         (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
1580
1581         Tue Oct 21 07:12:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1582
1583         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
1584
1585 Fri Nov  7 10:22:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
1586
1587         * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
1588         linked once FDEs.
1589
1590 Wed Nov  5 14:26:05 1997  Jeffrey A Law  (law@cygnus.com)
1591
1592         * alias.c (find_base_value): Only return the known base value for
1593         pseudo registers.
1594
1595 Wed Nov  5 11:27:14 1997  Jim Wilson  <wilson@cygnus.com>
1596
1597         * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
1598         * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
1599         to pattern.
1600         (prologue_get_pc_and_set_got): New pattern.
1601
1602 Tue Nov  4 20:36:50 1997  Richard Henderson  (rth@cygnus.com)
1603
1604         * alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
1605         for SUBREG, just fall through.
1606
1607         * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
1608
1609         * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
1610
1611 Tue Nov  4 18:49:42 1997  Jeffrey A Law  (law@cygnus.com)
1612
1613         * fixincludes: Fix "hypot" prototype in NeXT math.h.
1614
1615         * Makefile.in (USE_ALLOCA): Always include alloca.o.
1616         (USE_HOST_ALLOCA): Likewise.
1617
1618         * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
1619         and LABEL_REFS fields.
1620         * rtl.h (LABEL_REFS): Update.
1621
1622 Tue Nov  4 16:55:11 1997  Jim Wilson  <wilson@cygnus.com>
1623
1624         * combine.c (try_combine): When setting elim_i2, check whether newi2pat
1625         sets i2dest.  When calling distribute_notes for i3dest_killed, pass
1626         elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
1627         sets i1dest.
1628
1629         * mips.md (insv, extzv, extv): Add change_address call.
1630         (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
1631
1632         * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
1633
1634         * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
1635
1636         * mips.c (mips_expand_epilogue): Emit blockage insn before call to
1637         save_restore_insns if no FP and GP will be restored.
1638
1639         * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
1640         Convert CCmode to word_mode before calling GET_MODE_SIZE.
1641
1642         * acconfig.h (HAVE_INTTYPES_H): Undef.
1643         * configure.in (inttypes.h): Check for conflicts between sys/types.h
1644         and inttypes.h, and verify that intmax_t is defined.
1645         * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
1646         * config/mips/x-iris3: Likewise.
1647
1648 Tue Nov  4 16:07:15 1997  Jeffrey A Law  (law@cygnus.com)
1649
1650         * alias.c (find_base_value): When copying arguments, return the
1651         tenative value for a hard register.
1652
1653 Tue Nov  4 13:40:35 1997  Doug Evans  <devans@canuck.cygnus.com>
1654
1655         * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
1656         (yylex): Record wide strings using target endianness, not host.
1657
1658 Tue Nov  4 13:13:12 1997  Jeffrey A Law  (law@cygnus.com)
1659
1660         * mn10200.h (ASM_OUTPUT_BSS): Delete.
1661         (ASM_OUTPUT_ALIGNED_BSS): New macro
1662         * mn10300.h (ASM_OUTPUT_BSS): Delete.
1663         (ASM_OUTPUT_ALIGNED_BSS): New macro.
1664         * v850.h (ASM_OUTPUT_BSS): Delete.
1665         (ASM_OUTPUT_ALIGNED_BSS): New macro.
1666
1667 Tue Nov  4 00:55:48 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1668  
1669         * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
1670
1671 Mon Nov  3 14:36:50 1997  Jeffrey A Law  (law@cygnus.com)
1672
1673         * configure.in (sco5): Use cpio to install header files.
1674
1675 Sun Nov  2 23:31:43 1997  Manfred Hollstein  <manfred@s-direktnet.de>
1676
1677         * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
1678         14 char length.
1679         * configure: Rebuild.
1680
1681 Sun Nov  2 19:44:00 1997  Robert Lipe (robertl@dgii.com)
1682
1683         * i386/sco5.h: enable -gstabs once again.
1684
1685 Sun Nov  2 19:27:21 1997  Jeffrey A Law  (law@cygnus.com)
1686
1687         * arm.c (output_move_double): Allocate 3 entries in otherops array.
1688
1689 Sat Nov  1 21:43:00 1997  Mike Stump  (mrs@wrs.com)
1690
1691         * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
1692         notes for sjlj exceptions too.
1693         (expand_eh_region_end): Similarly for EH_REGION_END notes.
1694         (exception_optimize): Optimize EH regions for sjlj exceptions too.
1695         * final.c (final_scan_insn): Don't output labels for EH REGION
1696         notes if doing sjlj exceptions.
1697
1698 Sat Nov  1 19:15:28 1997  Jeffrey A Law  (law@cygnus.com)
1699
1700         * alias.c (init_alias_analysis): Handle -fno-alias-check when
1701         optimizing correctly.
1702
1703         * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
1704         or set current_function_calls_setjmp anymore.
1705
1706         * flow.c (find_basic_blocks): If we delete the label for an
1707         exception handler, remove it from the EH label list and remove
1708         the EH_BEGIN/EH_END notes for that EH region.
1709
1710 Sat Nov  1 16:44:49 1997  Jason Merrill  (jason@cygnus.com)
1711
1712         * flow.c (find_basic_blocks): Generate correct flow control
1713         information when exception handling notes are present.
1714
1715 Sat Nov  1 13:42:19 1997  Jeffrey A Law  (law@cygnus.com)
1716
1717         * dwarf2out.c (output_call_frame_info): Fix length argument
1718         to ASM_OUTPUT_ASCII.
1719         (output_die, output_pubnames, output_line_info): Likewise.
1720
1721 Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
1722
1723         * version.c: Bump for snapshot.
1724
1725         * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
1726         output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
1727         flag_debug_asm is on.
1728         (output_die, output_pubnames, output_line_info): Likewise.
1729
1730         * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
1731         and static_chain_rtx into the potential base values array if
1732         they are registers.
1733
1734         * alias.c (new_reg_base_value): New array of potential base values.
1735         (unique_id): Now file scoped static.
1736         (find_base_value, case REG): Return the value in reg_base_value
1737         array for the REG if it exists.  Else, return the value from
1738         new_reg_base_value if copying args and REG is a hard register.
1739         (find_base_value, case PLUS): If either operand of the PLUS is
1740         a REG, try to get its base value.  Handle base + index and
1741         index + base.
1742         (record_set): Use new_reg_base_value instead of reg_base_value.
1743         (init_alias_analysis): Allocate space for new_reg_base_value too.
1744         Rework code to iterate over the insns propagating base value
1745         information until nothing changes.
1746
1747         * global.c (global_alloc): Free the conflict matrix after
1748         reload has finished.
1749
1750 Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
1751
1752         * libgcc2.c (L_eh): Define __eh_pc.
1753         Replace __eh_type with generic pointer __eh_info.
1754
1755 Fri Oct 31 00:34:55 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
1756
1757         * expr.c (expand_increment): When enqueing a postincrement for a MEM,
1758         use copy_to_reg if address is not a general_operand.
1759
1760 Fri Oct 31 00:16:55 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1761
1762         * profile.c (output_func_start_profiler): Clear flag_inline_functions
1763         for the duration of the call to rest_of_compilation.
1764
1765 Thu Oct 30 14:40:10 1997  Doug Evans  <devans@canuck.cygnus.com>
1766
1767         * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
1768         Set extra_parts.
1769         (sparc*-*-*): Recognize --with-cpu=v9.
1770         * sparc/elf.h: New file.
1771         * sparc/t-elf: New file.
1772
1773 Thu Oct 30 13:26:12 1997  Jeffrey A Law  (law@cygnus.com)
1774
1775         * mn10300.c (const_8bit_operand): New function.
1776         (mask_ok_for_mem_btst): New funtion.
1777         * mn10300.md (btst patterns with mem operands): Use new functions
1778         to avoid creating btst instructions with invalid operands.
1779
1780 Wed Oct 29 16:57:19 1997  Michael Meissner  <meissner@cygnus.com>
1781
1782         * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
1783         are running on PowerPC Linux.
1784
1785 Wed Oct 29 13:10:11 1997  Gavin Koch  <gavin@cygnus.com>
1786
1787         * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
1788         if not previously defined.
1789
1790 Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
1791
1792         * function.c (assign_parms): Correct mode of stack_parm if
1793         entry_parm underwent a mode conversion.
1794
1795 1997-10-28  Brendan Kehoe  <brendan@lisa.cygnus.com>
1796
1797         * global.c (global_alloc): Use xmalloc instead of alloca for
1798         CONFLICTS, since max_allocno * allocno_row_words alone can be more
1799         than 2.5Mb sometimes.
1800
1801 Tue Oct 28 15:29:15 1997  Richard Henderson  <rth@cygnus.com>
1802
1803         * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
1804         DEST for the spill, adjust mode of SRC to compensate.
1805
1806 Tue Oct 28 14:36:45 1997  Richard Henderson  <rth@cygnus.com>
1807
1808         * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
1809         since any_memory_operand() allows pseudos during reload.
1810         (reload_inhi, reload_outqi, reload_outhi): Likewise.
1811
1812 Tue Oct 28 11:53:14 1997  Jim Wilson  <wilson@cygnus.com>
1813
1814         * m68k.md (btst patterns): Add 5200 support.
1815
1816 Tue Oct 28 11:58:40 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
1817
1818         * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
1819         optimizations, look inside dividend to determine if the expression
1820         can be simplified by using EXACT_DIV_EXPR.
1821
1822 Tue Oct 28 10:19:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
1823
1824         From Brendan:
1825         * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
1826
1827 Tue Oct 28 00:32:14 1997  Richard Henderson  <rth@cygnus.com>
1828
1829         * alpha.c (summarize_insn [SUBREG]): Propogate SET.
1830
1831 Mon Oct 27 23:59:26 1997  Richard Henderson  <rth@cygnus.com>
1832
1833         * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
1834         on a CLOBBER.
1835
1836 Mon Oct 27 21:25:20 1997  Richard Henderson  <rth@cygnus.com>
1837
1838         * alpha.md (movqi, movhi): Make sure new insns created during reload
1839         won't need reloading themselves.
1840         (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
1841
1842 Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
1843
1844         * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
1845
1846 Sun Oct 26 13:50:44 1997  Richard Henderson  <rth@cygnus.com>
1847
1848         * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
1849         Patch from Klaus Kaempf <kkaempf@progis.de>.
1850
1851 Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
1852
1853         * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
1854         to an element in a constant string.
1855
1856 Sun Oct 26 11:41:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
1857
1858         * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
1859         bit PC-relative offset.  The exception range table pointer is now in
1860         the CIE.
1861         * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
1862         (count_fdes, add_fdes, get_cie): Adjust.
1863         (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
1864
1865         From H.J. Lu:
1866         * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
1867
1868 Sun Oct 26 11:52:01 1997  Richard Henderson  <rth@cygnus.com>
1869
1870         * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
1871         like stack_pointer_rtx.
1872
1873 Sun Oct 26 11:32:16 1997  Manfred Hollstein  <manfred@s-direktnet.de>
1874
1875         * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
1876         targets using "$@" to provide support for similar but not identical
1877         targets without having to duplicate code.
1878         (bootstrap4): New goal.
1879
1880         * Makefile.in (compare, compare-lean, compare3): Combined to one
1881         ruleset determining actions to be performed via $@.
1882         (compare4, compare4-lean): New targets.
1883         (gnucompare, gnucompare3): Combined to one ruleset determining
1884         actions to be performed via $@. Also, note which files failed
1885         the comparison test in .bad_compare.
1886         (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
1887
1888 Sun Oct 26 10:06:11 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
1889
1890         * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
1891         if the dividend is a multiple of the divisor.
1892
1893 Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
1894
1895         * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
1896
1897         * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
1898         and POS_DEC.
1899
1900         * alias.c (true_dependence): Fix typo.
1901
1902         * toplev.c (flag_rerun_loop_opt): New variable.
1903         (f_options): Handle -frerun-loop-opt.
1904         (rest_of_compilation): If -frerun-loop-opt, then run the loop
1905         optimizer twice.
1906         (main): Enable -frerun-loop-opt by default for -O2 or greater.
1907
1908         * loop.c (simplify_giv_expr): Adding two invariants results
1909         in an invariant.
1910
1911 Sun Oct 26 09:15:15 1997  Richard Henderson  <rth@cygnus.com>
1912
1913         * expr.c (get_inner_reference): Remove the array bias after 
1914         converting the index to Pmode.
1915
1916 Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
1917
1918         * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
1919         (TARGET_MULT_BUG): Define.
1920         (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
1921         * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
1922
1923 Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
1924
1925         * mn10200.c (indirect_memory_operand): Delete unused function.
1926         * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
1927         * mn10200.md (bset, bclr insns): Handle output in a reg too.
1928
1929 Fri Oct 24 15:54:57 1997  Richard Henderson  <rth@cygnus.com>
1930
1931         * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
1932         the callee's ldgp, we must do it ourselves, and we use the jsr tag
1933         for more than scheduling.
1934
1935 Fri Oct 24 13:23:04 1997  Doug Evans  <devans@canuck.cygnus.com>
1936
1937         * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
1938
1939 Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
1940
1941         * mn10300.c (symbolic_operand, legitimize_address): New functions.
1942         * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
1943         (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
1944
1945 Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
1946
1947         * version.c: Bump for snapshot.
1948
1949 Thu Oct 23 08:03:59 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
1950
1951         * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
1952         for FILENAME.
1953
1954 Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
1955
1956         * toplev.c (flag_exceptions): Default value is 2.
1957         (compile_file): If flag_exceptions still has the value 2, then
1958         set it to 0.
1959
1960         * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
1961         (rs6000_save_machine_status): Save pic_offset_table_rtx.
1962         (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
1963
1964         * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
1965         are shared.
1966
1967         * rs6000.md (*movsi_got_internal_mem): New pattern.
1968         (*movsi_got_internal_mem splitter): New define_split.
1969
1970 Tue Oct 21 18:14:03 1997  Jim Wilson  <wilson@cygnus.com>
1971
1972         * obstack.h (obstack_empty_p): Fix spurious space after backslash.
1973
1974 Tue Oct 21 18:34:01 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
1975
1976         * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
1977         only need to save LR.
1978
1979 Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
1980
1981         * mn10300.md (movqi, movhi): Avoid using address registers as
1982         destinations unless absolutely necessary.
1983
1984         * mn10200.c (expand_prologue): Fix typo.
1985
1986         * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
1987         addresses.
1988         * mn10200.md (neghi2): Provide an alternative which works if
1989         the input and output register are the same.
1990
1991         * mn10300.c (print_operand): Handle 'S'.
1992         * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
1993         shift amount in last alternative
1994
1995         * mn10300.c (expand_epilogue): Rework to handle register restores
1996         in "ret" and "retf" instructions correctly.
1997
1998 Mon Oct 20 16:47:08 1997  Jim Wilson  <wilson@cygnus.com>
1999
2000         * expmed.c (extract_bit_field): Don't make flag_force_mem disable
2001         extzv for memory operands.
2002
2003         * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
2004         redundant conditional moves to single operand.
2005
2006 Mon Oct 20 15:30:26 1997  Nick Clifton  <nickc@cygnus.com>
2007
2008         * v850.h: Move define of __v850__ from CPP_PREDEFINES
2009         to CPP_SPEC.
2010         
2011         * xm-v850.h: Use __v850 rather than __v850__ to
2012         identify v850 port.
2013
2014 Mon Oct 20 14:15:02 1997  Jim Wilson  <wilson@cygnus.com>
2015
2016         * mips/mips.c (compute_frame_size): Not a leaf function if
2017         profile_flag set.
2018
2019 Mon Oct 20 14:16:38 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
2020
2021         * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
2022
2023 Mon Oct 20 12:28:17 1997  Doug Evans  <devans@canuck.cygnus.com>
2024
2025         * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
2026         (DEFAULT_ARCH32_P): New macro.
2027         (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
2028         (enum cmodel): Declare.
2029         (sparc_cmodel_string,sparc_cmodel): Declare.
2030         (SPARC_DEFAULT_CMODEL): Provide default.
2031         (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
2032         (TARGET_FULLANY): Deleted.
2033         (TARGET_CM_MEDMID): New macro.
2034         (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
2035         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
2036         (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
2037         (CPP_SPEC): Rewrite.
2038         (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
2039         (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
2040         (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
2041         (ASM_SPEC): Add %(asm_arch).
2042         (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
2043         Rename asm_default to asm_cpu_default.
2044         Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
2045         cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
2046         (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
2047         ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
2048         (MASK_INT64,MASK_LONG64): Delete.
2049         (MASK_ARCH64): Renamed to MASK_64BIT.
2050         (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
2051         (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
2052         (TARGET_SWITCHES): Always provide 64 bit options.
2053         (ARCH64_SWITCHES): Delete.
2054         (TARGET_OPTIONS): New option -mcmodel=.
2055         (INT_TYPE_SIZE): Always 32.
2056         (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
2057         (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
2058         (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
2059         (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
2060         * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
2061         CPP_SPEC.
2062         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
2063         * sparc/linux.h: Likewise.
2064         * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
2065         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
2066         (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
2067         (SPARC_DEFAULT_CMODEL): Define.
2068         (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
2069         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
2070         (LONG_DOUBLE_TYPE_SIZE): Define.
2071         (ASM_SPEC): Add %(asm_arch).
2072         * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
2073         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
2074         (TARGET_CPU_DEFAULT): Add ultrasparc case.
2075         * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
2076         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
2077         (SPARC_DEFAULT_CMODEL): Define.
2078         * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
2079         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
2080         MASK_LONG64, MASK_MEDANY.
2081         (SPARC_DEFAULT_CMODEL): Define.
2082         (CPP_PREDEFINES): Delete.
2083         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
2084         (ASM_SPEC): Add %(asm_arch).
2085         (LONG_DOUBLE_TYPE_SIZE): Define.
2086         (DWARF2_DEBUGGING_INFO): Define.
2087         * sparc/splet.h (CPP_SPEC): Delete.
2088         * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
2089         (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
2090         (BLOCK_PROFILER): Likewise.
2091         * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
2092         (sparc_override_options): Handle code model selection.
2093         (sparc_init_expanders): Renamed from sparc64_init_expanders.
2094         * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
2095         TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
2096         (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
2097         (sethi_di_fullany): Delete.
2098
2099 Mon Oct 20 02:00:18 1997  Klaus Kaempf <kkaempf@progis.de>
2100                           Jeff Law <law@cygnus.com>
2101                           Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2102
2103         * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
2104         (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
2105         (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
2106         (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
2107         * alpha/alpha.md (arg_home): Likewise.
2108
2109         * alpha/alpha.c (vmskrunch): Delete
2110         * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
2111         * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
2112         truncate to 64 characters.
2113
2114         * make-l2.com: Support openVMS/Alpha.
2115
2116         * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
2117
2118 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2119
2120         * longlong.h (count_leading_zeros): Add missing casts to USItype.
2121
2122 Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
2123
2124         * i386/bsd386.h (ASM_COMMENT_START): Define.
2125
2126 Sat Oct 18 13:47:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
2127
2128         * tree.c (restore_tree_status): Also free up temporary storage
2129         when we finish a toplevel function.
2130         (dump_tree_statistics): Print stats for backend obstacks.
2131
2132 Sat Oct 18 12:47:31 1997  Doug Evans  <dje@canuck.cygnus.com>
2133
2134         * expr.c (use_group_regs): Don't call use_reg for MEMs.
2135
2136 Sat Oct 18 09:49:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
2137
2138         * libgcc2.c (__throw): Don't copy the return address.
2139         * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
2140
2141         * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
2142         * toplev.c (main): Initialize exceptions_via_longjmp.
2143
2144         * tree.c: Add extra_inline_obstacks.
2145         (save_tree_status): Use it.
2146         (restore_tree_status): If this is a toplevel inline obstack and we
2147         didn't want to save anything on it, recycle it.
2148         (print_inline_obstack_statistics): New fn.
2149         * function.c (pop_function_context_from): Pass context to 
2150         restore_tree_status.
2151         * obstack.h (obstack_empty_p): New macro.
2152
2153 Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
2154
2155         * i386/freebsd.h (ASM_COMMENT_START): Fix.
2156
2157 Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
2158
2159         * v850.c (ep_memory_offset): New function.
2160         (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
2161
2162         * v850.h (CONST_OK_FOR_*): Add and correct comments.
2163         (CONSTANT_ADDRESS_P): Add comment.
2164         (EXTRA_CONSTRAINT): Define 'U'.
2165         * v850.md: Add comments on bit field instructions.
2166         (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
2167         (lshrsi3): Use N not J constraint. 
2168
2169         * v850.md (v850_tst1+1): New define_split for tst1 instruction.
2170
2171         * v850.c (reg_or_0_operand): Call register_operand.
2172         (reg_or_int5_operand): Likewise.
2173         * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
2174         (TARGET_SWITCHES): Add "big-switch".
2175         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
2176         ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
2177         (CASE_DROPS_THROUGH): Comment out.
2178         (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
2179         * v850.md (cmpsi): Delete compare mode.
2180         (casesi): New pattern.
2181
2182         * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
2183         * v850.md (ashlsi3): Use SImode not QImode for shift count.
2184         (lshrsi3): Likewise.
2185
2186         * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
2187         unreachable switch statement after 'b' support.  Remove "b" from
2188         strings for 'b' support.
2189         * v850.md (branch_normal, branch_invert): Change %b to b%b.
2190
2191 Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
2192
2193         * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
2194         empty line if @inhibit_libc@ is empty.
2195
2196 Fri Oct 17 23:24:40 1997  Robert Lipe (robertl@dgii.com)
2197
2198         * i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
2199         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
2200         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
2201         (DWARF2_UNWIND_INFO): Let this track object file format.
2202         (EXTRA_SECTIONS): Add in_eh.
2203         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
2204         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
2205
2206 Fri Oct 17 17:13:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
2207
2208         * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
2209         * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
2210         TARGET_MEDANY.
2211         * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
2212         (output_double_int): Output DI mode values correctly when
2213         HOST_BITS_PER_WIDE_INT is 64.
2214         (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
2215         fmovd so it works if a quad float ends up in one of the upper 32
2216         float regs.
2217         * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
2218         necessary for PIC support on sparc64.
2219
2220 Fri Oct 17 13:39:56 1997  Doug Evans  <dje@canuck.cygnus.com>
2221
2222         * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
2223         * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
2224         (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
2225         (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
2226         (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
2227         (SPARC_FP_ARG_FIRST): New macro.
2228         (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
2229         (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
2230         (NPARM_REGS): There are 32 fp argument registers now.
2231         (FUNCTION_ARG_REGNO_P): Likewise.
2232         (FIRST_PARM_OFFSET): Update to new v9 abi.
2233         (REG_PARM_STACK_SPACE): Define for arch64.
2234         (enum sparc_arg_class): Delete.
2235         (sparc_arg_count,sparc_n_named_args): Delete.
2236         (struct sparc_args): Redefine and use for arch32 as well as arch64.
2237         (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
2238         (FUNCTION_ARG_ADVANCE): Rewrite.
2239         (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
2240         (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
2241         (FUNCTION_ARG_CALLEE_COPIES): Delete.
2242         (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
2243         (STRICT_ARGUMENT_NAMING): Define.
2244         (doublemove_string): Declare.
2245         * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
2246         (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
2247         (doublemove_string): New function.
2248         (output_move_quad): Clean up some of the arch64 support.
2249         (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
2250         Don't add 8 bytes of reserved space if arch64.
2251         (sparc_builtin_saveregs): Combine arch32/arch64 versions.
2252         (init_cumulative_args): New function.
2253         (function_arg_slotno): New static function.
2254         (function_arg,function_arg_partial_nregs): New functions.
2255         (function_arg_{pass_by_reference,advance}): New functions.
2256         (function_arg_padding): New function.
2257         * ginclude/va-sparc.h: Rewrite v9 support.
2258
2259 Fri Oct 17 12:29:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
2260
2261         * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
2262         for hard regs to determine base and index registers.
2263
2264         * reload.c (debug_reload_to_stream): New function.  Specify stream
2265         into which to write debug info.
2266         (debug_reload): Modify to call debug_reload_to_stream with stderr.
2267
2268 Thu Oct 16 15:07:51 1997  Richard Henderson  <rth@cygnus.com>
2269
2270         * combine.c (can_combine_p): Don't combine with an asm whose
2271         output is a hard register.
2272
2273 Thu Oct 16 15:43:26 1997  Mike Stump  (mrs@wrs.com)
2274
2275         * c-decl.c (start_struct): Ensure that structs with forward
2276         declarations are in fact packed when -fpack-struct is given.
2277
2278         * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
2279         we are packing a structure.  This allows a structure with only
2280         bytes to be aligned on a byte boundary and have no padding on a
2281         m68k.
2282
2283 Thu Oct 16 15:17:54 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2284
2285         * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
2286
2287 Thu Oct 16 11:20:30 1997  Richard Henderson  <rth@cygnus.com>
2288
2289         * alpha.c (alpha_return_addr_rtx): New variable.
2290         (alpha_save_machine_status): New; save it.
2291         (alpha_restore_machine_status): New; restore it.
2292         (alpha_init_expanders): New; clear it.
2293         (alpha_return_addr): New; set it.
2294         (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
2295         is overly conservative, so search the insns explicitly.
2296         (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
2297         (alpha_sa_size [VMS && !VMS]): Likewise.
2298         * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
2299         (INIT_EXPANDERS): New definition.
2300         
2301         * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
2302         (output_prolog [!VMS]): Use them.
2303
2304         * alpha.c (output_prolog [!VMS]): Move gp detection to ...
2305         (alpha_does_function_need_gp): ... a new function.  Refine the 
2306         CALL_INSN test to just TYPE_JSR.
2307         * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
2308
2309 Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
2310
2311         * version.c: Bump for snapshot.
2312
2313 Wed Oct 15 21:38:18 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2314
2315         * pa.c (move_operand): Respect -mdisable-indexing.
2316         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
2317
2318 Wed Oct 15 21:34:45 1997  David Edelsohn  <edelsohn@mhpcc.edu>
2319
2320         * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
2321         PPC601.
2322         (umulsidi3,umulsi3_highpart): Ditto.
2323         (smulsi3_highpart_no_mq): Add !TARGET_POWER.
2324
2325 Wed Oct 15 18:21:46 1997  Richard Henderson  <rth@cygnus.com>
2326
2327         * alpha.c (final_prescan_insn): Gut, remove and transform to ...
2328         (alpha_handle_trap_shadows): ... a new function.  Handle the entire
2329         function in one go.  Emit RTL for trapb, instead of printf directly.
2330         (alpha_reorg): New function.  Call alpha_handle_trap_shadows.
2331         (trap_pending): Kill global variable.
2332         (output_epilog): Don't call final_prescan_insn.
2333         (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
2334         * alpha.h (FINAL_PRESCAN_INSN): Remove.
2335         (MACHINE_DEPENENT_REORG): Define.
2336         * alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
2337         (trapb): New insn.
2338
2339 Wed Oct 15 18:16:05 1997  Richard Henderson  <rth@cygnus.com>
2340
2341         Tune Haifa scheduler for Alpha:
2342         * alpha.h (ISSUE_RATE): Define.
2343         * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
2344         EV4 adjustments to EV5.
2345         * alpha.md: Remove all scaling from function unit delays.  Rework
2346         EV5 function units to match the CPU.
2347         (umuldi3_highpart): EV5 added the IMULH insn class.
2348
2349 Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
2350
2351         * pa.c (following_call): Fail if the CALL_INSN is an indirect
2352         call.
2353
2354 Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
2355
2356         * cplus-dem.c (demangle_signature): Don't look for return types on
2357         constructors.  Handle member template constructors.
2358
2359 Tue Oct 14 11:30:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
2360
2361         * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
2362         * tree.h: Declare them.
2363
2364 Fri Oct 10 13:46:56 1997  Doug Evans  <dje@canuck.cygnus.com>
2365
2366         * configure.in: Handle --with-newlib.
2367         * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
2368
2369         * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
2370
2371 Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
2372
2373         * config/ptx4.h: Fix typo.
2374
2375 Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
2376
2377         * version.c: Bump for snapshot.
2378
2379 Tue Oct  7 16:27:34 1997  Manfred Hollstein  <manfred@s-direktnet.de>
2380
2381         * aclocal.m4: Substitute INSTALL.
2382         * configure: Re-built.
2383
2384 Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
2385
2386         * integrate.c (save_for_inline_copying): Avoid undefined pointer
2387         operations.
2388         (expand_inline_function): Likewise.
2389
2390         * dwarf2out.c (output_call_frame_info): Reinstate last change
2391         using flag_debug_asm check instead of flag_verbose_asm.
2392
2393 Tue Oct  7 12:57:26 1997  Jim Wilson  <wilson@cygnus.com>
2394
2395         * dwarf2out.c (output_call_frame_info): Remove last change.
2396
2397 1997-10-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2398
2399         * frame.c (__frame_state_for): Execute the FDE insns until the
2400         current pc value is strictly bigger than the target pc value.
2401
2402 Tue Oct  7 11:00:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
2403
2404         * regclass.c (init_reg_modes): If we can't find a mode for the 
2405         register, use the previous one.
2406
2407 Tue Oct  7 10:55:34 1997  Richard Henderson  <rth@cygnus.com>
2408
2409         * haifa-sched.c (print_block_visualization): Call fprintf directly,
2410         don't sprintf through an alloca'ed buffer.
2411
2412 Tue Oct  7 10:52:29 1997  Thomas Koenig (ig25@rz.uni-karlsruhe.de)
2413
2414         * reload.c (decompose): Always initialize val.base.
2415
2416 Tue Oct  7 10:19:26 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
2417
2418         * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
2419         instead of aborting.
2420         * dwarf2out.c (output_call_frame_info): Call app_enable and
2421         app_disable to let GNU as accept the generated comments.
2422
2423 Tue Oct  7 11:41:21 1997  Michael Meissner  <meissner@cygnus.com>
2424
2425         * tree.h (get_file_function_name): Add declaration.
2426         * dwarf2out.c (output_call_frame_info): No need to cast
2427         get_file_function_name call anymore.
2428         * profile.c (toplevel): Remove get_file_function_name
2429         declaration.
2430         * c-lang.c (finish_file): Ditto.
2431
2432 Tue Oct  7 10:01:45 1997  Chip Salzenberg <chip@rio.atlantic.net>
2433
2434         * Makefile.in (program_transform_name): Let autoconf substitute
2435         the correct value.
2436
2437 Tue Oct  7 09:54:35 1997  Jeffrey A Law  (law@cygnus.com)
2438
2439         * haifa-sched.c (schedule_block): If the first real insn in a
2440         block has any special notes attached to it, remove them.
2441
2442 Tue Oct  7 09:48:51 1997  Richard Henderson  <rth@cygnus.com>
2443
2444         * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
2445
2446 Mon Oct  6 12:47:32 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
2447
2448         * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
2449
2450 Mon Oct  6 12:04:24 1997  Jeffrey A Law  (law@cygnus.com)
2451
2452         * Makefile.in (check-g77): New test target.
2453         (CHECK-TARGETS): Add check-g77.
2454
2455 Fri Oct  3 11:56:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
2456
2457         * toplev.c (rest_of_compilation): Defer all non-nested inlines.
2458
2459 Fri Oct  3 15:49:27 1997  Michael Meissner  <meissner@cygnus.com>
2460
2461         * flow.c (print_rtl_with_bb): Cast alloca return value for
2462         in_bb_p.
2463
2464 Thu Oct  2 21:15:03 1997  Richard Henderson  <rth@cygnus.com>
2465
2466         * i386.h (RETURN_ADDR_RTX): New definition that works for 
2467         __builtin_return_address(0) and -fomit-frame-pointer.
2468
2469 Wed Oct  1 13:43:53 1997  Jim Wilson  <wilson@cygnus.com>
2470
2471         Bring over from FSF.
2472         Tue Aug  5 16:10:45 1997  Jason Merrill  <jason@yorick.cygnus.com>
2473
2474         * mips.c (function_arg): Handle passing a struct 
2475         containing a double in a DFmode register without the PARALLEL.
2476
2477 Wed Oct  1 11:13:25 1997  Ian Lance Taylor  <ian@cygnus.com>
2478
2479         * pexecute.c: Use spawn if __CYGWIN32__.
2480
2481         * pexecute.c: Include "config.h" first, as per autoconf manual
2482         (from Paul Eggert  <eggert@twinsun.com>).
2483
2484 Wed Oct  1 01:44:36 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
2485
2486         * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
2487         optimisation for f/expr.o and f/stb.o.
2488
2489 Tue Sep 30 23:48:57 1997  Jeffrey A Law  (law@cygnus.com)
2490
2491         * cse.c (this_insn_cc0_mode): Initialize.
2492
2493 Tue Sep 30 23:09:40 1997  Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
2494
2495         * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
2496
2497         * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
2498
2499 Tue Sep 30 23:06:43 1997  Richard Henderson  <rth@cygnus.com>
2500
2501         * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
2502         that pair will dual-issue on the 21164 and plus+beq won't.
2503         (bne): Likewise for cmpeq+beq.
2504
2505 Tue Sep 30 16:07:58 1997  Jim Wilson  <wilson@cygnus.com>
2506
2507         * except.c (find_exception_handler_labels): Correct argument to free.
2508
2509 Tue Sep 30 11:00:00 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
2510
2511         * except.c (find_exception_handler_labels): Free LABELS when we're
2512         done.
2513
2514 Mon Sep 29 14:04:35 1997  Jeffrey A Law  (law@cygnus.com)
2515
2516         * version.c: Bump for snapshot.
2517
2518 Mon Sep 29 10:51:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
2519
2520         * flow.c (find_basic_blocks): Mark calls as potentially jumping
2521         to the EH labels.
2522
2523 Mon Sep 29 09:58:06 1997  Jeffrey A Law  (law@cygnus.com)
2524
2525         * configure.in: Substitute for "install" too.
2526         * configure: Rebuilt.
2527
2528 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
2529
2530         * Makefile.in (bootstrap-lean, compare-lean): New targets.
2531
2532 Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
2533
2534         * alias.c (base_alias_check): Two symbols can conflict if they
2535         are accessed via AND.
2536         (memrefs_conflict_p): Likewise.
2537
2538         * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
2539         after flushing argument registers to the stack.
2540
2541         * Makefile.in (mostlyclean): Remove .regmove files.
2542
2543 Sun Sep 28 18:59:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
2544
2545         * libgcc2.c (__throw): Fix thinko.
2546
2547 Sun Sep 28 12:00:52 1997  Mark Mitchell  <mmitchell@usa.net>
2548
2549         * cplus-dem.c (demangle_template): Add new parameter.  Handle new
2550         template-function mangling.
2551         (consume_count_with_underscores): New function.
2552         (demangle_signature): Handle new name-mangling scheme.
2553
2554 Sun Sep 28 01:55:04 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
2555
2556         * flow.c (print_rtl_with_bb): Cast alloca return values for variables
2557         start and end.
2558
2559 Sun Sep 28 01:05:16 1997  Jeffrey A Law  (law@cygnus.com)
2560
2561         * frame.c: Remove last change.
2562         * dwarf2.h: Remove last change.
2563         * tree.h: Add declarations of DWARF2 unwind info support
2564         functions.
2565
2566 Sat Sep 27 11:02:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
2567
2568         * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
2569         * tree.h (built_in_function): Likewise.
2570         * expr.c (expand_builtin): Likewise.
2571         * except.h: Likewise.
2572         * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
2573         * libgcc2.c (copy_reg): New fn.
2574         (__throw): Use it.
2575
2576 Fri Sep 26 08:54:59 1997  Paul Eggert  <eggert@twinsun.com>
2577
2578         * c-typeck.c (build_binary_op): Warn about comparing signed vs
2579         unsigned if -W is specified and -Wno-sign-compare is not.
2580         * c-decl.c (warn_sign_compare): Initialize to -1.
2581         (c_decode_option): -Wall no longer implies -Wsign-compare.
2582
2583 Fri Sep 26 09:00:13 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2584
2585         * frame.c: Include gansidecl.h for PROTO.
2586         * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
2587         defined.  Don't declare dwarf2out_cfi_label here.
2588         * dwarf2.h: Add declarations of DWARF2 unwind info support
2589         functions.
2590         * m68k.c: Include dwarf2.h.
2591         (output_function_prologue): Add dwarf2 support.
2592         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
2593         (INCOMING_FRAME_SP_OFFSET): Likewise.
2594
2595         * integrate.c (expand_inline_function): Make sure there is at
2596         least one insn that can be used as an insertion point.
2597
2598 Wed Sep 24 21:34:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
2599
2600         * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
2601
2602 Wed Sep 24 22:05:30 1997  Jeffrey A Law  (law@cygnus.com)
2603
2604         * version.c: Bump for snapshot.
2605
2606 Wed Sep 24 17:36:23 1997  Doug Evans  <dje@canuck.cygnus.com>
2607
2608         Bring over from FSF.
2609
2610         Wed Sep 24 19:17:08 1997  Doug Evans  <dje@cygnus.com>
2611
2612         * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
2613         (get_pc_via_rdpc): Renamed from get_pc_sp64.
2614         * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
2615
2616         Wed Sep 24 18:38:22 1997  David S. Miller  <davem@tanya.rutgers.edu>
2617
2618         * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
2619         (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
2620         -malign-functions=.
2621         (sparc_align_{loops,jumps,funcs}_string): Declare.
2622         (sparc_align_{loops,jumps,funcs}): Declare.
2623         (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
2624         (FUNCTION_BOUNDARY): Use sparc_align_funcs.
2625         (STACK_BIAS): Define.
2626         (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
2627         test.
2628         (SPARC_SETHI_P): New macro.
2629         (CONST_OK_FOR_LETTER_P): Use it.
2630         (ASM_OUTPUT_ALIGN_CODE): Define.
2631         (ASM_OUTPUT_LOOP_ALIGN): Define.
2632         * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
2633         (sparc_align_{loops,jumps,funcs}): New globals.
2634         (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
2635         -malign-functions=.
2636         (move_operand): Use SPARC_SETHI_P.
2637         (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
2638         perform test.
2639         (arith11_double_operand): Likewise.
2640         (arith10_double_operand): Likewise.
2641         (finalize_pic): Finish sparc64 support.
2642         (emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
2643         64 bit constants if able.
2644         (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
2645         (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
2646         ! TARGET_FPU.
2647         * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
2648         (get_pc_sp32): Use for sparc64 as well.
2649         (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
2650         (sethi_di_sp64_const): Likewise.
2651         (movtf_cc_sp64): Check TARGET_HARD_QUAD.
2652         (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
2653         (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
2654
2655         Tue Sep 23 19:02:46 1997  Doug Evans  <dje@cygnus.com>
2656
2657         * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
2658         * sparc/linux.h (COMMENT_BEGIN): Likewise.
2659         * sparc/linux64.h (COMMENT_BEGIN): Likewise.
2660
2661         Tue Sep 23 14:48:18 1997  David S. Miller  <davem@tanya.rutgers.edu>
2662
2663         Add sparc64 linux support.
2664         * configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
2665         to xm_file list on 32-bit sparc-linux.
2666         * sparc/xm-sp64.h: New file.
2667         * sparc/linux64.h: New file.
2668         * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
2669         Don't include xm-sparc.h.
2670         * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
2671         * glimits.h (LONG_MAX): Handle sparc64.
2672
2673         Sat Sep 20 03:07:54 1997  Doug Evans  <dje@cygnus.com>
2674
2675         * sparc/sysv4.h (ASM_COMMENT_START): Delete.
2676         * sparc.h (ASM_COMMENT_START): Define.
2677         * sparc.c (output_function_prologue): Use it.
2678         (sparc_flat_output_function_{epi,pro}logue): Likewise.
2679
2680         Wed Sep 17 15:04:19 1997  Doug Evans  <dje@cygnus.com>
2681
2682         * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
2683         use sparc.h's copies.
2684         * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
2685         ascii form as well.
2686
2687         Mon Sep  8 08:45:19 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2688
2689         * sparc.c (dwarf2out_cfi_label): Add declaration.
2690         (save_regs, output_function_prologue): Remove cast for it.
2691         (sparc_flat_{save_restore,output_function_prologue): Likewise.
2692         ({save,restore}_regs): No longer inline.
2693
2694 Tue Sep 23 12:34:51 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2695
2696         * fold-const.c (make_range): Correctly handle cases of converting
2697         from unsigned to signed type.
2698
2699 Tue Sep 23 12:34:51 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
2700
2701         * fold-const.c (merge_ranges): Make sure that if one range is subset
2702         of another, it will always be the second range.  Correct (+,-) case to
2703         account for this.
2704
2705 Tue Sep 23 08:32:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
2706
2707         * final.c (final_end_function): Also do dwarf2 thing if
2708         DWARF2_DEBUGGING_INFO.
2709         (final_start_function): Likewise.
2710
2711 Tue Sep 23 01:15:50 1997  David S. Miller  <davem@tanya.rutgers.edu>
2712
2713         * expmed.c (expand_divmod): If compute_mode is not the same as
2714         mode, handle the case where convert_modes() causes op1 to no
2715         longer be a CONST_INT.
2716
2717         * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
2718         note holding get_jump_flags() calculation to all JUMP_INSNs.
2719         * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
2720         * rtl.c (reg_note_name): Add new note types.
2721
2722 Tue Sep 23 00:59:54 1997  Jeffrey A Law  (law@cygnus.com)
2723
2724         * rtlanal.c (computed_jump_p): Fix typo in last change.
2725
2726 Tue Sep 23 00:42:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
2727
2728         * loop.c (indirect_jump_in_function_p): Return 0
2729         by default.
2730
2731 Tue Sep 23 00:33:55 1997  Jeffrey A Law  (law@cygnus.com)
2732
2733         * rs6000/xm-rs6000.h: Fix thinko in last change.
2734         * rs6000/xm-sysv4.h: Likewise.
2735
2736 Mon Sep 22 19:33:53 1997  Jim Wilson  <wilson@cygnus.com>
2737
2738         * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
2739
2740 Mon Sep 22 14:41:00 1997  Jeffrey A Law  (law@cygnus.com)
2741
2742         * reg-stack.c (find_blocks): Fix thinko in last change.
2743
2744 1997-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2745
2746         * m68k.c (output_function_prologue): Add dwarf2 support.
2747
2748         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
2749         INCOMING_FRAME_SP_OFFSET): New definitions.
2750  
2751 Mon Sep 22 11:36:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
2752
2753         * combine.c (try_combine): Use NULL_RTX instead of '0' where
2754         appropriate in calls to gen_rtx().
2755         * cse.c (cse_main): Likewise.
2756         * emit-rtl.c (gen_label_rtx): Likewise.
2757         * expr.c (init_expr_once): Likewise.
2758         * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
2759         sched_analyze, init_rgn_data_dependences,
2760         compute_block_backward_dependences): Likewise.
2761         * sched.c (schedule_insns): Likewise.
2762         * varasm.c (immed_double_const): Likewise.
2763
2764         * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
2765         SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
2766
2767 Mon Sep 22 11:21:33 1997  J. Kean Johnston  <jkj@sco.com>
2768
2769         * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
2770         (MULTILIB_DEFAULTS): Define.
2771         (ASM_SPEC, CPP_SPEC): Handle -mcoff.
2772         (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
2773         (LIBGCC_SPEC): Likewise.
2774         (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
2775         (SUBTARGET_SWITCHES): Add -mcoff and -melf.
2776         * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
2777         (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
2778         (EXTRA_PARTS, TAROUTOPTS): Delete.
2779         (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
2780         (MULTILIB_OPTIONS): Define.
2781         (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
2782         (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
2783
2784 Mon Sep 22 02:10:43 1997  Jeffrey A Law  (law@cygnus.com)
2785
2786         * version.c: Bump for snapshot.
2787
2788 Sun Sep 21 17:45:45 1997  Jeffrey A Law  (law@cygnus.com)
2789
2790         * loop.c (loop_number): Delete function.  Change all references
2791         to use uid_loop_num array.
2792         * loop.h (loop_number): Delete declaration.
2793         * unroll.c (unroll_loop): Change "loop_number" references to
2794         use uid_loop_num instead.
2795
2796         * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
2797         conditional.
2798         (loop_unroll_iter): Remove unused variable and all references.
2799         (loop_optimize): Always allocate and clear space for loop_unroll_factor.
2800         (insert_bct): Fix minor formatting problems.
2801         * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
2802         (loop_unroll_iter): Removed unused decl.
2803         * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
2804         Always record the unrolling factor.
2805
2806         * cse.c (simplify_relational_operation): Set h0u just like h0s.
2807         Similarly for h1u and h1s.
2808
2809         * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2810         (find_basic_blocks): Use computed_jump_p to determine if a
2811         particular JUMP_INSN is a computed jump.
2812         * reg-stack.c (find_blocks): Use computed_jump_p to determine
2813         if a particular JUMP_INSN is a computed jump.
2814         * rtlanal.c (jmp_uses_reg_or_mem): New function.
2815         (computed_jump_p): Likewise.
2816         * rtl.h (computed_jump_p): Declare.
2817         * genattrtab.c (pc_rtx): Define and initialize.
2818         * loop.c (loop_optimize): Always determine if the current
2819         function has a computed jump.
2820         (indirect_jump_in_function_p): Use computed_jump_p to determine
2821         if a particular JUMP_INSN is a computed jump.
2822
2823         * loop.c (fix_bct_param): Delete unused function.
2824         (check_bct_param): Likewise.
2825
2826 Sat Sep 20 16:22:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
2827
2828         * frame.c (__deregister_frame): Check properly for initialized object.
2829
2830 Fri Sep 19 20:51:03 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
2831
2832         * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
2833
2834 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2835
2836         * jump.c (thread_jumps): check can_reverse_comparison_p before
2837         threading a reversed-condition jump.
2838
2839         * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
2840         * haifa-sched.c (update_flow_info): Likewise.
2841
2842 Thu Sep 18 21:13:40 1997  Jeffrey A Law  (law@cygnus.com)
2843
2844         * Makefile.in (BOOT_CFLAGS): Use -O2.
2845
2846         * configure.in (strtoul, bsearch): Have autoconf check for these
2847         functions.
2848         * configure, config.in: Rebuilt.
2849
2850         * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
2851         * mips/mips.h (alloca): Likewise.
2852         * rs6000/xm-rs6000.h (alloca): Likewise.
2853         * rs6000/xm-sysv4.h: Likewise.
2854
2855 Thu Sep 18 14:22:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
2856
2857         * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
2858         * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
2859         (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
2860
2861         * except.c (end_eh_unwinder): Subtract 1 from return address.
2862         * libgcc2.c (__throw): Likewise.
2863         (find_exception_handler): Don't change PC here.  Compare end with >.
2864
2865 Thu Sep 18 10:43:07 1997  Nick Clifton  <nickc@cygnus.com>
2866  
2867         * v850.c (compute_register_save_size): Correct register
2868         number.
2869         * v850.md (save_interrupt, return_interrupt): Correct
2870         register number.
2871         * v850/lib1funcs.asm (save_interrupt): Correct register number.
2872         (return_interrupt): Use stack pointer, not element pointer.
2873
2874 1997-09-18  Brendan Kehoe  <brendan@lisa.cygnus.com>
2875
2876         * configure.in, configure: Make sure to create the stage* and include
2877         symbolic links in each subdirectory.
2878
2879 Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
2880
2881         * pa.md (reload_peepholes): Don't allow addresses with side
2882         effects for the memory operand.
2883
2884 Wed Sep 17 18:19:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
2885
2886         * libgcc2.c (find_exception_handler): Subtract one from our PC when
2887         looking for a handler, to avoid hitting the beginning of the next
2888         region.
2889
2890         * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
2891
2892 Wed Sep 17 18:33:59 1997  Jeffrey A Law  (law@cygnus.com)
2893
2894         * mips/abi64.h (LONG_MAX_SPEC): Define.
2895         * mips.h (LONG_MAX_SPEC): Define.
2896         (CPP_SPEC): Include long_max_spec.
2897         (EXTRA_SPECS): Include long_max_spec.
2898
2899 Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
2900
2901         * v850.c (construct_save_jarl): Fix thinko in last change.
2902
2903 Wed Sep 17 09:53:07 1997  Jeffrey A Law  (law@cygnus.com)
2904
2905         * version.c: Bump for snapshot.
2906
2907 Tue Sep 16 14:22:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
2908
2909         * libgcc2.c (find_exception_handler): Not found is -1.
2910
2911         * integrate.c (expand_inline_function): Move expand_start_bindings
2912         after expanding the arguments.
2913
2914 Tue Sep 16 11:13:46 1997  Jim Wilson  <wilson@cygnus.com>
2915
2916         * expr.c (expand_expr): Remove previous incorrect change.
2917         If target and slot has no DECL_RTL, then call mark_addressable
2918         again for the slot after we give it RTL.
2919
2920 Tue Sep 16 09:18:52 1997  Jason Merrill  (jason@cygnus.com)
2921
2922         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
2923         again for the slot after we give it RTL.
2924
2925 Tue Sep 16 00:13:20 1997  Nick Clifton  <nickc@cygnus.com>
2926
2927         * v850.c (register_is_ok_for_epilogue,
2928         pattern_is_ok_for_epilogue, construct_restore_jr,
2929         pattern_is_ok_for_prologue, construct_save_jarl): New functions.
2930
2931         * v850.h (pattern_is_ok_for_prologue,
2932         pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
2933         predicates.
2934
2935         * v850.md: Replace prologue and epilogue patterns with a
2936         match_parallel pattern.
2937
2938 Mon Sep 15 22:53:01 1997  Jeffrey A Law  (law@cygnus.com)
2939
2940         * aclocal.m4: Add replacement for AC_PROG_INSTALL.
2941         * configure.in: Use EGCS_PROG_INSTALL.
2942
2943 Mon Sep 15 22:40:55 1997  Jim Wilson  (wilson@cygnus.com)
2944
2945         * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
2946         extern inline function.
2947
2948 Mon Sep 15 22:40:55 1997  Richard Henderson  (rth@cygnus.com)
2949
2950         * dwarf2out.c (reg_loc_descriptor): Fix prototype.
2951         (concat_loc_descriptor): New function.
2952         (loc_descriptor): Call it.
2953         (add_AT_location_description): Also elide the descriptor if both
2954         halves of a CONCAT are pseudos.
2955         (add_location_or_const_value_attribute): Recognize CONCAT too.
2956
2957 Mon Sep 15 15:24:00 1997  Richard Henderson  <rth@cygnus.com>
2958
2959         * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
2960
2961         * alpha/alpha.c (output_prolog): New variable sa_reg.  Use it for
2962         out-or-range reg_offset.
2963         (output_epilog): Likewise.
2964
2965 Mon Sep 15 15:39:26 1997  Jeffrey A Law  (law@cygnus.com)
2966
2967         * cse.c (simplify_relational_operation): If MODE specifies a
2968         mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
2969         is derived from the sign bit of the low word.
2970
2971 Mon Sep 15 11:43:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
2972
2973         Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
2974
2975         * dwarf2.h: Add DW_CFA_GNU_args_size.
2976         * frame.c (execute_cfa_insn): Likewise.
2977         * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
2978         (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
2979         (dwarf2out_frame_debug): If this isn't a prologue or epilogue
2980         insn, hand it off to dwarf2out_stack_adjust.
2981         (dwarf2out_begin_prologue): Initialize args_size.
2982         * frame.h (struct frame_state): Add args_size.
2983         * libgcc2.c (__throw): Use args_size.
2984         * final.c (final_scan_insn): If we push args, hand off all insns
2985         to dwarf2out_frame_debug.
2986         * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
2987
2988         * dwarf2out.c dwarf2out_frame_debug): Fix typo.
2989         Handle epilogue restore of SP from FP.
2990         * emit-rtl.c (gen_sequence): Still generate a sequence if the 
2991         lone insn has RTX_FRAME_RELATED_P set.
2992
2993         * frame.c (extract_cie_info): Handle "e" augmentation.
2994         * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
2995         absence of UNALIGNED_*_ASM_OP.
2996         (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
2997         (output_call_frame_info): Use "e" instead of "z" for augmentation.
2998         Don't emit augmentation fields length.
2999         (dwarf2out_do_frame): Move outside of #ifdefs.
3000         * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
3001         opcodes.
3002
3003         * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
3004         * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
3005         * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
3006         * sparc/sun4gas.h: New file.
3007         * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
3008
3009         * collect2.c (write_c_file_stat, write_c_file_glob): Declare 
3010         __register_frame_table and __deregister_frame.
3011
3012 1997-09-15  Brendan Kehoe  <brendan@cygnus.com>
3013
3014         * except.c (find_exception_handler_labels): Use xmalloc instead of
3015         alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
3016         in some cases.
3017
3018 Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
3019
3020         * Makefile.in: Various changes to build info files
3021         in the object tree rather than the source tree.
3022
3023 Sun Sep 14 12:24:30 1997  Jeffrey A Law  (law@cygnus.com)
3024
3025         * fixinc.math: New file to fix math.h on some systems.
3026         * configure.in (freebsd, netbsd): Use fixinc.math on these
3027         systems.
3028         * configure: Rebuilt.
3029
3030 Sun Sep 14 11:11:05 1997  Jeffrey A Law  (law@cygnus.com)
3031
3032         * regmove.c (regmove_optimize): If we end up moving the
3033         original insn due to lifetime overlaps, make sure to move
3034         REG_NOTES too.
3035
3036 Sat Sep 13 15:51:11 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3037
3038         * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
3039
3040 Sat Sep 13 12:57:26 1997  Jeffrey A Law  (law@cygnus.com)
3041
3042         * haifa-sched.c (add_branch_dependences): Make each insn in
3043         a SCHED_GROUP_P block explicitly depend on the previous insn.
3044
3045 Fri Sep 12 13:49:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
3046
3047         * except.h: Prototype dwarf2 hooks.
3048         * expr.c: Adjust.
3049
3050 Thu Sep 11 17:43:55 1997  Jim Wilson  <wilson@cygnus.com>
3051
3052         * configure.in (native_prefix): Delete.
3053         (mips-dec-netbsd): Don't set prefix.
3054         (*linux*): Don't set prefix.
3055
3056 Thu Sep 11 15:48:32 1997  Fred Fish  <fnf@ninemoons.com>
3057
3058         * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
3059         defined.  If not defined, include <sys/varargs.h> if
3060         HAVE_SYS_VARARGS_H is defined.
3061         * configure.in: Test for varargs.h and sys/varargs.h.
3062         * configure: Regenerate with autoconf.
3063         * config.in: Regenerate with autoheader.
3064
3065         * cpplib.c (quote_string): Cast first arg of sprintf call
3066         from "unsigned char *" to "char *".
3067         (output_line_command): Ditto.
3068         (macroexpand): Ditto.
3069         (do_line): Cast atoi arg from "unsigned char *" to "char *".
3070
3071 Wed Sep 10 21:37:30 1997  Jeffrey A Law  (law@cygnus.com)
3072
3073         * version.c: Bump for snapshot.
3074
3075         * Makefile.in (compare): Exit with nonzero status if there
3076         are comparison failures.  Note which files failed the
3077         comparison test in .bad_compare.
3078
3079 Wed Sep 10 17:05:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3080
3081         * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
3082
3083 Wed Sep 10 16:37:28 1997  Fred Fish  <fnf@ninemoons.com>
3084
3085         * Makefile.in (LN, LN_S): New macros, use where appropriate.
3086         * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
3087         * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
3088         * configure: Regenerated.
3089
3090 Thu Sep 11 11:09:43 1997  Jeffrey A Law  (law@cygnus.com)
3091
3092         * loop.c (strength_reduce): Fix typo.
3093
3094 Wed Sep 10 16:01:15 1997  Jim Wilson  <wilson@cygnus.com>
3095
3096         * m88k/m88k.c (struct option): Rename to struct options.
3097         * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
3098         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
3099         * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
3100         __DOLPHIN__ or sysV88.
3101
3102 Wed Sep 10 14:58:40 1997  Jim Wilson  <wilson@cygnus.com>
3103
3104         * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
3105         create new subreg.
3106
3107 Wed Sep 10 15:19:22 1997  Jeffrey A Law  (law@cygnus.com)
3108
3109         * config.sub: Accept 'amigados' for backward compatability.
3110
3111 Wed Sep 10 14:05:08 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3112
3113         * Makefile.in (testsuite/site.exp): New target.
3114         (check-gcc, check-g++): Depend on testsuite/site.exp.
3115         Don't stop for failure.
3116
3117 Wed Sep 10 12:59:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
3118
3119         * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
3120         if DWARF2_UNWIND_INFO.
3121
3122 Wed Sep 10 11:49:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
3123
3124         Add support for exception handling using DWARF 2 frame unwind info.
3125         Currently works on SPARC and MIPS, and almost on x86.
3126         
3127         * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
3128         next_stack_level, in_reg_window): Helper fns.
3129         (__throw): Implement for DWARF2_UNWIND_INFO.
3130
3131         * expr.c (expand_builtin): Handle builtins used by __throw.
3132         * tree.h (enum built_in_function): Add builtins used by __throw.
3133         * c-decl.c (init_decl_processing): Declare builtins used by __throw.
3134         * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
3135         * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
3136         (expand_builtin_extract_return_addr): Likewise.
3137         (expand_builtin_frob_return_addr): Likewise.
3138         (expand_builtin_set_return_addr_reg): Likewise.
3139         (expand_builtin_eh_stub): Likewise.
3140         (expand_builtin_set_eh_regs): Likewise.
3141         (eh_regs): Choose two call-clobbered registers for passing back values.
3142
3143         * frame.c, frame.h: New files for parsing dwarf 2 frame info.
3144         * Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
3145         (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
3146         (stmp-multilib): Likewise.
3147         ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
3148
3149         * except.c: #include "defaults.h".
3150         (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
3151         (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
3152         (register_exception_table_p): New fn.
3153         (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
3154         (end_eh_unwinder): Likewise.
3155
3156         * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP, 
3157         call __register_frame and __deregister_frame as needed.
3158         * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
3159         * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
3160         EH_FRAME_SECTION_ASM_OP.
3161         * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
3162         * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
3163         (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
3164
3165         * dwarf2out.c (output_call_frame_info): If no support for
3166         EXCEPTION_SECTION, mark the start of the frame info with a
3167         collectable tag.
3168         * collect2.c (frame_tables): New list.
3169         (is_ctor_dtor): Recognise frame entries.
3170         (scan_prog_file): Likewise.
3171         (main): Pass -fno-exceptions to sub-compile.  Also do collection
3172         if there are any frame entries.
3173         (write_c_file_stat): Call __register_frame_table and
3174         __deregister_frame as needed.
3175         (write_c_file_glob): Likewise.
3176
3177         * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.  
3178         Also require unaligned reloc support.
3179         * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3180         UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
3181         * sparc/sysv4.h: Not here.
3182
3183         * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
3184         * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
3185         (dwarf2out_finish): Don't call dwarf2out_frame_finish.
3186
3187         * libgcc2.c (L_eh): Reorganize, moving code shared by different
3188         EH implementations to the top.
3189         (find_exception_handler): Split out.  Start from 0.  Compare against
3190         end with >=.
3191         (__find_first_exception_table_match): Use it.
3192         * except.c (output_exception_table): Don't do anything if there's
3193         no table.  Don't output a first entry of zeroes.
3194         (eh_outer_context): Adjust properly.
3195         (add_eh_table_entry): Use xrealloc.
3196         * toplev.c (compile_file): Just call output_exception_table.
3197
3198 Wed Sep 10  11:30:36 1997  Jason Merrill  <jason@cygnus.com>
3199
3200         * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
3201
3202 Wed Sep 10 08:17:10 1997  Torbjorn Granlund  <tege@pdc.kth..se>
3203
3204         * except.c (eh_outer_context): Do masking using expand_and.
3205
3206 Wed Sep 10 01:38:30 1997  Doug Evans  <dje@cygnus.com>
3207
3208         Add port done awhile ago for the ARC cpu.
3209         * arc/arc.h: New file.
3210         * arc/arc.c: New file.
3211         * arc/arc.md: New file.
3212         * arc/initfini.c: New file.
3213         * arc/lib1funcs.asm: New file.
3214         * arc/t-arc: New file.
3215         * arc/xm-arc.h: New file.
3216         * ginclude/va-arc.h: New file.
3217         * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
3218         * ginclude/varargs.h: Likewise.
3219         * Makefile.in (USER_H): Add va-arc.h.
3220         * configure.in (arc-*-elf*): Recognize.
3221         * longlong.h: Add ARC support.
3222
3223 Wed Sep 10 01:32:54 1997  Jeffrey A Law  (law@cygnus.com)
3224
3225         * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
3226         when clearing non-BLKmode data.
3227
3228 Wed Sep 10 00:29:29 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3229
3230         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
3231         * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
3232
3233         * xm-m88k.h (USG): Only define if it hasn't already been defined.
3234
3235         * Makefile.in (risky-stage1): Delete gratutious whitespace.
3236
3237         * Makefile.in (clean): Delete libgcc1-test.
3238
3239         * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
3240
3241 Tue Sep  9 17:07:36 1997  Stan Cox  <coxs@dg-rtp.dg.com>
3242
3243         * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
3244         template.
3245
3246 Tue Sep  9 09:50:02 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3247
3248         * dwarf2out.c (output_call_frame_info): Call named_section.
3249
3250 Tue Sep  9 09:12:17 1997  Jeffrey A Law  (law@cygnus.com)
3251
3252         * haifa-sched.c (print_value): Fix last change.
3253
3254 Tue Sep  9 01:30:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
3255
3256         * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
3257         write_symbols.
3258
3259 Mon Sep  8 16:32:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
3260
3261         * mips.c (function_prologue): Set up the CFA when ABI_32.
3262
3263         * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
3264         for dwarf2 unwind info.
3265         (output_function_prologue, sparc_flat_output_function_prologue): Same.
3266
3267         * final.c (final_end_function): Check dwarf2out_do_frame instead
3268         of DWARF2_DEBUG for dwarf2 unwind info.
3269         (final_scan_insn): Likewise.
3270         (final_start_function): Likewise.  Initialize dwarf2 frame debug here.
3271         (final): Not here.
3272
3273         * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
3274         count > 0.
3275
3276         * varasm.c (exception_section): Check EXCEPTION_SECTION first.
3277
3278 Mon Sep  8 15:15:11 1997  Nick Clifton  <nickc@cygnus.com>
3279
3280         * v850.h (ASM_SPEC): Pass on target processor.
3281         (CPP_PREDEFINES): Only define if not already specified.
3282         (TARGET_VERSION): Only define if not already specified.
3283         (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
3284         processor.
3285         (EXTRA_SWITCHES): Extra entries in the switches array.
3286         (TARGET_DEFAULT): Set default target processor.
3287
3288 Mon Sep  8 18:26:35 1997  Jim Wilson  <wilson@cygnus.com>
3289
3290         * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
3291         cases, add %# and %/, and add : to make them into extended asms.
3292
3293 Sun Sep  7 23:57:50 1997  Weiwen Liu  <liu@hepunix.physics.yale.edu>
3294
3295         * alias.c (init_alias_analysis): Clean up incompatible pointer
3296         type warning in bzero.
3297         * regmove.c (regmove_optimize): Ditto.
3298         * haifa-sched.c (find_rgns): Ditto.
3299
3300         * haifa-sched.c (print_value): Clean up ptr->int cast
3301         warnings.
3302
3303 Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>
3304
3305         * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
3306         * install.texi (Configurations): Ditto.
3307         * config.sub: Ditto.
3308
3309 Sun Sep  7 22:56:56 1997  Weiwen Liu  (liu@hepvms.physics.yale.edu)
3310
3311         * Makefile.in (sdbout.o): Depend on insn-config.h.
3312
3313 Sun Sep  7 18:44:50 1997  Jim Wilson  <wilson@cygnus.com>
3314
3315         * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
3316         For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
3317
3318 Sun Sep  7 18:30:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
3319
3320         * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
3321         prologue insn, only the first elt is significant.
3322         (output_call_frame_info): For exception handling, always use 4-byte
3323         fields as specified by the dwarf2 spec.
3324         Don't skip trivial FDEs.
3325
3326 Sun Sep  7 14:19:39 1997  Jeffrey A Law  (law@cygnus.com)
3327
3328         * version.c: Bump for snapshot.
3329
3330 Sun Sep  7 14:17:36 1997  Torbjorn Granlund  (tege@pdc.kth.se)
3331
3332         * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
3333         for negative constants.  Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
3334         when op1_is_pow2.
3335
3336 Sun Sep  7 13:46:46 1997  Jeffrey A Law  (law@cygnus.com)
3337
3338         * final.c (shorten_branches): During first pass, assume worst
3339         possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
3340
3341         * Makefile.in (distclean): Remove various things left around
3342         by running the testsuite.
3343
3344 Sun Sep  7 13:16:06 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3345
3346         * configure.in (out_file): Emit definition to config.status in order
3347         to have a defined value for configure.lang.
3348         * configure: Re-built.
3349
3350 Sun Sep  7 09:59:08 1997  Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
3351
3352         * configure.in: Make symlink to as-new rather than as.new.  Similarly
3353         for ld-new.
3354         * configure: Rebuilt.
3355
3356 Fri Sep  5 16:54:55 1997  Jim Wilson  <wilson@cygnus.com>
3357
3358         * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
3359
3360 Fri Sep  5 16:16:44 1997  Christian Kuehnke  <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
3361
3362         * sparc/sparc.md: Add ultrasparc scheduling support.
3363         * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
3364
3365 Fri Sep  5 14:04:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
3366
3367         * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
3368         as initial value for real_label_map.
3369         (copy_for_inline): Likewise.
3370
3371 Fri Sep  5 13:36:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
3372
3373         * sched.c (update_flow_info) When looking if to set found_split_dest
3374         or found_orig_dest, look at all parts of a PARALLEL.
3375         * haifa-sched.c (update_flow_info): Likewise.
3376
3377 Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
3378
3379         * v850: New directory for v850 port.
3380         * v850/lib1funcs.asm: New file.
3381         * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
3382         * ginclude/va-v850.h: New file.
3383         * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
3384         * configure.in (mn10200-*-*): New target.
3385         * configure: Rebuilt.
3386         * config.sub: Handle v850-elf.
3387         * Makefile.in (USER_H): Add va-mn10200.h. 
3388         * invoke.texi: Document v850 stuff.
3389
3390 Fri Sep  5 09:37:50 1997  Jim Wilson  (wilson@cygnus.com)
3391
3392         * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
3393         has integer TYPE_{MAX,MIN}_VALUE before using them.
3394
3395         * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
3396         __HPUX_ASM__ versions.
3397
3398 Fri Sep  5 09:08:44 1997  Jeffrey A Law  (law@cygnus.com)
3399
3400         * install.sh: Delete duplicate install script.
3401
3402 Thu Sep  4 23:14:27 1997  Stan Cox  (coxs@dg-rtp.dg.com)
3403
3404         * reg-stack.c (subst_stack_regs): Pop the stack register for a
3405         computed goto which sets the same stack register.
3406
3407         * reg-stack.c (compare_for_stack_reg): Swap only if the source and
3408         destination are both on the regstack.
3409         (subst_stack_regs_pat): Put the destination at the top of the regstack.
3410
3411 Thu Sep  4 15:02:27 1997  Jim Wilson  <wilson@cygnus.com>
3412
3413         * mips.md (nonlocal_goto_receiver): Define.
3414
3415         * profile.c (output_arc_profiler): Check next_insert_after for non
3416         NULL before deferencing it.
3417
3418         * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
3419
3420 Thu Sep  4 14:51:57 1997  Jeffrey A Law  (law@cygnus.com)
3421
3422         * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
3423
3424 Thu Sep  4 15:01:49 1997  Michael Meissner  <meissner@cygnus.com>
3425
3426         * toplev.c (rest_of_compilation): For passes starting with
3427         flow_analysis, use print_rtl_with_bb instead of print_rtl.
3428
3429         * print-rtl.c (print_rtl_single): Print a single rtl value to a
3430         file.
3431
3432         * flow.c (print_rtl_with_bb): Print which insns start and end
3433         basic blocks.  For the start of a basic block, also print the live
3434         information.
3435
3436 Thu Sep  4 11:51:43 1997  Jim Wilson  <wilson@cygnus.com>
3437
3438         * toplev.c (main): Change #elif to #else/#ifdef
3439
3440         * tlink.c: Include ctype.h.
3441         * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
3442
3443 Thu Sep  4 11:17:16 1997  Mikeael Meissner  (meissner@cygnus.com)
3444
3445         * bitmap.c: Conditionally include stdlib.h.
3446         (free): Provide a declaration if NEED_DECLARATION_FREE.
3447
3448 Thu Sep  4 09:58:53 1997  Joel Sherrill  (joel@OARcorp.com)
3449
3450         * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
3451
3452 Thu Sep  4 09:53:20 1997  Jim Wilson  (wilson@cygnus.com)
3453
3454         * profile.c (output_arc_profiler): Verify next_insert_after is an
3455         INSN before and after skipping a stack pop.
3456
3457 Thu Sep  4 07:39:19 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
3458
3459         * final.c (shorten_branches): Don't count the lengths of deleted
3460         instructions.
3461
3462 Thu Sep  4 09:43:01 1997  Jeffrey A Law  (law@cygnus.com)
3463
3464         * version.c: Bump for snapshot.
3465
3466 Thu Sep  4 11:04:21 1997  Michael Meissner  <meissner@cygnus.com>
3467
3468         * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
3469         two bitmaps ANDed together.
3470         (bitmap_print): Declare.
3471
3472         * bitmap.c (function_obstack): Don't declare any more.
3473         (bitmap_obstack): Obstack for allocating links from.
3474         (bitmap_obstack_init): New static to say whether to initialize
3475         bitmap_obstack.
3476         (bitmap_element_allocate): Use bitmap_obstack to allocate from.
3477         (bitmap_release_memory): Free all memory allocated from
3478         bitmap_obstack.
3479
3480         * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
3481         EXECUTE_IF_AND_IN_BITMAP.
3482
3483 Wed Sep  3 10:39:42 1997  Jim Wilson  <wilson@cygnus.com>
3484
3485         * alias.c (true_dependence): Address with AND can alias scalars.
3486         (anti_dependence, output_dependence): Likewise.
3487         
3488         * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
3489
3490 Wed Sep  3 09:28:50 CDT 1997  Joel Sherrill (joel@OARcorp.com)
3491
3492         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
3493           mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
3494           sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
3495           definitions.  Use -qrtems instead of -mrtems.
3496
3497 Wed Sep  3 09:05:41 1997  Robert Lipe  (robert@dgii.com)
3498
3499         * xm-sco5.h (sys_siglist): Define.
3500         (SYS_SIGLIST_DECLARED): Likewise.
3501
3502 Tue Sep  2 23:33:33 1997  Jeffrey A Law  (law@cygnus.com)
3503
3504         * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
3505
3506 Wed Sep  3 02:09:30 1997  Torbjorn Granlund  <tege@pdc.kth..se>
3507
3508         * except.c (eh_outer_context): Expand masking operation using
3509         expand_binop.
3510
3511 Tue Sep  2 18:09:39 1997  Jim Wilson  <wilson@cygnus.com>
3512
3513         * alpha.md (floatdisf2-1): New pattern.
3514
3515 Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
3516
3517         * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
3518         * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
3519         * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
3520         * gcc.texi: Note that if you define sys_siglist that you should
3521         also define SYS_SIGLIST_DECLARED.
3522
3523         * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
3524         are relative to the next instruction, not the current instruction.
3525
3526 Tue Sep  2 14:22:43 1997  Jim Wilson  <wilson@cygnus.com>
3527
3528         * local-alloc.c (contains_replace_regs): New function.
3529         (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
3530         verify that there is no existing REG_EQUIV note, and add a call to
3531         contains_place_regs.
3532
3533 Tue Sep  2 12:48:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3534
3535         * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
3536         (STARTFILE_SPEC): Always use crtbegin.o%s
3537         (ENDFILE_SPEC): Always use crtend.o%s.
3538
3539 Tue Sep  2 12:00:36 1997  Jim Wilson  <wilson@cygnus.com>
3540
3541         * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
3542         is passed in.
3543         * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
3544         SFmode for 64 bit hosts.
3545         
3546 Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  <hilfingr@CS.Berkeley.EDU>
3547
3548         * fixincludes: Permits spaces between # and define.  Discard C++
3549         comments in sys/pci.h on HP/UX 10.20.
3550
3551 Mon Sep  1 22:13:18 1997  Jeffrey A Law  (law@cygnus.com)
3552
3553         * version.c: Bump for snapshot.
3554
3555         * pa.c (restore_unscaled_index_insn_codes): New function.
3556         (record_unscaled_index_insn_codes): Likewise.
3557         (output_function_prologue): Call restore_unscaled_index_insn_codes.
3558         (output_function_epilogue): Free memory for unscaled_index_insn_codes.
3559         (pa_reorg): Call record_unscaled_index_insn_codes.
3560
3561         * haifa-sched.c (move_insn): Handle notes correctly for insns
3562         with SCHED_GROUP_P set.
3563         
3564 Mon Sep  1 16:58:57 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3565
3566         * alpha/xm-linux.h (USE_BFD): Undef before define.
3567
3568 Mon Sep  1 16:25:34 1997  Jim Wilson  <wilson@cygnus.com>
3569
3570         * cse.c (cse_insn): Don't record BLKmode values.
3571
3572 Mon Sep  1 11:25:47 1997  Stephen Williams  (steve@icarus.icarus.com)
3573
3574         * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
3575
3576 Mon Sep  1 08:29:46 1997  Jeffrey A Law  (law@cygnus.com)
3577
3578         * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
3579         * collect2.c (sys_errlist): Likewise.
3580         * cpplib.c (sys_errlist): Likewise.
3581         * gcc.c (sys_errlist): Likewise.
3582         * protoize (sys_errlist): Likewise.
3583         * configure.in: Check for strerror.
3584         * xm-freebsd.h (HAVE_STRERROR): Remove definition.
3585         * xm-gnu.h (HAVE_STRERROR): Likewise.
3586         * xm-linux.h (HAVE_STRERROR): Likewise.
3587         * xm-netbsd.h (HAVE_STRERROR): Likewise.
3588         * xm-bsd386.h (HAVE_STRERROR): Likewise.
3589         * xm-cygwin32.h (HAVE_STRERROR): Likewise.
3590         * xm-dos.h (HAVE_STRERROR): Likewise.
3591         * xm-mingw32.h (HAVE_STRERROR): Likewise.
3592         * xm-pa.h (HAVE_STRERROR): Likewise.
3593         * xm-papro.h (HAVE_STRERROR): Likewise.
3594         * xm-sysv4.h (HAVE_STRERROR): Likewise.
3595         * configure, config.in: Rebuilt.
3596
3597         * Makefile.in: Add several missing "else true" clauses.
3598
3599         * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
3600         * mips-tfile.c: Likewise.
3601         * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
3602         * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
3603         * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
3604         * configure.in: Check for sys_siglist declaration.
3605         * configure, config.in: Rebuilt.
3606
3607 Mon Sep  1 08:04:07 1997  Joel Sherrill (joel@OARcorp.com)
3608
3609         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, 
3610         m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
3611         sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
3612         * i960/i960.h: Added SUBTARGET_SWITCHES macro.
3613         * rs6000/sysv4.h (extra_subtarget_switches): Added new
3614         macro EXTRA_SUBTARGET_SWITCHES.
3615         * configure.in (sh*-*-rtems*): New target.
3616         * sh/rtems.h: New file.
3617         * sh/sh.h: Added SUBTARGET_SWITCHES macro.
3618         * configure: Rebuilt.
3619
3620 Sat Aug 30 22:54:26 1997  Jim Wilson  <wilson@cygnus.com>
3621
3622         * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
3623
3624 Sat Aug 30 10:49:46 1997  David Edelsohn  <edelsohn@mhpcc.edu>
3625
3626         * rs6000.md: Make DF fused-add operations pay attention to
3627         -mno-fused-add.
3628
3629 Fri Aug 29 19:19:54 1997  Jim Wilson  <wilson@cygnus.com>
3630
3631         * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
3632
3633 Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
3634
3635         * pa.md (reload_peepholes): Make sure operand is a REG before
3636         examining REGNO.  Allow general registers too.
3637
3638 Fri Aug 29 11:42:04 1997  Jim Wilson  <wilson@cygnus.com>
3639
3640         * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
3641
3642 Fri Aug 29 09:33:20 1997  Philipp Thomas  (kthomas@lxi165.gwdg.de)
3643
3644         * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
3645         to reallocate abbrev_die_table.
3646
3647 Thu Aug 28 15:14:46 1997  Jim Wilson  <wilson@cygnus.com>
3648
3649         * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
3650
3651 1997-08-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3652
3653         * Makefile.in (config.status): Depend on version.c
3654
3655         * expr.h (insn_gen_function): Reenable prototype.
3656
3657         * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
3658         first parameter.
3659
3660 Thu Aug 28 13:01:43 1997  Jim Wilson  <wilson@cygnus.com>
3661
3662         * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
3663
3664 Thu Aug 28 07:03:15 1997  Jeffrey A Law  (law@cygnus.com)
3665
3666         * version.c: Bump for latest snapshot.
3667
3668         * bc-optab.c: Conditionally include stdlib.h.
3669         (free): Provide a declaration if NEED_DECLARATION_FREE.
3670         * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
3671         * rtl.h (free): Remove declaration.
3672         * tree.h (free): Remvoe declaration.
3673
3674         * configure: Rebuilt.
3675
3676 Wed Aug 27 21:32:20 1997  Jeffrey A Law  (law@cygnus.com)
3677
3678         * flags.h (flag_move_all_movables): Declare.
3679         (flag_reduce_all_givs): Likewise.
3680         * loop.c (move_movables): Handle flag_move_all_movables.
3681         (strength_reduce): Handle flag_reduce_all_givs.
3682         * toplev.c (flag_move_all_movables): Define.
3683         (flag_reduce_all_givs): Likewise.
3684         (f_options): Add -fmove-all-movables and -freduce-all-givs.
3685         * invoke.texi: Document new options, including alias stuff that
3686         wasn't included last time.
3687
3688 Wed Aug 27 18:08:51 1997  Bob Manson  (manson@cygnus.com)
3689
3690         * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
3691         * t-mn10200: Ditto.
3692         * t-vxsparc: Ditto.
3693         * t-vxworks68: Ditto.
3694         * t-vxworks960: Ditto.
3695         * t-vx29k: Ditto.
3696
3697 Wed Aug 27 16:35:29 1997  Richard Henderson  <rth@cygnus.com>
3698
3699         * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
3700         if not already defined, and USE_C_ALLOCA not defined.
3701
3702 Wed Aug 27 16:08:43 1997  Jim Wilson  <wilson@cygnus.com>
3703
3704         * config.guess: Replace with script that uses ../config.guess.
3705
3706         * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
3707         if USE_GNULIBC_1 is not defined.
3708
3709 Wed Aug 27 15:49:12 1997  Richard Henderson  <rth@cygnus.com>
3710
3711         * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
3712         * config.guess: Recognize alpha-linux-gnulibc1.
3713         * configure.in (alpha-*-linux-gnulibc1): New target.
3714         (alpha-*-linux-gnu*): Don't build crtbegin/end.
3715
3716 Wed Aug 27 11:52:58 1997  Jim Wilson  <wilson@cygnus.com>
3717
3718         * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
3719         last change.
3720
3721 Wed Aug 27 01:56:18 1997  Doug Evans  <dje@seba.cygnus.com>
3722
3723         * loop.c (combine_movables): Earlier insns don't match later ones.
3724
3725 Wed Aug 27 01:24:25 1997  H.J. Lu   (hjl@gnu.ai.mit.edu)
3726
3727         * config/linux.h (CC1_SPEC): Define it only if not defined.
3728
3729         * config/m68k/linux.h (CC1_SPEC): Undefine it before include
3730         <linux.h>
3731
3732         * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
3733         USE_GNULIBC_1 is not defined.
3734
3735         * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New.  Defined as 1.
3736
3737         * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
3738         as 1 if USE_GNULIBC_1 is not defined.
3739
3740 Wed Aug 27 00:49:14 1997  Jeffrey A Law  (law@cygnus.com)
3741
3742         * reorg.c (dbr_schedule): Allow current_function_return_rtx
3743         to be something other than a REG.
3744         * function.c (expand_function_end): Fix current_function_return_rtx
3745         if it was a pseudo.
3746
3747         * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
3748         * x-netbsd: Likewise
3749         * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
3750         (INSTALL_HEADERS): Delete.
3751         * x-dguxbcs: Likewise.
3752         * x-hp3bsd44: Likewise
3753         * x-pa: Likewise.
3754
3755 Wed Aug 27 00:30:00 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
3756
3757         * i386.md (pop): pop increments the stack pointer.
3758         (prologue_set_stack_ptr): New pattern.
3759         * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
3760         instead of subsi3.
3761
3762 Tue Aug 26 18:50:32 1997  Jim Wilson  <wilson@cygnus.com>
3763
3764         * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
3765         address where an offsettable address is required.
3766
3767 Tue Aug 26 17:54:56 1997  Michael P. Hayes  (michaelh@ongaonga.chch.cri.nz>
3768
3769         * loop.c (check_final_value): Don't miss a biv increment in a
3770         parallel.
3771
3772 Tue Aug 26 12:03:49 1997  Jim Wilson  (wilson@cygnus.com)
3773
3774         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
3775         TYPE_DECL_IS_STUB instead of DECL_NAME.
3776
3777 Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3778
3779         * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
3780
3781 Mon Aug 25 23:27:10 1997  Jim Meyering <meyering@eng.ascend.com>
3782
3783         * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
3784
3785 Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
3786
3787         * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
3788         (find_post_sched_live): Likewise.
3789
3790         * haifa-sched.c (schedule_block): Remove old code to get arguments
3791         from hard regs into pseudos early.
3792
3793 Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
3794
3795         * version.c: Bump for new snapshot.
3796
3797         * local-alloc.c (update_equiv_regs): All the target to reject
3798         promotion of some REG_EQUAL to REG_EQUIV notes.
3799         * pa.h (DONT_RECORD_EQUIVALENCE): Define.
3800
3801         * pa.c (secondary_reload_class): (mem (mem ... )) does not need
3802         secondary reloads.
3803
3804         * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
3805         store of the argument registers.
3806
3807 Mon Aug 25 08:39:02 1997  Craig Burley  (burley@gnu.ai.mit.edu)
3808
3809         * fold-const.c (multiple_of_p): New function.
3810         (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
3811
3812 Mon Aug 25 01:47:41 1997  Jeffrey A Law  (law@cygnus.com)
3813
3814         * expr.h (insn_gen_function): Temporarily remove prototype.
3815
3816 Sun Aug 24 17:22:21 1997  Jim Wilson  <wilson@cygnus.com>
3817
3818         * Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
3819         filenames.  Use sed to extract base filename for install.
3820
3821 Sat Aug 23 18:19:40 1997  John F. Carr  <jfc@mit.edu>
3822
3823         * unroll.c (find_splittable_givs): Only share if two givs have the
3824         same add and multiply values.
3825
3826 Sat Aug 23 14:36:27 1997  Jim Wilson  <wilson@cygnus.com>
3827
3828         * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
3829         * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
3830
3831 Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
3832
3833         * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
3834         around branch tables.
3835         * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
3836         and .end_brtab directives if TARGET_GAS.
3837
3838 Fri Aug 22 14:05:55 1997  Jim Wilson  <wilson@cygnus.com>
3839
3840         * alias.c (true_dependence): Pass x_addr not x to varies.
3841
3842         * acconfig.h (NEED_DECLARATION_CALLOC): Add.
3843         * configure.in: Add GCC_NEED_DECLARATION call for calloc.
3844         * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
3845         declarations.
3846         * config.in, configure: Regenerate.
3847
3848 Thu Aug 21 23:52:16 1997  John F. Carr  <jfc@mit.edu>
3849
3850         * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
3851         LO_SUM.
3852         (record_set): Handle LO_SUM like PLUS.
3853         (init_alias_analysis): When following chains of base addresses,
3854         do not stop on reaching a hard register.
3855
3856 Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
3857
3858         * version.c: Bump for new snapshot.
3859
3860 Thu Aug 21 17:28:00 1997  Jim Wilson  <wilson@cygnus.com>
3861
3862         * alpha.h (ARCH_ASM_FILE_START): Define.
3863         (ASM_FILE_START): Use ARCH_ASM_FILE_START.
3864         * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
3865
3866 Thu Aug 21 10:22:19 1997  Jeffrey A Law  (law@cygnus.com)
3867
3868         * Makefile.in (install-common): Put gcov comment at start of line.
3869
3870 Wed Aug 20 22:47:33 1997  Jeffrey A Law  (law@cygnus.com)
3871
3872         * alias.c (init_alias_analysis): When simplifying the reg_base_value
3873         array, simplify entries for hard registers too.
3874
3875 Wed Aug 20 12:35:47 1997  Dave Love  <d.love@dl.ac.uk>
3876
3877         * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
3878         list.
3879
3880 Wed Aug 20 11:58:33 1997  Jim Wilson  <wilson@cygnus.com>
3881
3882         * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
3883         block_stack before dereferencing it.
3884
3885 Wed Aug 20 11:57:11 1997  Michael Meissner  <meissner@cygnus.com>
3886
3887         * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
3888
3889 Tue Aug 19 17:10:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
3890
3891         * cplus-dem.c: Add 'extern' to prepends_underscore.
3892
3893 Tue Aug 19 09:34:57 1997  Jeffrey A Law  (law@cygnus.com)
3894
3895         * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
3896         (get_issue_rate): Delete.
3897         * pa.h (ISSUE_RATE): Define.
3898
3899         * configure.in: Turn on haifa by default for the PA.
3900         * configure: Rebuilt.
3901         * pa.c (override_options): Accept -mschedule=7200 option.
3902         (pa_adjust_cost): No longer need to scale costs for newer
3903         processors.
3904         * pa.h (enum processor_type): Add PROCESSOR_7200.
3905         * pa.md: Revamp scheduling parameters to work better with
3906         haifa.  Add scheduling parameters for the 7200.
3907
3908         * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
3909         insns too.
3910         (schedule_block): When adjusting basic_block_{head,end}, account
3911         for movement of SCHED_GROUP_P insns too.
3912
3913         * haifa-sched.c (debug_dependencies): Fix thinko.
3914
3915         * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
3916         (site.exp, check, check-g++, check-gcc): New targets.
3917
3918         * haifa-sched.c: Make lots of variables static.
3919
3920 Tue Aug 19 07:18:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3921
3922         * expr.h, real.h: Finish prototyping.
3923
3924 Mon Aug 18 21:49:02 1997  Jim Wilson  <wilson@cygnus.com>
3925
3926         * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
3927         reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
3928         * reload1.c: Undo bugfix from Aug 11.
3929
3930 Mon Aug 18 17:39:02 1997  Mike Meissner  <meissner@cygnus.com>
3931
3932         * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
3933         quotes around the name.
3934         * configure: Regenerate.
3935
3936 Mon Aug 18 13:46:47 1997  Jim Wilson  <wilson@cygnus.com>
3937
3938         * Makefile.in (stmp-multilib-sub): Fix typo in last change.
3939
3940 Thu Aug  7 10:33:13 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3941
3942         * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
3943         to sub-makes to avoid building more passes than the user might have
3944         requested on the command line.
3945
3946 Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
3947
3948         * configure.in: Expurgate `broken_install' (install is
3949         autoconfed).
3950
3951         * configure.lang: Substitute autoconfed ${INSTALL} (not currently
3952         relevant).
3953
3954 Sat Aug 16 01:08:12 1997  Jeffrey A Law  (law@cygnus.com)
3955
3956         * loop.c (is_power_of_2, is_conditional_branch): Delete unused
3957         functions and declarations.
3958         (analyze_loop_iterations): Use condjump_p.
3959         (insert_bct): Likewise.  Use exact_log2.
3960         
3961 Fri Aug 15 23:48:32 1997  Jeffrey A Law  (law@cygnus.com)
3962
3963         * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
3964         (schedule_region): Likewise.
3965         (schedule_insns): Likewise.
3966
3967         * PROJECTS: Update with Haifa stuff.
3968
3969 Fri Aug 15 12:49:56 1997  Jeffrey A Law  (law@cygnus.com)
3970
3971         * version.c: Change the version string to look like:
3972         egcs-2.90.00 970814 (gcc2-970802 experimental).
3973
3974         * loop.c (is_conditional_branch): Make definition match declaration.
3975
3976         * gcc.c: Take out experimental snapshot warning message.
3977
3978 Fri Aug 15 13:43:39 1997  Michael Meissner  <meissner@cygnus.com>
3979
3980         * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
3981         print out the names of the notes.  Print out the name of the insn
3982         that is not a note, and not an {,CALL_,JUMP_}INSN.
3983
3984 Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
3985
3986         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
3987         again for the slot after we give it RTL.
3988
3989 Wed Aug 13 01:03:37 1997  Doug Evans  <dje@canuck.cygnus.com>
3990
3991         * configure.in (haifa configury): Fix typo.
3992         * configure: Regenerate.
3993
3994 Tue Aug 12 10:20:36 1997  Jeffrey A Law  (law@cygnus.com)
3995
3996         * version.c: Bump version to "gcc-3.0.0 970802 experimental".
3997
3998         * gcc.info*: Rebuilt.
3999
4000         * COPYING.g77, README.g77: New files.
4001         * real.c (ereal_unto_float, ereal_unto_double): New functions.
4002         * real.h (ereal_unto_float, ereal_unto_double): Declare them.
4003         (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
4004
4005 Mon Aug 11 14:50:55 1997  Jeffrey A Law  (law@cygnus.com)
4006
4007         * Integrate Haifa instruction scheduler.
4008         * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS.  Prefix all references
4009         to sched with $(SCHED_CFLAGS.
4010         * configure.in: Handle --enable-haifa.
4011         * configure: Rebuilt.
4012         * flags.h: Add new flags for haifa instruction scheduler.
4013         * genattrtab.c (expand_units): For haifa, don't subtract one
4014         when computing blockage.
4015         * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
4016         (flag_schedule_speculative): Ditto.
4017         (flag_schedule_speculative_load): Ditto.
4018         (flag_schedule_speculative_load_dangerous): Ditto.
4019         (flag_schedule_reverse_before_reload): Ditto.
4020         (flag_schedule_reverse_after_reload): Ditto.
4021         (flag_branch_on_count_reg): Ditto.
4022         (f_options): Add Haifa switches.
4023         (main): Turn off some Haifa options if appropriate macro is
4024         defined.  Process Haifa switches.
4025         * unroll.c (iteration_info): No longer static, since Haifa
4026         scheduler uses it.
4027         (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
4028         * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
4029         * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
4030         * loop.h (loop_initial_value,loop_unroll_iter): New globals.
4031         * loop.c (loop_optimize): If HAIFA is defined, allocate additional
4032         storage for the Haifa scheduler.
4033         (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
4034         LABEL_NEXTREF.
4035         (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
4036         are defined, call analyze_loop_iterations and insert_bct to use
4037         countdown loops.
4038         (record_giv): Refine test for jumps out of loops if HAIFA is
4039         defined.
4040         (analyze_loop_iterations): New function to identify if we can use
4041         a countdown loop.
4042         (insert_bct): Insert countdown loop.
4043         (instrument_loop_bct): Low level code to insert countdown loop.
4044         (loop_number): Calculate UID of loop.
4045         (indirect_jump_in_function_p): Return true if an indirect jump is
4046         in the function.
4047         (is_power_of_2): Return true if value is a power of 2.
4048         (is_conditional_branch): Return true if insn is a conditional
4049         jump.
4050         (fix_bct_param): Process -fbct-{min,max}-N switches.
4051         (check_bct_param): Return true if loop should be instrumented.
4052         * loop.c (loop_initial_value,loop_unroll_iter): New globals.
4053         (loop_optimize): Initialize.
4054         (get_condition_for_loop): Ditto.
4055         * loop.c (strength_reduce): Inside of code that uses #ifdef
4056         HAVE_decrement_and_branch_on_count code, test it to make sure the
4057         condition is true.
4058         (instrument_loop_bct): Ditto.
4059         * haifa-sched.c: New file.
4060         
4061
4062         * Integrate regmove pass.
4063         * Makefile.in (OBJS): Add regmove.o
4064         (regmove.o): Add dependencies.
4065         * flow.c (find_use_as_address): No longer static.
4066         * rtl.h (find_use_as_address): Declare.
4067         * toplev.c (regmove_dump, flag_regmove): Define.
4068         (f_options): Add -fregmove.
4069         (regmove_dump_file, regmove_time): Define.
4070         (fatal_insn): Close the regmove dump file.
4071         (compile_file): Initialize regmove_time; open/close the regmove dump
4072         file as needed.  Print regmove time as needed.
4073         (rest_of_compilation): Run regmove pass if requested, dump
4074         RTL after regmove if requested.
4075         (main): If -O2 or more, turn on regmove.  Handle dump switches.
4076         * regmove.c: New file.
4077         
4078 Mon Aug 11 14:15:02 1997  Jeffrey A Law  (law@cygnus.com)
4079
4080         * Integrate tlink patch from jason@cygnus.com
4081         * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
4082         (process_command): Increment n_switches for them.  Don't discard
4083         their args.  Validate them.
4084         (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
4085         From Rohan Lenard.
4086         (process_command): Set include_prefixes from COMPILER_PATH.
4087         (main): Set COLLECT_GCC_OPTIONS sooner.
4088         * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
4089         * tlink.c, hash.c, hash.h: New files.
4090         * Makefile.in (USE_COLLECT2): Always use collect2.
4091         (collect2): Depend on and link in hash.o and tlink.o.
4092         (tlink.o, hash.o): Add dependencies.
4093
4094 Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
4095
4096         * Integrate alias analysis changes from jfc@mit.edu
4097         * Makefile.in (OBJS): Add alias.o
4098         (alias.o): Add dependencies.
4099         * alias.c: New file.
4100         * sched.c: Remove alias analysis code.  It lives in alias.c now.
4101         (sched_analyze_2): Add new arguments to true_dependence.
4102         (schedule_insns): Always call init_alias_analysis.
4103         * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
4104         mark return value from such functions as a pointer and keep track of
4105         them for alias analysis.  If a return value from a function is a
4106         pointer, mark it as such.
4107         * combine.c (distribute_notes): Handle REG_NOALIAS.
4108         * cse.c (struct write_data): Delete.  No longer needed.
4109         (invalidate): Don't call set_nonvarying_address_components anymore.
4110         Use true_dependence to decide if an entry should be removed from
4111         the hash table.
4112         (invalidate_memory): Remove WRITES argument, simplify appropriately.
4113         Fix all callers.
4114         (note_mem_written): Similarly for WRITE_PTR argument.
4115         (invalidate_from_clobbers): Similarly for W argument.
4116         (invalidate_for_call): Remove memory elements from the hash table.
4117         (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
4118         (cse_rtx_varies_p): New function.  Derived from old
4119         cse_rtx_addr_varies_p.
4120         (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
4121         Don't call note_mem_written anymore.  Stack pushes invalidate the stack
4122         pointer if PUSH_ROUNDING is defined.  No longer need to call
4123         cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
4124         (skipped_writes_memory): Remove variable.
4125         (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
4126         (invalidate_skipped_block): Simplify for new alias analysis code.
4127         (cse_set_around_loop): Likewise.
4128         (cse_main): Call init_alias_analysis.
4129         * flags.h (flag_alias_check, flag_argument_noalias): Declare.
4130         * toplev.c (flag_alias_check, flag_argument_noalias): Define.
4131         (f_options): Add new alias checking arguments.
4132         (main): Set flag_alias_check when optimizing.
4133         * local_alloc (validate_equiv_mem_from_store): Add new arguments
4134         to true_dependence.
4135         (memref_referenced_p): Likewise.
4136         * loop.c (NUM_STORES): Increase to 30.
4137         (prescan_loop): Only non-constant calls set unknown_address_altered.
4138         (invariant_p): Add new arguments to true_dependence.
4139         (record_giv): Initialize unrolled and shared fields.
4140         (emit_iv_add_mult): Call record_base_value as needed.
4141         * loop.h (struct induction): Add unrolled and shared fields.
4142         * unroll.c  (unroll_loop): Call record_base_value as needed.
4143         (copy_loop_body): Likewise.
4144         (final_biv_value): Likewise.
4145         (final_giv_value): Likewise.
4146         (find_splittable_regs): Likewise.  Only create one new pseudo
4147         if we have multiple address GIVs that were combined with the same
4148         dst_reg GIV.  Note when a new register is created due to unrolling.
4149         * rtl.c (reg_note_name): Add REG_NOALIAS.
4150         * rtl.h (enum reg_note): Similarly.
4151         (rtx_varies_p, may_trap_p, side_effects_p): Declare.
4152         (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
4153         (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
4154         (true_dependence, read_dependence, anti_dependence): Likewise.
4155         (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
4156         (mark_user_reg, mark_reg_pointer): Likewise.
4157
4158
4159         * Integrate reload bugfix from Wilon which enables the PA port
4160         to bootstrap again.
4161         * reload1.c (reload): Sum needs for both OPADDR_ADDR and and
4162         OPERAND_ADDRESS when computing how many registers an insn needs.
4163         (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
4164         conflict.
4165         (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
4166         OPADDR_ADDR reload.
4167         (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
4168         in reload_reg_use_in_op_addr do not reach the end.
4169         do not reach the end.
4170         (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
4171         RELOAD_FOR_OPERAND_ADDRESS.
4172
4173 Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
4174
4175         * egcs project officially starts.
4176