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