sh.md (attribute "type"): Add nil.
[platform/upstream/gcc.git] / gcc / ChangeLog
1 Tue Nov 18 23:03:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2
3         * sh.md (attribute "type"): Add nil.
4         (movsi_ie): y/y alternative is type nil.
5         (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
6         alternatives.
7         (movsf_ie+1): Delete.
8
9 Tue Nov 18 15:39:59 1997  Jim Wilson  <wilson@cygnus.com>
10
11         * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
12         large_int, emit two insns instead of one splitable insn.
13         * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
14         from cfa_temp_value, use cfa_offset.  Add assert checking that
15         cfa_reg is SP.
16
17 Mon Nov 17 15:35:38 1997  Tom Tromey  <tromey@cygnus.com>
18
19         * cccp.c (deps_output): Properly quote file names for make.
20
21 Mon Nov 17 13:21:40 1997  Jeffrey A Law  (law@cygnus.com)
22
23         * t-h8300 (MULTILIB_EXCEPTIONS): Define.
24
25 Fri Nov  7 15:33:11 1997  Robert Lipe (robertl@dgii.com)
26
27         * i386/sco5.h (HAVE_ATEXIT): Delete definition.
28
29 Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
30
31         * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
32         return.
33         (cse_end_of_basic_block): Similarly.
34  
35 Sun Nov 16 23:01:40 1997  J. Kean Johnston  <jkj@sco.com>
36
37         * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
38         (SELECT_RTX_SECTION): Define.
39         (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
40
41 Sun Nov 16 22:47:03 1997  Manfred Hollstein  <manfred@s-direktnet.de>
42
43         * Makefile.in (compare, compare-lean): Define $stage for each
44         shell command.
45         (gnucompare, gnucompare-lean): Likewise.
46
47 Sun Nov 16 22:02:16 1997  Richard Henderson  (rth@cygnus.com)
48
49         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
50
51         * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
52         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
53
54 Fri Nov 14 09:09:20 1997  Fred Fish  (fnf@cygnus.com)
55
56         * dwarfout.c (byte_size_attribute):  Add local var upper_bound
57         and add case to handle STRING_TYPE.
58         * dwarfout.c (output_string_type_die):  Fix code to generate
59         correct string length attribute for fixed length strings.
60         Still needs support for varying length strings.
61
62 Fri Nov 14 08:46:56 1997  Jeffrey A Law  (law@cygnus.com)
63
64         * toplev.c (get_run_time): Do something sensible for cygwin32.
65
66 Fri Nov 14 07:24:20 1997  Richard Henderson  <rth@cygnus.com>
67
68         * expr.c (expand_builtin_setjmp): Set
69         current_function_has_nonlocal_label.
70         * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
71         call-saved registers across calls.
72
73         * alpha.md (exception_receiver): Remove.
74         (nonlocal_goto_receiver_osf): New
75         (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
76         (nonlocal_goto_receiver): New, select _osf or _vms.
77
78         * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
79         keep them from being propogated to the object file.
80         (alpha_write_linkage): Likewise.
81         * alpha.md (call_vms): Likewise.
82         (call_value_vms): Likewise.
83         (unnamed osf call insns): Likewise.
84
85         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
86         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
87
88         * alpha.c (call_operand): Any reg is valid for WinNT.
89         * alpha.md (call_nt, call_value_nt): Don't force address into $27.
90         (anon nt calls): Add 'R' alternative.
91         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
92         INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
93
94 Fri Nov 14 06:59:33 1997  Jeffrey A Law  (law@cygnus.com)
95
96         * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
97
98         * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
99         * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
100         * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
101
102 Thu Nov 13 20:37:33 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
103
104         * reload1.c (new_spill_reg): Improve fixed or forbidden register
105         spill error message.
106
107 Thu Nov 13 20:29:08 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
108
109         * prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
110         use varargs.h.  Wrap header with <>, not "".
111
112 Thu Nov 13 20:21:17 1997  Jeffrey A Law  (law@cygnus.com)
113
114         * integrate.c (save_for_inline_copying): Add return value from
115         savealloc.
116
117 Thu Nov 13 19:12:33 1997  Brendan Kehoe  <brendan@cygnus.com>
118
119         * fixincludes: Be a little more restrictive on what we will
120         substitute to replace definitions of MAXINT for HPUX.
121
122 Thu Nov 13 18:41:02 1997  Michael Meissner  <meissner@cygnus.com>
123
124         * dbxout.c (dbxout_symbol_location): Don't assume that variables
125         whose address is the stack or argument pointers are indirect
126         pointers.
127
128 1997-11-13  Paul Eggert  <eggert@twinsun.com>                               
129         
130         * cccp.c, cpplib.c (compare_defs):
131         Don't complain about arg name respellings unless pedantic.
132         * cpplib.c (compare_defs): Accept pfile as new arg.              
133         All callers changed.                                               
134
135 Thu Nov 13 23:33:50 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
136
137         * fold-const.c (fold_truthop): Fix bug in last change.
138
139 1997-11-13  Paul Eggert  <eggert@twinsun.com>
140
141         Fix some confusion with IEEE minus zero.
142
143         * real.h (REAL_VALUES_IDENTICAL): New macro.
144
145         * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
146         * fold-const.c (operand_equal_p): Don't consider -0.0 to be
147         identical to 0.0.
148         * tree.c (simple_cst_equal): Don't consider -0.0 to have the
149         same tree structure as 0.0.
150
151         * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
152         macro instead of doing it by hand.
153
154 Thu Nov 13 16:56:14 1997  Jeffrey A Law  (law@cygnus.com)
155
156         * v850/lib1funcs.asm: Minor whitespace changes.
157         * v850.c: Fix minor formatting problems in many places.
158         (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
159
160 Thu Nov 13 12:53:44 1997  Jim Wilson  <wilson@cygnus.com>
161
162         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
163         xplus1 when xplus0 is not a register.
164
165 Thu Nov 13 11:41:42 1997  Jeffrey A Law  (law@cygnus.com)
166
167         * flow.c (find_basic_blocks): During marking phase, if we encounter
168         an insn with a REG_LABEL note, make the target block live and
169         create an edge from the insn to the target block.  Do not make
170         edges from all blocks to the target block.
171
172         * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
173
174         * confiugre.in: Tweak NCR entries.
175         * configure: Rebuilt.
176
177 Thu Nov 13 11:07:41 1997  Michael Meissner  <meissner@cygnus.com>
178
179         * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
180         pick apart floating point values, instead of using CONST_DOUBLE_LOW
181         and CONST_DOUBLE_HIGH.
182
183         * rs6000.md (define_splits for DF constants): Use the appropriate
184         REAL_VALUE_* interface to pick apart DF floating point constants in
185         a machine independent fashion.
186
187 Thu Nov 13 00:06:58 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
188
189         * fold-const.c (fold_truthop): When changing a one-bit comparison
190         against zero into a comparison against mask, do a proper sign
191         extension.
192
193 Wed Nov 12 09:37:01 1997  Jeffrey A Law  (law@cygnus.com)
194
195         * except.c: Do not include "assert.h".
196         (save_eh_status): Turn asserts into conditional aborts.
197         (restore_eh_status, scan_region): Likewise.
198         * dwarfout.c: Do not include "assert.h".
199         (bit_offset_attribute): Turn asserts into conditional aborts.
200         (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
201         (output_inlined_structure_type_die): Likewise.
202         (output_inlined_union_type_die): Likewise
203         (output_tagged_type_instantiation): Likewise.
204         (dwarfout_file_scope_decl): Likewise.
205         * dwarf2out.c: Do not include "assert.h"
206         (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
207         (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
208         (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
209         (add_bit_size_attribute, scope_die_for): Likewise.
210         (output_pending_types_for_scope): Likewise.
211         (get_inlined_enumeration_type_die): Likewise.
212         (get_inlined_structure_type_die): Likewise.
213         (get_inlined_union_type_die, gen_subprogram_die): Likewise.
214         (gen_tagged_type_instantiation_die): Likewise.
215
216         * flow.c (find_basic_blocks): Refine further to get a more correct
217         cfg, especially in the presense of exception handling, computed
218         gotos, and other non-trivial cases.  Call abort if an inaccuracy
219         is detected in the cfg.
220
221 Tue Nov 11 21:47:27 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
222
223         * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
224
225         * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
226         (skip_white_space): Use whitespace_cr.
227         (check_newline): Handle whitespace more consistently.
228
229 Tue Nov 11 16:25:49 1997  Jim Wilson  <wilson@cygnus.com>
230
231         * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
232         * i386/xm-cygwin32.h (POSIX): Define.
233
234 Mon Nov 10 20:53:11 1997  Gavin Koch  <gavin@cygnus.com>
235
236         * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
237         is available elsewhere.
238
239 Mon Nov 10 16:21:58 1997  Doug Evans  <devans@canuck.cygnus.com>
240
241         * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
242         what the instruction can handle.
243
244 Mon Nov 10 03:02:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
245
246         * stmt.c (expand_decl_cleanup_no_eh): New fn.
247
248         * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
249
250 Mon Nov 10 00:05:56 1997  Jeffrey A Law  (law@cygnus.com)
251
252         * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
253         (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
254
255 Sun Nov  9 14:34:47 1997  David Edelsohn  <edelsohn@mhpcc.edu>
256
257         * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
258         swap instruction order.
259
260 Sun Nov  9 02:07:16 1997  Jeffrey A Law  (law@cygnus.com)
261
262         * fixinc.svr4 (__STDC__): Add another case.
263
264 Sun Nov  9 02:00:29 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
265
266         * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
267         addresses in the epilogue delay slot.
268
269 Sun Nov  9 01:40:40 1997  Manfred Hollstein  (manfred@s-direktnet.de)
270
271         * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
272         in generated `specs' file.
273
274 Sun Nov  9 01:37:11 1997  Jim Wilson  (wilson@cygnus.com)
275
276         * flags.h (flag_rerun_loop_opt): Declare.
277         * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
278         * toplev.c (flag_rerum_loop_opt): Delete static.
279
280 Sat Nov  8 18:20:21 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
281
282         Bring over from FSF:
283
284         Thu Oct 30 12:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
285
286         * va-sh.h (__va_arg_sh1): Define.
287         (va_arg): Use it.
288         SH3E doesn't use any integer registers for subsequent arguments
289         once a non-float value was passed in the stack.
290         * sh.c (machine_dependent_reorg): If optimizing, put explicit
291         alignment in front label for ADDR_DIFF_VEC.
292         * sh.h (PASS_IN_REG_P): Fix SH3E case.
293         (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
294
295         Tue Oct 28 15:06:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
296
297         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
298         svr4.h.
299
300         Mon Oct 27 16:11:52 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
301
302         * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
303         put an use_sfunc_addr before each sfunc.
304         * sh.md (use_sfunc_addr, dummy_jump): New insns.
305         (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
306
307         Tue Oct 21 07:12:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
308
309         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
310
311 Fri Nov  7 10:22:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
312
313         * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
314         linked once FDEs.
315
316 Wed Nov  5 14:26:05 1997  Jeffrey A Law  (law@cygnus.com)
317
318         * alias.c (find_base_value): Only return the known base value for
319         pseudo registers.
320
321 Wed Nov  5 11:27:14 1997  Jim Wilson  <wilson@cygnus.com>
322
323         * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
324         * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
325         to pattern.
326         (prologue_get_pc_and_set_got): New pattern.
327
328 Tue Nov  4 20:36:50 1997  Richard Henderson  (rth@cygnus.com)
329
330         * alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
331         for SUBREG, just fall through.
332
333         * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
334
335         * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
336
337 Tue Nov  4 18:49:42 1997  Jeffrey A Law  (law@cygnus.com)
338
339         * fixincludes: Fix "hypot" prototype in NeXT math.h.
340
341         * Makefile.in (USE_ALLOCA): Always include alloca.o.
342         (USE_HOST_ALLOCA): Likewise.
343
344         * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
345         and LABEL_REFS fields.
346         * rtl.h (LABEL_REFS): Update.
347
348 Tue Nov  4 16:55:11 1997  Jim Wilson  <wilson@cygnus.com>
349
350         * combine.c (try_combine): When setting elim_i2, check whether newi2pat
351         sets i2dest.  When calling distribute_notes for i3dest_killed, pass
352         elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
353         sets i1dest.
354
355         * mips.md (insv, extzv, extv): Add change_address call.
356         (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
357
358         * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
359
360         * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
361
362         * mips.c (mips_expand_epilogue): Emit blockage insn before call to
363         save_restore_insns if no FP and GP will be restored.
364
365         * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
366         Convert CCmode to word_mode before calling GET_MODE_SIZE.
367
368         * acconfig.h (HAVE_INTTYPES_H): Undef.
369         * configure.in (inttypes.h): Check for conflicts between sys/types.h
370         and inttypes.h, and verify that intmax_t is defined.
371         * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
372         * config/mips/x-iris3: Likewise.
373
374 Tue Nov  4 16:07:15 1997  Jeffrey A Law  (law@cygnus.com)
375
376         * alias.c (find_base_value): When copying arguments, return the
377         tenative value for a hard register.
378
379 Tue Nov  4 13:40:35 1997  Doug Evans  <devans@canuck.cygnus.com>
380
381         * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
382         (yylex): Record wide strings using target endianness, not host.
383
384 Tue Nov  4 13:13:12 1997  Jeffrey A Law  (law@cygnus.com)
385
386         * mn10200.h (ASM_OUTPUT_BSS): Delete.
387         (ASM_OUTPUT_ALIGNED_BSS): New macro
388         * mn10300.h (ASM_OUTPUT_BSS): Delete.
389         (ASM_OUTPUT_ALIGNED_BSS): New macro.
390         * v850.h (ASM_OUTPUT_BSS): Delete.
391         (ASM_OUTPUT_ALIGNED_BSS): New macro.
392
393 Tue Nov  4 00:55:48 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
394  
395         * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
396
397 Mon Nov  3 14:36:50 1997  Jeffrey A Law  (law@cygnus.com)
398
399         * configure.in (sco5): Use cpio to install header files.
400
401 Sun Nov  2 23:31:43 1997  Manfred Hollstein  <manfred@s-direktnet.de>
402
403         * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
404         14 char length.
405         * configure: Rebuild.
406
407 Sun Nov  2 19:44:00 1997  Robert Lipe (robertl@dgii.com)
408
409         * i386/sco5.h: enable -gstabs once again.
410
411 Sun Nov  2 19:27:21 1997  Jeffrey A Law  (law@cygnus.com)
412
413         * arm.c (output_move_double): Allocate 3 entries in otherops array.
414
415 Sat Nov  1 21:43:00 1997  Mike Stump  (mrs@wrs.com)
416
417         * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
418         notes for sjlj exceptions too.
419         (expand_eh_region_end): Similarly for EH_REGION_END notes.
420         (exception_optimize): Optimize EH regions for sjlj exceptions too.
421         * final.c (final_scan_insn): Don't output labels for EH REGION
422         notes if doing sjlj exceptions.
423
424 Sat Nov  1 19:15:28 1997  Jeffrey A Law  (law@cygnus.com)
425
426         * alias.c (init_alias_analysis): Handle -fno-alias-check when
427         optimizing correctly.
428
429         * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
430         or set current_function_calls_setjmp anymore.
431
432         * flow.c (find_basic_blocks): If we delete the label for an
433         exception handler, remove it from the EH label list and remove
434         the EH_BEGIN/EH_END notes for that EH region.
435
436 Sat Nov  1 16:44:49 1997  Jason Merrill  (jason@cygnus.com)
437
438         * flow.c (find_basic_blocks): Generate correct flow control
439         information when exception handling notes are present.
440
441 Sat Nov  1 13:42:19 1997  Jeffrey A Law  (law@cygnus.com)
442
443         * dwarf2out.c (output_call_frame_info): Fix length argument
444         to ASM_OUTPUT_ASCII.
445         (output_die, output_pubnames, output_line_info): Likewise.
446
447 Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
448
449         * version.c: Bump for snapshot.
450
451         * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
452         output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
453         flag_debug_asm is on.
454         (output_die, output_pubnames, output_line_info): Likewise.
455
456         * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
457         and static_chain_rtx into the potential base values array if
458         they are registers.
459
460         * alias.c (new_reg_base_value): New array of potential base values.
461         (unique_id): Now file scoped static.
462         (find_base_value, case REG): Return the value in reg_base_value
463         array for the REG if it exists.  Else, return the value from
464         new_reg_base_value if copying args and REG is a hard register.
465         (find_base_value, case PLUS): If either operand of the PLUS is
466         a REG, try to get its base value.  Handle base + index and
467         index + base.
468         (record_set): Use new_reg_base_value instead of reg_base_value.
469         (init_alias_analysis): Allocate space for new_reg_base_value too.
470         Rework code to iterate over the insns propagating base value
471         information until nothing changes.
472
473         * global.c (global_alloc): Free the conflict matrix after
474         reload has finished.
475
476 Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
477
478         * libgcc2.c (L_eh): Define __eh_pc.
479         Replace __eh_type with generic pointer __eh_info.
480
481 Fri Oct 31 00:34:55 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
482
483         * expr.c (expand_increment): When enqueing a postincrement for a MEM,
484         use copy_to_reg if address is not a general_operand.
485
486 Fri Oct 31 00:16:55 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
487
488         * profile.c (output_func_start_profiler): Clear flag_inline_functions
489         for the duration of the call to rest_of_compilation.
490
491 Thu Oct 30 14:40:10 1997  Doug Evans  <devans@canuck.cygnus.com>
492
493         * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
494         Set extra_parts.
495         (sparc*-*-*): Recognize --with-cpu=v9.
496         * sparc/elf.h: New file.
497         * sparc/t-elf: New file.
498
499 Thu Oct 30 13:26:12 1997  Jeffrey A Law  (law@cygnus.com)
500
501         * mn10300.c (const_8bit_operand): New function.
502         (mask_ok_for_mem_btst): New funtion.
503         * mn10300.md (btst patterns with mem operands): Use new functions
504         to avoid creating btst instructions with invalid operands.
505
506 Wed Oct 29 16:57:19 1997  Michael Meissner  <meissner@cygnus.com>
507
508         * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
509         are running on PowerPC Linux.
510
511 Wed Oct 29 13:10:11 1997  Gavin Koch  <gavin@cygnus.com>
512
513         * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
514         if not previously defined.
515
516 Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
517
518         * function.c (assign_parms): Correct mode of stack_parm if
519         entry_parm underwent a mode conversion.
520
521 1997-10-28  Brendan Kehoe  <brendan@lisa.cygnus.com>
522
523         * global.c (global_alloc): Use xmalloc instead of alloca for
524         CONFLICTS, since max_allocno * allocno_row_words alone can be more
525         than 2.5Mb sometimes.
526
527 Tue Oct 28 15:29:15 1997  Richard Henderson  <rth@cygnus.com>
528
529         * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
530         DEST for the spill, adjust mode of SRC to compensate.
531
532 Tue Oct 28 14:36:45 1997  Richard Henderson  <rth@cygnus.com>
533
534         * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
535         since any_memory_operand() allows pseudos during reload.
536         (reload_inhi, reload_outqi, reload_outhi): Likewise.
537
538 Tue Oct 28 11:53:14 1997  Jim Wilson  <wilson@cygnus.com>
539
540         * m68k.md (btst patterns): Add 5200 support.
541
542 Tue Oct 28 11:58:40 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
543
544         * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
545         optimizations, look inside dividend to determine if the expression
546         can be simplified by using EXACT_DIV_EXPR.
547
548 Tue Oct 28 10:19:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
549
550         From Brendan:
551         * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
552
553 Tue Oct 28 00:32:14 1997  Richard Henderson  <rth@cygnus.com>
554
555         * alpha.c (summarize_insn [SUBREG]): Propogate SET.
556
557 Mon Oct 27 23:59:26 1997  Richard Henderson  <rth@cygnus.com>
558
559         * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
560         on a CLOBBER.
561
562 Mon Oct 27 21:25:20 1997  Richard Henderson  <rth@cygnus.com>
563
564         * alpha.md (movqi, movhi): Make sure new insns created during reload
565         won't need reloading themselves.
566         (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
567
568 Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
569
570         * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
571
572 Sun Oct 26 13:50:44 1997  Richard Henderson  <rth@cygnus.com>
573
574         * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
575         Patch from Klaus Kaempf <kkaempf@progis.de>.
576
577 Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
578
579         * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
580         to an element in a constant string.
581
582 Sun Oct 26 11:41:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
583
584         * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
585         bit PC-relative offset.  The exception range table pointer is now in
586         the CIE.
587         * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
588         (count_fdes, add_fdes, get_cie): Adjust.
589         (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
590
591         From H.J. Lu:
592         * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
593
594 Sun Oct 26 11:52:01 1997  Richard Henderson  <rth@cygnus.com>
595
596         * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
597         like stack_pointer_rtx.
598
599 Sun Oct 26 11:32:16 1997  Manfred Hollstein  <manfred@s-direktnet.de>
600
601         * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
602         targets using "$@" to provide support for similar but not identical
603         targets without having to duplicate code.
604         (bootstrap4): New goal.
605
606         * Makefile.in (compare, compare-lean, compare3): Combined to one
607         ruleset determining actions to be performed via $@.
608         (compare4, compare4-lean): New targets.
609         (gnucompare, gnucompare3): Combined to one ruleset determining
610         actions to be performed via $@. Also, note which files failed
611         the comparison test in .bad_compare.
612         (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
613
614 Sun Oct 26 10:06:11 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
615
616         * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
617         if the dividend is a multiple of the divisor.
618
619 Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
620
621         * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
622
623         * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
624         and POS_DEC.
625
626         * alias.c (true_dependence): Fix typo.
627
628         * toplev.c (flag_rerun_loop_opt): New variable.
629         (f_options): Handle -frerun-loop-opt.
630         (rest_of_compilation): If -frerun-loop-opt, then run the loop
631         optimizer twice.
632         (main): Enable -frerun-loop-opt by default for -O2 or greater.
633
634         * loop.c (simplify_giv_expr): Adding two invariants results
635         in an invariant.
636
637 Sun Oct 26 09:15:15 1997  Richard Henderson  <rth@cygnus.com>
638
639         * expr.c (get_inner_reference): Remove the array bias after 
640         converting the index to Pmode.
641
642 Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
643
644         * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
645         (TARGET_MULT_BUG): Define.
646         (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
647         * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
648
649 Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
650
651         * mn10200.c (indirect_memory_operand): Delete unused function.
652         * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
653         * mn10200.md (bset, bclr insns): Handle output in a reg too.
654
655 Fri Oct 24 15:54:57 1997  Richard Henderson  <rth@cygnus.com>
656
657         * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
658         the callee's ldgp, we must do it ourselves, and we use the jsr tag
659         for more than scheduling.
660
661 Fri Oct 24 13:23:04 1997  Doug Evans  <devans@canuck.cygnus.com>
662
663         * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
664
665 Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
666
667         * mn10300.c (symbolic_operand, legitimize_address): New functions.
668         * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
669         (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
670
671 Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
672
673         * version.c: Bump for snapshot.
674
675 Thu Oct 23 08:03:59 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
676
677         * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
678         for FILENAME.
679
680 Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
681
682         * toplev.c (flag_exceptions): Default value is 2.
683         (compile_file): If flag_exceptions still has the value 2, then
684         set it to 0.
685
686         * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
687         (rs6000_save_machine_status): Save pic_offset_table_rtx.
688         (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
689
690         * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
691         are shared.
692
693         * rs6000.md (*movsi_got_internal_mem): New pattern.
694         (*movsi_got_internal_mem splitter): New define_split.
695
696 Tue Oct 21 18:14:03 1997  Jim Wilson  <wilson@cygnus.com>
697
698         * obstack.h (obstack_empty_p): Fix spurious space after backslash.
699
700 Tue Oct 21 18:34:01 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
701
702         * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
703         only need to save LR.
704
705 Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
706
707         * mn10300.md (movqi, movhi): Avoid using address registers as
708         destinations unless absolutely necessary.
709
710         * mn10200.c (expand_prologue): Fix typo.
711
712         * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
713         addresses.
714         * mn10200.md (neghi2): Provide an alternative which works if
715         the input and output register are the same.
716
717         * mn10300.c (print_operand): Handle 'S'.
718         * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
719         shift amount in last alternative
720
721         * mn10300.c (expand_epilogue): Rework to handle register restores
722         in "ret" and "retf" instructions correctly.
723
724 Mon Oct 20 16:47:08 1997  Jim Wilson  <wilson@cygnus.com>
725
726         * expmed.c (extract_bit_field): Don't make flag_force_mem disable
727         extzv for memory operands.
728
729         * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
730         redundant conditional moves to single operand.
731
732 Mon Oct 20 15:30:26 1997  Nick Clifton  <nickc@cygnus.com>
733
734         * v850.h: Move define of __v850__ from CPP_PREDEFINES
735         to CPP_SPEC.
736         
737         * xm-v850.h: Use __v850 rather than __v850__ to
738         identify v850 port.
739
740 Mon Oct 20 14:15:02 1997  Jim Wilson  <wilson@cygnus.com>
741
742         * mips/mips.c (compute_frame_size): Not a leaf function if
743         profile_flag set.
744
745 Mon Oct 20 14:16:38 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
746
747         * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
748
749 Mon Oct 20 12:28:17 1997  Doug Evans  <devans@canuck.cygnus.com>
750
751         * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
752         (DEFAULT_ARCH32_P): New macro.
753         (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
754         (enum cmodel): Declare.
755         (sparc_cmodel_string,sparc_cmodel): Declare.
756         (SPARC_DEFAULT_CMODEL): Provide default.
757         (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
758         (TARGET_FULLANY): Deleted.
759         (TARGET_CM_MEDMID): New macro.
760         (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
761         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
762         (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
763         (CPP_SPEC): Rewrite.
764         (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
765         (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
766         (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
767         (ASM_SPEC): Add %(asm_arch).
768         (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
769         Rename asm_default to asm_cpu_default.
770         Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
771         cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
772         (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
773         ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
774         (MASK_INT64,MASK_LONG64): Delete.
775         (MASK_ARCH64): Renamed to MASK_64BIT.
776         (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
777         (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
778         (TARGET_SWITCHES): Always provide 64 bit options.
779         (ARCH64_SWITCHES): Delete.
780         (TARGET_OPTIONS): New option -mcmodel=.
781         (INT_TYPE_SIZE): Always 32.
782         (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
783         (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
784         (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
785         (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
786         * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
787         CPP_SPEC.
788         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
789         * sparc/linux.h: Likewise.
790         * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
791         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
792         (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
793         (SPARC_DEFAULT_CMODEL): Define.
794         (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
795         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
796         (LONG_DOUBLE_TYPE_SIZE): Define.
797         (ASM_SPEC): Add %(asm_arch).
798         * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
799         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
800         (TARGET_CPU_DEFAULT): Add ultrasparc case.
801         * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
802         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
803         (SPARC_DEFAULT_CMODEL): Define.
804         * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
805         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
806         MASK_LONG64, MASK_MEDANY.
807         (SPARC_DEFAULT_CMODEL): Define.
808         (CPP_PREDEFINES): Delete.
809         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
810         (ASM_SPEC): Add %(asm_arch).
811         (LONG_DOUBLE_TYPE_SIZE): Define.
812         (DWARF2_DEBUGGING_INFO): Define.
813         * sparc/splet.h (CPP_SPEC): Delete.
814         * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
815         (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
816         (BLOCK_PROFILER): Likewise.
817         * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
818         (sparc_override_options): Handle code model selection.
819         (sparc_init_expanders): Renamed from sparc64_init_expanders.
820         * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
821         TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
822         (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
823         (sethi_di_fullany): Delete.
824
825 Mon Oct 20 02:00:18 1997  Klaus Kaempf <kkaempf@progis.de>
826                           Jeff Law <law@cygnus.com>
827                           Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
828
829         * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
830         (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
831         (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
832         (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
833         * alpha/alpha.md (arg_home): Likewise.
834
835         * alpha/alpha.c (vmskrunch): Delete
836         * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
837         * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
838         truncate to 64 characters.
839
840         * make-l2.com: Support openVMS/Alpha.
841
842         * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
843
844 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
845
846         * longlong.h (count_leading_zeros): Add missing casts to USItype.
847
848 Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
849
850         * i386/bsd386.h (ASM_COMMENT_START): Define.
851
852 Sat Oct 18 13:47:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
853
854         * tree.c (restore_tree_status): Also free up temporary storage
855         when we finish a toplevel function.
856         (dump_tree_statistics): Print stats for backend obstacks.
857
858 Sat Oct 18 12:47:31 1997  Doug Evans  <dje@canuck.cygnus.com>
859
860         * expr.c (use_group_regs): Don't call use_reg for MEMs.
861
862 Sat Oct 18 09:49:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
863
864         * libgcc2.c (__throw): Don't copy the return address.
865         * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
866
867         * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
868         * toplev.c (main): Initialize exceptions_via_longjmp.
869
870         * tree.c: Add extra_inline_obstacks.
871         (save_tree_status): Use it.
872         (restore_tree_status): If this is a toplevel inline obstack and we
873         didn't want to save anything on it, recycle it.
874         (print_inline_obstack_statistics): New fn.
875         * function.c (pop_function_context_from): Pass context to 
876         restore_tree_status.
877         * obstack.h (obstack_empty_p): New macro.
878
879 Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
880
881         * i386/freebsd.h (ASM_COMMENT_START): Fix.
882
883 Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
884
885         * v850.c (ep_memory_offset): New function.
886         (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
887
888         * v850.h (CONST_OK_FOR_*): Add and correct comments.
889         (CONSTANT_ADDRESS_P): Add comment.
890         (EXTRA_CONSTRAINT): Define 'U'.
891         * v850.md: Add comments on bit field instructions.
892         (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
893         (lshrsi3): Use N not J constraint. 
894
895         * v850.md (v850_tst1+1): New define_split for tst1 instruction.
896
897         * v850.c (reg_or_0_operand): Call register_operand.
898         (reg_or_int5_operand): Likewise.
899         * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
900         (TARGET_SWITCHES): Add "big-switch".
901         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
902         ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
903         (CASE_DROPS_THROUGH): Comment out.
904         (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
905         * v850.md (cmpsi): Delete compare mode.
906         (casesi): New pattern.
907
908         * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
909         * v850.md (ashlsi3): Use SImode not QImode for shift count.
910         (lshrsi3): Likewise.
911
912         * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
913         unreachable switch statement after 'b' support.  Remove "b" from
914         strings for 'b' support.
915         * v850.md (branch_normal, branch_invert): Change %b to b%b.
916
917 Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
918
919         * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
920         empty line if @inhibit_libc@ is empty.
921
922 Fri Oct 17 23:24:40 1997  Robert Lipe (robertl@dgii.com)
923
924         * i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
925         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
926         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
927         (DWARF2_UNWIND_INFO): Let this track object file format.
928         (EXTRA_SECTIONS): Add in_eh.
929         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
930         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
931
932 Fri Oct 17 17:13:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
933
934         * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
935         * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
936         TARGET_MEDANY.
937         * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
938         (output_double_int): Output DI mode values correctly when
939         HOST_BITS_PER_WIDE_INT is 64.
940         (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
941         fmovd so it works if a quad float ends up in one of the upper 32
942         float regs.
943         * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
944         necessary for PIC support on sparc64.
945
946 Fri Oct 17 13:39:56 1997  Doug Evans  <dje@canuck.cygnus.com>
947
948         * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
949         * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
950         (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
951         (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
952         (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
953         (SPARC_FP_ARG_FIRST): New macro.
954         (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
955         (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
956         (NPARM_REGS): There are 32 fp argument registers now.
957         (FUNCTION_ARG_REGNO_P): Likewise.
958         (FIRST_PARM_OFFSET): Update to new v9 abi.
959         (REG_PARM_STACK_SPACE): Define for arch64.
960         (enum sparc_arg_class): Delete.
961         (sparc_arg_count,sparc_n_named_args): Delete.
962         (struct sparc_args): Redefine and use for arch32 as well as arch64.
963         (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
964         (FUNCTION_ARG_ADVANCE): Rewrite.
965         (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
966         (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
967         (FUNCTION_ARG_CALLEE_COPIES): Delete.
968         (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
969         (STRICT_ARGUMENT_NAMING): Define.
970         (doublemove_string): Declare.
971         * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
972         (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
973         (doublemove_string): New function.
974         (output_move_quad): Clean up some of the arch64 support.
975         (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
976         Don't add 8 bytes of reserved space if arch64.
977         (sparc_builtin_saveregs): Combine arch32/arch64 versions.
978         (init_cumulative_args): New function.
979         (function_arg_slotno): New static function.
980         (function_arg,function_arg_partial_nregs): New functions.
981         (function_arg_{pass_by_reference,advance}): New functions.
982         (function_arg_padding): New function.
983         * ginclude/va-sparc.h: Rewrite v9 support.
984
985 Fri Oct 17 12:29:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
986
987         * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
988         for hard regs to determine base and index registers.
989
990         * reload.c (debug_reload_to_stream): New function.  Specify stream
991         into which to write debug info.
992         (debug_reload): Modify to call debug_reload_to_stream with stderr.
993
994 Thu Oct 16 15:07:51 1997  Richard Henderson  <rth@cygnus.com>
995
996         * combine.c (can_combine_p): Don't combine with an asm whose
997         output is a hard register.
998
999 Thu Oct 16 15:43:26 1997  Mike Stump  (mrs@wrs.com)
1000
1001         * c-decl.c (start_struct): Ensure that structs with forward
1002         declarations are in fact packed when -fpack-struct is given.
1003
1004         * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
1005         we are packing a structure.  This allows a structure with only
1006         bytes to be aligned on a byte boundary and have no padding on a
1007         m68k.
1008
1009 Thu Oct 16 15:17:54 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1010
1011         * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
1012
1013 Thu Oct 16 11:20:30 1997  Richard Henderson  <rth@cygnus.com>
1014
1015         * alpha.c (alpha_return_addr_rtx): New variable.
1016         (alpha_save_machine_status): New; save it.
1017         (alpha_restore_machine_status): New; restore it.
1018         (alpha_init_expanders): New; clear it.
1019         (alpha_return_addr): New; set it.
1020         (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
1021         is overly conservative, so search the insns explicitly.
1022         (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
1023         (alpha_sa_size [VMS && !VMS]): Likewise.
1024         * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
1025         (INIT_EXPANDERS): New definition.
1026         
1027         * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
1028         (output_prolog [!VMS]): Use them.
1029
1030         * alpha.c (output_prolog [!VMS]): Move gp detection to ...
1031         (alpha_does_function_need_gp): ... a new function.  Refine the 
1032         CALL_INSN test to just TYPE_JSR.
1033         * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
1034
1035 Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
1036
1037         * version.c: Bump for snapshot.
1038
1039 Wed Oct 15 21:38:18 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1040
1041         * pa.c (move_operand): Respect -mdisable-indexing.
1042         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
1043
1044 Wed Oct 15 21:34:45 1997  David Edelsohn  <edelsohn@mhpcc.edu>
1045
1046         * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
1047         PPC601.
1048         (umulsidi3,umulsi3_highpart): Ditto.
1049         (smulsi3_highpart_no_mq): Add !TARGET_POWER.
1050
1051 Wed Oct 15 18:21:46 1997  Richard Henderson  <rth@cygnus.com>
1052
1053         * alpha.c (final_prescan_insn): Gut, remove and transform to ...
1054         (alpha_handle_trap_shadows): ... a new function.  Handle the entire
1055         function in one go.  Emit RTL for trapb, instead of printf directly.
1056         (alpha_reorg): New function.  Call alpha_handle_trap_shadows.
1057         (trap_pending): Kill global variable.
1058         (output_epilog): Don't call final_prescan_insn.
1059         (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
1060         * alpha.h (FINAL_PRESCAN_INSN): Remove.
1061         (MACHINE_DEPENENT_REORG): Define.
1062         * alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
1063         (trapb): New insn.
1064
1065 Wed Oct 15 18:16:05 1997  Richard Henderson  <rth@cygnus.com>
1066
1067         Tune Haifa scheduler for Alpha:
1068         * alpha.h (ISSUE_RATE): Define.
1069         * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
1070         EV4 adjustments to EV5.
1071         * alpha.md: Remove all scaling from function unit delays.  Rework
1072         EV5 function units to match the CPU.
1073         (umuldi3_highpart): EV5 added the IMULH insn class.
1074
1075 Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
1076
1077         * pa.c (following_call): Fail if the CALL_INSN is an indirect
1078         call.
1079
1080 Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
1081
1082         * cplus-dem.c (demangle_signature): Don't look for return types on
1083         constructors.  Handle member template constructors.
1084
1085 Tue Oct 14 11:30:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
1086
1087         * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
1088         * tree.h: Declare them.
1089
1090 Fri Oct 10 13:46:56 1997  Doug Evans  <dje@canuck.cygnus.com>
1091
1092         * configure.in: Handle --with-newlib.
1093         * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
1094
1095         * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
1096
1097 Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
1098
1099         * config/ptx4.h: Fix typo.
1100
1101 Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
1102
1103         * version.c: Bump for snapshot.
1104
1105 Tue Oct  7 16:27:34 1997  Manfred Hollstein  <manfred@s-direktnet.de>
1106
1107         * aclocal.m4: Substitute INSTALL.
1108         * configure: Re-built.
1109
1110 Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
1111
1112         * integrate.c (save_for_inline_copying): Avoid undefined pointer
1113         operations.
1114         (expand_inline_function): Likewise.
1115
1116         * dwarf2out.c (output_call_frame_info): Reinstate last change
1117         using flag_debug_asm check instead of flag_verbose_asm.
1118
1119 Tue Oct  7 12:57:26 1997  Jim Wilson  <wilson@cygnus.com>
1120
1121         * dwarf2out.c (output_call_frame_info): Remove last change.
1122
1123 1997-10-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1124
1125         * frame.c (__frame_state_for): Execute the FDE insns until the
1126         current pc value is strictly bigger than the target pc value.
1127
1128 Tue Oct  7 11:00:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
1129
1130         * regclass.c (init_reg_modes): If we can't find a mode for the 
1131         register, use the previous one.
1132
1133 Tue Oct  7 10:55:34 1997  Richard Henderson  <rth@cygnus.com>
1134
1135         * haifa-sched.c (print_block_visualization): Call fprintf directly,
1136         don't sprintf through an alloca'ed buffer.
1137
1138 Tue Oct  7 10:52:29 1997  Thomas Koenig (ig25@rz.uni-karlsruhe.de)
1139
1140         * reload.c (decompose): Always initialize val.base.
1141
1142 Tue Oct  7 10:19:26 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
1143
1144         * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
1145         instead of aborting.
1146         * dwarf2out.c (output_call_frame_info): Call app_enable and
1147         app_disable to let GNU as accept the generated comments.
1148
1149 Tue Oct  7 11:41:21 1997  Michael Meissner  <meissner@cygnus.com>
1150
1151         * tree.h (get_file_function_name): Add declaration.
1152         * dwarf2out.c (output_call_frame_info): No need to cast
1153         get_file_function_name call anymore.
1154         * profile.c (toplevel): Remove get_file_function_name
1155         declaration.
1156         * c-lang.c (finish_file): Ditto.
1157
1158 Tue Oct  7 10:01:45 1997  Chip Salzenberg <chip@rio.atlantic.net>
1159
1160         * Makefile.in (program_transform_name): Let autoconf substitute
1161         the correct value.
1162
1163 Tue Oct  7 09:54:35 1997  Jeffrey A Law  (law@cygnus.com)
1164
1165         * haifa-sched.c (schedule_block): If the first real insn in a
1166         block has any special notes attached to it, remove them.
1167
1168 Tue Oct  7 09:48:51 1997  Richard Henderson  <rth@cygnus.com>
1169
1170         * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
1171
1172 Mon Oct  6 12:47:32 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
1173
1174         * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
1175
1176 Mon Oct  6 12:04:24 1997  Jeffrey A Law  (law@cygnus.com)
1177
1178         * Makefile.in (check-g77): New test target.
1179         (CHECK-TARGETS): Add check-g77.
1180
1181 Fri Oct  3 11:56:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
1182
1183         * toplev.c (rest_of_compilation): Defer all non-nested inlines.
1184
1185 Fri Oct  3 15:49:27 1997  Michael Meissner  <meissner@cygnus.com>
1186
1187         * flow.c (print_rtl_with_bb): Cast alloca return value for
1188         in_bb_p.
1189
1190 Thu Oct  2 21:15:03 1997  Richard Henderson  <rth@cygnus.com>
1191
1192         * i386.h (RETURN_ADDR_RTX): New definition that works for 
1193         __builtin_return_address(0) and -fomit-frame-pointer.
1194
1195 Wed Oct  1 13:43:53 1997  Jim Wilson  <wilson@cygnus.com>
1196
1197         Bring over from FSF.
1198         Tue Aug  5 16:10:45 1997  Jason Merrill  <jason@yorick.cygnus.com>
1199
1200         * mips.c (function_arg): Handle passing a struct 
1201         containing a double in a DFmode register without the PARALLEL.
1202
1203 Wed Oct  1 11:13:25 1997  Ian Lance Taylor  <ian@cygnus.com>
1204
1205         * pexecute.c: Use spawn if __CYGWIN32__.
1206
1207         * pexecute.c: Include "config.h" first, as per autoconf manual
1208         (from Paul Eggert  <eggert@twinsun.com>).
1209
1210 Wed Oct  1 01:44:36 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
1211
1212         * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
1213         optimisation for f/expr.o and f/stb.o.
1214
1215 Tue Sep 30 23:48:57 1997  Jeffrey A Law  (law@cygnus.com)
1216
1217         * cse.c (this_insn_cc0_mode): Initialize.
1218
1219 Tue Sep 30 23:09:40 1997  Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
1220
1221         * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
1222
1223         * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
1224
1225 Tue Sep 30 23:06:43 1997  Richard Henderson  <rth@cygnus.com>
1226
1227         * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
1228         that pair will dual-issue on the 21164 and plus+beq won't.
1229         (bne): Likewise for cmpeq+beq.
1230
1231 Tue Sep 30 16:07:58 1997  Jim Wilson  <wilson@cygnus.com>
1232
1233         * except.c (find_exception_handler_labels): Correct argument to free.
1234
1235 Tue Sep 30 11:00:00 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
1236
1237         * except.c (find_exception_handler_labels): Free LABELS when we're
1238         done.
1239
1240 Mon Sep 29 14:04:35 1997  Jeffrey A Law  (law@cygnus.com)
1241
1242         * version.c: Bump for snapshot.
1243
1244 Mon Sep 29 10:51:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
1245
1246         * flow.c (find_basic_blocks): Mark calls as potentially jumping
1247         to the EH labels.
1248
1249 Mon Sep 29 09:58:06 1997  Jeffrey A Law  (law@cygnus.com)
1250
1251         * configure.in: Substitute for "install" too.
1252         * configure: Rebuilt.
1253
1254 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
1255
1256         * Makefile.in (bootstrap-lean, compare-lean): New targets.
1257
1258 Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
1259
1260         * alias.c (base_alias_check): Two symbols can conflict if they
1261         are accessed via AND.
1262         (memrefs_conflict_p): Likewise.
1263
1264         * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
1265         after flushing argument registers to the stack.
1266
1267         * Makefile.in (mostlyclean): Remove .regmove files.
1268
1269 Sun Sep 28 18:59:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
1270
1271         * libgcc2.c (__throw): Fix thinko.
1272
1273 Sun Sep 28 12:00:52 1997  Mark Mitchell  <mmitchell@usa.net>
1274
1275         * cplus-dem.c (demangle_template): Add new parameter.  Handle new
1276         template-function mangling.
1277         (consume_count_with_underscores): New function.
1278         (demangle_signature): Handle new name-mangling scheme.
1279
1280 Sun Sep 28 01:55:04 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
1281
1282         * flow.c (print_rtl_with_bb): Cast alloca return values for variables
1283         start and end.
1284
1285 Sun Sep 28 01:05:16 1997  Jeffrey A Law  (law@cygnus.com)
1286
1287         * frame.c: Remove last change.
1288         * dwarf2.h: Remove last change.
1289         * tree.h: Add declarations of DWARF2 unwind info support
1290         functions.
1291
1292 Sat Sep 27 11:02:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
1293
1294         * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
1295         * tree.h (built_in_function): Likewise.
1296         * expr.c (expand_builtin): Likewise.
1297         * except.h: Likewise.
1298         * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
1299         * libgcc2.c (copy_reg): New fn.
1300         (__throw): Use it.
1301
1302 Fri Sep 26 08:54:59 1997  Paul Eggert  <eggert@twinsun.com>
1303
1304         * c-typeck.c (build_binary_op): Warn about comparing signed vs
1305         unsigned if -W is specified and -Wno-sign-compare is not.
1306         * c-decl.c (warn_sign_compare): Initialize to -1.
1307         (c_decode_option): -Wall no longer implies -Wsign-compare.
1308
1309 Fri Sep 26 09:00:13 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1310
1311         * frame.c: Include gansidecl.h for PROTO.
1312         * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
1313         defined.  Don't declare dwarf2out_cfi_label here.
1314         * dwarf2.h: Add declarations of DWARF2 unwind info support
1315         functions.
1316         * m68k.c: Include dwarf2.h.
1317         (output_function_prologue): Add dwarf2 support.
1318         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
1319         (INCOMING_FRAME_SP_OFFSET): Likewise.
1320
1321         * integrate.c (expand_inline_function): Make sure there is at
1322         least one insn that can be used as an insertion point.
1323
1324 Wed Sep 24 21:34:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
1325
1326         * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
1327
1328 Wed Sep 24 22:05:30 1997  Jeffrey A Law  (law@cygnus.com)
1329
1330         * version.c: Bump for snapshot.
1331
1332 Wed Sep 24 17:36:23 1997  Doug Evans  <dje@canuck.cygnus.com>
1333
1334         Bring over from FSF.
1335
1336         Wed Sep 24 19:17:08 1997  Doug Evans  <dje@cygnus.com>
1337
1338         * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
1339         (get_pc_via_rdpc): Renamed from get_pc_sp64.
1340         * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
1341
1342         Wed Sep 24 18:38:22 1997  David S. Miller  <davem@tanya.rutgers.edu>
1343
1344         * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
1345         (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
1346         -malign-functions=.
1347         (sparc_align_{loops,jumps,funcs}_string): Declare.
1348         (sparc_align_{loops,jumps,funcs}): Declare.
1349         (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
1350         (FUNCTION_BOUNDARY): Use sparc_align_funcs.
1351         (STACK_BIAS): Define.
1352         (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
1353         test.
1354         (SPARC_SETHI_P): New macro.
1355         (CONST_OK_FOR_LETTER_P): Use it.
1356         (ASM_OUTPUT_ALIGN_CODE): Define.
1357         (ASM_OUTPUT_LOOP_ALIGN): Define.
1358         * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
1359         (sparc_align_{loops,jumps,funcs}): New globals.
1360         (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
1361         -malign-functions=.
1362         (move_operand): Use SPARC_SETHI_P.
1363         (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
1364         perform test.
1365         (arith11_double_operand): Likewise.
1366         (arith10_double_operand): Likewise.
1367         (finalize_pic): Finish sparc64 support.
1368         (emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
1369         64 bit constants if able.
1370         (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
1371         (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
1372         ! TARGET_FPU.
1373         * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
1374         (get_pc_sp32): Use for sparc64 as well.
1375         (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
1376         (sethi_di_sp64_const): Likewise.
1377         (movtf_cc_sp64): Check TARGET_HARD_QUAD.
1378         (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
1379         (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
1380
1381         Tue Sep 23 19:02:46 1997  Doug Evans  <dje@cygnus.com>
1382
1383         * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
1384         * sparc/linux.h (COMMENT_BEGIN): Likewise.
1385         * sparc/linux64.h (COMMENT_BEGIN): Likewise.
1386
1387         Tue Sep 23 14:48:18 1997  David S. Miller  <davem@tanya.rutgers.edu>
1388
1389         Add sparc64 linux support.
1390         * configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
1391         to xm_file list on 32-bit sparc-linux.
1392         * sparc/xm-sp64.h: New file.
1393         * sparc/linux64.h: New file.
1394         * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
1395         Don't include xm-sparc.h.
1396         * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
1397         * glimits.h (LONG_MAX): Handle sparc64.
1398
1399         Sat Sep 20 03:07:54 1997  Doug Evans  <dje@cygnus.com>
1400
1401         * sparc/sysv4.h (ASM_COMMENT_START): Delete.
1402         * sparc.h (ASM_COMMENT_START): Define.
1403         * sparc.c (output_function_prologue): Use it.
1404         (sparc_flat_output_function_{epi,pro}logue): Likewise.
1405
1406         Wed Sep 17 15:04:19 1997  Doug Evans  <dje@cygnus.com>
1407
1408         * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
1409         use sparc.h's copies.
1410         * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
1411         ascii form as well.
1412
1413         Mon Sep  8 08:45:19 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1414
1415         * sparc.c (dwarf2out_cfi_label): Add declaration.
1416         (save_regs, output_function_prologue): Remove cast for it.
1417         (sparc_flat_{save_restore,output_function_prologue): Likewise.
1418         ({save,restore}_regs): No longer inline.
1419
1420 Tue Sep 23 12:34:51 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1421
1422         * fold-const.c (make_range): Correctly handle cases of converting
1423         from unsigned to signed type.
1424
1425 Tue Sep 23 12:34:51 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
1426
1427         * fold-const.c (merge_ranges): Make sure that if one range is subset
1428         of another, it will always be the second range.  Correct (+,-) case to
1429         account for this.
1430
1431 Tue Sep 23 08:32:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
1432
1433         * final.c (final_end_function): Also do dwarf2 thing if
1434         DWARF2_DEBUGGING_INFO.
1435         (final_start_function): Likewise.
1436
1437 Tue Sep 23 01:15:50 1997  David S. Miller  <davem@tanya.rutgers.edu>
1438
1439         * expmed.c (expand_divmod): If compute_mode is not the same as
1440         mode, handle the case where convert_modes() causes op1 to no
1441         longer be a CONST_INT.
1442
1443         * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
1444         note holding get_jump_flags() calculation to all JUMP_INSNs.
1445         * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
1446         * rtl.c (reg_note_name): Add new note types.
1447
1448 Tue Sep 23 00:59:54 1997  Jeffrey A Law  (law@cygnus.com)
1449
1450         * rtlanal.c (computed_jump_p): Fix typo in last change.
1451
1452 Tue Sep 23 00:42:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
1453
1454         * loop.c (indirect_jump_in_function_p): Return 0
1455         by default.
1456
1457 Tue Sep 23 00:33:55 1997  Jeffrey A Law  (law@cygnus.com)
1458
1459         * rs6000/xm-rs6000.h: Fix thinko in last change.
1460         * rs6000/xm-sysv4.h: Likewise.
1461
1462 Mon Sep 22 19:33:53 1997  Jim Wilson  <wilson@cygnus.com>
1463
1464         * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
1465
1466 Mon Sep 22 14:41:00 1997  Jeffrey A Law  (law@cygnus.com)
1467
1468         * reg-stack.c (find_blocks): Fix thinko in last change.
1469
1470 1997-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1471
1472         * m68k.c (output_function_prologue): Add dwarf2 support.
1473
1474         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
1475         INCOMING_FRAME_SP_OFFSET): New definitions.
1476  
1477 Mon Sep 22 11:36:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
1478
1479         * combine.c (try_combine): Use NULL_RTX instead of '0' where
1480         appropriate in calls to gen_rtx().
1481         * cse.c (cse_main): Likewise.
1482         * emit-rtl.c (gen_label_rtx): Likewise.
1483         * expr.c (init_expr_once): Likewise.
1484         * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
1485         sched_analyze, init_rgn_data_dependences,
1486         compute_block_backward_dependences): Likewise.
1487         * sched.c (schedule_insns): Likewise.
1488         * varasm.c (immed_double_const): Likewise.
1489
1490         * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
1491         SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
1492
1493 Mon Sep 22 11:21:33 1997  J. Kean Johnston  <jkj@sco.com>
1494
1495         * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
1496         (MULTILIB_DEFAULTS): Define.
1497         (ASM_SPEC, CPP_SPEC): Handle -mcoff.
1498         (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
1499         (LIBGCC_SPEC): Likewise.
1500         (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
1501         (SUBTARGET_SWITCHES): Add -mcoff and -melf.
1502         * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
1503         (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
1504         (EXTRA_PARTS, TAROUTOPTS): Delete.
1505         (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
1506         (MULTILIB_OPTIONS): Define.
1507         (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
1508         (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
1509
1510 Mon Sep 22 02:10:43 1997  Jeffrey A Law  (law@cygnus.com)
1511
1512         * version.c: Bump for snapshot.
1513
1514 Sun Sep 21 17:45:45 1997  Jeffrey A Law  (law@cygnus.com)
1515
1516         * loop.c (loop_number): Delete function.  Change all references
1517         to use uid_loop_num array.
1518         * loop.h (loop_number): Delete declaration.
1519         * unroll.c (unroll_loop): Change "loop_number" references to
1520         use uid_loop_num instead.
1521
1522         * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
1523         conditional.
1524         (loop_unroll_iter): Remove unused variable and all references.
1525         (loop_optimize): Always allocate and clear space for loop_unroll_factor.
1526         (insert_bct): Fix minor formatting problems.
1527         * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
1528         (loop_unroll_iter): Removed unused decl.
1529         * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
1530         Always record the unrolling factor.
1531
1532         * cse.c (simplify_relational_operation): Set h0u just like h0s.
1533         Similarly for h1u and h1s.
1534
1535         * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
1536         (find_basic_blocks): Use computed_jump_p to determine if a
1537         particular JUMP_INSN is a computed jump.
1538         * reg-stack.c (find_blocks): Use computed_jump_p to determine
1539         if a particular JUMP_INSN is a computed jump.
1540         * rtlanal.c (jmp_uses_reg_or_mem): New function.
1541         (computed_jump_p): Likewise.
1542         * rtl.h (computed_jump_p): Declare.
1543         * genattrtab.c (pc_rtx): Define and initialize.
1544         * loop.c (loop_optimize): Always determine if the current
1545         function has a computed jump.
1546         (indirect_jump_in_function_p): Use computed_jump_p to determine
1547         if a particular JUMP_INSN is a computed jump.
1548
1549         * loop.c (fix_bct_param): Delete unused function.
1550         (check_bct_param): Likewise.
1551
1552 Sat Sep 20 16:22:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
1553
1554         * frame.c (__deregister_frame): Check properly for initialized object.
1555
1556 Fri Sep 19 20:51:03 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
1557
1558         * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
1559
1560 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1561
1562         * jump.c (thread_jumps): check can_reverse_comparison_p before
1563         threading a reversed-condition jump.
1564
1565         * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
1566         * haifa-sched.c (update_flow_info): Likewise.
1567
1568 Thu Sep 18 21:13:40 1997  Jeffrey A Law  (law@cygnus.com)
1569
1570         * Makefile.in (BOOT_CFLAGS): Use -O2.
1571
1572         * configure.in (strtoul, bsearch): Have autoconf check for these
1573         functions.
1574         * configure, config.in: Rebuilt.
1575
1576         * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
1577         * mips/mips.h (alloca): Likewise.
1578         * rs6000/xm-rs6000.h (alloca): Likewise.
1579         * rs6000/xm-sysv4.h: Likewise.
1580
1581 Thu Sep 18 14:22:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
1582
1583         * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
1584         * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
1585         (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
1586
1587         * except.c (end_eh_unwinder): Subtract 1 from return address.
1588         * libgcc2.c (__throw): Likewise.
1589         (find_exception_handler): Don't change PC here.  Compare end with >.
1590
1591 Thu Sep 18 10:43:07 1997  Nick Clifton  <nickc@cygnus.com>
1592  
1593         * v850.c (compute_register_save_size): Correct register
1594         number.
1595         * v850.md (save_interrupt, return_interrupt): Correct
1596         register number.
1597         * v850/lib1funcs.asm (save_interrupt): Correct register number.
1598         (return_interrupt): Use stack pointer, not element pointer.
1599
1600 1997-09-18  Brendan Kehoe  <brendan@lisa.cygnus.com>
1601
1602         * configure.in, configure: Make sure to create the stage* and include
1603         symbolic links in each subdirectory.
1604
1605 Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
1606
1607         * pa.md (reload_peepholes): Don't allow addresses with side
1608         effects for the memory operand.
1609
1610 Wed Sep 17 18:19:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
1611
1612         * libgcc2.c (find_exception_handler): Subtract one from our PC when
1613         looking for a handler, to avoid hitting the beginning of the next
1614         region.
1615
1616         * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
1617
1618 Wed Sep 17 18:33:59 1997  Jeffrey A Law  (law@cygnus.com)
1619
1620         * mips/abi64.h (LONG_MAX_SPEC): Define.
1621         * mips.h (LONG_MAX_SPEC): Define.
1622         (CPP_SPEC): Include long_max_spec.
1623         (EXTRA_SPECS): Include long_max_spec.
1624
1625 Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
1626
1627         * v850.c (construct_save_jarl): Fix thinko in last change.
1628
1629 Wed Sep 17 09:53:07 1997  Jeffrey A Law  (law@cygnus.com)
1630
1631         * version.c: Bump for snapshot.
1632
1633 Tue Sep 16 14:22:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
1634
1635         * libgcc2.c (find_exception_handler): Not found is -1.
1636
1637         * integrate.c (expand_inline_function): Move expand_start_bindings
1638         after expanding the arguments.
1639
1640 Tue Sep 16 11:13:46 1997  Jim Wilson  <wilson@cygnus.com>
1641
1642         * expr.c (expand_expr): Remove previous incorrect change.
1643         If target and slot has no DECL_RTL, then call mark_addressable
1644         again for the slot after we give it RTL.
1645
1646 Tue Sep 16 09:18:52 1997  Jason Merrill  (jason@cygnus.com)
1647
1648         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
1649         again for the slot after we give it RTL.
1650
1651 Tue Sep 16 00:13:20 1997  Nick Clifton  <nickc@cygnus.com>
1652
1653         * v850.c (register_is_ok_for_epilogue,
1654         pattern_is_ok_for_epilogue, construct_restore_jr,
1655         pattern_is_ok_for_prologue, construct_save_jarl): New functions.
1656
1657         * v850.h (pattern_is_ok_for_prologue,
1658         pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
1659         predicates.
1660
1661         * v850.md: Replace prologue and epilogue patterns with a
1662         match_parallel pattern.
1663
1664 Mon Sep 15 22:53:01 1997  Jeffrey A Law  (law@cygnus.com)
1665
1666         * aclocal.m4: Add replacement for AC_PROG_INSTALL.
1667         * configure.in: Use EGCS_PROG_INSTALL.
1668
1669 Mon Sep 15 22:40:55 1997  Jim Wilson  (wilson@cygnus.com)
1670
1671         * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
1672         extern inline function.
1673
1674 Mon Sep 15 22:40:55 1997  Richard Henderson  (rth@cygnus.com)
1675
1676         * dwarf2out.c (reg_loc_descriptor): Fix prototype.
1677         (concat_loc_descriptor): New function.
1678         (loc_descriptor): Call it.
1679         (add_AT_location_description): Also elide the descriptor if both
1680         halves of a CONCAT are pseudos.
1681         (add_location_or_const_value_attribute): Recognize CONCAT too.
1682
1683 Mon Sep 15 15:24:00 1997  Richard Henderson  <rth@cygnus.com>
1684
1685         * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
1686
1687         * alpha/alpha.c (output_prolog): New variable sa_reg.  Use it for
1688         out-or-range reg_offset.
1689         (output_epilog): Likewise.
1690
1691 Mon Sep 15 15:39:26 1997  Jeffrey A Law  (law@cygnus.com)
1692
1693         * cse.c (simplify_relational_operation): If MODE specifies a
1694         mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
1695         is derived from the sign bit of the low word.
1696
1697 Mon Sep 15 11:43:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
1698
1699         Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
1700
1701         * dwarf2.h: Add DW_CFA_GNU_args_size.
1702         * frame.c (execute_cfa_insn): Likewise.
1703         * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
1704         (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
1705         (dwarf2out_frame_debug): If this isn't a prologue or epilogue
1706         insn, hand it off to dwarf2out_stack_adjust.
1707         (dwarf2out_begin_prologue): Initialize args_size.
1708         * frame.h (struct frame_state): Add args_size.
1709         * libgcc2.c (__throw): Use args_size.
1710         * final.c (final_scan_insn): If we push args, hand off all insns
1711         to dwarf2out_frame_debug.
1712         * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
1713
1714         * dwarf2out.c dwarf2out_frame_debug): Fix typo.
1715         Handle epilogue restore of SP from FP.
1716         * emit-rtl.c (gen_sequence): Still generate a sequence if the 
1717         lone insn has RTX_FRAME_RELATED_P set.
1718
1719         * frame.c (extract_cie_info): Handle "e" augmentation.
1720         * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
1721         absence of UNALIGNED_*_ASM_OP.
1722         (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
1723         (output_call_frame_info): Use "e" instead of "z" for augmentation.
1724         Don't emit augmentation fields length.
1725         (dwarf2out_do_frame): Move outside of #ifdefs.
1726         * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
1727         opcodes.
1728
1729         * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
1730         * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
1731         * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
1732         * sparc/sun4gas.h: New file.
1733         * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
1734
1735         * collect2.c (write_c_file_stat, write_c_file_glob): Declare 
1736         __register_frame_table and __deregister_frame.
1737
1738 1997-09-15  Brendan Kehoe  <brendan@cygnus.com>
1739
1740         * except.c (find_exception_handler_labels): Use xmalloc instead of
1741         alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
1742         in some cases.
1743
1744 Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
1745
1746         * Makefile.in: Various changes to build info files
1747         in the object tree rather than the source tree.
1748
1749 Sun Sep 14 12:24:30 1997  Jeffrey A Law  (law@cygnus.com)
1750
1751         * fixinc.math: New file to fix math.h on some systems.
1752         * configure.in (freebsd, netbsd): Use fixinc.math on these
1753         systems.
1754         * configure: Rebuilt.
1755
1756 Sun Sep 14 11:11:05 1997  Jeffrey A Law  (law@cygnus.com)
1757
1758         * regmove.c (regmove_optimize): If we end up moving the
1759         original insn due to lifetime overlaps, make sure to move
1760         REG_NOTES too.
1761
1762 Sat Sep 13 15:51:11 1997  Manfred Hollstein  <manfred@s-direktnet.de>
1763
1764         * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
1765
1766 Sat Sep 13 12:57:26 1997  Jeffrey A Law  (law@cygnus.com)
1767
1768         * haifa-sched.c (add_branch_dependences): Make each insn in
1769         a SCHED_GROUP_P block explicitly depend on the previous insn.
1770
1771 Fri Sep 12 13:49:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
1772
1773         * except.h: Prototype dwarf2 hooks.
1774         * expr.c: Adjust.
1775
1776 Thu Sep 11 17:43:55 1997  Jim Wilson  <wilson@cygnus.com>
1777
1778         * configure.in (native_prefix): Delete.
1779         (mips-dec-netbsd): Don't set prefix.
1780         (*linux*): Don't set prefix.
1781
1782 Thu Sep 11 15:48:32 1997  Fred Fish  <fnf@ninemoons.com>
1783
1784         * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
1785         defined.  If not defined, include <sys/varargs.h> if
1786         HAVE_SYS_VARARGS_H is defined.
1787         * configure.in: Test for varargs.h and sys/varargs.h.
1788         * configure: Regenerate with autoconf.
1789         * config.in: Regenerate with autoheader.
1790
1791         * cpplib.c (quote_string): Cast first arg of sprintf call
1792         from "unsigned char *" to "char *".
1793         (output_line_command): Ditto.
1794         (macroexpand): Ditto.
1795         (do_line): Cast atoi arg from "unsigned char *" to "char *".
1796
1797 Wed Sep 10 21:37:30 1997  Jeffrey A Law  (law@cygnus.com)
1798
1799         * version.c: Bump for snapshot.
1800
1801         * Makefile.in (compare): Exit with nonzero status if there
1802         are comparison failures.  Note which files failed the
1803         comparison test in .bad_compare.
1804
1805 Wed Sep 10 17:05:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
1806
1807         * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
1808
1809 Wed Sep 10 16:37:28 1997  Fred Fish  <fnf@ninemoons.com>
1810
1811         * Makefile.in (LN, LN_S): New macros, use where appropriate.
1812         * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
1813         * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
1814         * configure: Regenerated.
1815
1816 Thu Sep 11 11:09:43 1997  Jeffrey A Law  (law@cygnus.com)
1817
1818         * loop.c (strength_reduce): Fix typo.
1819
1820 Wed Sep 10 16:01:15 1997  Jim Wilson  <wilson@cygnus.com>
1821
1822         * m88k/m88k.c (struct option): Rename to struct options.
1823         * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
1824         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
1825         * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
1826         __DOLPHIN__ or sysV88.
1827
1828 Wed Sep 10 14:58:40 1997  Jim Wilson  <wilson@cygnus.com>
1829
1830         * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
1831         create new subreg.
1832
1833 Wed Sep 10 15:19:22 1997  Jeffrey A Law  (law@cygnus.com)
1834
1835         * config.sub: Accept 'amigados' for backward compatability.
1836
1837 Wed Sep 10 14:05:08 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
1838
1839         * Makefile.in (testsuite/site.exp): New target.
1840         (check-gcc, check-g++): Depend on testsuite/site.exp.
1841         Don't stop for failure.
1842
1843 Wed Sep 10 12:59:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
1844
1845         * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
1846         if DWARF2_UNWIND_INFO.
1847
1848 Wed Sep 10 11:49:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
1849
1850         Add support for exception handling using DWARF 2 frame unwind info.
1851         Currently works on SPARC and MIPS, and almost on x86.
1852         
1853         * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
1854         next_stack_level, in_reg_window): Helper fns.
1855         (__throw): Implement for DWARF2_UNWIND_INFO.
1856
1857         * expr.c (expand_builtin): Handle builtins used by __throw.
1858         * tree.h (enum built_in_function): Add builtins used by __throw.
1859         * c-decl.c (init_decl_processing): Declare builtins used by __throw.
1860         * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
1861         * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
1862         (expand_builtin_extract_return_addr): Likewise.
1863         (expand_builtin_frob_return_addr): Likewise.
1864         (expand_builtin_set_return_addr_reg): Likewise.
1865         (expand_builtin_eh_stub): Likewise.
1866         (expand_builtin_set_eh_regs): Likewise.
1867         (eh_regs): Choose two call-clobbered registers for passing back values.
1868
1869         * frame.c, frame.h: New files for parsing dwarf 2 frame info.
1870         * Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
1871         (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
1872         (stmp-multilib): Likewise.
1873         ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
1874
1875         * except.c: #include "defaults.h".
1876         (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
1877         (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
1878         (register_exception_table_p): New fn.
1879         (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
1880         (end_eh_unwinder): Likewise.
1881
1882         * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP, 
1883         call __register_frame and __deregister_frame as needed.
1884         * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
1885         * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
1886         EH_FRAME_SECTION_ASM_OP.
1887         * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
1888         * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
1889         (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
1890
1891         * dwarf2out.c (output_call_frame_info): If no support for
1892         EXCEPTION_SECTION, mark the start of the frame info with a
1893         collectable tag.
1894         * collect2.c (frame_tables): New list.
1895         (is_ctor_dtor): Recognise frame entries.
1896         (scan_prog_file): Likewise.
1897         (main): Pass -fno-exceptions to sub-compile.  Also do collection
1898         if there are any frame entries.
1899         (write_c_file_stat): Call __register_frame_table and
1900         __deregister_frame as needed.
1901         (write_c_file_glob): Likewise.
1902
1903         * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.  
1904         Also require unaligned reloc support.
1905         * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1906         UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
1907         * sparc/sysv4.h: Not here.
1908
1909         * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
1910         * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
1911         (dwarf2out_finish): Don't call dwarf2out_frame_finish.
1912
1913         * libgcc2.c (L_eh): Reorganize, moving code shared by different
1914         EH implementations to the top.
1915         (find_exception_handler): Split out.  Start from 0.  Compare against
1916         end with >=.
1917         (__find_first_exception_table_match): Use it.
1918         * except.c (output_exception_table): Don't do anything if there's
1919         no table.  Don't output a first entry of zeroes.
1920         (eh_outer_context): Adjust properly.
1921         (add_eh_table_entry): Use xrealloc.
1922         * toplev.c (compile_file): Just call output_exception_table.
1923
1924 Wed Sep 10  11:30:36 1997  Jason Merrill  <jason@cygnus.com>
1925
1926         * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
1927
1928 Wed Sep 10 08:17:10 1997  Torbjorn Granlund  <tege@pdc.kth..se>
1929
1930         * except.c (eh_outer_context): Do masking using expand_and.
1931
1932 Wed Sep 10 01:38:30 1997  Doug Evans  <dje@cygnus.com>
1933
1934         Add port done awhile ago for the ARC cpu.
1935         * arc/arc.h: New file.
1936         * arc/arc.c: New file.
1937         * arc/arc.md: New file.
1938         * arc/initfini.c: New file.
1939         * arc/lib1funcs.asm: New file.
1940         * arc/t-arc: New file.
1941         * arc/xm-arc.h: New file.
1942         * ginclude/va-arc.h: New file.
1943         * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
1944         * ginclude/varargs.h: Likewise.
1945         * Makefile.in (USER_H): Add va-arc.h.
1946         * configure.in (arc-*-elf*): Recognize.
1947         * longlong.h: Add ARC support.
1948
1949 Wed Sep 10 01:32:54 1997  Jeffrey A Law  (law@cygnus.com)
1950
1951         * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
1952         when clearing non-BLKmode data.
1953
1954 Wed Sep 10 00:29:29 1997  Manfred Hollstein  <manfred@s-direktnet.de>
1955
1956         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
1957         * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
1958
1959         * xm-m88k.h (USG): Only define if it hasn't already been defined.
1960
1961         * Makefile.in (risky-stage1): Delete gratutious whitespace.
1962
1963         * Makefile.in (clean): Delete libgcc1-test.
1964
1965         * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
1966
1967 Tue Sep  9 17:07:36 1997  Stan Cox  <coxs@dg-rtp.dg.com>
1968
1969         * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
1970         template.
1971
1972 Tue Sep  9 09:50:02 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1973
1974         * dwarf2out.c (output_call_frame_info): Call named_section.
1975
1976 Tue Sep  9 09:12:17 1997  Jeffrey A Law  (law@cygnus.com)
1977
1978         * haifa-sched.c (print_value): Fix last change.
1979
1980 Tue Sep  9 01:30:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
1981
1982         * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
1983         write_symbols.
1984
1985 Mon Sep  8 16:32:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
1986
1987         * mips.c (function_prologue): Set up the CFA when ABI_32.
1988
1989         * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
1990         for dwarf2 unwind info.
1991         (output_function_prologue, sparc_flat_output_function_prologue): Same.
1992
1993         * final.c (final_end_function): Check dwarf2out_do_frame instead
1994         of DWARF2_DEBUG for dwarf2 unwind info.
1995         (final_scan_insn): Likewise.
1996         (final_start_function): Likewise.  Initialize dwarf2 frame debug here.
1997         (final): Not here.
1998
1999         * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
2000         count > 0.
2001
2002         * varasm.c (exception_section): Check EXCEPTION_SECTION first.
2003
2004 Mon Sep  8 15:15:11 1997  Nick Clifton  <nickc@cygnus.com>
2005
2006         * v850.h (ASM_SPEC): Pass on target processor.
2007         (CPP_PREDEFINES): Only define if not already specified.
2008         (TARGET_VERSION): Only define if not already specified.
2009         (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
2010         processor.
2011         (EXTRA_SWITCHES): Extra entries in the switches array.
2012         (TARGET_DEFAULT): Set default target processor.
2013
2014 Mon Sep  8 18:26:35 1997  Jim Wilson  <wilson@cygnus.com>
2015
2016         * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
2017         cases, add %# and %/, and add : to make them into extended asms.
2018
2019 Sun Sep  7 23:57:50 1997  Weiwen Liu  <liu@hepunix.physics.yale.edu>
2020
2021         * alias.c (init_alias_analysis): Clean up incompatible pointer
2022         type warning in bzero.
2023         * regmove.c (regmove_optimize): Ditto.
2024         * haifa-sched.c (find_rgns): Ditto.
2025
2026         * haifa-sched.c (print_value): Clean up ptr->int cast
2027         warnings.
2028
2029 Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>
2030
2031         * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
2032         * install.texi (Configurations): Ditto.
2033         * config.sub: Ditto.
2034
2035 Sun Sep  7 22:56:56 1997  Weiwen Liu  (liu@hepvms.physics.yale.edu)
2036
2037         * Makefile.in (sdbout.o): Depend on insn-config.h.
2038
2039 Sun Sep  7 18:44:50 1997  Jim Wilson  <wilson@cygnus.com>
2040
2041         * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
2042         For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
2043
2044 Sun Sep  7 18:30:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
2045
2046         * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
2047         prologue insn, only the first elt is significant.
2048         (output_call_frame_info): For exception handling, always use 4-byte
2049         fields as specified by the dwarf2 spec.
2050         Don't skip trivial FDEs.
2051
2052 Sun Sep  7 14:19:39 1997  Jeffrey A Law  (law@cygnus.com)
2053
2054         * version.c: Bump for snapshot.
2055
2056 Sun Sep  7 14:17:36 1997  Torbjorn Granlund  (tege@pdc.kth.se)
2057
2058         * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
2059         for negative constants.  Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
2060         when op1_is_pow2.
2061
2062 Sun Sep  7 13:46:46 1997  Jeffrey A Law  (law@cygnus.com)
2063
2064         * final.c (shorten_branches): During first pass, assume worst
2065         possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
2066
2067         * Makefile.in (distclean): Remove various things left around
2068         by running the testsuite.
2069
2070 Sun Sep  7 13:16:06 1997  Manfred Hollstein  <manfred@s-direktnet.de>
2071
2072         * configure.in (out_file): Emit definition to config.status in order
2073         to have a defined value for configure.lang.
2074         * configure: Re-built.
2075
2076 Sun Sep  7 09:59:08 1997  Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
2077
2078         * configure.in: Make symlink to as-new rather than as.new.  Similarly
2079         for ld-new.
2080         * configure: Rebuilt.
2081
2082 Fri Sep  5 16:54:55 1997  Jim Wilson  <wilson@cygnus.com>
2083
2084         * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
2085
2086 Fri Sep  5 16:16:44 1997  Christian Kuehnke  <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
2087
2088         * sparc/sparc.md: Add ultrasparc scheduling support.
2089         * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
2090
2091 Fri Sep  5 14:04:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
2092
2093         * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
2094         as initial value for real_label_map.
2095         (copy_for_inline): Likewise.
2096
2097 Fri Sep  5 13:36:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2098
2099         * sched.c (update_flow_info) When looking if to set found_split_dest
2100         or found_orig_dest, look at all parts of a PARALLEL.
2101         * haifa-sched.c (update_flow_info): Likewise.
2102
2103 Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
2104
2105         * v850: New directory for v850 port.
2106         * v850/lib1funcs.asm: New file.
2107         * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
2108         * ginclude/va-v850.h: New file.
2109         * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
2110         * configure.in (mn10200-*-*): New target.
2111         * configure: Rebuilt.
2112         * config.sub: Handle v850-elf.
2113         * Makefile.in (USER_H): Add va-mn10200.h. 
2114         * invoke.texi: Document v850 stuff.
2115
2116 Fri Sep  5 09:37:50 1997  Jim Wilson  (wilson@cygnus.com)
2117
2118         * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
2119         has integer TYPE_{MAX,MIN}_VALUE before using them.
2120
2121         * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
2122         __HPUX_ASM__ versions.
2123
2124 Fri Sep  5 09:08:44 1997  Jeffrey A Law  (law@cygnus.com)
2125
2126         * install.sh: Delete duplicate install script.
2127
2128 Thu Sep  4 23:14:27 1997  Stan Cox  (coxs@dg-rtp.dg.com)
2129
2130         * reg-stack.c (subst_stack_regs): Pop the stack register for a
2131         computed goto which sets the same stack register.
2132
2133         * reg-stack.c (compare_for_stack_reg): Swap only if the source and
2134         destination are both on the regstack.
2135         (subst_stack_regs_pat): Put the destination at the top of the regstack.
2136
2137 Thu Sep  4 15:02:27 1997  Jim Wilson  <wilson@cygnus.com>
2138
2139         * mips.md (nonlocal_goto_receiver): Define.
2140
2141         * profile.c (output_arc_profiler): Check next_insert_after for non
2142         NULL before deferencing it.
2143
2144         * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
2145
2146 Thu Sep  4 14:51:57 1997  Jeffrey A Law  (law@cygnus.com)
2147
2148         * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
2149
2150 Thu Sep  4 15:01:49 1997  Michael Meissner  <meissner@cygnus.com>
2151
2152         * toplev.c (rest_of_compilation): For passes starting with
2153         flow_analysis, use print_rtl_with_bb instead of print_rtl.
2154
2155         * print-rtl.c (print_rtl_single): Print a single rtl value to a
2156         file.
2157
2158         * flow.c (print_rtl_with_bb): Print which insns start and end
2159         basic blocks.  For the start of a basic block, also print the live
2160         information.
2161
2162 Thu Sep  4 11:51:43 1997  Jim Wilson  <wilson@cygnus.com>
2163
2164         * toplev.c (main): Change #elif to #else/#ifdef
2165
2166         * tlink.c: Include ctype.h.
2167         * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
2168
2169 Thu Sep  4 11:17:16 1997  Mikeael Meissner  (meissner@cygnus.com)
2170
2171         * bitmap.c: Conditionally include stdlib.h.
2172         (free): Provide a declaration if NEED_DECLARATION_FREE.
2173
2174 Thu Sep  4 09:58:53 1997  Joel Sherrill  (joel@OARcorp.com)
2175
2176         * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
2177
2178 Thu Sep  4 09:53:20 1997  Jim Wilson  (wilson@cygnus.com)
2179
2180         * profile.c (output_arc_profiler): Verify next_insert_after is an
2181         INSN before and after skipping a stack pop.
2182
2183 Thu Sep  4 07:39:19 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2184
2185         * final.c (shorten_branches): Don't count the lengths of deleted
2186         instructions.
2187
2188 Thu Sep  4 09:43:01 1997  Jeffrey A Law  (law@cygnus.com)
2189
2190         * version.c: Bump for snapshot.
2191
2192 Thu Sep  4 11:04:21 1997  Michael Meissner  <meissner@cygnus.com>
2193
2194         * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
2195         two bitmaps ANDed together.
2196         (bitmap_print): Declare.
2197
2198         * bitmap.c (function_obstack): Don't declare any more.
2199         (bitmap_obstack): Obstack for allocating links from.
2200         (bitmap_obstack_init): New static to say whether to initialize
2201         bitmap_obstack.
2202         (bitmap_element_allocate): Use bitmap_obstack to allocate from.
2203         (bitmap_release_memory): Free all memory allocated from
2204         bitmap_obstack.
2205
2206         * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
2207         EXECUTE_IF_AND_IN_BITMAP.
2208
2209 Wed Sep  3 10:39:42 1997  Jim Wilson  <wilson@cygnus.com>
2210
2211         * alias.c (true_dependence): Address with AND can alias scalars.
2212         (anti_dependence, output_dependence): Likewise.
2213         
2214         * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
2215
2216 Wed Sep  3 09:28:50 CDT 1997  Joel Sherrill (joel@OARcorp.com)
2217
2218         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
2219           mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
2220           sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
2221           definitions.  Use -qrtems instead of -mrtems.
2222
2223 Wed Sep  3 09:05:41 1997  Robert Lipe  (robert@dgii.com)
2224
2225         * xm-sco5.h (sys_siglist): Define.
2226         (SYS_SIGLIST_DECLARED): Likewise.
2227
2228 Tue Sep  2 23:33:33 1997  Jeffrey A Law  (law@cygnus.com)
2229
2230         * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
2231
2232 Wed Sep  3 02:09:30 1997  Torbjorn Granlund  <tege@pdc.kth..se>
2233
2234         * except.c (eh_outer_context): Expand masking operation using
2235         expand_binop.
2236
2237 Tue Sep  2 18:09:39 1997  Jim Wilson  <wilson@cygnus.com>
2238
2239         * alpha.md (floatdisf2-1): New pattern.
2240
2241 Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
2242
2243         * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
2244         * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
2245         * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
2246         * gcc.texi: Note that if you define sys_siglist that you should
2247         also define SYS_SIGLIST_DECLARED.
2248
2249         * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
2250         are relative to the next instruction, not the current instruction.
2251
2252 Tue Sep  2 14:22:43 1997  Jim Wilson  <wilson@cygnus.com>
2253
2254         * local-alloc.c (contains_replace_regs): New function.
2255         (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
2256         verify that there is no existing REG_EQUIV note, and add a call to
2257         contains_place_regs.
2258
2259 Tue Sep  2 12:48:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
2260
2261         * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
2262         (STARTFILE_SPEC): Always use crtbegin.o%s
2263         (ENDFILE_SPEC): Always use crtend.o%s.
2264
2265 Tue Sep  2 12:00:36 1997  Jim Wilson  <wilson@cygnus.com>
2266
2267         * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
2268         is passed in.
2269         * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
2270         SFmode for 64 bit hosts.
2271         
2272 Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  <hilfingr@CS.Berkeley.EDU>
2273
2274         * fixincludes: Permits spaces between # and define.  Discard C++
2275         comments in sys/pci.h on HP/UX 10.20.
2276
2277 Mon Sep  1 22:13:18 1997  Jeffrey A Law  (law@cygnus.com)
2278
2279         * version.c: Bump for snapshot.
2280
2281         * pa.c (restore_unscaled_index_insn_codes): New function.
2282         (record_unscaled_index_insn_codes): Likewise.
2283         (output_function_prologue): Call restore_unscaled_index_insn_codes.
2284         (output_function_epilogue): Free memory for unscaled_index_insn_codes.
2285         (pa_reorg): Call record_unscaled_index_insn_codes.
2286
2287         * haifa-sched.c (move_insn): Handle notes correctly for insns
2288         with SCHED_GROUP_P set.
2289         
2290 Mon Sep  1 16:58:57 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
2291
2292         * alpha/xm-linux.h (USE_BFD): Undef before define.
2293
2294 Mon Sep  1 16:25:34 1997  Jim Wilson  <wilson@cygnus.com>
2295
2296         * cse.c (cse_insn): Don't record BLKmode values.
2297
2298 Mon Sep  1 11:25:47 1997  Stephen Williams  (steve@icarus.icarus.com)
2299
2300         * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
2301
2302 Mon Sep  1 08:29:46 1997  Jeffrey A Law  (law@cygnus.com)
2303
2304         * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
2305         * collect2.c (sys_errlist): Likewise.
2306         * cpplib.c (sys_errlist): Likewise.
2307         * gcc.c (sys_errlist): Likewise.
2308         * protoize (sys_errlist): Likewise.
2309         * configure.in: Check for strerror.
2310         * xm-freebsd.h (HAVE_STRERROR): Remove definition.
2311         * xm-gnu.h (HAVE_STRERROR): Likewise.
2312         * xm-linux.h (HAVE_STRERROR): Likewise.
2313         * xm-netbsd.h (HAVE_STRERROR): Likewise.
2314         * xm-bsd386.h (HAVE_STRERROR): Likewise.
2315         * xm-cygwin32.h (HAVE_STRERROR): Likewise.
2316         * xm-dos.h (HAVE_STRERROR): Likewise.
2317         * xm-mingw32.h (HAVE_STRERROR): Likewise.
2318         * xm-pa.h (HAVE_STRERROR): Likewise.
2319         * xm-papro.h (HAVE_STRERROR): Likewise.
2320         * xm-sysv4.h (HAVE_STRERROR): Likewise.
2321         * configure, config.in: Rebuilt.
2322
2323         * Makefile.in: Add several missing "else true" clauses.
2324
2325         * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
2326         * mips-tfile.c: Likewise.
2327         * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
2328         * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
2329         * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
2330         * configure.in: Check for sys_siglist declaration.
2331         * configure, config.in: Rebuilt.
2332
2333 Mon Sep  1 08:04:07 1997  Joel Sherrill (joel@OARcorp.com)
2334
2335         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, 
2336         m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
2337         sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
2338         * i960/i960.h: Added SUBTARGET_SWITCHES macro.
2339         * rs6000/sysv4.h (extra_subtarget_switches): Added new
2340         macro EXTRA_SUBTARGET_SWITCHES.
2341         * configure.in (sh*-*-rtems*): New target.
2342         * sh/rtems.h: New file.
2343         * sh/sh.h: Added SUBTARGET_SWITCHES macro.
2344         * configure: Rebuilt.
2345
2346 Sat Aug 30 22:54:26 1997  Jim Wilson  <wilson@cygnus.com>
2347
2348         * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
2349
2350 Sat Aug 30 10:49:46 1997  David Edelsohn  <edelsohn@mhpcc.edu>
2351
2352         * rs6000.md: Make DF fused-add operations pay attention to
2353         -mno-fused-add.
2354
2355 Fri Aug 29 19:19:54 1997  Jim Wilson  <wilson@cygnus.com>
2356
2357         * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
2358
2359 Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
2360
2361         * pa.md (reload_peepholes): Make sure operand is a REG before
2362         examining REGNO.  Allow general registers too.
2363
2364 Fri Aug 29 11:42:04 1997  Jim Wilson  <wilson@cygnus.com>
2365
2366         * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
2367
2368 Fri Aug 29 09:33:20 1997  Philipp Thomas  (kthomas@lxi165.gwdg.de)
2369
2370         * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
2371         to reallocate abbrev_die_table.
2372
2373 Thu Aug 28 15:14:46 1997  Jim Wilson  <wilson@cygnus.com>
2374
2375         * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
2376
2377 1997-08-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2378
2379         * Makefile.in (config.status): Depend on version.c
2380
2381         * expr.h (insn_gen_function): Reenable prototype.
2382
2383         * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
2384         first parameter.
2385
2386 Thu Aug 28 13:01:43 1997  Jim Wilson  <wilson@cygnus.com>
2387
2388         * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
2389
2390 Thu Aug 28 07:03:15 1997  Jeffrey A Law  (law@cygnus.com)
2391
2392         * version.c: Bump for latest snapshot.
2393
2394         * bc-optab.c: Conditionally include stdlib.h.
2395         (free): Provide a declaration if NEED_DECLARATION_FREE.
2396         * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
2397         * rtl.h (free): Remove declaration.
2398         * tree.h (free): Remvoe declaration.
2399
2400         * configure: Rebuilt.
2401
2402 Wed Aug 27 21:32:20 1997  Jeffrey A Law  (law@cygnus.com)
2403
2404         * flags.h (flag_move_all_movables): Declare.
2405         (flag_reduce_all_givs): Likewise.
2406         * loop.c (move_movables): Handle flag_move_all_movables.
2407         (strength_reduce): Handle flag_reduce_all_givs.
2408         * toplev.c (flag_move_all_movables): Define.
2409         (flag_reduce_all_givs): Likewise.
2410         (f_options): Add -fmove-all-movables and -freduce-all-givs.
2411         * invoke.texi: Document new options, including alias stuff that
2412         wasn't included last time.
2413
2414 Wed Aug 27 18:08:51 1997  Bob Manson  (manson@cygnus.com)
2415
2416         * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
2417         * t-mn10200: Ditto.
2418         * t-vxsparc: Ditto.
2419         * t-vxworks68: Ditto.
2420         * t-vxworks960: Ditto.
2421         * t-vx29k: Ditto.
2422
2423 Wed Aug 27 16:35:29 1997  Richard Henderson  <rth@cygnus.com>
2424
2425         * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
2426         if not already defined, and USE_C_ALLOCA not defined.
2427
2428 Wed Aug 27 16:08:43 1997  Jim Wilson  <wilson@cygnus.com>
2429
2430         * config.guess: Replace with script that uses ../config.guess.
2431
2432         * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
2433         if USE_GNULIBC_1 is not defined.
2434
2435 Wed Aug 27 15:49:12 1997  Richard Henderson  <rth@cygnus.com>
2436
2437         * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
2438         * config.guess: Recognize alpha-linux-gnulibc1.
2439         * configure.in (alpha-*-linux-gnulibc1): New target.
2440         (alpha-*-linux-gnu*): Don't build crtbegin/end.
2441
2442 Wed Aug 27 11:52:58 1997  Jim Wilson  <wilson@cygnus.com>
2443
2444         * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
2445         last change.
2446
2447 Wed Aug 27 01:56:18 1997  Doug Evans  <dje@seba.cygnus.com>
2448
2449         * loop.c (combine_movables): Earlier insns don't match later ones.
2450
2451 Wed Aug 27 01:24:25 1997  H.J. Lu   (hjl@gnu.ai.mit.edu)
2452
2453         * config/linux.h (CC1_SPEC): Define it only if not defined.
2454
2455         * config/m68k/linux.h (CC1_SPEC): Undefine it before include
2456         <linux.h>
2457
2458         * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
2459         USE_GNULIBC_1 is not defined.
2460
2461         * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New.  Defined as 1.
2462
2463         * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
2464         as 1 if USE_GNULIBC_1 is not defined.
2465
2466 Wed Aug 27 00:49:14 1997  Jeffrey A Law  (law@cygnus.com)
2467
2468         * reorg.c (dbr_schedule): Allow current_function_return_rtx
2469         to be something other than a REG.
2470         * function.c (expand_function_end): Fix current_function_return_rtx
2471         if it was a pseudo.
2472
2473         * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
2474         * x-netbsd: Likewise
2475         * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
2476         (INSTALL_HEADERS): Delete.
2477         * x-dguxbcs: Likewise.
2478         * x-hp3bsd44: Likewise
2479         * x-pa: Likewise.
2480
2481 Wed Aug 27 00:30:00 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
2482
2483         * i386.md (pop): pop increments the stack pointer.
2484         (prologue_set_stack_ptr): New pattern.
2485         * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
2486         instead of subsi3.
2487
2488 Tue Aug 26 18:50:32 1997  Jim Wilson  <wilson@cygnus.com>
2489
2490         * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
2491         address where an offsettable address is required.
2492
2493 Tue Aug 26 17:54:56 1997  Michael P. Hayes  (michaelh@ongaonga.chch.cri.nz>
2494
2495         * loop.c (check_final_value): Don't miss a biv increment in a
2496         parallel.
2497
2498 Tue Aug 26 12:03:49 1997  Jim Wilson  (wilson@cygnus.com)
2499
2500         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
2501         TYPE_DECL_IS_STUB instead of DECL_NAME.
2502
2503 Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
2504
2505         * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
2506
2507 Mon Aug 25 23:27:10 1997  Jim Meyering <meyering@eng.ascend.com>
2508
2509         * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
2510
2511 Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
2512
2513         * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
2514         (find_post_sched_live): Likewise.
2515
2516         * haifa-sched.c (schedule_block): Remove old code to get arguments
2517         from hard regs into pseudos early.
2518
2519 Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
2520
2521         * version.c: Bump for new snapshot.
2522
2523         * local-alloc.c (update_equiv_regs): All the target to reject
2524         promotion of some REG_EQUAL to REG_EQUIV notes.
2525         * pa.h (DONT_RECORD_EQUIVALENCE): Define.
2526
2527         * pa.c (secondary_reload_class): (mem (mem ... )) does not need
2528         secondary reloads.
2529
2530         * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
2531         store of the argument registers.
2532
2533 Mon Aug 25 08:39:02 1997  Craig Burley  (burley@gnu.ai.mit.edu)
2534
2535         * fold-const.c (multiple_of_p): New function.
2536         (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
2537
2538 Mon Aug 25 01:47:41 1997  Jeffrey A Law  (law@cygnus.com)
2539
2540         * expr.h (insn_gen_function): Temporarily remove prototype.
2541
2542 Sun Aug 24 17:22:21 1997  Jim Wilson  <wilson@cygnus.com>
2543
2544         * Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
2545         filenames.  Use sed to extract base filename for install.
2546
2547 Sat Aug 23 18:19:40 1997  John F. Carr  <jfc@mit.edu>
2548
2549         * unroll.c (find_splittable_givs): Only share if two givs have the
2550         same add and multiply values.
2551
2552 Sat Aug 23 14:36:27 1997  Jim Wilson  <wilson@cygnus.com>
2553
2554         * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
2555         * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
2556
2557 Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
2558
2559         * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
2560         around branch tables.
2561         * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
2562         and .end_brtab directives if TARGET_GAS.
2563
2564 Fri Aug 22 14:05:55 1997  Jim Wilson  <wilson@cygnus.com>
2565
2566         * alias.c (true_dependence): Pass x_addr not x to varies.
2567
2568         * acconfig.h (NEED_DECLARATION_CALLOC): Add.
2569         * configure.in: Add GCC_NEED_DECLARATION call for calloc.
2570         * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
2571         declarations.
2572         * config.in, configure: Regenerate.
2573
2574 Thu Aug 21 23:52:16 1997  John F. Carr  <jfc@mit.edu>
2575
2576         * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
2577         LO_SUM.
2578         (record_set): Handle LO_SUM like PLUS.
2579         (init_alias_analysis): When following chains of base addresses,
2580         do not stop on reaching a hard register.
2581
2582 Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
2583
2584         * version.c: Bump for new snapshot.
2585
2586 Thu Aug 21 17:28:00 1997  Jim Wilson  <wilson@cygnus.com>
2587
2588         * alpha.h (ARCH_ASM_FILE_START): Define.
2589         (ASM_FILE_START): Use ARCH_ASM_FILE_START.
2590         * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
2591
2592 Thu Aug 21 10:22:19 1997  Jeffrey A Law  (law@cygnus.com)
2593
2594         * Makefile.in (install-common): Put gcov comment at start of line.
2595
2596 Wed Aug 20 22:47:33 1997  Jeffrey A Law  (law@cygnus.com)
2597
2598         * alias.c (init_alias_analysis): When simplifying the reg_base_value
2599         array, simplify entries for hard registers too.
2600
2601 Wed Aug 20 12:35:47 1997  Dave Love  <d.love@dl.ac.uk>
2602
2603         * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
2604         list.
2605
2606 Wed Aug 20 11:58:33 1997  Jim Wilson  <wilson@cygnus.com>
2607
2608         * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
2609         block_stack before dereferencing it.
2610
2611 Wed Aug 20 11:57:11 1997  Michael Meissner  <meissner@cygnus.com>
2612
2613         * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
2614
2615 Tue Aug 19 17:10:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
2616
2617         * cplus-dem.c: Add 'extern' to prepends_underscore.
2618
2619 Tue Aug 19 09:34:57 1997  Jeffrey A Law  (law@cygnus.com)
2620
2621         * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
2622         (get_issue_rate): Delete.
2623         * pa.h (ISSUE_RATE): Define.
2624
2625         * configure.in: Turn on haifa by default for the PA.
2626         * configure: Rebuilt.
2627         * pa.c (override_options): Accept -mschedule=7200 option.
2628         (pa_adjust_cost): No longer need to scale costs for newer
2629         processors.
2630         * pa.h (enum processor_type): Add PROCESSOR_7200.
2631         * pa.md: Revamp scheduling parameters to work better with
2632         haifa.  Add scheduling parameters for the 7200.
2633
2634         * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
2635         insns too.
2636         (schedule_block): When adjusting basic_block_{head,end}, account
2637         for movement of SCHED_GROUP_P insns too.
2638
2639         * haifa-sched.c (debug_dependencies): Fix thinko.
2640
2641         * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
2642         (site.exp, check, check-g++, check-gcc): New targets.
2643
2644         * haifa-sched.c: Make lots of variables static.
2645
2646 Tue Aug 19 07:18:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
2647
2648         * expr.h, real.h: Finish prototyping.
2649
2650 Mon Aug 18 21:49:02 1997  Jim Wilson  <wilson@cygnus.com>
2651
2652         * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
2653         reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
2654         * reload1.c: Undo bugfix from Aug 11.
2655
2656 Mon Aug 18 17:39:02 1997  Mike Meissner  <meissner@cygnus.com>
2657
2658         * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
2659         quotes around the name.
2660         * configure: Regenerate.
2661
2662 Mon Aug 18 13:46:47 1997  Jim Wilson  <wilson@cygnus.com>
2663
2664         * Makefile.in (stmp-multilib-sub): Fix typo in last change.
2665
2666 Thu Aug  7 10:33:13 1997  Manfred Hollstein  <manfred@s-direktnet.de>
2667
2668         * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
2669         to sub-makes to avoid building more passes than the user might have
2670         requested on the command line.
2671
2672 Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
2673
2674         * configure.in: Expurgate `broken_install' (install is
2675         autoconfed).
2676
2677         * configure.lang: Substitute autoconfed ${INSTALL} (not currently
2678         relevant).
2679
2680 Sat Aug 16 01:08:12 1997  Jeffrey A Law  (law@cygnus.com)
2681
2682         * loop.c (is_power_of_2, is_conditional_branch): Delete unused
2683         functions and declarations.
2684         (analyze_loop_iterations): Use condjump_p.
2685         (insert_bct): Likewise.  Use exact_log2.
2686         
2687 Fri Aug 15 23:48:32 1997  Jeffrey A Law  (law@cygnus.com)
2688
2689         * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
2690         (schedule_region): Likewise.
2691         (schedule_insns): Likewise.
2692
2693         * PROJECTS: Update with Haifa stuff.
2694
2695 Fri Aug 15 12:49:56 1997  Jeffrey A Law  (law@cygnus.com)
2696
2697         * version.c: Change the version string to look like:
2698         egcs-2.90.00 970814 (gcc2-970802 experimental).
2699
2700         * loop.c (is_conditional_branch): Make definition match declaration.
2701
2702         * gcc.c: Take out experimental snapshot warning message.
2703
2704 Fri Aug 15 13:43:39 1997  Michael Meissner  <meissner@cygnus.com>
2705
2706         * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
2707         print out the names of the notes.  Print out the name of the insn
2708         that is not a note, and not an {,CALL_,JUMP_}INSN.
2709
2710 Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
2711
2712         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
2713         again for the slot after we give it RTL.
2714
2715 Wed Aug 13 01:03:37 1997  Doug Evans  <dje@canuck.cygnus.com>
2716
2717         * configure.in (haifa configury): Fix typo.
2718         * configure: Regenerate.
2719
2720 Tue Aug 12 10:20:36 1997  Jeffrey A Law  (law@cygnus.com)
2721
2722         * version.c: Bump version to "gcc-3.0.0 970802 experimental".
2723
2724         * gcc.info*: Rebuilt.
2725
2726         * COPYING.g77, README.g77: New files.
2727         * real.c (ereal_unto_float, ereal_unto_double): New functions.
2728         * real.h (ereal_unto_float, ereal_unto_double): Declare them.
2729         (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
2730
2731 Mon Aug 11 14:50:55 1997  Jeffrey A Law  (law@cygnus.com)
2732
2733         * Integrate Haifa instruction scheduler.
2734         * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS.  Prefix all references
2735         to sched with $(SCHED_CFLAGS.
2736         * configure.in: Handle --enable-haifa.
2737         * configure: Rebuilt.
2738         * flags.h: Add new flags for haifa instruction scheduler.
2739         * genattrtab.c (expand_units): For haifa, don't subtract one
2740         when computing blockage.
2741         * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
2742         (flag_schedule_speculative): Ditto.
2743         (flag_schedule_speculative_load): Ditto.
2744         (flag_schedule_speculative_load_dangerous): Ditto.
2745         (flag_schedule_reverse_before_reload): Ditto.
2746         (flag_schedule_reverse_after_reload): Ditto.
2747         (flag_branch_on_count_reg): Ditto.
2748         (f_options): Add Haifa switches.
2749         (main): Turn off some Haifa options if appropriate macro is
2750         defined.  Process Haifa switches.
2751         * unroll.c (iteration_info): No longer static, since Haifa
2752         scheduler uses it.
2753         (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
2754         * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
2755         * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
2756         * loop.h (loop_initial_value,loop_unroll_iter): New globals.
2757         * loop.c (loop_optimize): If HAIFA is defined, allocate additional
2758         storage for the Haifa scheduler.
2759         (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
2760         LABEL_NEXTREF.
2761         (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
2762         are defined, call analyze_loop_iterations and insert_bct to use
2763         countdown loops.
2764         (record_giv): Refine test for jumps out of loops if HAIFA is
2765         defined.
2766         (analyze_loop_iterations): New function to identify if we can use
2767         a countdown loop.
2768         (insert_bct): Insert countdown loop.
2769         (instrument_loop_bct): Low level code to insert countdown loop.
2770         (loop_number): Calculate UID of loop.
2771         (indirect_jump_in_function_p): Return true if an indirect jump is
2772         in the function.
2773         (is_power_of_2): Return true if value is a power of 2.
2774         (is_conditional_branch): Return true if insn is a conditional
2775         jump.
2776         (fix_bct_param): Process -fbct-{min,max}-N switches.
2777         (check_bct_param): Return true if loop should be instrumented.
2778         * loop.c (loop_initial_value,loop_unroll_iter): New globals.
2779         (loop_optimize): Initialize.
2780         (get_condition_for_loop): Ditto.
2781         * loop.c (strength_reduce): Inside of code that uses #ifdef
2782         HAVE_decrement_and_branch_on_count code, test it to make sure the
2783         condition is true.
2784         (instrument_loop_bct): Ditto.
2785         * haifa-sched.c: New file.
2786         
2787
2788         * Integrate regmove pass.
2789         * Makefile.in (OBJS): Add regmove.o
2790         (regmove.o): Add dependencies.
2791         * flow.c (find_use_as_address): No longer static.
2792         * rtl.h (find_use_as_address): Declare.
2793         * toplev.c (regmove_dump, flag_regmove): Define.
2794         (f_options): Add -fregmove.
2795         (regmove_dump_file, regmove_time): Define.
2796         (fatal_insn): Close the regmove dump file.
2797         (compile_file): Initialize regmove_time; open/close the regmove dump
2798         file as needed.  Print regmove time as needed.
2799         (rest_of_compilation): Run regmove pass if requested, dump
2800         RTL after regmove if requested.
2801         (main): If -O2 or more, turn on regmove.  Handle dump switches.
2802         * regmove.c: New file.
2803         
2804 Mon Aug 11 14:15:02 1997  Jeffrey A Law  (law@cygnus.com)
2805
2806         * Integrate tlink patch from jason@cygnus.com
2807         * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
2808         (process_command): Increment n_switches for them.  Don't discard
2809         their args.  Validate them.
2810         (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
2811         From Rohan Lenard.
2812         (process_command): Set include_prefixes from COMPILER_PATH.
2813         (main): Set COLLECT_GCC_OPTIONS sooner.
2814         * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
2815         * tlink.c, hash.c, hash.h: New files.
2816         * Makefile.in (USE_COLLECT2): Always use collect2.
2817         (collect2): Depend on and link in hash.o and tlink.o.
2818         (tlink.o, hash.o): Add dependencies.
2819
2820 Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
2821
2822         * Integrate alias analysis changes from jfc@mit.edu
2823         * Makefile.in (OBJS): Add alias.o
2824         (alias.o): Add dependencies.
2825         * alias.c: New file.
2826         * sched.c: Remove alias analysis code.  It lives in alias.c now.
2827         (sched_analyze_2): Add new arguments to true_dependence.
2828         (schedule_insns): Always call init_alias_analysis.
2829         * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
2830         mark return value from such functions as a pointer and keep track of
2831         them for alias analysis.  If a return value from a function is a
2832         pointer, mark it as such.
2833         * combine.c (distribute_notes): Handle REG_NOALIAS.
2834         * cse.c (struct write_data): Delete.  No longer needed.
2835         (invalidate): Don't call set_nonvarying_address_components anymore.
2836         Use true_dependence to decide if an entry should be removed from
2837         the hash table.
2838         (invalidate_memory): Remove WRITES argument, simplify appropriately.
2839         Fix all callers.
2840         (note_mem_written): Similarly for WRITE_PTR argument.
2841         (invalidate_from_clobbers): Similarly for W argument.
2842         (invalidate_for_call): Remove memory elements from the hash table.
2843         (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
2844         (cse_rtx_varies_p): New function.  Derived from old
2845         cse_rtx_addr_varies_p.
2846         (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
2847         Don't call note_mem_written anymore.  Stack pushes invalidate the stack
2848         pointer if PUSH_ROUNDING is defined.  No longer need to call
2849         cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
2850         (skipped_writes_memory): Remove variable.
2851         (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
2852         (invalidate_skipped_block): Simplify for new alias analysis code.
2853         (cse_set_around_loop): Likewise.
2854         (cse_main): Call init_alias_analysis.
2855         * flags.h (flag_alias_check, flag_argument_noalias): Declare.
2856         * toplev.c (flag_alias_check, flag_argument_noalias): Define.
2857         (f_options): Add new alias checking arguments.
2858         (main): Set flag_alias_check when optimizing.
2859         * local_alloc (validate_equiv_mem_from_store): Add new arguments
2860         to true_dependence.
2861         (memref_referenced_p): Likewise.
2862         * loop.c (NUM_STORES): Increase to 30.
2863         (prescan_loop): Only non-constant calls set unknown_address_altered.
2864         (invariant_p): Add new arguments to true_dependence.
2865         (record_giv): Initialize unrolled and shared fields.
2866         (emit_iv_add_mult): Call record_base_value as needed.
2867         * loop.h (struct induction): Add unrolled and shared fields.
2868         * unroll.c  (unroll_loop): Call record_base_value as needed.
2869         (copy_loop_body): Likewise.
2870         (final_biv_value): Likewise.
2871         (final_giv_value): Likewise.
2872         (find_splittable_regs): Likewise.  Only create one new pseudo
2873         if we have multiple address GIVs that were combined with the same
2874         dst_reg GIV.  Note when a new register is created due to unrolling.
2875         * rtl.c (reg_note_name): Add REG_NOALIAS.
2876         * rtl.h (enum reg_note): Similarly.
2877         (rtx_varies_p, may_trap_p, side_effects_p): Declare.
2878         (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
2879         (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
2880         (true_dependence, read_dependence, anti_dependence): Likewise.
2881         (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
2882         (mark_user_reg, mark_reg_pointer): Likewise.
2883
2884
2885         * Integrate reload bugfix from Wilon which enables the PA port
2886         to bootstrap again.
2887         * reload1.c (reload): Sum needs for both OPADDR_ADDR and and
2888         OPERAND_ADDRESS when computing how many registers an insn needs.
2889         (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
2890         conflict.
2891         (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
2892         OPADDR_ADDR reload.
2893         (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
2894         in reload_reg_use_in_op_addr do not reach the end.
2895         do not reach the end.
2896         (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
2897         RELOAD_FOR_OPERAND_ADDRESS.
2898
2899 Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
2900
2901         * egcs project officially starts.
2902