* Makefile.in (profile.o): Depend on insn-config.h
[platform/upstream/gcc.git] / gcc / ChangeLog
1 Wed Sep  9 12:31:35 1998  Jeffrey A Law  (law@cygnus.com)
2
3         * Makefile.in (profile.o): Depend on insn-config.h
4
5 Wed Sep  9 09:36:51 1998  Jim Wilson  <wilson@cygnus.com>
6
7         * iris6.h (DWARF2_UNWIND_INFO): Undef.
8
9 Wed Sep  9 01:32:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
10
11         Add preliminary native sparcv9 Solaris support.
12         * configure.in: Recognize sparv9-*-solaris2*
13         * configure: rebuilt
14         * config.sub: Recognize sparcv9 just like sparc64.
15         * config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
16         config/sparc/sol2-cn.asm: Macroize so it can be shared between
17         32-bit and 64-bit Solaris systems.
18         * config/sparc/t-sol2: Assemble those with cpp.
19         * config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
20         (*TF*_LIBCALL): If ARCH64 use V9 names.
21         * config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files.
22
23 Wed Sep  9 01:07:30 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
24
25         * config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
26         (CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
27         not doing pic.
28         (ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
29         Pmode.
30         * config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
31         to Pmode if CASE_VECTOR_MODE is something else.
32
33 Wed Sep  9 00:10:31 1998  Jeffrey A Law  (law@cygnus.com)
34
35         * prefix.c (update_path): Correctly handle cases where PATH is
36         a substring of the builtin prefix, but specifies a different
37         directory location.
38
39 Tue Sep  8 23:46:04 1998  Hans-Peter Nilsson  <hp@axis.se>
40
41         * expr.c: Corrected comment about what MOVE_RATIO does.
42         * config/alpha/alpha.h: Ditto.
43         * config/1750a/1750a.h: Ditto.
44         * config/clipper/clipper.h: Ditto.
45         * config/i386/i386.h: Ditto.
46
47 Tue Sep  8 22:56:12 1998  Jeffrey A Law  (law@cygnus.com)
48
49         * configure.in (m68k-next-nextstep3*): Use collect2.
50         Similarly for x86 NeXT configurations.
51         * configure: Rebuilt.
52
53 Tue Sep  8 01:38:57 1998  Nathan Sidwell  <nathan@acm.org>
54
55         * configure.in: Don't assume srcdir is .../gcc
56         * configure: Rebuilt.
57
58 Sat Sep  5 16:34:34 EDT 1998  John Wehle  (john@feith.com)
59
60         * global.c: Update comments.
61         (global_alloc): Assign allocation-numbers
62         even for registers allocated by local_alloc in case
63         they are later spilled and retry_global_alloc is called.
64         (mark_reg_store, mark_reg_clobber,
65         mark_reg_conflicts, mark_reg_death): Always record a
66         conflict with a pseudo register even if it has been
67         assigned to a hard register.
68         (dump_conflicts): Don't list pseudo registers already assigned to
69         a hard register as needing to be allocated, but do list their
70         conflicts.
71         * local-alloc.c: Update comment.
72
73 Mon Sep  7 23:38:01 1998  Jeffrey A Law  (law@cygnus.com)
74
75         * configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
76         * configure: Rebuilt.
77
78 Mon Sep  7 22:41:46 1998  Michael Meissner  <meissner@cygnus.com>
79
80         * rs6000.c (rs6000_override_options): Fix name for ec603e, to add
81         missing 'c'.
82         * t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
83         for all targets that set -msoft-float.
84
85 Mon Sep  7 23:30:07 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
86
87         * toplev.c (print_switch_values): Make static to match prototype.
88
89 Mon Sep  7 19:13:59 1998  Jeffrey A Law  (law@cygnus.com)
90
91         * configure.in: If we are unable to find the "gnatbind" program,
92         then do not configure the ada subdir.
93         * configure: Rebuilt.
94
95 Sun Sep 6 14:03:58 PDT 1998 Jeff Law  (law@cygnus.com)
96
97         * version.c: Bump for snapshot.
98
99 Sun Sep 6 13:28:07 PDT 1998 Jeff Law  (law@cygnus.com)
100
101         * version.c: Bump for snapshot.
102
103 Sun Sep  6 08:54:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
104
105         * Makefile.in (toplev.o): Depend on $(EXPR_H).
106         (insn-extract.o, insn-attrtab.o): Depend on toplev.h.
107
108         * gansidecl.h: Define ATTRIBUTE_NORETURN.
109
110         * genattrtab.c: Have insn-attrtab.c include toplev.h.
111
112         * genextract.c: Have insn-extract.c include toplev.h.
113
114         * rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
115
116         * toplev.c: Include expr.h.
117         (really_sorry, fancy_abort): Remove prototypes.
118         (set_target_switch): Add argument in prototype.
119         (vfatal): Mark prototype with ATTRIBUTE_NORETURN.
120         (v_really_sorry): Likewise.
121         (print_version, print_single_switch, print_switch_values): Make
122         static and add prototype arguments.
123         (decl_printable_name): Add prototype arguments.
124         (lang_expand_expr_t): New typedef.
125         (lang_expand_expr): Declare as a lang_expand_expr_t.
126         (incomplete_decl_finalize_hook): Add prototype argument.
127         (decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
128         (botch): Likewise for variable `s'.
129         (rest_of_type_compilation): Mark variables `type' and `toplev'
130         with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
131         XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
132         (display_help): Make variable `i' an `unsigned long'.
133         (main): Remove unused parameter `envp'.
134         Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
135         Cast -1 when comparing it with a `size_t'.
136
137         * toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
138         prototype with ATTRIBUTE_NORETURN.
139         (fatal_insn_not_found, fatal_insn, really_sorry,
140         push_float_handler, pop_float_handler): Add prototypes.
141         (fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
142         (do_abort, botch): Add prototypes.
143         
144 Sat Sep  6 12:05:18 1998  John Carr  <jfc@mit.edu>
145
146         * final.c (final): If a label is reached only from a single jump,
147         call NOTICE_UPDATE_CC on the jump and its predecessor before
148         emitting the insn after the label.
149         
150         * i386.h: Add AMD K6 support.
151         Change TARGET_* macros to use table lookup.
152         (INITIALIZE_TRAMPOLINE): Improve trampoline code.
153         (ADJUST_COST): Change definition to call function in i386.c.
154         (ISSUE_RATE): Define as 2 for anything newer than an 80486.
155         * i386.c: Add AMD K6 support.
156         Add constants for feature tests used by TARGET_* macros.
157         (split_di): If before reload, call gen_lowpart and gen_highpart.
158         (x86_adjust_cost): New function.
159         (put_jump_code): New function.
160         (print_operand): New codes 'D' and 'd'.
161         * i386.md: New insn types.  New insn attribute "memory".
162         Redefine scheduling parameters to use new types and add AMD K6
163         support.  Explicitly set type of most insns.
164         (move insns): K6 prefers movl $0,reg to xorl reg,reg.  Pentium
165         Pro and K6 prefer movl $1,reg to incl reg.
166         (adddi3, subdi3): Set cc_status.
167         (DImode shift patterns): Change label counters from HOST_WIDE_INT
168         to int; x86 can't have more than 2^31 DImode shifts per file.
169         (setcc): Combine all setcc patterns.  Allow writing memory.
170         Combine all jump patterns using match_operator.
171         (*bzero): Name pattern.  Emit mutliple stos instructions when that
172         is faster than rep stos.
173         (xordi3, anddi3, iordi3): Simplify DImode logical patterns and
174         add define_split.
175
176 Sun Sep  6 11:17:20 1998  Dave Love  <d.love@dl.ac.uk>
177
178         * config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
179         linking.
180
181 Sat Sep  5 22:05:25 1998  Richard Henderson  <rth@cygnus.com>
182
183         * alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
184         not whatever we're generating now.
185
186         * alpha.c (set_frame_related_p, FRP): New.
187         (alpha_expand_prologue): Mark frame related insns.
188         (alpha_expand_epilogue): Likewise, but with a null FRP.
189         * alpha.h (INCOMING_RETURN_ADDR_RTX): New.
190         * alpha.md (exception_receiver): New.
191         * alpha/crtbegin.asm (.eh_frame): New beginning.
192         (__do_frame_setup, __do_frame_takedown): New.
193         * alpha/crtend.asm (.eh_frame): New ending.
194         * alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
195         (ASM_SPEC): Don't emit both dwarf2 and mdebug.
196         (ASM_FILE_START): Don't emit .file for dwarf2.
197
198         * rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
199         * rtl.c (reg_note_name): Likewise.
200         * rtl.texi (REG_NOTES): Likewise.
201         * dwarf2out.c (dwarf2out_frame_debug): Use it.  Recognize a store
202         without an offset.
203
204 Sat Sep  5 14:47:17 1998  Richard Henderson  <rth@cygnus.com>
205
206         * i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
207         * i386.md (movsf, movdf, movxf): Validate memory address returned
208         from force_const_mem.  Kill useless REG_EQUAL setting code.
209
210 Sat Sep  5 14:23:31 1998  Torbjorn Granlund <tege@matematik.su.se>
211
212         * m68k.md (zero_extendsidi2): Fix typo.
213
214 Sat Sep  5 13:40:24 1998  Krister Walfridsson  <cato@df.lth.se>
215
216         * configure.in: Removed references to the removed file
217         * config/xm-netbsd.h. Use ${cpu_type}/xm-netbsd.h for
218         * arm*-*-netbsd* and ns32k-*-netbsd*.
219         * config/i386/xm-netbsd.h: Removed unnecessary file.
220         * config/m68k/xm-netbsd.h: Likewise.
221         * config/sparc/xm-netbsd.h: Likewise.
222         * config/mips/xm-netbsd.h: Likewise.
223
224 Sat Aug 29 13:32:58 1998  Mumit Khan  <khan@xraylith.wisc.edu>
225
226         * i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
227         (PCC_BITFIELD_TYPE_MATTERS): Define to be 0.
228
229         * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
230         for exact section attributions.
231
232         * i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
233         runtime.
234         * i386/crtdll.h (CPP_PREDEFINES): Define.
235
236 Sat Sep  5 03:23:05 1998  Jeffrey A Law  (law@cygnus.com)
237
238         * m68k.md (5200 movqi): Do not allow byte sized memory references
239         using address regs.
240         * m68k.c (output_move_qimode): Do not use byte sized operations on
241         address registers.
242
243         * Makefile.in (pexecute.o): Use pexecute.c from libiberty.  Provide
244         explicit rules for building.  Similarly for alloca, vfprintf,
245         choose-temp and mkstemp, getopt, getopt1, and obstack.
246         (INCLUDES): Add $(srcdir)/../include.
247         * pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
248         * getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.
249
250 Fri Sep  4 11:57:50 1998  Tom Tromey  <tromey@cygnus.com>
251
252         * gcc.c (do_spec_1): [case 'o'] Account for
253         lang_specific_extra_outfiles.
254         (main): Correctly clear all slots in outfiles for
255         lang_specific_extra_outfiles.  Set input_file_number before
256         calling lang_specific_pre_link.
257
258 Fri Sep  4 10:37:07 1998  Jim Wilson  <wilson@cygnus.com>
259
260         * loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
261
262 Fri Sep  4 02:01:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
263
264         * config/sparc/sparc.c (output_double_int): In all V9 symbolic
265         cases, use xword.
266         (sparc_output_deferred_case_vectors): If no work to do, return.
267         Fix thinko in Sept 1 change.
268
269 1998-09-03  SL Baur  <steve@altair.xemacs.org>
270
271         * Makefile.in: add semicolon in BISON definition for portability.
272
273 Thu Sep  3 13:34:41 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
274
275         * config/nextstep.c (handle_pragma): Correct name of third
276         argument.
277
278 Tue Sep  1 11:30:33 1998  Nick Clifton  <nickc@cygnus.com>
279
280         * config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
281         * config/m32r/m32r.h: Make register 17 be fixed.
282         * config/m32r/m32r.c: Use SImode for cc operations.
283
284 Thu Sep  3 18:17:34 1998 Benjamin Kosnik  <bkoz@cygnus.com>
285
286         * invoke.texi (Warning Options): Add -Wnon-template-friend
287         documentation.
288
289 Thu Sep  3 18:16:16 1998  Michael Meissner  <meissner@cygnus.com>
290
291         * rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.
292
293 Thu Sep  3 18:05:16 1998  David Edelsohn  <edelsohn@mhpcc.edu>
294
295         * rs6000.md (movsf): Disable explicit secondary-reload-like
296         functionality if TARGET_POWERPC64.
297         (movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
298         functionality.
299
300 >>>>>>> 1.2012
301 Thu Sep  3 11:41:40 1998  Robert Lipe   <robertl@dgii.com>
302
303         * fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
304         and term.h from fixinc.wrap.
305
306 Thu Sep  3 09:47:31 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
307
308         * aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
309         safe to include both string.h and strings.h together.
310         (GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
311         which headers to search for function declarations.  Continue to
312         prefer string.h over strings.h when both are not acceptable.
313
314         * acconfig.h (STRING_WITH_STRINGS): Add stub.
315
316         * configure.in: Call GCC_HEADER_STRING.
317
318         * system.h: Test STRING_WITH_STRINGS when deciding which headers
319         to include.  Continue to prefer string.h over strings.h when both
320         are not acceptable.
321
322 Wed Sep  2 23:56:29 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
323
324         * config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
325         not assume top 32-bits of symbolic addresses are zero if
326         flag_pic.
327
328 Thu Sep  3 00:23:21 1998  Richard Henderson  <rth@cygnus.com>
329
330         * ginclude/va-alpha.h: Protect entire second portion of the
331         file against double inclusion.
332
333 Thu Sep  3 00:37:55 1998  Ovidiu Predescu  <ovidiu@aracnet.com>
334
335         Added support for the Boehm's garbage collector.
336         * configure.in: Handle --enable-objc-gc.
337         * configure: Rebuilt.
338         * Makefile.in (CHECK_TARGETS): Add check-objc.
339         (check-objc): New rule.
340         * objc/Make-lang.in: Build a different Objective-C library that
341         runs with the Boehm's collector.
342         * objc/encoding.c (objc_round_acc_size_for_types): New function.
343         * objc/encoding.c: Correctly compute the size of compound types in
344         the presence of bitfields. Skip the variable name of the type if
345         any. Added support for long long.
346         * objc/encoding.h (_C_GCINVISIBLE): New specifier.
347         (_F_GCINVISIBLE): New mask.
348         * objc/gc.c: New file. Compute the type memory mask associated with
349         a class based on the runtime information.
350         * objc/misc.c: Added the hooks that use the Boehm's collector
351         allocation functions.
352         * objc/objc-act.c (build_class_template): Generate a new class
353         member (gc_object_type) to hold the class' type memory mask.
354         (build_shared_structure_initializer): Initialize the new member to
355         NULL.
356         (encode_complete_bitfield): New function. Generate the new
357         encoding.
358         (encode_field_decl): Generate the new encoding only for the GNU
359         runtime.
360         * objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
361         long long types.
362         (class_get_gc_object_type): New function to mark a pointer instance
363         variable as a weak pointer.
364         * objc/objc-features.texi: New file.
365         * objc/objc.h (gc_object_type): New class member.
366         * objc/objects.c (class_create_instance): Create a typed memory
367         object when compiled with Boehm's collector support.
368         * objc/sendmsg.c (__objc_init_install_dtable): Call
369         __objc_send_initialize instead of setting the initialize flag.
370         (__objc_send_initialize): Call __objc_generate_gc_type_description
371         to generate the class type memory mask. Rewrite the code that
372         sends the +initialize so that it is called only once (bug report
373         and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>).
374         * testsuite/objc: New testsuite for Objective-C type encoding.
375         * testsuite/lib/objc-torture.exp: New file.
376         * testsuite/lib/objc.exp: New file.
377
378 Wed Sep  2 14:47:36 1998  Jim Wilson  <wilson@cygnus.com>
379
380         * jump.c (jump_optimize): In if/then/else transformations, add
381         another call to modified_between_p for the jump insn.
382
383 Wed Sep  2 14:16:49 1998  Jeffrey A Law  (law@cygnus.com)
384
385         * fix-header.c (symlink): Treat like readlink.
386
387 Wed Sep  2 19:30:06 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
388
389         * dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
390         as FT_float.
391
392 Wed Sep  2 10:06:07 1998  Nick Clifton  <nickc@cygnus.com>
393
394         * config/nextstep.h:    Update HANDLE_PRAGMA macro.
395         * config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
396         * config/i960/i960.h:   Update HANDLE_PRAGMA macro.
397         
398         * config/nextstep.c (handle_pragma): Take three arguments, as per
399         the new HANDLE_PRAGMA macro specification.
400         * config/h8300/h8300.c (handle_pragma): Take three arguments, as
401         per the new HANDLE_PRAGMA macro specification.
402         * config/i960/i960.c (process_pragma): Take three arguments, as
403         per the new HANDLE_PRAGMA macro specification.
404
405 Wed Sep  2 09:25:29 1998  Nick Clifton  <nickc@cygnus.com>
406
407         * c-lex.c (check_newline):  Call HANDLE_PRAGMA before
408         HANDLE_SYSV_PRAGMA if both are defined.  Generate warning messages
409         if unknown pragmas are encountered.
410         (handle_sysv_pragma): Interpret return code from
411         handle_pragma_token ().  Return success/failure indication rather
412         than next unprocessed character. 
413         (pragma_getc): New function: retrieves characters from the
414         input stream.  Defined when HANDLE_PRAGMA is enabled.
415         (pragma_ungetc): New function: replaces characters back into the
416         input stream.  Defined when HANDLE_PRAGMA is enabled.
417         
418         * c-pragma.c (handle_pragma_token): Return success/failure status
419         of the parse.
420         
421         * c-pragma.h: Change prototype of handle_pragma_token().
422
423         * varasm.c: (handle_pragma_weak): Only create this function if
424         HANDLE_PRAGMA_WEAK is defined.
425
426         * c-common,c (decl_attributes): If defined call the expression
427         contained within the INSERT_ATTRIBUTES macro before adding
428         attributes to a decl.
429
430         * tm.texi (HANDLE_PRAGMA): Document the new verion of
431         HANDLE_PRAGMA, which takes three arguments.
432         (INSERT_ATTRIBUTES): Document this new macro.  
433
434         * LANGUAGES: Document the new version of HANDLE_PRAGMA and the
435         new INSERT_ATTRIBUTES macro.
436
437 Wed Sep  2 02:03:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
438
439         * config/sparc/sparc.md (movdf): Only generate special RTL for
440         LABEL_REFs when PIC.
441         (move_label_di): Remove
442         (movdi_pic_label_ref, movdi_high_pic_label_ref,
443         movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
444         references when PIC.
445         * config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
446         ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
447         output an .xword for all 64-bit cases.
448         
449 Tue Sep  1 15:55:17 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
450
451         * config/sparc/sparc.c (finalize_pic): Don't output arbitrary
452         alignment, use FUNCTION_BOUNDARY instead.
453         (sparc_output_deferred_case_vectors): Likewise.
454
455 Mon Aug 31 17:25:41 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
456
457         * config/sparc/sparc.md (movsf_const_intreg): Kill warning.
458         (movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.
459
460 Mon Aug 31 13:57:55 1998  Richard Henderson  <rth@cygnus.com>
461
462         * alpha/va_list.h: New file.
463         * alpha/x-alpha (EXTRA_HEADERS): New.  Add va_list.h.
464
465 Mon Aug 31 14:55:02 1998  Jeffrey A Law  (law@cygnus.com)
466
467         * NEWS: Add SCO Openserver and Unixware 7 notes.
468
469         * NEWS: Fix typos.
470
471 Mon Aug 31 15:42:18 1998  Dave Brolley  <brolley@cygnus.com>
472
473         * varasm.c (compare_constant_1): Handle RANGE_EXPR.
474         (record_constant_1): Handle RANGE_EXPR.
475
476 Mon Aug 31 10:54:03 1998  Richard Henderson  <rth@cygnus.com>
477
478         * print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
479         * haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
480         and NOTE_INSN_RANGE_END specially.
481         (reemit_notes): Likewise.
482
483 Mon Aug 31 10:18:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
484
485         * sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
486         (ultrasparc_sched_init): Remove unneeded &.
487
488 Mon Aug 31 10:47:16 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
489
490         * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
491         for m68020-60, to prevent the use of fintrz.
492
493 Sun Aug 30 22:17:20 1998  Mark Mitchell  <mark@markmitchell.com>
494
495         * configure.in: If the native compiler is GCC use $(WARN_CFLAGS) 
496         even in stage1. 
497         * Makefile.in: Likewise.
498         * configure: Regenerated.
499
500 Sun Aug 30 22:15:41 1998  H.J. Lu  (hjl@gnu.org)
501
502         * configure.in (gxx_include_dir): Changed to
503         '${prefix}/include/g++'-${libstdcxx_interface}.
504         * configure: Rebuilt.
505
506 Sun Aug 30 20:19:43 1998  Hans-Peter Nilsson  <hp@axis.se>
507
508         * expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
509         consistent.
510         * tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
511         *sequences* *below* which scalar moves will be used.
512
513 Sun Aug 30 17:18:43 1998  Jeffrey A Law  (law@cygnus.com)
514
515         * collect2.c (mktemp): Delete unused declaration.
516
517         * config/xm-netbsd.h: Remove unnecessary file.
518         * config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
519         file anymore, it is not needed.
520
521 Sun Aug 30 16:05:45 1998  Mark Mitchell  <mark@markmitchell.com>
522
523         * convert.c (convert_to_integer): Issue an error on conversions to
524         incomplete types.
525
526 Sun Aug 30 16:47:20 1998  Martin von Lvwis  <loewis@informatik.hu-berlin.de>
527
528         * Makefile.in: Add lang_tree_files and gencheck.h.
529         * configure.in: Generate them.
530         * gencheck.c: Include gencheck.h.
531
532 Sat Aug 29 21:38:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
533
534         * config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
535         movdi_lo_sum_pic and movdi_high_pic and make visible.
536         * config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
537         emit these when Pmode is not SImode.
538         * config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.
539
540 Sat Aug 29 14:59:32 1998  Mumit Khan  <khan@xraylith.wisc.edu>
541
542         * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
543         .linkonce directive after the first time.
544
545 Sat Aug 29 12:39:56 1998  Jeffrey A Law  (law@cygnus.com)
546
547         * m68k.md (beq0_di): Generate correct (and more efficient) code when
548         the clobbered operand overlaps with an input.
549         (bne0_di): Similarly.
550
551         * Makefile.in (INSTALL): Remove "--no-header" argument.
552
553         * NEWS: Various updates.
554
555 Fri Aug 28 19:00:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
556
557         * config/sparc/sparc.c (arith_operand, const64_operand,
558         const64_high_operand, arith_double_4096_operand): Mark mode as
559         unused.
560         (create_simple_focus_bits): Remove unused arg highest_bit_set, all
561         callers changed.
562         (sparc_emit_set_const64): Remove unused variable i.
563         (sparc_splitdi_legitimate): Likewise for addr_part.
564         (ultra_code_from_mask): Likewise for mask.
565         (ultra_cmove_results_ready_p): Fixup entry modulo calc. and
566         reverse return values so it matches usage and comments.
567         (ultra_flush_pipeline): Likewise.
568         (ultra_fpmode_conflict_exists): Likewise, remove unused variable
569         this_type, and allow loads and stores of differing FP modes as
570         they do not create a conflict.
571         (ultra_find_type): Initialize fpmode to SFmode, fix
572         parenthesization thinkos in large conditional.
573         (ultrasparc_sched_init): Mark dump and sched_verbose as unused.
574         Init free_slot_mask after ultra_cur_hist is reset, not before.
575         (ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
576         (ultrasparc_sched_reorder): Don't bzero current pipeline state,
577         use ultra_flush_pipeline instead, then re-init group pointer.
578         Fix statement with no effect.  If no progress made in, and no
579         instructions scheduled at all, advance to new pipeline cycle else
580         we get into an endless loop.
581         (ultrasparc_adjust_cost): Remove previous arg.
582         * config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
583         
584 Fri Aug 28 13:52:35 1998  Jim Wilson  <wilson@cygnus.com>
585
586         * sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
587         code.  Use reg_overlap_mentioned_p to detect when source and
588         destination overlap.
589         (negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.
590
591 1998-08-28  Brendan Kehoe  <brendan@cygnus.com>
592
593         * loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
594         COMPARISON_VAL, into invariant_p.
595
596 Fri Aug 28 15:13:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
597
598         * regmove.c (regclass_compatible_p): New function.
599         (regmove_optimize): Use it.
600
601         Use NREGS parameter insted of calling max_reg_num.
602
603         (fixup_match_1): Don't use code = MINUS when later tieing with
604         a hard register is likely.
605
606 Fri Aug 28 14:54:07 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
607
608         * loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
609         COMPARISON_VAL was normalized.
610
611 Thu Aug 27 20:10:46 1998  Jeffrey A Law  (law@cygnus.com)
612
613         * loop.c (check_dbra_loop): The loop ending comparison value
614         must be an invariant or we can not reverse the loop.
615
616         * loop.c (scan_loop): Count down from max_reg_num - 1 to
617         FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
618         of the loop.
619         (load_mems_and_recount_loop_regs_set): Likewise.
620
621         * i386.c (print_operand): Remove obsolete 'c' docs.
622
623 Wed Aug 26 17:13:37 1998  Tom Tromey  <tromey@cygnus.com>
624
625         * gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
626         * frame.c (init_object_mutex): New function.
627         (init_object_mutex_once): Likewise.
628         (find_fde): Call it.
629         (__register_frame_info): Likewise.
630         (__register_frame_info_table): Likewise.
631         (__deregister_frame_info): Likewise.
632
633 Thu Aug 27 15:14:18 1998  Jeffrey A Law  (law@cygnus.com)
634
635         * haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
636
637 Thu Aug 27 16:34:51 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
638
639         * loop.c (check_dbra_loop): Enable code for reversal
640         of some loops without a known constant loop end.
641
642 Wed Aug 26 18:38:15 1998  Richard Henderson  <rth@cygnus.com>
643
644         * haifa-sched.c (last_clock_var): New.
645         (schedule_block): Initialize it.
646         (schedule_insn): Use it to fill insn modes with issue information.
647
648         * alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
649         Tag trapb and next insn with TImode.
650         (alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
651         (alpha_reorg): Add conditional for alpha_handle_trap_shadows.
652         Invoke alphaev5_align_insns as appropriate.
653         * alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
654         (MD_SCHED_VARIABLE_ISSUE): New.
655         * alpha.md (attr type): Add multi.
656         (define_asm_attributes): New.
657         (prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
658         (arg_home): Likewise.
659         (fnop, unop, realign): New.
660
661 Wed Aug 26 15:55:41 1998  Jim Wilson  <wilson@cygnus.com>
662
663         * iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
664         * iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
665
666         * configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
667         (rs6000-ibm-aix4.[12]*): Likewise.
668         * configure: Regnerate.
669
670 Wed Aug 26 09:30:59 1998  Nick Clifton  <nickc@cygnus.com>
671
672         * config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
673         already contains the return address.
674
675 Wed Aug 26 12:57:09 1998  Jeffrey A Law  (law@cygnus.com)
676
677         * calls.c (expand_call): Use bitfield instructions to extract/deposit
678         word sized hunks when loading unaligned args into registers.
679
680         * haifa-sched.c (sched_analyze_insn): Only create scheduling
681         barriers for LOOP, EH and SETJMP notes on the loop_notes list.
682
683         * mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.
684
685 Wed Aug 26 16:35:37 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
686
687         * loop.c (check_dbra_loop): Add some code that would allow reversal
688         of some loops without a known constant loop end if it were enabled.
689
690 Wed Aug 26 11:08:44 1998  Gavin Romig-Koch  <gavin@cygnus.com>
691
692         * mips.md (lshrsi3_internal2+2): Fix type-o.
693
694 Wed Aug 26 10:53:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
695
696         * system.h: Include stdarg.h/varargs.h, make sure they are ordered
697         correctly with regards to stdio.h.
698         
699         * calls.c: Remove stdarg.h/varargs.h.
700         * cccp.c: Likewise.
701         * cexp.y: Likewise.
702         * combine.c: Likewise.
703         * cpperror.c: Likewise.
704         * cpplib.c: Likewise.
705         * cpplib.h: Likewise.
706         * doprint.c: Likewise.
707         * emit-rtl.c: Likewise.
708         * final.c: Likewise.
709         * fix-header.c: Likewise.
710         * gcc.c: Likewise.
711         * genattr.c: Likewise.
712         * genattrtab.c: Likewise.
713         * gencodes.c: Likewise.
714         * genconfig.c: Likewise.
715         * genemit.c: Likewise.
716         * genextract.c: Likewise.
717         * genflags.c: Likewise.
718         * genopinit.c: Likewise.
719         * genoutput.c: Likewise.
720         * genpeep.c: Likewise.
721         * genrecog.c: Likewise.
722         * mips-tfile.c: Likewise.
723         * prefix.c: Likewise.
724         * protoize.c: Likewise.
725         * regmove.c: Likewise.
726         * toplev.c: Likewise.
727         * tree.c: Likewise.
728
729 Wed Aug 26 05:09:27 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
730
731         * config/sparc/sparc.c (sparc_override_options): If not
732         TARGET_FPU, turn off TARGET_VIS.
733         * config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
734         (LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
735         * config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
736         (movdi_insn_sp64): Add VIS fzero alternative.
737         (clear_sf, clear_df): New VIS patterns.
738         (movsf, movdf expanders): Allow fp_zero_operand flat out when
739         TARGET_VIS.
740         (one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
741         
742 Tue Aug 25 10:57:41 1998  Mark Mitchell  <mark@markmitchell.com>
743
744         * loop.c (n_times_set, n_times_used, may_not_optimize,
745         reg_single_usage): Convert to varrays.  All uses changed.
746         (insert_loop_mem): Return a value.
747         (scan_loop): Tweak AVOID_CC_MODE_COPIES code.
748         (load_mems_and_recount_loop_regs_set): Likewise.  Grow the arrays, if
749         necessary.
750
751 Tue Aug 25 23:57:12 1998  Jeffrey A Law  (law@cygnus.com)
752
753         * From Alexandre:
754         * configure.in: Do not set thread_file to "irix" since no such
755         support exists yet.
756
757         * sparc.md (float abs/neg splits): Check reload_completed before
758         calling alter_subreg.
759
760 Tue Aug 25 19:17:59 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
761
762         * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
763         function.
764         * config/sparc/sparc.h: Declare it.
765         * config/sparc/sparc.md (float abs/neg splits): Use it.
766         (all other splits): Handle SUBREGs properly where necessary.
767         (unnamed (1<<x)-1 V8PLUS pattern): Disable for now.
768
769 Tue Aug 25 19:48:46 1998  Jeffrey A Law  (law@cygnus.com)
770
771         * reorg.c (fill_simple_delay_slots): Do not abort if we encounter
772         an insn on the unfilled_slots_list that has no delay slots.
773         (fill_eager_delay_slots): Similarly.
774
775 Tue Aug 25 13:35:20 1998  Nick Clifton  <nickc@cygnus.com>
776
777         * config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
778         as an ordinary operand.
779
780 Tue Aug 25 12:54:57 1998  Jason Merrill  <jason@yorick.cygnus.com>
781
782         * tree.c (valid_machine_attribute): Don't apply attributes to both
783         decl and type.
784
785 Tue Aug 25 12:23:20 PDT 1998  Richard Henderson  <rth@cygnus.com>
786
787         * reload.c (operands_match_p): Handle rtvecs.
788
789         * i386.c (legitimate_pic_address_disp_p): New.
790         (legitimate_address_p): Use it.
791         (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
792         Handle constant pool symbols just like statics.
793         (emit_pic_move): Use Pmode not SImode for clarity.
794         (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
795         [UNSPEC]: New, handling what we killed above.
796         [PLUS]: Detect and abort on invalid symbol arithmetic.
797         * i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
798
799 Tue Aug 25 12:02:23 1998  Mark Mitchell  <mark@markmitchell.com>
800
801         * alias.c: Include output.h.
802         (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
803         different if we're in a varargs function.
804         * Makefile.in (alias.o): Depend on output.h
805         
806 Tue Aug 25 19:20:12 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
807
808         * sh.h (GIV_SORT_CRITERION): Delete.
809
810 Tue Aug 25 13:19:46 1998  Dave Brolley  <brolley@cygnus.com>
811
812         * regclass.c (regclass): Use xmalloc/free instead of alloca.
813         * stupid.c (stupid_life_analysis): Ditto.
814         * reload1.c (reload): Ditto.
815
816 Tue Aug 25 05:48:18 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
817
818         * config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
819         arith_double_4096_operand, arith_double_add_operand): New
820         predicates.
821         * config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
822         * config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
823         them to transform add/sub 4096 into add/sub -4096.
824
825 Mon Aug 24 23:31:03 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
826
827         * loop.c (scan_loop): Allocate some slop to handle pseudos
828         generated by move_movables.
829         (load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
830         here too.
831
832 Mon Aug 24 19:45:40 1998  Jim Wilson  <wilson@cygnus.com>
833
834         * tree.def (DECL_RESULT): Correct documentation.
835
836 Tue Aug 25 01:15:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
837
838         * reload1.c (reload_reg_free_before_p): New argument EQUIV;  Changed
839         all callers.  Abort for RELOAD_FOR_INSN.  RELOAD_FOR_OUTADDR_ADDR:
840         conflicts will all RELOAD_FOR_OUTPUT reloads.
841
842         * reload1.c (reload_cse_regs_1): When deleting a no-op move that
843         loads the function result, substitute with a USE.
844
845 Mon Aug 24 15:20:19 1998  David Edelsohn  <edelsohn@mhpcc.edu>
846
847         * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
848         when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
849         (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
850         * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
851         (print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
852         * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
853         operand. 
854         (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
855         'o' to 'm' for GPR variant constraints.
856
857 Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)
858
859         * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
860
861         * h8300.h (STRIP_NAME_ENCODING): Fix typo.
862
863         * sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
864         when the source and destination overlap.
865
866         * stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
867         clash with global type.
868
869 Mon Aug 24 00:53:53 1998  Jason Merrill  <jason@yorick.cygnus.com>
870
871         * fixinc.irix: Add curses.h handling from fixinc.wrap.
872
873         * c-common.c (combine_strings): Also set TREE_READONLY.
874         Change warn_write_strings to flag_const_strings.
875         * c-decl.c, c-tree.h: Likewise.
876
877 Sun Aug 23 18:39:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
878
879         * config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
880         CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
881         sequence, use SET/IOR instead so CSE can see it.
882         * config/sparc/sparc.md (movhi_const64_special,
883         movsi_const64_special): New patterns necessitated by that change.
884         (movhi_high): Remove.
885         (movhi_lo_sum): Change to match an IOR.
886         (movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
887         (movdf_insn_v9only): New pattern for when V9 but not ARCH64.
888         (movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
889         (movdf splits): Allow when not V9 or when not ARCH64 and integer
890         registers are involved.
891         (snesi_zero_extend split): Remove reload_completed test.
892         (unnamed plus and minus zero_extend sidi splits): Add it.
893
894 Sun Aug 23 11:56:08 1998  Mark Mitchell  <mark@markmitchell.com>
895
896         * extend.texi: Remove description of extension to explicit
897         instantiation that is now endorsed by standard C++.
898
899 Sun Aug 23 09:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
900
901         * config/arc/arc.c (arc_initialize_pic): Remove.
902         * config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
903         nothing on any platform and is invoked by no-one, it does not even
904         appear in the documentation.
905         * config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
906         * config/sparc/sparc.c (initialize_pic): Likewise.
907         (find_addr_reg): Remove this as well, no longer referenced after
908         my rewrite.
909
910 Sun Aug 23 00:17:14 1998  Jeffrey A Law  (law@cygnus.com)
911
912         * recog.c (validate_replace_rtx_group): New function.
913         * recog.h (validate_replace_rtx_group): Declare it.
914         * regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
915         the entire group of substitutions.
916
917 Sat Aug 22 23:31:00 1998  Klaus-Georg Adams  (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
918
919         * loop.c (load_mems): Fix initializers.
920
921 Fri Aug 21 23:07:46 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
922
923         * config/sparc/sparc.md (TFmode splits): Handle destination
924         registers being referenced in the address correctly.
925
926         * expmed.c (make_tree) [CONST_INT]: Sign extend even if
927         TREE_UNSIGNED, when bitsize of type's mode is larger than
928         HOST_BITS_PER_WIDE_INT.
929
930 Fri Aug 21 19:31:31 1998  Alexandre Petit-Bianco <apbianco@cygnus.com>
931
932         * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
933         * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
934         EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
935         macros.
936         * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
937         EXIT_BLOCK_EXPR.
938
939 Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)
940
941         * h8300.c (h8300_encode_label): Use '&' for tiny data items.
942         * h8300.h (TINY_DATA_NAME_P): Likewise.
943         (STRIP_NAME_ENCODING): Handle '&'.
944
945         * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
946         register (it could be accessed via an outer SUBREG).
947         (REG_OK_FOR_BASE_P): Likewwise.
948         (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
949
950         * remove.c (optimize_reg_copy_3): Abort instead of silently generating
951         bogus rtl.
952
953         * jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
954
955 Thu Aug 20 17:35:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
956
957         * config/sparc/sparc.md (movtf_insn_sp32): All memory operands
958         must be offsettable so the splits can be made.
959
960 Thu Aug 20 13:56:53 1998  Michael Meissner  <meissner@cygnus.com>
961
962         * config/i386/winnt.c: Include system.h, not stdio.h to get
963         sys/param.h pulled in before rtl.h in case the system defines MIN
964         and MAX.
965
966 Thu Aug 20 13:44:20 1998  David Edelsohn  <edelsohn@mhpcc.edu>
967
968         * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
969
970 Thu Aug 20 13:15:11 1998  Dave Brolley  <brolley@cygnus.com>
971
972         * stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
973         arrays of bits.
974         * cpplib.c (cpp_define): Handle macros with parameters.
975
976 Wed Aug 19 21:33:19 1998  David Edelsohn  <edelsohn@mhpcc.edu>
977
978         * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
979         (output_toc): Use single TOC slot or llong minimal-toc for DFmode
980         and DImode 64-bit.  Use llong for minimal-toc SFmode and
981         SYMBOL_REF / LABEL_REF 64-bit.
982         (output_function_profiler): Use llong for profiler label and ld to
983         load 64-bit label address.
984
985 Wed Aug 19 17:52:27 1998  Nick Clifton  (nickc@cygnus.com)
986
987         * config/arm/thumb.md (extendqisi2_insn): Cope with REG +
988         OFFSET addressing.
989
990 Wed Aug 19 14:13:31 PDT 1998 Jeff Law  (law@cygnus.com)
991
992         * version.c: Bump for snapshot.
993
994 Wed Aug 19 13:10:30 PDT 1998 Jeff Law  (law@cygnus.com)
995
996         * version.c: Bump for snapshot.
997
998 Wed Aug 19 13:06:47 1998  Jason Merrill  <jason@yorick.cygnus.com>
999
1000         * collect2.c (extract_init_priority): Use atoi instead of strtoul.
1001
1002 Wed Aug 19 13:51:35 1998  Hans-Peter Nilsson  <hp@axis.se>
1003
1004         * tm.texi (Misc): Fix typo "teh".
1005
1006         * tm.texi (PIC): Fix typo "PPIC".
1007
1008         * tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
1009         effect when -O2 and higher.
1010         * invoke.texi (Optimize Options): Likewise for -fcaller-saves.
1011
1012 1998-08-19  Michael Hayes  <michaelh@ongaonga.chch.cri.nz>
1013
1014         * regclass.c: Changed register set documentation to be consistent
1015         with GCC behaviour.
1016
1017         * final.c (final_start_function) Removed redundant test for
1018         call_fixed_regs.
1019
1020 Wed Aug 19 13:28:41 1998  Mark Mitchell  <mark@markmitchell.com>
1021
1022         * rtl.h (rtx_function): New type.
1023         (for_each_rtx): New function.
1024         * rtlanal.c (for_each_rtx): Define it.
1025         
1026         * recog.c (change_t): New type.
1027         (change_objects, change_old_codes, change_locs, change_olds):
1028         Replace with ...
1029         (changes): New variable.
1030         (validate_change): Dynamically allocate room for more changes, if
1031         necessary.  Uses changes array instead of change_objects, etc.
1032         (apply_change_group):  Use changes array instead of
1033         change_objects, etc.
1034         
1035         * loop.c (loop_mem_info): New type.
1036         (loop_mems): New variable.
1037         (loop_mems_idx): Likewise.
1038         (looop_mems_allocated): Likewise.
1039         (scan_loop): Remove nregs parameter.
1040         (next_insn_in_loop): New function.
1041         (load_mems_and_recount_loop_regs_set): Likewise.
1042         (load_mems): Likewise.
1043         (insert_loop_mem): Likewise.
1044         (replace_loop_mem): Likewise.
1045         (replace_label): Likewise.
1046         (INSN_IN_RANGE_P): New macro.
1047         (loop_optimize): Don't pass max_reg_num() to scan_loop.
1048         (scan_loop): Remove nregs parameter, compute it after any new
1049         registers are created by load_mems.  Use INSN_IN_RANGE_P and
1050         next_insn_in_loop rather than expanding them inline.  Call
1051         load_mems to load memory into pseudos, if appropriate.
1052         (prescan_loop): Figure out whether or not there are jumps from the
1053         loop to targets other than the label immediately following the
1054         loop.  Call insert_loop_mem to notice all the MEMs used in the
1055         loop, if it could be safe to pull MEMs into REGs for the duration
1056         of the loop.
1057         (strength_reduce): Use next_insn_in_loop.  Tweak comments.
1058
1059 Wed Aug 19 08:29:44 1998  Richard Earnshaw (rearnsha@arm.com)
1060
1061         * arm.c (arm_override_options): Remove lie about ignoring PIC flag.
1062
1063 Wed Aug 19 07:08:15 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1064
1065         * config/sparc/sparc.c (finalize_pic): Check for the correct
1066         nonlocal_goto_receiver UNSPEC number.
1067         * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
1068         making note of this dependency existing in sparc.c
1069         (negtf2_notv9 split): Give NEG SFmode.
1070         (negsf2): Fix insn output string.
1071         
1072 Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
1073
1074         * c-common.c (decl_attributes): Issue an error if the argument
1075         to alias is not a string.
1076
1077 Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)
1078
1079         * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
1080         pending memory flush list.
1081
1082         * combine.c (can_combine_p): Allow combining insns with REG_RETVAL
1083         notes.
1084         (try_combine): Allow combining insns with REG_LIBCALL notes.
1085
1086         * expr.c (emit_block_move): Do not call memcpy as a libcall
1087         instead build up a CALL_EXPR and call it like any other
1088         function.
1089         (clear_storage): Similarly for memset.
1090
1091         * regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
1092         on notes.
1093
1094         * Makefile.in (cplus-dem.o): Provide explicit rules for building
1095         cplus-dem.o
1096
1097         * regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
1098         and REG_LIVE_LENGTH as successful substitutions are made.
1099
1100 Tue Aug 18 07:15:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1101
1102         * config/sparc/sparc.c (ultra_find_type): Add empty semicolon
1103         statement after end of loop label.
1104
1105 Tue Aug 18 07:13:27 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1106
1107         * config/sparc/sparc.c (ultra_types_avail): New variable.
1108         (ultra_build_types_avail): New function to record mask of insn
1109         types in ready list at this cycle.
1110         (ultrasparc_sched_reorder): Call it.
1111         (ultra_find_type): Use it to quicken the search.  Also simplif
1112         dependency check, don't use rtx_equal_p because we know exactly
1113         what we are looking for.
1114
1115 Tue Aug 18 03:20:53 1998  Richard Earnshaw  (rearnsha@arm.com)
1116
1117         * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
1118         for architecture v4.
1119
1120 Mon Aug 17 21:26:38 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1121
1122         * config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
1123         gen_compare_reg.
1124         (movsf_const_intreg, movsf_const_high, movsf_const_lo,
1125         movdf_const_intreg and helper splits): New patterns to move float
1126         constants into integer registers.
1127         (negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
1128         splits.
1129
1130 Mon Aug 17 11:46:19 1998  Jeffrey A Law  (law@cygnus.com)
1131
1132         * From Graham
1133         * tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
1134         to itype.
1135         * c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
1136
1137         * rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
1138         a BASE_REGS register is needed as an intermediate when copying
1139         a symbolic value into any register class other than BASE_REGS.
1140
1141         * expr.c (move_by_pieces): No longer static.  Remove prototype.
1142         * rtl.h (move_by_pieces): Add extern prototype.
1143         * mips.c (expand_block_move): Handle aligned straight line copy by
1144         calling move_by_pieces.
1145
1146         * expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
1147         and VAR_DECLs.
1148
1149 Mon Aug 17 10:28:52 1998  Mark Mitchell  <mark@markmitchell.com>
1150
1151         * stmt.c (expand_end_loop): Tidy.  Allow unconditional
1152         jumps out of the loop to be treated as part of the exit test.
1153
1154 Mon Aug 17 10:06:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1155                           Jeff Law <law@cygnus.com>
1156
1157         * Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
1158         * cplus-dem.c: Delete.
1159
1160         * Makefile.in (fold-const.o): depend on $(RTL_H).
1161
1162         * fold-const.c: Include rtl.h to get the prototype for
1163         `set_identifier_local_value'.
1164
1165         * loop.c (express_from_1): Remove unused variable `tmp'.
1166         (combine_givs): cast the first argument of bzero to char *.
1167
1168         * toplev.c (display_help): Remove unused variable `looking_for_start'.
1169
1170         * c-decl.c (init_decl_processing): Remove unneeded &.
1171
1172         * alpha.h (alpha_initialize_trampoline): Provide prototype.
1173         
1174         * except.c (set_exception_lang_code, set_exception_version_code):
1175         Change parameter from `short' to `int' to avoid using a gcc
1176         extension.
1177
1178         * except.h (set_exception_lang_code, set_exception_version_code):
1179         Likewise for prototypes.
1180
1181         * flow.c (count_reg_references): Remove unused variables `regno'
1182         and `i'.
1183
1184         * gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
1185
1186         * prefix.c (translate_name): Cast the result of `alloca'.
1187
1188         * varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
1189
1190 Mon Aug 17 09:23:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1191
1192         * config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
1193         Include "toplev.h".
1194         (valid_dbcc_comparison_p): Mark mode argument as unused.
1195         (symbolic_operand): Likewise.
1196         (legitimize_pic_address): Likewise.
1197         (const_uint32_operand): Likewise.
1198         (const_sint32_operand): Likewise.
1199         * sched.c [!INSN_SCHEDULING]: Define only dummy function
1200         schedule_insns and comment out rest of file.
1201
1202         * m68k.c (output_move_simode_const): Use subl to move a zero into an
1203         address register.
1204         (output_move_[hq]imode): Likewise.
1205
1206 Mon Aug 17 09:15:47 1998  Jeffrey A Law  (law@cygnus.com)
1207
1208         * toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
1209         * invoke.texi: Corresponding changes.
1210
1211 Mon Aug 17 02:03:55 1998  Richard Henderson  <rth@cygnus.com>
1212
1213         * regclass.c (allocate_reg_info): Respect MIN when clearing data.
1214
1215 Sun Aug 16 17:37:06 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1216
1217         * config/sparc/sparc.c (ultra_code_from_mask,
1218         ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
1219         ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
1220         ultrasparc_sched_init, ultrasparc_variable_issue,
1221         ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
1222         functions to describe UltraSPARC pipeline exactly to Haifa.
1223         (ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
1224         as there is nothing the scheduler can do about it.  Indicate that
1225         REG_DEP_OUTPUT's collide.  Fixup formatting.
1226         * config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
1227         divide costs on Ultra for DImode.
1228         (MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
1229         Define.
1230         * config/sparc/sparc.md (ieu_unnamed function unit): Rename to
1231         ieuN and add call_no_delay_slot to type list.
1232         (cti function unit): New unit for branches on UltraSPARC.
1233         (subx/addx insns): Set type to misc.
1234         (sidi zero/sign extension insns on arch64): Set type to shift.
1235         (sign_extendhidi2_insn): Set type to sload.
1236
1237 Sun Aug 16 13:52:00 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1238
1239         * rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
1240         (output_epilog): Use if != 0 for offset.
1241         (rs6000_fatal_bad_address): Prepare for Intl.
1242         * rs6000.h (rs6000_fatal_bad_address): Declare.
1243         * rs6000.md (movsfcc, movdfcc): Use else if.
1244         (elf_high): Use {liu|lis}.
1245         (elf_low): Use {cal|la}.  Remove %a template from old mnemonics.
1246         (movsi): Use rs6000_fatal_bad_address.
1247         
1248 Sun Aug 16 01:53:21 1998  Richard Henderson  <rth@cygnus.com>
1249
1250         * reload.c (find_equiv_reg): Reject equivalences separated
1251         by a volatile instruction.
1252
1253 Sun Aug 16 00:21:44 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 
1254
1255         * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
1256
1257 Sat Aug 15 20:51:35 1998  Richard Henderson  <rth@cygnus.com>
1258
1259         * alpha.md (movsicc): Fix mode mismatch.
1260
1261 Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)
1262
1263         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
1264         return type.
1265         * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
1266
1267 Sat Aug 15 08:39:49 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1268
1269         * config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
1270         write-only modifier from operand 1 constraint.
1271
1272 Sat Aug 15 06:28:19 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1273
1274         * config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
1275         emitting a XOR of -1 at the end, emit a NOT instead for combine's
1276         sake.
1277         (sparc_emit_set_const64): Likewise, also when computing trailing
1278         bits do not negate low_bits and make fast_int an int.
1279
1280 Fri Aug 14 21:07:03 1998  Jeffrey A Law  (law@cygnus.com)
1281
1282         * loop.c (add_label_notes): Do not ignore references to labels
1283         before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
1284         * gcse.c (add_label_notes): Similarly.
1285
1286         * pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
1287
1288         * m68k.md (adddi_dilshr32): One of the operands must be a register.
1289         (adddi_dishl32): Similarly.
1290
1291 Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
1292
1293         * i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
1294         * alias.c (memrefs_conflict_p): Add braces to shut up warnings.
1295         * cse.c (cse_basic_block): Add parens to shut up warnings.
1296
1297 Fri Aug 14 12:58:21 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1298
1299         * config/sparc/sparc.c (sparc_emit_set_const64_quick2,
1300         sparc_emit_set_const64_longway, const64_is_2insns,
1301         create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
1302         in 64-bit constant formation.
1303         * config/sparc/sparc.md (snesi_zero_extend split): Generate
1304         rtl for addx not subx.
1305         (define_insn movdi_const64_special): Make available even when
1306         HOST_BITS_PER_WIDE_INT is not 64.
1307         (movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
1308         (losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
1309         (cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
1310         instances of operand 1 inside a QI subreg.
1311         (xordi3_sp64_dbl): Remove '%' constraint for op1.
1312         (one_cmpldi2_sp64): Fix output string.
1313         (one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
1314         alternative case.
1315         (unnamed arch64 ashift DI): Truncate shift count if greater than
1316         63, not 31.
1317
1318 Fri Aug 14 21:52:53 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1319
1320         * expr.c (store_expr): Don't optimize away load-store pair
1321         when either source or destination have a side effect.
1322
1323 Fri Aug 14 16:50:10 1998  John Carr  <jfc@mit.edu>
1324
1325         * genrecog.c (add_to_sequence): Fatal error if the modes of the
1326         operands of SET are incompatible.
1327
1328         * alpha.md: Fix max and min patterns so modes of SET operands match.
1329
1330 Fri Aug 14 12:22:55 1998  Ian Lance Taylor  <ian@cygnus.com>
1331
1332         * configure.in: Avoid [[ by using test and changequote.
1333         * configure: Rebuild.
1334
1335 Fri Aug 14 01:22:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1336
1337         * rtl.def (CONSTANT_P_RTX): Fix typo in string name.
1338
1339         * config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
1340         seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
1341         split, snedi_zero_trunc and split, seqsi_zero_extend and split,
1342         seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
1343         movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
1344         split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
1345         Fix mismatching modes in SET operands.
1346         (conditional move patterns): Fix formatting.
1347         (unnamed subx arch64 pattern): Remove duplicate insn.
1348         
1349 Fri Aug 14 00:34:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1350
1351         * config/sparc/sparc.c (const64_operand, const64_high_operand):
1352         Get it right when HOST_BITS_PER_WIDE_INT is not 64.
1353         (input_operand): Fixup test for what we accept for constant
1354         integers.
1355         (sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
1356         set VOIDmode.
1357         (safe_constDI): Remove.
1358         (sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
1359         gen_safe_XOR64): New functions.
1360         (sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
1361         sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
1362         them.
1363         * config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
1364         available when HOST_BITS_PER_WIDE_INT is not 64.
1365         (define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
1366         move before movdi_insn_sp64 pattern.
1367         (define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
1368         (define_insn sethi_di_medlow, seth44, setm44, sethh): Use
1369         symbolic_operand as predicate for second operand.
1370         (DImode minus split on arch32, negsi2 expander, one_cmplsi2
1371         expander): Give set VOIDmode.
1372         
1373 Fri Aug 14 01:45:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
1374
1375         * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
1376
1377 Fri Aug 14 01:40:21 1998  Geoffrey Keating  <geoffk@ozemail.com.au>
1378
1379         * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
1380
1381 Fri Aug 14 01:23:23 1998  Richard Earnshaw (rearnsha@arm.com)
1382
1383         * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating 
1384         point.
1385         (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
1386
1387 Fri Aug 14 01:19:08 1998  Robert Lipe  <robertl@dgii.com>
1388
1389         * install.texi: Various SCO OpenServer tweaks.
1390
1391 Thu Aug 13 20:14:40 1998  Jim Wilson  <wilson@cygnus.com>
1392
1393         * reload1.c (eliminate_regs_in_insn): Handle another case when
1394         eliminating the frame pointer to the hard frame pointer.  Add
1395         missing ep->to_rtx check to one existing case.
1396
1397         * mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
1398
1399 Thu Aug 13 17:08:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
1400
1401         * tree.h: De-conditionalize init_priority code.
1402
1403         * mips.h (NM_FLAGS): Change from -Bp to -Bn.
1404         * collect2.c (NM_FLAGS): Change from -p to -n.
1405
1406         * configure.in: Turn on collect2 for mipstx39-elf.
1407         Handle use_collect2=no properly.
1408
1409         * c-common.c: De-conditionalize init_priority code.
1410         * collect2.c (extract_init_priority, sort_ids): New fns.
1411         (main): Call sort_ids.
1412         Move sequence_number to file scope.
1413
1414         * configure.in: Handle --enable-init-priority.
1415         * c-common.c (attrs): Add A_INIT_PRIORITY.
1416         (init_attributes, decl_attributes): Likewise.
1417         * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
1418         * tree.c (get_file_function_name_long): Split out...
1419         (get_file_function_name): ...from here.
1420
1421 Thu Aug 13 16:09:53 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
1422
1423         * expr.c (safe_from_p): Change code to ERROR_MARK only when not
1424         accessing nodes.
1425
1426 Thu Aug 13 15:24:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
1427
1428         * toplev.c (display_help): Add braces to shut up warnings.
1429         * tree.c (simple_cst_equal): Likewise.
1430
1431         * fold-const.c (non_lvalue): Don't deal with null pointer 
1432         constants here.
1433         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
1434
1435         * c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
1436         of any size to a pointer.
1437
1438 Thu Aug 13 12:53:13 1998  Jim Wilson  <wilson@cygnus.com>
1439
1440         * i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
1441
1442 Wed Aug 12 17:25:18 1998  Jeffrey A Law  (law@cygnus.com)
1443
1444         * mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
1445         which will be saved.
1446         * mn10300.md (prologue insn): Only save registers which need saving.
1447         (epilogue insn): Similarly.
1448
1449         * mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
1450         optimizations.
1451
1452 Wed Aug 12 12:39:16 1998  Gavin Romig-Koch  <gavin@cygnus.com>
1453
1454         * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
1455         VAR_DECL's in gp addressable sections.
1456
1457 Tue Aug 11 23:02:31 1998  John Carr  <jfc@mit.edu>
1458
1459         * sparc.c: Change return <exp> to <exp>; return; in functions
1460         returning void.
1461         * sparc.md: Add empty semicolon statement after final label in
1462         move expanders.
1463
1464 Tue Aug 11 22:42:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1465
1466         * config/sparc/sparc.md (define_insn addx_extend): Rename to
1467         addx_extend_sp64, only allow when TARGET_ARCH64.
1468         (define_insn addx_extend_sp32 and split): Version that works when
1469         not TARGET_ARCH64.
1470         (define_insn subx_extend): Likewise.
1471         (define_split adddi3 and subdi3 with zero extension): Fixup and
1472         correct bugs when not TARGET_ARCH64.
1473
1474 Tue Aug 11 16:04:34 1998  John Carr  <jfc@mit.edu>
1475
1476         * except.c (set_exception_lang_code, set_exception_version_code):
1477         Use prototype-style definition if __STDC__, to match declaration
1478         in except.h.
1479
1480         * genemit.c: Change FAIL and DONE macros not to use loops.
1481
1482 Tue Aug 11 12:27:03 1998  Jim Wilson  <wilson@cygnus.com>
1483
1484         * dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
1485         ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
1486
1487         * mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
1488
1489 Tue Aug 11 18:12:53 1998  Dave Love  <d.love@dl.ac.uk>
1490
1491         * README.g77: Update from Craig.
1492
1493 Tue Aug 11 04:46:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1494
1495         * config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
1496         type HOST_WIDE_INT.
1497         (safe_constDI sparc_emit_set_const64_quick1,
1498         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
1499         analyze_64bit_constant, const64_is_2insns,
1500         create_simple_focus_bits): Fix some bugs when compiled on real
1501         64-bit hosts.
1502         (function_arg_record_value_3, function_arg_record_value_2,
1503         function_arg_record_value): Add fully prototyped forward decls.
1504         * config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
1505         to cmpsi_insn and use on both 64 and 32 bit targets.
1506         (define_insn cmpsi_insn_sp64): Remove.
1507         (define_expand zero_extendsidi2): Allow for 32-bit target too.
1508         (define_insn zero_extendsidi2_insn): Rename to
1509         zero_extendsidi2_insn_sp64.
1510         (define_insn zero_extendsidi2_insn_sp32): New pattern and
1511         assosciated forced split for it.
1512
1513         * config/sparc/sparc.c (const64_operand, const64_high_operand):
1514         New predicates.
1515         * config/sparc/sparc.h: Declare them.
1516         (PREDICATE_CODES): Add them.
1517         * config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
1518         movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
1519
1520 Mon Aug 10 22:57:24 1998  John Carr  <jfc@mit.edu>
1521
1522         * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
1523         in v9 case as the latter makes the Solaris assembler crash.
1524
1525 Mon Aug 10 22:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1526
1527         * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
1528         for TFmode when !v9.  We require offsettable memory addresses.
1529         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
1530         DFmode register number conversions.
1531         * config/sparc/sparc.md (define_split DFmode moves): If register
1532         is a SUBREG do alter_subreg on it before using.
1533         (define_expand movtf): Fixup comment about alignment on v9.
1534         (define_split TFmode moves): Don't use gen_{high,low}part, create
1535         explicit SUBREGs instead.
1536
1537 Mon Aug 10 19:02:55 1998  John Carr  <jfc@mit.edu>
1538
1539         * Makefile.in (mbchar.o): Depend on mbchar.c.
1540
1541 Mon Aug 10 04:28:13 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1542                           Richard Henderson  <rth@cygnus.com>
1543         
1544         Rewrite Sparc backend for better code generation and
1545         improved sparc64 support.
1546         * config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
1547         zero.
1548         * config/sparc/sysv4.h: Likewise.
1549         * config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
1550         move_operand, v8plus_regcmp_op, emit_move_sequence,
1551         singlemove_string, doublemove_string, mem_aligned_8,
1552         output_move_double, output_move_quad, output_fp_move_double,
1553         move_quad_direction, output_fp_move_quad, output_scc_insn):
1554         Remove.
1555         (small_int_or_double): New predicate.
1556         (gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
1557         (legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
1558         old pic_{sethi,lo_sum}_si patterns.
1559         (mem_min_alignment): New generic function to replace
1560         mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
1561         available and can test for arbitrary alignments.  All callers
1562         changed.
1563         (save_regs, restore_regs, build_big_number,
1564         output_function_prologue, output_cbranch, output_return,
1565         sparc_flat_save_restore, sparc_flat_output_function_prologue,
1566         sparc_flat_output_function_epilogue): Prettify
1567         insn output.
1568         (output_function_epilogue): Likewise and add code to output
1569         deferred case vectors.
1570         (output_v9branch): Likewise, add new arg INSN and use it to tack
1571         on branch prediction settings.  All callers changed.
1572         (print_operand): Likewise and output %l44 for LO_SUMs when
1573         TARGET_CM_MEDMID.
1574         (sparc_splitdi_legitimate): New function to make sure DImode
1575         splits can be run properly when !arch64.
1576         (sparc_initialize_trampoline, sparc64_initialize_trampoline):
1577         Reformat example code in comments.
1578         (set_extends): Remove UNSPEC/v8plus_clear_high case.
1579         (sparc_addr_diff_list, sparc_addr_list): New statics to keep track
1580         of deferred case vectors we need to output.
1581         (sparc_defer_case_vector): Record a case vector.
1582         (sparc_output_addr_vec, sparc_output_addr_diff_vec,
1583         sparc_output_deferred_case_vectors): New functions to output them.
1584         (sparc_emit_set_const32): New function to form 32-bit constants in
1585         registers when that requires more than one instruction.
1586         (safe_constDI, sparc_emit_set_const64_quick1,
1587         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
1588         analyze_64bit_constant, const64_is_2insns,
1589         create_simple_focus_bits, sparc_emit_set_const64): New functions
1590         which do the same for 64-bit constants when arch64.
1591         (sparc_emit_set_symbolic_const64): New function to emit address
1592         loading for all code models on v9.
1593         * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
1594         %g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
1595         (ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
1596         (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
1597         inaccuracies in comments, add symbolic and text_segment operands
1598         when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively.  Use
1599         GENERAL_REGS in these cases as a temp REG is needed to load these
1600         addresses into a register properly.
1601         (EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
1602         is no longer used.
1603         (GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
1604         quads are guarenteed to have 16-byte alignment.
1605         (LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
1606         copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
1607         (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
1608         deferred case vector implementation.
1609         (ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
1610         (ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
1611         Generate "internal label - label" instead of "label - 1b".
1612         (PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
1613         (PREDICATE_CODES): Remove sparc_operand, move_operand,
1614         v8plus_regcmp_op.  Add small_int_or_double, input_operand, and
1615         zero_operand.
1616         (doublemove_string, output_block_move, output_fp_move_double,
1617         output_fp_move_quad, output_move_double, output_move_quad,
1618         output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
1619         sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
1620         (sparc_emit_set_const32, sparc_emit_set_const64,
1621         sparc_emit_set_symbolic_const64, input_operand, zero_operand,
1622         mem_min_alignment, small_int_or_double): Add externs.
1623         * config/sparc/sparc.md: Document the many uses of UNSPEC and
1624         UNSPEC_VOLATILE in this backend.
1625         (define_function_unit ieu): Rename to ieu_unnamed.  Add move and
1626         unary to types which execute in it.
1627         (define_function_unit ieu_shift): Rename to ieu0.
1628         (define_function_unit ieu1): New, executes compare, call, and
1629         uncond_branch type insns.
1630         (define_function_units for type fdivs, fdivd, fsqrt): These
1631         execute in the fpu multiply unit not the adder on UltraSparc.
1632         (define_expand cmpdi): Disallow TARGET_V8PLUS.
1633         (define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
1634         (define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
1635         allows the arith_double_operand predicate and rHI constraint when
1636         TARGET_ARCH64.
1637         (define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
1638         cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
1639         neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
1640         sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
1641         sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
1642         movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
1643         movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
1644         movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
1645         movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
1646         cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
1647         sign_extendqihi2_insn, sign_extendqisi2_insn,
1648         sign_extendqidi2_insn, sign_extendhidi2_insn,
1649         extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
1650         trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
1651         floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
1652         fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
1653         adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
1654         subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
1655         muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
1656         const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
1657         smulsi3_highpart_v8plus, unnamed subreg mult,
1658         const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
1659         const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
1660         const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
1661         const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
1662         const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
1663         udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
1664         andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
1665         or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
1666         xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
1667         cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
1668         cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
1669         cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
1670         cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
1671         cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
1672         cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
1673         addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
1674         muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
1675         negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
1676         ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
1677         cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
1678         ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
1679         lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
1680         call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
1681         call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
1682         call_address_untyped_struct_value_sp32,
1683         call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
1684         call_value_symbolic_sp32, call_value_address_sp64,
1685         call_value_symbolic_sp64, branch_sp32, branch_sp64,
1686         flush_register_windows, goto_handler_and_restore,
1687         goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
1688         flush, all ldd/std peepholes, return_qi, return_hi, return_si,
1689         return_addsi, return_di, return_adddi, return_sf, all call+jump
1690         peepholes, trap, unnamed trap insns): Prettify output strings.
1691         (define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
1692         or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
1693         Likewise and force + implement splits for integer cases.
1694         (define_insn return_sf_no_fpu): Likewise and allow to match when
1695         no-fpu because of our subreg SFmode splits.
1696         (define_insn zero_extendqihi2, zero_extendqisi2_insn,
1697         zero_extendqidi2_insn, zero_extendhidi2_insn,
1698         zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
1699         input_operand for second operand.
1700         (cmp_minus_cc, cmp_minus_cc_set): Likewise and use
1701         reg_or_0_operand for operand 2 so new splits can use it.
1702         (cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
1703         cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
1704         too.
1705         (cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
1706         CONST_DOUBLEs for operand 2.
1707         (define_insn move_label_di): Likewise and label distance
1708         optimization because it no longer works with new deferred case
1709         vector scheme.  To be revisited.
1710         (define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
1711         and allow reg_or_0_operand and J constraint for second operand.
1712         (define_insn jump): Set branch predict taken on V9.
1713         (define_insn tablejump): Emit LABEL_REF + PLUS memory address for
1714         new deferred case vector scheme.
1715         (define_insn pic_tablejump_32, pic_tablejump_64): Remove.
1716         (define_insn negdi2_sp32): Force + implement splits.
1717         (define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
1718         one_cmplsi2_not_liveg0 respectively, and create expander of original
1719         names which emit special rtl for TARGET_LIVE_G0.
1720         (define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
1721         (define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
1722         gen_compare_reg, FAIL instead.
1723         (define_insn sgtu, sleu): Likewise and check gen_s*() return
1724         values when trying to reverse condition codes, if they FAIL then
1725         do likewise.
1726         (define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
1727         snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
1728         neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
1729         seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
1730         x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
1731         set output string to # to indicate they are mandatory splits.
1732         (define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
1733         pic_sethi_di, move_pic_label_si): Remove.
1734         (define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
1735         movsi_high_pic, movsi_pic_label_reg): New patterns to take their
1736         place.
1737         (define_expand movsi_pic_label_ref, define_insn
1738         movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
1739         expander and insns to handle PIC label references and deferred
1740         case vectors.
1741         (define_insn get_pc_via_rdpc): Comment out as it is no longer
1742         used.
1743         (define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
1744         Rewrite to not use emit_move_sequence, make use of new constant
1745         formation code, and new splits for all multi-insn cases.
1746         (define_insn movqi_insn): Remove sethi case, it can never happen.
1747         Use reg_or_zero_operand instead of const0_rtx explicit test,
1748         use input_operand instead of move_operand for source, and use
1749         general_operand now for dest.
1750         (define_insn movhi_insn): Similar but leave sethi case.
1751         (define_insn lo_sum_qi, store_qi, store_hi): Remove.
1752         (define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
1753         movhi_lo_sum respectively, prettify output string.
1754         (define_insn movsi_zero_liveg0): New pattern to put zero into a
1755         register when needed on TARGET_LIVE_G0.
1756         (define_insn movsi_insn): Use general_operand and input_operand
1757         for dest and src respectively.  Simplify applicability test.
1758         Prettify output strings, and add clr alternative for J
1759         constraint.
1760         (define_insn movdi_sp32_v9, movdi_sp32, define_splits for
1761         deprecated std and reg-reg DI moves): Remove and...
1762         (define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
1763         implementation which uses forced splits for all non-single insn
1764         cases.
1765         (define_split DI move cases on !arch64): New splits to handle all
1766         situations of 64-bit double register DImode on 32bit, and
1767         unaligned registers and memory addresses for all subtargets.
1768         (define_insn movsf_const_insn, movdf_const_insn, store_sf):
1769         Remove.
1770         (define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
1771         input_operand for dest and src respectively, prettify output
1772         strings.
1773         (define_insn movdf_insn, movdf_no_e_insn, store_df,
1774         movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
1775         and...
1776         (define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
1777         movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
1778         movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
1779         movtf_no_e_insn_sp64) Replace with new
1780         implementation which uses forced splits for all non-single insn
1781         cases.
1782         (define_split DF move cases): New splits in similar vein to DI
1783         move counterparts.
1784         (define_insn sethi_di_medlow, sethi_di_medium_pic,
1785         sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
1786         movdi_sp64_insn): Remove old v9 code model and constant loading
1787         support insns and..
1788         (define_insn pic_lo_sum_di, pic_sethi_di,
1789         sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
1790         seth44, setm44, setl44, sethh, setlm, sethm, setlo,
1791         embmedany_sethi, embmedany_losum, embmedany_brsum,
1792         embmedany_textuhi, embmedany_texthi, embmedany_textulo,
1793         embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
1794         movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
1795         scheme, using unspecs, secondary reloads, and one to one sparc
1796         insn to rtl insn mapping for better scheduling and code gen.
1797         (define_expand reload_indi, reload_outdi): Reload helpers for
1798         MEDANY and EMBMEDANY symbol address loading cases which require a
1799         temporary register.
1800         (define_expand movsicc): Remove v8plus_regcmp cases.
1801         (define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
1802         cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
1803         cmp_diqi_trunc_set): New patterns used by some of the new scc
1804         splits on arch64.
1805         (define_insn xordi3_sp64_dbl): New pattern used for constant
1806         formation when crossing from 32-bit targets.
1807         (define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
1808         split): Remove.
1809         (define_insn addx, subx): Make visible and prettify.
1810         (define_insn adddi3_insn_sp32): Likewise and force split.
1811         (define_insn addx_extend, subx_extend, unnamed): New patterns for
1812         64bit scc split usage.
1813         (define_insn unnamed plusDI zero_extend, unnamed minusDI
1814         zero_extend, subdi3): Force and implement splits.
1815         
1816         * final.c (final_scan_insn): Don't output labels if target
1817         specifies ASM_OUTPUT_ADDR_{DIFF}_VEC.  Do these macro operations
1818         instead.
1819         
1820         * reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
1821         don't forget to walk inside SEQUENCESs too as these are what the
1822         delay slot scheduler will create.
1823         
1824 Mon Aug 10 01:21:01 1998  Richard Henderson  <rth@cygnus.com>
1825
1826         * alpha.md (extxl+1,+2): New patterns to work around
1827         combine lossage.
1828
1829 Sat Aug  8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org)
1830
1831         * rs6000.c (rs6000_allocate_stack_space) Fix typo which
1832         caused bad assembly code to be generated.
1833
1834 Sat Aug  8 18:53:28 1998  Jeffrey A Law  (law@cygnus.com)
1835
1836         * netbsd.h: Fix typo.
1837
1838 Mon Aug  3 00:06:42 1998  Robert Lipe  <robertl@dgii.com> 
1839
1840         * config.sub: Fix typo.
1841
1842 Sun Aug  2 22:39:08 1998  Hans-Peter Nilsson  <hp@axis.se>
1843
1844         * invoke.texi (Environment Variables): Typo: Change "ascpects"
1845         into "aspects".
1846         (Running Protoize): Typo: Change "ther" into "other".
1847
1848 Sun Aug  2 00:42:50 1998  Jeffrey A Law  (law@cygnus.com)
1849
1850         * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
1851         * m68k/netbsd.h: Likewise.
1852         * ns32k/netbsd.h: Likewise.
1853         * sparc/netbsd.h: Likewise.
1854
1855 Sat Aug  1 17:59:30 1998  Richard Henderson  <rth@cygnus.com>
1856
1857         * ginclude/va-alpha.h (va_list): Use a typedef, not a define.
1858         * ginclude/va-clipper.h (va_list): Likewise.
1859
1860 Fri Jul 31 20:22:02 1998  Michael Meissner  <meissner@cygnus.com>
1861
1862         * rs6000.c (rs6000_override_options): If big endian and -Os, use
1863         load/store multiple instructions unless user overrides.
1864
1865 Fri Jul 31 17:08:59 1998  Jeffrey A Law  (law@cygnus.com)
1866
1867         * ns32k/netbsd.h: Fix typo.
1868
1869 Fri Jul 31 10:23:55 1998  Doug Evans  <devans@canuck.cygnus.com>
1870
1871         * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
1872         labels with .debugsym if no parallel insns.
1873
1874 Thu Jul 30 19:15:53 1998  Richard Henderson  <rth@cygnus.com>
1875
1876         * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
1877         (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
1878
1879 Thu Jul 30 19:50:15 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1880
1881         * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
1882         (AR_FOR_TARGET): Define.
1883
1884 Thu Jul 30 12:29:12 1998  Mark Mitchell  <mark@markmitchell.com>
1885
1886         * dyn-string.h: New file.
1887         * dyn-string.c: Likewise.
1888         * Makefile.in (OBJS): Add dyn-string.o.
1889         (dwarf2out.o): Add dyn-string.h dependency.
1890         (dyn-string.o): List dependencies.
1891         * dwarf2out.c: Include dyn-string.h.
1892         (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
1893         (addr_const_to_string): Take a dyn_string_t, not a char* as a
1894         prototype.  Use dyn_string_append rather than strcat, throughout.
1895         (addr_to_string): Use dyn_string_t.
1896
1897 Thu Jul 30 13:08:07 1998  Ken Raeburn  <raeburn@cygnus.com>
1898
1899         Function entry/exit profiling instrumentation:
1900         * expr.h (profile_function_entry_libfunc,
1901         profile_function_exit_libfunc): Declare new variables.
1902         * optabs.c: Define them here.
1903         (init_optabs): Initialize them.
1904         * tree.h (struct tree_decl): New flag
1905         no_instrument_function_entry_exit.
1906         (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
1907         * c-decl.c (duplicate_decls): Merge it.
1908         * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
1909         (init_attributes): Use it for "no_instrument_function".
1910         (decl_attributes): Handle it, for functions that have not yet been
1911         compiled.  Set decl flag.
1912         * flags.h (flag_instrument_function_entry_exit): Declare new
1913         variable.
1914         * toplev.c (flag_instrument_function_entry_exit): Define it here.
1915         (f_options): New option "instrument-functions".
1916         * function.h (struct function): New field instrument_entry_exit.
1917         * function.c (current_function_instrument_entry_exit): New
1918         variable.
1919         (push_function_context_to, pop_function_context_from): Save and
1920         restore.
1921         (expand_function_start): Set current_ variable, maybe emit return
1922         label and entry profile call.
1923         (expand_function_end): Maybe emit exit profile call.
1924
1925 Thu Jul 30 00:58:34 1998  Jeffrey A Law  (law@cygnus.com)
1926
1927         * i386.md (movqi): When optimizing a load of (const_int 1) into a
1928         NON_QI_REG_P, pretend the register is SImode.
1929
1930 Wed Jul 29 23:49:23 1998  Todd Vierling <tv@netbsd.org>
1931
1932         * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
1933         Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
1934         manufacturer id for ns32k.
1935         * configure: Regenerated.
1936         * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
1937         * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
1938         * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
1939         * config/m68k/netbsd.h: Same.
1940         * config/ns32k/netbsd.h: Same.
1941         * config/sparc/netbsd.h: Same.
1942
1943 Wed Jul 29 22:39:21 1998  Jeffrey A Law  (law@cygnus.com)
1944
1945         * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
1946         or UNROLL_COMPLETELY loop that starts with a jump to its
1947         exit code.
1948
1949 Wed Jul 29 22:18:14 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1950
1951         * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
1952         * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
1953         (print_operand, case 'B'): Don't fall through.
1954         (print_operand, case 'S'): Correct mask begin/end computation.
1955         Use HOST_BITS_PER_WIDE_INT.
1956         * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
1957         (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
1958         * rs6000/aix41.h (CPP_PREDEFINES): Same.
1959         * rs6000/aix43.h (CPP_PREDEFINES): Same.
1960
1961 Wed Jul 29 11:47:10 1998  Nick Clifton  <nickc@cygnus.com>
1962
1963         * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
1964         constraint from second alternative.
1965
1966 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
1967
1968         * configure.in: Fix --without/--disable cases for local-prefix, 
1969         gxx-include-dir and checking.
1970
1971 Tue Jul 28 22:01:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1972
1973         * configure.in (enable_haifa): Set by default for sparc64 too.
1974         configure: Rebuilt.
1975
1976 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
1977
1978         * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
1979         * i386/winnt.c (associated_type): New fn.
1980         (i386_pe_valid_type_attribute_p): New fn.
1981         (i386_pe_check_vtable_importexport): Remove.
1982         (i386_pe_dllexport_p): Use associated_type.
1983         (i386_pe_dllimport_p): Likewise.
1984
1985         From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
1986         * i386.c (i386_valid_type_attribute_p): Also accept
1987         attributes for METHOD_TYPEs.
1988
1989 Tue Jul 28 23:17:39 1998  Peter Gerwinski <peter@gerwinski.de>
1990
1991         * tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
1992
1993 Tue Jul 28 22:31:12 1998  Craig Burley  <burley@gnu.org>
1994
1995         * gcc.c: Fix commentary describing %g, %u, %U, and %O.
1996
1997         * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
1998         them from generating a new base name for each occurence of
1999         a specific suffix.
2000
2001 1998-07-28  Vladimir N. Makarov  <vmakarov@cygnus.com>
2002
2003         * cse.c (cse_insn): Enable subsitution inside libcall only for REG,
2004         SUBREG, MEM.
2005         * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE. 
2006
2007
2008
2009         * cplus-dem.c (type_kind_t): New type.
2010         (demangle_template_value_parm): Add type_kind_t parameter.  Rely
2011         on this paramter, rather than demangling the type again.
2012         (demangle_integral_value): Pass tk_integral.
2013         (demangle_template_: Pass the value returned from do_type.
2014         (do_type): Return a type_kind_t.  Pass tk_integral to
2015         demangle_template_value_parm for array bounds.
2016         (demangle_fund_type): Likewise.
2017         
2018 Mon Jul 27 00:54:41 1998  Jason Merrill  <jason@yorick.cygnus.com>
2019
2020         * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
2021         identical.
2022
2023 Mon Jul 27 22:18:36 1998  Jeffrey A Law  (law@cygnus.com)
2024
2025         * pa.c (move_operand): Accept CONSTANT_P_RTX.
2026
2027 Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>
2028
2029         * stor-layout.c (layout_type): Handle arrays of bits, for Chill.
2030
2031         * expr.c (get_inner_reference): Handle zero-based, unsigned, array
2032         index conversion.
2033
2034 Mon Jul 27 14:51:33 1998  Jeffrey A Law  (law@cygnus.com)
2035
2036         * mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
2037         (DEBUGGER_ARG_OFFSET): Likewise.
2038
2039         * mn10300.md (movsf): Remove last change.  Not needed.
2040
2041 Mon Jul 27 14:22:36 1998  Dave Brolley  <brolley@cygnus.com>
2042
2043         * c-lex.c (yylex): Fix boundary conditions in character literal and
2044         string literal loops.
2045
2046 Mon Jul 27 11:43:54 1998  Stan Cox  <scox@cygnus.com>
2047
2048         * longlong.h (count_leading_zeros): Sparclite scan instruction was
2049         being invoked incorrectly.
2050
2051         * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
2052         * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE): 
2053         Add -pg support. 
2054         * i386/win32.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.
2055         * configure.in: Added i[34567]86-*-win32
2056         * config.sub: Ditto.
2057         * configure: Rebuilt.
2058         
2059 Sun Jul 26 01:11:12 1998  H.J. Lu  (hjl@gnu.org)
2060
2061         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
2062         the frame pointer and compiling PIC code and reload has not completed.
2063
2064         * i386.c (output_to_reg): Add code to emulate non-popping DImode
2065         case.
2066
2067 Sun Jul 26 01:01:32 1998  Jeffrey A Law  (law@cygnus.com)
2068
2069         * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
2070
2071 Sat Jul 25 23:29:23 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2072
2073         * Makefile.in (install-info): Only try to update the info
2074         directory file if it exists in the first place.
2075
2076 Fri Jul 24 18:58:37 1998  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>
2077
2078         * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
2079
2080 Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)
2081
2082         * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
2083         CONST_DOUBLE source.
2084
2085 Fri Jul 24 11:17:04 1998  Nick Clifton  <nickc@cygnus.com>
2086
2087         * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
2088         strings as the insertion of USER_LABEL_PREFIX.
2089         * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
2090         valid code.
2091         * config/arm/thumb.md: Use %_ as a prefix to gcc library function
2092         calls. 
2093
2094 Thu Jul 23 18:53:20 1998  Jim Wilson  <wilson@cygnus.com>
2095
2096         * dbxout.c (dbxout_range_type): Only call dbxout_type_index for
2097         already defined type.
2098
2099 Thu Jul 23 13:49:41 1998  Jeffrey A Law  (law@cygnus.com)
2100
2101         * expr.c (check_max_integer_computation_mode): Allow conversions
2102         of constant integers to MAX_INTEGER_COMPUTATION_MODE.
2103         (expand_expr): Likewise.
2104
2105 Thu Jul 23 11:12:06 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
2106
2107         * expr.c (expand_expr): Expand RETURN_EXPR.
2108
2109 Thu Jul 23 11:00:29 1998  Jim Wilson  <wilson@cygnus.com>
2110
2111         * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
2112
2113 Wed Jul 22 19:10:00 1998  Catherine Moore  <clm@cygnus.com>
2114
2115         * dwarf2out.c (output_aranges):  Call stripattributes
2116         for TEXT_SECTION references.
2117         (output_line_info): Likewise.
2118
2119 Wed Jul 22 14:08:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
2120
2121         * profile.c (branch_prob): Call allocate_reg_info after outputting
2122         profile rtl in instrument_arcs.
2123
2124 Wed Jul 22 12:47:49 1998  Jim Wilson  <wilson@cygnus.com>
2125
2126         * fixinc.irix (math.h): Install wrapper instead of copying.
2127
2128 Wed Jul 22 12:37:14 1998  Alexandre Petit-Bianco <apbianco@cygnus.com>
2129
2130         * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
2131         so WFL are expanded correctly when contained in a COMPOUND_EXPR.
2132         * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
2133         lang_flag_0. Added documentation in the flag table.
2134
2135 Tue Jul 21 23:28:35 1998  Klaus Kaempf <kkaempf@rmi.de>
2136
2137         * cccp.c (do_include): Fix vax c style include handling.
2138
2139 Tue Jul 21 13:28:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
2140
2141         * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
2142
2143 Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
2144
2145         * fold-const.c (non_lvalue): Don't deal with null pointer 
2146         constants here.
2147         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
2148
2149 Tue Jul 21 15:49:31 1998  David Edelsohn  <edelsohn@mhpcc.edu>
2150
2151         * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
2152         * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
2153         * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
2154         (u_short_cint_operand): Same.
2155         (reg_or_cint_operand): Same.
2156         (logical_operand): Same.
2157         (input_operand): Same.
2158         (reg_or_short_operand): Use u_short_cint_operand.
2159
2160 Tue Jul 21 08:56:42 1998  Richard Henderson  <rth@cygnus.com>
2161
2162         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
2163         but keep the insns and splits.  Adjust so when the ultimate destination
2164         is memory, use cvtql.
2165
2166 Tue Jul 21 08:55:09 1998  Richard Henderson  <rth@cygnus.com>
2167
2168         * flow.c (regno_uninitialized): Fixed regs are never uninitialized.
2169
2170 Tue Jul 21 00:31:01 1998  Jeffrey A Law  (law@cygnus.com)
2171
2172         * gcc.c (do_spec): Call "error" not "warning".
2173
2174         * configure.in: Fix minor problems with gas feature detection code.
2175         * configure: Rebuilt.
2176
2177         * gcc.c (do_spec): Issue a warning for '%[]' usage.
2178
2179         * Undo this change.
2180         * gcc.c: Delete %[spec] support.
2181         (do_spec_1, case '('): Likewise.
2182         (do_spec_1, case '['): Call error.
2183
2184 Mon Jul 20 22:34:17 1998  Richard Henderson  <rth@cygnus.com>
2185
2186         * alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
2187         (CPP_SUBTARGET_SPEC): Default to empty string.
2188         (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
2189         (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
2190         * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
2191         * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
2192         (LIB_SPEC): Tidy.
2193         * alpha/linux.h (CPP_PREDEFINES): Tidy.
2194         * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
2195         * alpha/netbsd.h (CPP_PREDEFINES): Tidy.
2196         * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
2197         * alpha/win-nt.h (CPP_PREDEFINES): Likewise.
2198         * alpha/vsf.h (CPP_PREDEFINES): Likewise.
2199         (CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
2200         * alpha/vxworks.h: Likewise.
2201
2202 Mon Jul 20 22:51:57 1998  Ken Raeburn  <raeburn@cygnus.com>
2203
2204         * mips.md (reload_outsi): Added missing REGNO call.
2205         (smulsi3_highpart, umulsi3_highpart): Provide prototype for
2206         function pointer.
2207         (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
2208         another match_operator and compare the codes.
2209
2210         * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
2211
2212         * MIPS multiply pattern fixes:
2213         * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
2214         Add union classes for HI, LO, or HILO plus general registers.
2215         (GENERATE_MADD): Deleted.
2216         * mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
2217         Add TARGET_MAD to condition.
2218         (mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
2219         (mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
2220         "*d" for accumulator, to give preference to LO initially but not
2221         during reload.
2222
2223 Mon Jul 20 16:16:38 1998  Dave Brolley  <brolley@cygnus.com>
2224
2225         * configure.in (enable_c_mbchar): New configure option.
2226         (extra_cpp_objs): Always available now.
2227
2228         * cexp.y (mbchar.h): #include it.
2229         (yylex): Handle Multibyte characters in character literals.
2230
2231         * cccp.c (mbchar.h): #include it.
2232         (main): Set character set based on LANG environment variable.
2233         (rescan): Handle multibyte characters in comments.
2234         (skip_if_group): See above.
2235         (validate_else): See above.
2236         (skip_to_end_of_comment): See above.
2237         (macarg1): See above.
2238         (discard_comments): See above.
2239         (rescan): Handle multibyte characters in string and character literals.
2240         (collect_expansion): See above.
2241         (skip_quoted_string): See above.
2242         (macroexpand): See above.
2243         (macarg1): See above.
2244         (discard_comments): See above.
2245         (change_newlines): See above.
2246
2247         * c-lex.c (mbchar.h): #include it.
2248         (GET_ENVIRONMENT): New macro.
2249         (init_lex): Set character set based on LANG environment variable.
2250         (yylex): Handle multibyte characters in character literals.
2251         (yylex): Handle multibyte characters in string literals.
2252
2253         * Makefile.in (mbchar.o): New target.
2254         (cccp$(exeext)): @extra_cpp_objs@ is always available.
2255         (cppmain$(exeext)): @extra_cpp_objs@ is always available.
2256
2257         * mbchar.[ch]: New files for multibyte character handling.
2258
2259 Mon Jul 20 01:11:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
2260
2261         * jump.c (jump_optimize): When simplifying noop moves and
2262         PUSH_ROUNDING, fix thinko so we use same criterion for identifying
2263         the PUSHes to rewrite in second loop as we did in the first.
2264
2265 Sun Jul 19 08:23:53 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2266
2267         * cplus-dem.c (demangle_nested_args): Make function definition
2268         static to match the prototype.
2269
2270 Fri Jul 17 14:58:44 1998  Richard Henderson  <rth@cygnus.com>
2271
2272         * alloca.c: Respect USE_C_ALLOCA.
2273         * gencheck.c (xmalloc): Ignore __GNUC__ for definition.
2274         * gengenrtl.c (xmalloc): Likewise.
2275
2276 Fri Jul 17 14:18:14 1998  Richard Henderson  <rth@cygnus.com>
2277
2278         * loop.h (struct induction): Add no_const_addval.
2279         * loop.c (the_movables, reg_address_cost): New variables.
2280         (init_loop): Init reg_address_cost.
2281         (loop_optimize): Call end_alias_analysis.
2282         (scan_loop): Init the_movables.
2283         (record_giv): Init induction->no_const_addval.
2284         (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
2285         [REG]: Rearrange loop search test to catch more cases.
2286         (general_induction_var): Return success not benefit; take an extra
2287         argument for that.  Change all callers.
2288         (simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
2289         [MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
2290         [default]: Search the_movables for additional combinations.
2291         (sge_plus_constant, sge_plus): New functions.
2292         (express_from_1): New function.
2293         (express_from): Always define.  Rewrite using express_from_1.
2294         (combine_givs_p): Handle more cases.  Ignore address cost.
2295         (cmp_combine_givs_stats): New function.
2296         (combine_givs_used_once, combine_givs_benefit_from): New functions.
2297         (combine_givs): Rewrite to do best-fit combination.
2298
2299         * fold-const.c (operand_equal_p): Handle RTL_EXPR.
2300         (fold): Do a complete (A*C)+(B*C) association check.
2301
2302 Fri Jul 17 11:21:55 1998  Jim Wilson  <wilson@cygnus.com>
2303
2304         * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
2305
2306 Fri Jul 17 11:48:55 1998  Jeffrey A Law  (law@cygnus.com)
2307
2308         * mn10300.c (MODES_TIEABLE_P): Fix typo.
2309
2310 Fri Jul 17 03:26:12 1998  Rihcard Earnshaw (rearnsha@arm.com)
2311
2312         * tree.c (valid_machine_attribute): Only create a new type variant if
2313         there is a decl to use it.
2314
2315 Thu Jul 16 14:48:04 1998  Nick Clifton  <nickc@cygnus.com>
2316
2317         * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
2318         a suffix.
2319
2320 Fri Jul 17 03:24:40 1998  Hans-Peter Nilsson  <hp@axis.se>
2321
2322         * extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
2323         be deleted" 
2324
2325 Thu Jul 16 14:48:47 1998  Jeffrey A Law  (law@cygnus.com)
2326
2327         * mn10300.c (count_tst_insns): New arg oreg_countp.  Callers changed.
2328         Simplify tests for clearing an address register.
2329         (expand_prologue): Corresponding changes.
2330
2331         * mn10300.md (movXX patterns): Make sure the destination is an
2332         ADDRESS_REG when substituting "zero_areg" for (const_int 0).
2333         (logical patterns): Split into expanders + patterns
2334         (zero and sign extension patterns): Similarly.
2335         (shift patterns): Similarly.
2336
2337 Thu Jul 16 01:17:44 1998  Richard Henderson  <rth@cygnus.com>
2338
2339         * loop.c (emit_iv_add_mult): Scan the entire insn list generated
2340         for the sequence, recording base values.
2341
2342 Wed Jul 15 10:49:55 1998  Richard Henderson  <rth@cygnus.com>
2343
2344         * i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
2345
2346 Tue Jul 14 14:15:30 1998  Nick Clifton  <nickc@cygnus.com>
2347
2348         * gcc.c: Remove ANSI-C ism from --help code.
2349
2350         * toplev.c: Support --help with USE_CPPLIB.
2351
2352 Tue Jul 14 14:46:08 1998  Jeffrey A Law  (law@cygnus.com)
2353
2354         * configure.in: Rework gas feature code to work with symlink based
2355         source trees.
2356
2357         * extend.texi: Clarify some issues related to local variables
2358         assigned to explicit registers.
2359
2360         * mn10300.md (mulsi): Turn into expander + pattern.
2361
2362         * mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
2363         alternative.
2364
2365 Tue Jul 14 07:41:59 1998  Richard Earnshaw (rearnsha@arm.com)
2366
2367         * arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
2368
2369 Tue Jul 14 03:02:44 1998  Jeffrey A Law  (law@cygnus.com)
2370
2371         * version.c: Bump again to distinguish mainline tree from the
2372         egcs-1.1 branch.
2373
2374 See ChangeLog.0 for earlier changes.
2375
2376 Local Variables:
2377 add-log-time-format: current-time-string
2378 End: