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