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