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