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