]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Do not define inhibit_libc if it was already defined
[gcc.git] / gcc / ChangeLog
CommitLineData
eff0f7ac
MM
1Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
2
3 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
4 compiling if it was already defined.
5
2c3a56ad
JL
6Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
7
8 * flow.c (find_basic_blocks): Don't create a new basic block
9 for calls in a LIBCALL block.
10
fc97718f
DE
11Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
12
13 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
14
5b5a2a1e
JL
15Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
16
17 * cse.c (rtx_cost): Remove conflicting default case.
18
128f7968
RH
19Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
20
21 * configure.in: Move default enabling of Haifa out of for loop.
22 * configure: Rebuild.
23
e81b4fbe
JL
24Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
25
26 * version.c: Bump for snapshot.
27
f24af81b
TT
281997-12-25 Teemu Torma <tot@trema.com>
29
30 * Makefile.in (GTHREAD_FLAGS): New var.
31 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
32 (distclean): Remove gthr-default.h.
33
34 * configure.in: Accept dce as a thread package.
35 Check for thread.h and pthread.h.
36 Link gthr-default.h to appropriate thread file and set
37 gthread_flags.
38 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
39 include multilib definitions from pa/t-dce-thr.
40 (sparc-*-solaris2*): Enable threads by default, if thread.h or
41 pthread.h is found, preferring posix threads over solaris ones.
42
43 * config/pa/t-dce-thr: New file.
44 * config/pa/t-pa: Removed multilibs.
45 * config/sparc/t-sol2: Ditto.
46
47 * gthr.h: New file.
48 * gthr-single.h: New file.
49 * gthr-posix.h: New file.
50 * gthr-solaris.h: New file.
51 * gthr-dce.h: New file.
52 * libgcc-thr.h: Removed.
53 * objc/thr-dce.c: New file copied from thr-decosf1.c.
54
55 * frame.c: Include gthr.h instead of libgcc-thr.h.
56 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
57 (eh_context_initialize): If __gthread_once fails, use static eh
58 context.
59 (eh_context_free): Call __gthread_key_dtor.
60
d9a4ee00
JL
61Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
62
63 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
64
04bd620d
JW
65Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
66
556c714b 67 * cse.c (max_insn_uid): New variable.
556c714b
JW
68 (cse_around_loop): Use max_insn_uid.
69 (cse_main): Set max_insn_uid.
70
04bd620d
JW
71 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
72 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
73 -mlong64, and -mgp{32,64} options.
74 * mips.c (mips_abi): Change type to int.
75 * mips.h (enum mips_abi_type): Delete.
76 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
77 (mips_abi): Change type to int.
78
439d5a35
JC
79Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
80
81 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
82 optimization is now always enabled.
83
84 * calls.c (expand_call): Recognize C++ operator new as malloc-like
85 function.
86
87 * alias.c (memrefs_conflict_p): Eliminate tests now done by
88 base_alias_check.
89 (*_dependence): Call canon_rtx before base_alias_check.
90 (init_alias_once): New function to precompute set of registers which
91 can hold Pmode function arguments.
92
93 * rtl.h: Declare init_alias_once.
94
95 * toplev.c (compile_file): Call init_alias_once.
96
280e521f
JL
97Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
98
99 * tree.c (restore_tree_status): Do not dereference a null pointer.
100
95b8c0c8
PE
101Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
102
103 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
104 RLIMIT_STACK. This maintains consistency with the recent, similar
105 patch to cccp.c and toplev.c.
106
71d9b493
RH
107Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
108
109 * genattrtab.c (expand_units): For large nr opclasses, expand
110 function_units_used with ORX to prevent blowups. Tag with FFS.
111 (num_unit_opclasses): New variable.
112 (gen_unit): Update it.
113 (enum operator): Add ORX_OP.
114 (operate_exp): Treat ORX as or, except don't expand across an if.
115 Reuse number rtx's after operating on them.
116 (check_attr_value): Accept IOR, AND, & FFS.
117 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
118 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
119 (write_expr_attr_cache, write_toplevel_expr): New functions.
120 (write_attr_get): Handle FFS-tagged expressions.
121 (make_canonical): Don't expand const attributes.
122 (convert_const_symbol_ref): Dike out.
123 (evaluate_eq_attr): Handle SYMBOL_REF.
124 (main): Don't emit get_attr_foo for const attributes.
125
126 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
127 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
128 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
129 * alpha.md: Redo all of the scheduling, adding EV6 support, and
130 combining function units where possible.
131 (attr "type"): Split loads, stores, cmov into int/fp. Combine
132 multiplies and divides. Add EV6 sqrt, ftoi, itof.
133 (attr "opsize"): New attribute.
134 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
135 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
136 to control register allocation.
137 (movsi2-1, movdi2-1): Likewise.
138
b0435cf4
RH
139Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
140
141 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
142 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
143 Move OSF/1 specific defines out.
144 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
145 Move Linux specific defines out.
146 (LINK_SPEC): Genericize.
147 (ASM_FILE_START): Emit .arch if using more than the base insn set.
148 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
149 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
150 (HANDLE_SYSV_PRAGMA): Define.
151 * alpha/osf.h: New file.
152 * alpha/linux.h: Split. Retain file-format independant defines.
153 Import Linux bits from elf.h.
154 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
155 (FUNCTION_PROFILER): _mcount takes its address in $28.
156 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
157 * alpha/linux-ecoff.h: New file.
158 * alpha/linux-elf.h: New file.
159 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
160 * alpha/win-nt.h (TARGET_DEFAULT): Define.
161 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
162 Add new headers as appropriate.
163
164 * configure.in (alpha*): Enable Haifa by default.
165 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
166 * configure: Rebuild.
167
5768f211
RH
168Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
169
170 * Makefile.in (clean): Remove the stages with their objects here ...
171 (distclean): ... instead of here.
172
9e04c65a
KG
173Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
174
175 * cse.c (rtx_cost): Add default case in enumeration switch.
176 * fix-header.c (recognized_macro): Likewise.
177 (recognized_extern): Likewise.
178 (write_rbrac): Likewise.
179 * objc/objc-act.c (encode_aggregate): Likewise.
180 (gen_declarator): Likewise.
181 (gen_declspecs): Likewise.
182
1d88b804
JL
183Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
184
185 * haifa-sched.c (create_reg_dead_note): Detect and handle another
186 case where we kill more regs after sched than were killed before
187 sched.
188 * sched.c (create_reg_dead_note): Similarly.
189
bbeba0ba
JL
190Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
191
192 * c-pragma.c: Include flags.h.
193
05853640
MK
194Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
195
196 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
197 about system headers.
198 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
199 and also to resolve symbols in prefix.c.
200
201 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
202 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
203 when the definitions in auto-config.h is not visible.
204 (HAVE_BZERO): Likewise.
205 (HAVE_BCMP): Likewise.
206 (HAVE_RINDEX): Likewise.
207 (HAVE_INDEX): Likewise.
208
44201dba
JL
209Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
210
211 * pa.c (emit_move_sequence): Handle a function label source
212 operand.
213
d300e551
NC
214Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
215
216 * c-pragma.c (handle_pragma_token): Generate warning messages
217 about unknown pragmas if warn_unknown_pragmas is set.
218
219 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
220 line option to set variable: warn_unknown_pragmas.
221
d3245704
MH
222Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
223
224 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
225 definition.
226 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
227
5198352e
JL
228Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
229
230 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
231 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
232 generate more fine grained floating point emulation libraries.
233 * config/fp-bit.c: Add protecting #ifdef to all functions so
234 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
235 then compile all suitable functions.
236 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
237 underscores to avoid namespace pollution.
238 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
239 (FPBIT): Define.
240 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
241 (FPBIT): Define.
242 (DPBIT): Define.
243
1d300e19
KG
244Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@tragg.rutgers.edu>
245 Jeff Law <law@cygnus.com>
246
247 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
248 of the declaration.
249 * c-decl.c (finish_decl): Use parentheses around && within ||.
250 * rtl.c: Include stdlib.h.
251 (read_skip_spaces): Add parentheses around assignments used as
252 truth values.
253 (read_rtx): Initialize list_rtx.
254 * cppexp.c (parse_number): Use || when operands are truth values.
255 * alias.c (find_base_value): Add default case.
256 (memrefs_conflict): Likewise.
257 * combine.c (sets_function_arg_p): Likewise.
258 * genemit.c (gen_exp): Likewise.
259 * local-alloc.c (contains_replace_regs): Likewise.
260 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
261 * fold-const.c (fold_convert): Use "&&" for truth values.
262 (fold): Add default case.
263 * sdbout.c (sdbout_field_types): Fix typo in declaration.
264 (sdbout_one_type): Add default case.
265 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
266 (some_operand): Add default case.
267 (input_operand): Likewise.
268 (signed_comparison_operator): Likewise.
269 (divmod_operator): Likewise.
270 (alpha_set_memflags_1): Likewise.
271 * reload1.c (reload_cse_simplify_operands): Ensure function
272 always returns a value.
273 * scan-decls.c (scan_decls): Likewise.
274 * c-lex.c (skip_white_space): Fix typo in declaraion.
275 * c-typeck.c (comp_target_types): Add parentheses around assignment
276 used as truth value.
277 (print_spelling): Likewise.
278 (constructor_implicit, constructor_result): Remove unused variables.
279 * collect2.c (scan_library): Protect prototype with
280 #ifdef SCAN_LIBRARIES.
281 * emit-rtl.c (find_line_note): Fix typo in declaration.
282 * final.c (asm_insn_count): Protect prototype with
283 #ifdef HAVE_ATTR_length.
284 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
285 (try_pre_increment_1, try_pre_increment): Likewise.
286 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
287 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
288 * gcov-io.h (__store_long, __write_long, __read_long): Fix
289 unsigned/signed comparisons.
290 * gcov.c (read_files): Remove unused "first_type" variable.
291 (scan _for_source_files): Initialize s_ptr.
292 (function_summary): Eliminate "%lf" formatting, use %ld for
293 longs.
294 (output_data): Initialize branch_probs and last_line_num.
295 Eliminate "%lf" formatting, use "%ld" for longs.
296
18543a22
ILT
297Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
298
afba61d1
ILT
299 * mips16.S: New file.
300
301 * libgcc2.c (varargs): Handle mips16.
302
18543a22
ILT
303 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
304 expression.
305 * stmt.c (expand_end_case): Likewise.
306 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
307 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
308 * rs6000.h, sh.h, tahoe.h, v850.h vax.h z8k.h: Likewise.
309
dbf3231e
AS
310Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
311
312 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
313 the build directory.
314 (libobjc.a): Update dependency list.
315 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
316 directory.
317 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
318 (objc.mostlyclean): Remove runtime-info.h.
319
e1ee5cdc
RH
320Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
321
322 * tree.c (build_range_type): Allow creation of ranges with no maximum.
323 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
324 * dwarf2out.c (add_subscript_info): Likewise.
325 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
326 * sdbout.c (plain_type_1): Likewise.
327 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
328 Likewise.
329 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
330 Likewise.
331
dfe91418
JL
332Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
333
334 * mips.c (fatal): Remove declaration.
335
3361997-12-18 Mark Mitchell <mmitchell@usa.net>
337
338 * integrate.c (get_label_from_map): New function.
339 (expand_inline_function): Use it. Initialize the label_map to
340 NULL_RTX instead of gen_label_rtx.
341 (copy_rtx_and_substitute): Use get_label_from_map.
342 * integrate.h (get_label_from_map): New function.
343 (set_label_from_map): New macro.
344 * unroll.c (unroll_loop): Use them.
345 (copy_loop_body): Ditto.
346
337e2b69
ILT
347Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
348
349 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
350 (INIT_TARGET_OPTABS): Define.
351 * mips/ecoff.h: Include gofast.h before mips.h.
352 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
353 * mips/elf64.h: Likewise.
354 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
355
02531345
JM
356Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
357
358 * except.c: Remove register_exception_table{,_p}.
359
913b5d54
GK
360Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
361
efb84aa5
GK
362 * unroll.c (calculate_giv_inc): Handle constant increment found in
363 a MEM with an appropriate REG_EQUAL note.
364
bb1b857a
GK
365 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
366
913b5d54
GK
367 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
368 frame pointer in the prologue.
369
80aab652
RL
370Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
371
372 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
373 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
374
f5c4bc60
BM
375Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
376
377 * config/m68k/m68k.c (output_function_prologue): Typecast
378 dwarf2out_cfi_label to (char *).
379 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
380
8dcb5295
RH
381Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
382
383 * sparc.md (jump): Don't use the annul bit around an empty loop.
384 Patch from Kevin.Kelly@East.Sun.COM.
385
a99503b1
SC
386Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
387
388 * jump.c: (optimize_jump): Don't use the return register as a
389 source1 of a conditional move.
390
e13c943c
RH
391Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
392
393 * sparc.c (DF_MODES): Or the mask not the bit number.
394 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
395
be3d27d6
CI
396Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
397
398 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
399
f184a264
MH
400Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
401
ade7386a
MH
402 * fixincludes (size_t): Add support for Motorola's stdlib.h
403 which fails to provide a definition for size_t.
404 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
405 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
406 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
407
f184a264
MH
408 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
409 prevent unresolved externals in libio.
410 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
411
afc96791
L
412Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
413
414 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
415 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
416 (LIB_SPEC): Updated for glibc 2.
417
e9818f3c
JL
418Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
419
420 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
421 * ginclude/varargs.h: Likewise.
422
a3fd4e75 423Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
520cd331
JL
424
425 * version.c: Bump for snapshot.
426
a3fd4e75
JL
427Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
428
429 * frame.h (__register_frame, __register_frame_table,
430 __deregister_frame): New.
431 * frame.c (__register_frame, __register_frame_table,
432 __deregister_frame): New.
433 * frame.c (__deregister_frame_info): Return void *.
434 * frame.h (__deregister_frame_info): Ditto.
435 * collect2.c (__deregister_frame_info): Ditto.
436
166cdf4a
RH
437Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
438
439 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
440
bcbbac26
RH
441Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
442
443 * alpha.c (alpha_cpu_name): New variable.
444 (alpha_mlat_string): Likewise.
445 (alpha_memory_latency): Likewise.
446 (override_options): Handle -mmemory-latency.
447 (alpha_adjust_cost): Adjust load cost for latency.
448 * alpha.h (TARGET_OPTIONS): Add meory-latency.
449 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
450 TARGET_CIX into account.
451 (MEMORY_MOVE_COST): Define in terms of memory_latency.
452 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
453
454 * alpha.h (ASM_COMMENT_START): New macro.
455
456Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
1914f5da
RH
457
458 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
459 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
460
461 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
462 SUBREG_REG if the word count is unchanged.
463 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
464 subregs of identical word size for push_reload.
465
a701efba
MM
466Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
467
468 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
469 if all we're doing is dealing with -Wreturn-type.
470
5e21ac7a
RH
471Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
472
473 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
474 Use and 255 instead of zapnot 1, since it schedules better.
475
296f8acc
JL
476Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
477
478 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
479 it as volatile.
480
6d8ccdbb
JL
481Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
482
483 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
484 dependency we delete. Properly update prev for multiple consecutive
485 deletions.
486 (priority): Skip deleted dependence.
487
14e83f2e
PB
488Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
489
490 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
491
100d81d4
JM
492Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
493
9b8d9d6b
JM
494 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
495 determining when a new basic block starts.
496
74c3447c
JM
497 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
498
499 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
500 * pa.md (iorsi3): Add missing args to *_operand calls.
501
100d81d4
JM
502 * except.c (call_get_eh_context): Don't mess with sequences.
503 (emit_eh_context): Include the call in the sequence here.
504
5a5ab947
PE
5051997-12-11 Paul Eggert <eggert@twinsun.com>
506
507 * collect2.c (write_c_file_glob): Allocate initial frame object
508 in static storage and pass its address.
509
01eb7f9a
JM
510Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
511
512 * except.c (call_get_eh_context): Don't take a parm.
513 Put the call at the top of the function.
514 (emit_eh_context): Adjust.
515 (get_eh_context): Replace with former use_eh_context.
516 (get_eh_context_once, get_saved_pc_ref): Remove.
517 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
518 * except.h: Adjust.
519 * integrate.c (expand_inline_function): Adjust.
520 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
521
d19814a3
ML
522Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
523
524 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
525 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
526
7567d496
MH
527Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
528
ade7386a 529 * fixincludes (strlen,strspn,strcspn return value): Handle different
7567d496
MH
530 layout on sysV88.
531 (hypot): Provide a fake for hypot which is broken on
532 m88k-motorola-sysv3.
533
0a6969ad
JC
534Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
535
536 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
537 tree_code_name from pointers to arrays.
538 * tree.c: Remove standard_tree_code_* variables, no longer used.
539 * print-tree.c: Remove declaration of tree_code_name.
540
541 * cp/lex.c (init_lex): Update for tree_code_* changes.
542 * objc/objc-act.c (init_objc): Likewise.
543
544 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
545 changes.
546
c55dcc7d
FF
547Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
548
549 * config.sub: Add support for BeOS target.
550 * configure.in: Likewise.
551 * ginclude/stdarg.h: Likewise.
552 * ginclude/stddef.h: Likewise.
553 * ginclude/varargs.h: Likewise.
554 * rs6000/beos.h: New file for BeOS.
555 * rs6000/t-beos: Likewise.
556 * rs6000/x-beos: Likewise.
557 * rs6000/xm-beos.h: Likewise.
558 * toplev.c (get_run_time): Just return 0 on BeOS.
559
9cf3ae46
JL
560Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
561 Toon Moene (toon@moene.indiv.nluug.nl)
562
563 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
564 old and broken Sun3 assemblers. Newer versions handle large
565 offsets correctly as does the GNU assembler.
566
7cc273ad
L
567Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
568
569 * objc/objc-act.c (lang_report_error_function): Disable.
570 * objc/objc-parse.y: Include "output.h".
571 (yyerror): Remove redundant decl.
572 (yyprint): Fix prototype.
573 (apply_args_register_offset): Remove redundant decl.
574 (get_file_function_name): Likewise.
575
74d7ab55
JM
576Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
577
578 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
579 a new basic block.
580 (find_basic_blocks_1): Likewise.
581
0776059e
JM
582Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
583
584 * except.c (use_eh_context): Don't copy_rtx a REG.
585 (emit_throw): Lose old unwinder support.
586 (expand_internal_throw): Likewise.
587 * libgcc2.c (struct eh_context): Likewise.
588 (new_eh_context): Likewise.
589 (__get_eh_info): Lose redundant cast.
590 (__get_dynamic_handler_chain): Likewise.
591 (__get_saved_pc): Lose.
592 Lose all old unwinder support code.
593
154bba13
TT
594Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
595
596 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
597
598 * integrate.c (expand_inline_function): If the inline fn uses eh
599 context, make sure that the current fn has one.
600 * toplev.c (rest_of_compilation): Call emit_eh_context.
601 * except.c (use_eh_context): New fn.
602 (get_eh_context_once): New fn.
603 (call_get_eh_context): New fn.
604 (emit_eh_context): New fn.
605 (get_eh_context): Call either get_eh_context_once or
606 call_get_eh_context, depending on what we have.
607 (get_dynamic_handler_chain): Call get_eh_context_once.
608 * except.h: Prototypes for fns above.
609 * optabs.c (get_eh_context_libfunc): Removed.
610 (init_optabs): Don't initialize it.
611 * expr.h (get_eh_context_libfunc): Removed.
612 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
613 * config/pa/pa.h (CPP_SPEC): Support for -threads.
614 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
615 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
616 New multilib for -threads.
617 * config/sparc/t-sol2: Added multilibs for -threads and
618 made -pthreads alias to it.
619 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
620 Added -threads and -pthreads options.
621 * libgcc-thr.h: New file.
622 * libgcc2.c: (__get_cpp_eh_context): Removed.
623 (struct cpp_eh_context): Removed.
624 (struct eh_context): Replaced cpp_eh_context with generic language
625 specific pointer.
626 (__get_eh_info): New function.
627 (__throw): Check eh_context::info.
628 (__sjthrow): Ditto.
629 * libgcc2.c: Include libgcc-thr.h.
630 (new_eh_context, __get_eh_context,
631 eh_pthread_initialize, eh_context_initialize, eh_context_static,
632 eh_context_specific, eh_context_free): New functions.
633 (get_eh_context, eh_context_key): New variables.
634 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
635 get_eh_context to get the context.
636 (longjmp): Move the declaration inside
637 #ifdef DONT_USE_BUILTIN_SETJMP.
638 * frame.c: Include libgcc-thr.h.
639 (object_mutex): Mutex to protect the object list.
640 (find_fde, __register_frame, __register_frame_table,
641 __deregister_frame): Hold the lock while accessing objects.
642 * except.h (get_eh_context): Declare.
643 * except.c (current_function_ehc): Define.
644 (current_function_dhc, current_function_dcc): Removed.
645 (get_eh_context): New function.
646 (get_dynamic_handler_chain): Use get_eh_context.
647 (get_saved_pc_ref): Ditto.
648 (get_dynamic_cleanup_chain): Removed references to
649 current_function_dcc.
650 (save_eh_status, restore_eh_status): Save and restore
651 current_function_ehc instead.
652 * optabs.c (get_eh_context_libfunc): New variable.
653 (init_optabs): Initialize it.
654 * expr.h: Declare get_eh_context_libfunc.
655 * function.h (struct function): Replaced dhc and dcc with ehc.
656 * except.c (get_saved_pc_ref): New functions.
657 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
658 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
659 of eh_saved_pc.
660 (end_eh_unwinder): Likewise.
661 (init_eh): Remove initialization of eh_saved_pc.
662 * optabs.c (get_saved_pc_libfunc): New variable.
663 (init_optabs): Initialize it.
664 * expr.h: Declare get_saved_pc_libfunc.
665 * except.h (eh_saved_pc_rtx): Deleted.
666 (get_saved_pc_ref): Declared.
667
668 From Scott Snyder <snyder@d0sgif.fnal.gov>:
669 * libgcc2.c (__get_saved_pc): New.
670 (__eh_type, __eh_pc): Deleted.
671 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
672 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
673 this fcn.
674
68d75312
JC
675Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
676
b16d8734
JC
677 * sparc/sol2.h: Use 64 bit multiply and divide functions in
678 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
679 as 0.
680
68d75312
JC
681 * rtl.h (global_rtl): New variable, replacing separate variables for
682 commonly used rtl.
683 (const_int_rtx): Now array of rtx_def, not rtx.
684 * emit-rtl.c: Update for new rtl data structures.
685 * genattrtab.c: Define global_rtl.
686
44517326 687Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
f40421ce 688
44517326
DE
689 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
690 default.
f40421ce 691
8587487b
AG
692Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
693
694 * crtstuff.c (__do_global_ctors): Fix typo.
695
08ce3276
MH
696Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
697
698 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
699 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
700
c229cba9
DE
701Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
702
703 * rs6000.h (FUNCTION_ARG_PADDING): Define.
704 * rs6000.c (function_arg_padding): New function.
705
b2c59d0b
MH
706Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
707
708 * m68k.c: Include tree.h only once.
709
c1132c27
RK
710Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
711
712 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
713
ac957f13
JL
714Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
715
716 * Partially cleaned up prototyping code from HJ.
a1d061a1 717 * tree.h: Add many prototypes.
ac957f13
JL
718 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
719 All references changed.
720 * rtl.h: Protect from multiple inclusions. Add many prototypes.
721
f40421ce 722Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
ac957f13
JL
723
724 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
725 string functions like strlen.
726
0a232106
MH
727Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
728
729 * configure.in: Check for functions getrlimit and setrlimit.
730 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
731 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
732
25b76cc1
JS
733Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
734
735 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
736
26250081
RH
737Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
738
739 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
740 Fix merge problems.
741
742 * alpha.c (override_options): Don't know about scheduling for EV6.
743 * alpha.md (ev5 function units): Don't overload as ev6.
744
745 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
746 * alpha.md (define_attr type): Add mvi.
747 (ev5_e0): Define sceduling parameters for it.
748 (TARGET_MAX insns): Type is mvi not shift.
749
7120f213
RH
750Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
751
752 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
753
afa80947
R
754Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
755
756 * cstamp-h, auto-config.h: Delete.
757
51ca169b
JL
758Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
759
760 * version.c: Bump for snapshot.
761
16169366
JL
762Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
763
764 * cccp.c: Fix typo brought over in merge.
765
efeb5d4f 766 * Merge in changes from gcc-2.8.
0fe09481 767
da932f04
JL
768Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
769
770 * m68k.c: Include tree.h for dwarf2out_cfi_label.
771
772 * gcc.c (process_command): Do not take address of function fatal when
773 calling lang_specific_driver.
774
775Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
776
777 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
778 doesn't work with it yet, so set it to 0.
779 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
780
781Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
782
783 * cse.c (cse_insn): Check for invalid entries when taking references.
784
81797aba
JL
785Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
786
787 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
788 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
789 * toplev.c (rest_of_compilation): Pass it. Remove code to
790 save / clear / restore flag_unroll_{,all_}loops.
791
792Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
793
794 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
795
796Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
797
798 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
799
5dfa7520
JM
800Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
801
d07daca1
JM
802 * except.c (get_dynamic_handler_chain): Only make the call once per
803 function.
804
5dfa7520
JM
805 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
806
4d7b7169
R
807Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
808
809 * sh.c (final_prescan_insn): Use local label prefix
810 when emitting .uses pseudo-ops.
811
e701eb4d
JM
812Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
813
814 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
815 * except.c: Lose outer_context_label_stack.
816 (expand_eh_region_end): Rethrow from outer_context here.
817 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
818 (expand_internal_throw): Take no args.
819 (expand_internal_throw_indirect): Lose.
820 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
821 (expand_start_all_catch): Start a rethrow region.
822 (expand_end_all_catch): End it.
823 (expand_rethrow): New fn.
824 * except.h: Reflect above changes.
825 * flow.c: Revert change of Nov 27.
826
6a242b6a
JL
827Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
828
829 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
830
9762d48d
JM
831Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
832
833 * except.c (expand_fixup_region_end): New fn.
834 (expand_fixup_region_start): Likewise.
835 (expand_eh_region_start_tree): Store cleanup into finalization here.
836 * stmt.c (expand_cleanups): Use them to protect fixups.
837
868e82ab
GK
838Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
839
840 * mips/mips.md (muldi3_r4000): Broaden the output template
841 and attribute assignments to handle three operand dmult;
842 rename to muldi3_internal2.
843 (muldi3): Call the new muldi3_internal2 for R4000, and
844 any GENERATE_MULT3 chip.
845
716cc7f7
JM
846Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
847
848 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
849
9fb82071
JW
850Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
851
852 * unroll.c (find_splittable_givs): Remove last change. Handle givs
853 with a dest_reg that was created by loop.
854
f2d76545
JL
855Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
856
857 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
858
859 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
860
b4dfb707
JL
861Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
862
863 * configure.in: Fix NCR entries.
864
80c2681c
JL
865Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
866
586a5f99
JL
867 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
868 nested exceptions correctly.
869
80c2681c
JL
870 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
871 that was created by loop.
872
f45ebe47
JL
873Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
874
875 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
876
877 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
878
034e84c4
MM
879Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
880
8fbd2dc7
MM
881 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
882 (print_operand): Use SMALL_DATA_REG for the register involved in
883 small data relocations.
884 (print_operand_address): Ditto.
885
886 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
887 -dynamic linker is not used.
888
a226df46
MM
889 * rs6000.md (call insns): For local calls, use @local suffix under
890 System V. Don't use @plt under Solaris.
891
034e84c4
MM
892 * rs6000.c (output_function_profiler): Put label address in r0, and
893 store LR in 4(sp) for System V/eabi.
894
895 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
896 byte boundary, and maintain stack backchain.
897
f2d76545
JL
898Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
899
900 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
901 fix_truncsfdi2): Change *.
902
33e5c8c3
JM
903Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
904
905 * toplev.c (main): Complain about -gdwarfn.
906
f45ebe47
JL
907Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
908
909 * dwarfout.c (output_type): If finalizing, write out nested types
910 of types we've already written.
911
92dcf4c8
MM
912Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
913
914 (patches originally from Geoffrey Keating)
915 * rs6000.c (function_arg): Excess floating point arguments don't
916 go into GPR registers after exhausting FP registers under the
917 System V.4 ABI.
918 (function_arg_partial_nregs): Ditto.
919
920 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
921 suffix to calls.
922
f4744807
JM
923Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
924
925 * integrate.c (output_inline_function): Just unset DECL_INLINE.
926
927Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
928
929 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
930 proper alignment.
931
932 * libgcc2.c (__throw): Initialize HANDLER.
933
0609f021
JW
934Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
935
936 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
937 fix_truncsfdi2): Change *X to ?*X.
938
c905c108
RH
939Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
940
941 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
942
5041a61c
JL
943Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
944
945 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
946
bb727b5a
JM
947Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
948
949 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
950
951Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
952
953 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
954 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
955 * expr.h: Likewise.
956
f45ebe47
JL
957Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
958
959 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
960 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
961 gas and not using the new HP assembler.
962
ef85603e
JL
963Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
964
965 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
966 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
967
6cc1f5cb
AC
968Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
969
970 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
971 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
972 definition.
973
72eb1038
BH
974Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
975
976 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
977
1418bb67
JM
978Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
979
980 * except.h: Add outer_context_label_stack.
981 * except.c: Likewise.
982 (expand_start_all_catch): Push the outer_context for the try block
983 onto outer_context_label_stack.
984 (expand_end_all_catch): Use it and pop it.
985
9dab7833
RL
986Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
987
988 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
989
858e4e8c
RH
990Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
991
992 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
993
a21d14e9
KK
994Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
995
996 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
997 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
998
ced78d8b
JM
999Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
1000
1001 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
1002 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
1003 __builtin_delete, and __builtin_vec_delete.
1004
1005 * except.c (output_exception_table): Don't bother with
1006 __EXCEPTION_END__.
1007
a09ff88b
JL
1008Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
1009
1b8b89f1
JL
1010 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
1011 is an in/out operand.
1012 (zero extended variants of stwm/stwm patterns): Similarly.
1013
a09ff88b
JL
1014 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
1015
7bb9fb0e
JM
1016Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
1017
1018 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
1019 Use assemble_name.
1020 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
1021 (output_call_frame_info): Emit a \n after using it.
1022
9101297d
DL
1023Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
1024
1025 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
1026
2ed2af28
PDM
1027Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
1028
1029 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
1030 (ASM_OUTPUT_DWARF_VALUE4): New macro.
1031 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
1032 defined.
1033 (output_call_frame_info): Do not output forward label differences
1034 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
1035 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
1036
4dff12bf
R
1037Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1038
1039 * sh.md (attribute "type"): Add nil.
1040 (movsi_ie): y/y alternative is type nil.
1041 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
1042 alternatives.
1043 (movsf_ie+1): Delete.
1044
218c2cdb
JW
1045Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
1046
1047 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
1048 large_int, emit two insns instead of one splitable insn.
1049 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
1050 from cfa_temp_value, use cfa_offset. Add assert checking that
1051 cfa_reg is SP.
1052
d5b79362
TT
1053Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
1054
1055 * cccp.c (deps_output): Properly quote file names for make.
1056
de1ea87a
JL
1057Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
1058
1059 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
1060
cb0112a7
RL
1061Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
1062
1063 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
1064
85c3ba60
JL
1065Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
1066
1067 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
1068 return.
1069 (cse_end_of_basic_block): Similarly.
1070
9155d500
KJ
1071Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
1072
1073 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
1074 (SELECT_RTX_SECTION): Define.
1075 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
1076
4931312c
MH
1077Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
1078
1079 * Makefile.in (compare, compare-lean): Define $stage for each
1080 shell command.
1081 (gnucompare, gnucompare-lean): Likewise.
1082
8dfe3c62
RH
1083Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
1084
1085 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
1086
1087 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
1088 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
1089
874a8709
FF
1090Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
1091
1092 * dwarfout.c (byte_size_attribute): Add local var upper_bound
1093 and add case to handle STRING_TYPE.
1094 * dwarfout.c (output_string_type_die): Fix code to generate
1095 correct string length attribute for fixed length strings.
1096 Still needs support for varying length strings.
1097
ea466196
JL
1098Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
1099
1100 * toplev.c (get_run_time): Do something sensible for cygwin32.
1101
202f590e
RH
1102Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
1103
f35bcbc5
RH
1104 * expr.c (expand_builtin_setjmp): Set
1105 current_function_has_nonlocal_label.
1106 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
1107 call-saved registers across calls.
1108
1109 * alpha.md (exception_receiver): Remove.
1110 (nonlocal_goto_receiver_osf): New
1111 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
1112 (nonlocal_goto_receiver): New, select _osf or _vms.
1113
531ea24e
RH
1114 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
1115 keep them from being propogated to the object file.
1116 (alpha_write_linkage): Likewise.
1117 * alpha.md (call_vms): Likewise.
1118 (call_value_vms): Likewise.
1119 (unnamed osf call insns): Likewise.
1120
1121 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
1122 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1123
202f590e
RH
1124 * alpha.c (call_operand): Any reg is valid for WinNT.
1125 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
1126 (anon nt calls): Add 'R' alternative.
1127 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
1128 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
1129
238ad62b
JL
1130Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
1131
f78b5ca1
JL
1132 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
1133
238ad62b
JL
1134 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
1135 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
1136 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
1137
da275344
MM
1138Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
1139
1140 * reload1.c (new_spill_reg): Improve fixed or forbidden register
1141 spill error message.
1142
1f1e1545
KG
1143Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1144
1145 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
1146 use varargs.h. Wrap header with <>, not "".
1147
daa4b717
JL
1148Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
1149
1150 * integrate.c (save_for_inline_copying): Add return value from
1151 savealloc.
1152
9bb5394e
BK
1153Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
1154
1155 * fixincludes: Be a little more restrictive on what we will
1156 substitute to replace definitions of MAXINT for HPUX.
1157
9571f69b
MM
1158Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
1159
1160 * dbxout.c (dbxout_symbol_location): Don't assume that variables
1161 whose address is the stack or argument pointers are indirect
1162 pointers.
1163
e7cbb6b6
PE
11641997-11-13 Paul Eggert <eggert@twinsun.com>
1165
1166 * cccp.c, cpplib.c (compare_defs):
1167 Don't complain about arg name respellings unless pedantic.
1168 * cpplib.c (compare_defs): Accept pfile as new arg.
1169 All callers changed.
1170
9f29ca78
R
1171Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1172
1173 * fold-const.c (fold_truthop): Fix bug in last change.
1174
41c9120b
PE
11751997-11-13 Paul Eggert <eggert@twinsun.com>
1176
1177 Fix some confusion with IEEE minus zero.
1178
1179 * real.h (REAL_VALUES_IDENTICAL): New macro.
1180
1181 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
1182 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
1183 identical to 0.0.
1184 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
1185 same tree structure as 0.0.
1186
1187 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
1188 macro instead of doing it by hand.
1189
323d8e7b
JL
1190Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
1191
1192 * v850/lib1funcs.asm: Minor whitespace changes.
1193 * v850.c: Fix minor formatting problems in many places.
1194 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
1195
13529ea4
JW
1196Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
1197
1198 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
1199 xplus1 when xplus0 is not a register.
1200
759c135e
JL
1201Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
1202
8930b063
JL
1203 * flow.c (find_basic_blocks): During marking phase, if we encounter
1204 an insn with a REG_LABEL note, make the target block live and
1205 create an edge from the insn to the target block. Do not make
1206 edges from all blocks to the target block.
1207
0be28489
JL
1208 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
1209
759c135e
JL
1210 * confiugre.in: Tweak NCR entries.
1211 * configure: Rebuilt.
1212
47ad8c61
MM
1213Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
1214
1215 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
1216 pick apart floating point values, instead of using CONST_DOUBLE_LOW
1217 and CONST_DOUBLE_HIGH.
1218
1219 * rs6000.md (define_splits for DF constants): Use the appropriate
1220 REAL_VALUE_* interface to pick apart DF floating point constants in
1221 a machine independent fashion.
1222
5a6b3365
R
1223Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1224
1225 * fold-const.c (fold_truthop): When changing a one-bit comparison
1226 against zero into a comparison against mask, do a proper sign
1227 extension.
1228
2ec1535d
JL
1229Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
1230
3a88cbd1
JL
1231 * except.c: Do not include "assert.h".
1232 (save_eh_status): Turn asserts into conditional aborts.
1233 (restore_eh_status, scan_region): Likewise.
1234 * dwarfout.c: Do not include "assert.h".
1235 (bit_offset_attribute): Turn asserts into conditional aborts.
1236 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
1237 (output_inlined_structure_type_die): Likewise.
1238 (output_inlined_union_type_die): Likewise
1239 (output_tagged_type_instantiation): Likewise.
1240 (dwarfout_file_scope_decl): Likewise.
1241 * dwarf2out.c: Do not include "assert.h"
1242 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
1243 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
1244 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
1245 (add_bit_size_attribute, scope_die_for): Likewise.
1246 (output_pending_types_for_scope): Likewise.
1247 (get_inlined_enumeration_type_die): Likewise.
1248 (get_inlined_structure_type_die): Likewise.
1249 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
1250 (gen_tagged_type_instantiation_die): Likewise.
1251
2ec1535d
JL
1252 * flow.c (find_basic_blocks): Refine further to get a more correct
1253 cfg, especially in the presense of exception handling, computed
1254 gotos, and other non-trivial cases. Call abort if an inaccuracy
1255 is detected in the cfg.
1256
a6124a42
R
1257Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1258
1259 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
1260
1261 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
1262 (skip_white_space): Use whitespace_cr.
1263 (check_newline): Handle whitespace more consistently.
1264
8f3189a4
JW
1265Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
1266
1267 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
1268 * i386/xm-cygwin32.h (POSIX): Define.
1269
6d1350cd
GK
1270Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
1271
1272 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
1273 is available elsewhere.
1274
d1f4474e
DE
1275Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
1276
1277 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
1278 what the instruction can handle.
1279
c7ae64f2
JM
1280Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
1281
1282 * stmt.c (expand_decl_cleanup_no_eh): New fn.
1283
1284 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
1285
ea64ef27
JL
1286Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
1287
1288 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
1289 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
1290
47ad8c61
MM
1291Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
1292
1293 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
1294 swap instruction order.
1295
0ff27f58
JL
1296Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
1297
1298 * fixinc.svr4 (__STDC__): Add another case.
1299
7091039c
R
1300Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1301
1302 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
1303 addresses in the epilogue delay slot.
1304
553914ad
MH
1305Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
1306
1307 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
1308 in generated `specs' file.
1309
64fde701
JW
1310Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
1311
1312 * flags.h (flag_rerun_loop_opt): Declare.
1313 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
1314 * toplev.c (flag_rerum_loop_opt): Delete static.
1315
1245df60
R
1316Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1317
1245df60
R
1318 Bring over from FSF:
1319
1320 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1321
1322 * va-sh.h (__va_arg_sh1): Define.
1323 (va_arg): Use it.
1324 SH3E doesn't use any integer registers for subsequent arguments
1325 once a non-float value was passed in the stack.
1326 * sh.c (machine_dependent_reorg): If optimizing, put explicit
1327 alignment in front label for ADDR_DIFF_VEC.
1328 * sh.h (PASS_IN_REG_P): Fix SH3E case.
1329 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
1330
1331 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1332
1333 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
1334 svr4.h.
1335
1336 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1337
1338 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
1339 put an use_sfunc_addr before each sfunc.
1340 * sh.md (use_sfunc_addr, dummy_jump): New insns.
1341 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
1342
1343 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1344
1345 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
1346
97991933
JM
1347Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
1348
1349 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
1350 linked once FDEs.
1351
eaf407a5
JL
1352Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
1353
1354 * alias.c (find_base_value): Only return the known base value for
1355 pseudo registers.
1356
4f9ca067
JW
1357Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
1358
1359 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
1360 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
1361 to pattern.
1362 (prologue_get_pc_and_set_got): New pattern.
1363
f4e31cf5
RH
1364Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
1365
1366 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
1367 for SUBREG, just fall through.
1368
1369 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
1370
1371 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
1372
f754c4a1
JL
1373Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
1374
3ed18aeb
JL
1375 * fixincludes: Fix "hypot" prototype in NeXT math.h.
1376
3fe40e05
JL
1377 * Makefile.in (USE_ALLOCA): Always include alloca.o.
1378 (USE_HOST_ALLOCA): Likewise.
1379
f754c4a1
JL
1380 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
1381 and LABEL_REFS fields.
1382 * rtl.h (LABEL_REFS): Update.
1383
ab00eb0a
JW
1384Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
1385
ff3467a9
JW
1386 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
1387 sets i2dest. When calling distribute_notes for i3dest_killed, pass
1388 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
1389 sets i1dest.
1390
4911814e
JW
1391 * mips.md (insv, extzv, extv): Add change_address call.
1392 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
1393
474eff88
JW
1394 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
1395
3feffdfe
JW
1396 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
1397
ab00eb0a
JW
1398 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
1399 save_restore_insns if no FP and GP will be restored.
7636d567 1400
31c8581d
JW
1401 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
1402 Convert CCmode to word_mode before calling GET_MODE_SIZE.
1403
7636d567
JW
1404 * acconfig.h (HAVE_INTTYPES_H): Undef.
1405 * configure.in (inttypes.h): Check for conflicts between sys/types.h
1406 and inttypes.h, and verify that intmax_t is defined.
1407 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
1408 * config/mips/x-iris3: Likewise.
1409
73774bc7
JL
1410Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
1411
1412 * alias.c (find_base_value): When copying arguments, return the
1413 tenative value for a hard register.
1414
645ebf37
DE
1415Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
1416
1417 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
1418 (yylex): Record wide strings using target endianness, not host.
1419
f7620587
JL
1420Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
1421
1422 * mn10200.h (ASM_OUTPUT_BSS): Delete.
1423 (ASM_OUTPUT_ALIGNED_BSS): New macro
1424 * mn10300.h (ASM_OUTPUT_BSS): Delete.
1425 (ASM_OUTPUT_ALIGNED_BSS): New macro.
1426 * v850.h (ASM_OUTPUT_BSS): Delete.
1427 (ASM_OUTPUT_ALIGNED_BSS): New macro.
1428
1686f1a2
R
1429Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1430
1431 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
1432
f6857708
JL
1433Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
1434
1435 * configure.in (sco5): Use cpio to install header files.
1436
e566af04
MH
1437Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
1438
1439 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
1440 14 char length.
1441 * configure: Rebuild.
1442
cbd44549
RL
1443Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
1444
1445 * i386/sco5.h: enable -gstabs once again.
1446
56636818
JL
1447Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
1448
1449 * arm.c (output_move_double): Allocate 3 entries in otherops array.
1450
9ad8a5f0
MS
1451Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
1452
1453 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
1454 notes for sjlj exceptions too.
1455 (expand_eh_region_end): Similarly for EH_REGION_END notes.
1456 (exception_optimize): Optimize EH regions for sjlj exceptions too.
1457 * final.c (final_scan_insn): Don't output labels for EH REGION
1458 notes if doing sjlj exceptions.
1459
f8671389
JL
1460Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
1461
8072f69c
JL
1462 * alias.c (init_alias_analysis): Handle -fno-alias-check when
1463 optimizing correctly.
1464
6cad9e32
JL
1465 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
1466 or set current_function_calls_setjmp anymore.
1467
f8671389
JL
1468 * flow.c (find_basic_blocks): If we delete the label for an
1469 exception handler, remove it from the EH label list and remove
1470 the EH_BEGIN/EH_END notes for that EH region.
1471
a886ae74
JM
1472Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
1473
1474 * flow.c (find_basic_blocks): Generate correct flow control
1475 information when exception handling notes are present.
1476
c2c85462
JL
1477Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
1478
1479 * dwarf2out.c (output_call_frame_info): Fix length argument
1480 to ASM_OUTPUT_ASCII.
1481 (output_die, output_pubnames, output_line_info): Likewise.
1482
8c316ae2
JL
1483Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
1484
27ca375a
JL
1485 * version.c: Bump for snapshot.
1486
8d4e65a6
JL
1487 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
1488 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
1489 flag_debug_asm is on.
1490 (output_die, output_pubnames, output_line_info): Likewise.
1491
ec907dd8
JL
1492 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
1493 and static_chain_rtx into the potential base values array if
1494 they are registers.
1495
1496 * alias.c (new_reg_base_value): New array of potential base values.
1497 (unique_id): Now file scoped static.
1498 (find_base_value, case REG): Return the value in reg_base_value
1499 array for the REG if it exists. Else, return the value from
1500 new_reg_base_value if copying args and REG is a hard register.
1501 (find_base_value, case PLUS): If either operand of the PLUS is
1502 a REG, try to get its base value. Handle base + index and
1503 index + base.
1504 (record_set): Use new_reg_base_value instead of reg_base_value.
1505 (init_alias_analysis): Allocate space for new_reg_base_value too.
1506 Rework code to iterate over the insns propagating base value
1507 information until nothing changes.
1508
8c316ae2
JL
1509 * global.c (global_alloc): Free the conflict matrix after
1510 reload has finished.
1511
6874c264
JM
1512Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
1513
1514 * libgcc2.c (L_eh): Define __eh_pc.
1515 Replace __eh_type with generic pointer __eh_info.
1516
59fe8c2c
R
1517Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
1518
1519 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
1520 use copy_to_reg if address is not a general_operand.
1521
d1271ded
R
1522Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1523
1524 * profile.c (output_func_start_profiler): Clear flag_inline_functions
1525 for the duration of the call to rest_of_compilation.
1526
ac52b80b
DE
1527Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
1528
1529 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
1530 Set extra_parts.
1531 (sparc*-*-*): Recognize --with-cpu=v9.
1532 * sparc/elf.h: New file.
1533 * sparc/t-elf: New file.
1534
f8912297
JL
1535Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
1536
1537 * mn10300.c (const_8bit_operand): New function.
1538 (mask_ok_for_mem_btst): New funtion.
1539 * mn10300.md (btst patterns with mem operands): Use new functions
1540 to avoid creating btst instructions with invalid operands.
1541
05ef204d
MM
1542Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
1543
1544 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
1545 are running on PowerPC Linux.
1546
feecabdf
GK
1547Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
1548
1549 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
1550 if not previously defined.
1551
de957303
DE
1552Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
1553
1554 * function.c (assign_parms): Correct mode of stack_parm if
1555 entry_parm underwent a mode conversion.
1556
ba3b3878
BK
15571997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
1558
1559 * global.c (global_alloc): Use xmalloc instead of alloca for
1560 CONFLICTS, since max_allocno * allocno_row_words alone can be more
1561 than 2.5Mb sometimes.
1562
d540ae2c
RH
1563Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
1564
1565 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
1566 DEST for the spill, adjust mode of SRC to compensate.
1567
42f4929d
RH
1568Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
1569
1570 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
1571 since any_memory_operand() allows pseudos during reload.
1572 (reload_inhi, reload_outqi, reload_outhi): Likewise.
1573
08417478
JW
1574Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
1575
1576 * m68k.md (btst patterns): Add 5200 support.
1577
750e8348
TM
1578Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
1579
1580 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
1581 optimizations, look inside dividend to determine if the expression
1582 can be simplified by using EXACT_DIV_EXPR.
1583
ede19932
JM
1584Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
1585
1586 From Brendan:
1587 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
1588
66d91cb9
RH
1589Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
1590
1591 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
1592
4f3f5e9f
RH
1593Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
1594
1595 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
1596 on a CLOBBER.
1597
f3352b9e
RH
1598Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
1599
1600 * alpha.md (movqi, movhi): Make sure new insns created during reload
1601 won't need reloading themselves.
1602 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
1603
0cecc190
JL
1604Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
1605
1606 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
1607
a09ba5a2
RH
1608Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
1609
1610 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
1611 Patch from Klaus Kaempf <kkaempf@progis.de>.
1612
7581a30f
JW
1613Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
1614
1615 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
1616 to an element in a constant string.
1617
d84e64d4
JM
1618Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
1619
1620 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
1621 bit PC-relative offset. The exception range table pointer is now in
1622 the CIE.
1623 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
1624 (count_fdes, add_fdes, get_cie): Adjust.
1625 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
1626
1627 From H.J. Lu:
1628 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
1629
96286722
RH
1630Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
1631
1632 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
1633 like stack_pointer_rtx.
1634
e85988b5
MH
1635Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
1636
361e618f
MH
1637 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
1638 targets using "$@" to provide support for similar but not identical
1639 targets without having to duplicate code.
1640 (bootstrap4): New goal.
1641
e85988b5
MH
1642 * Makefile.in (compare, compare-lean, compare3): Combined to one
1643 ruleset determining actions to be performed via $@.
1644 (compare4, compare4-lean): New targets.
1645 (gnucompare, gnucompare3): Combined to one ruleset determining
1646 actions to be performed via $@. Also, note which files failed
1647 the comparison test in .bad_compare.
1648 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
1649
91585c63
TM
1650Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
1651
1652 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
1653 if the dividend is a multiple of the divisor.
1654
da0af5a5
JL
1655Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
1656
7337c67f
JL
1657 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
1658
adb9effb 1659 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
6d849a2a 1660 and POS_DEC.
6d849a2a
JL
1661
1662 * alias.c (true_dependence): Fix typo.
1663
6d6d0fa0
JL
1664 * toplev.c (flag_rerun_loop_opt): New variable.
1665 (f_options): Handle -frerun-loop-opt.
1666 (rest_of_compilation): If -frerun-loop-opt, then run the loop
1667 optimizer twice.
1668 (main): Enable -frerun-loop-opt by default for -O2 or greater.
1669
da0af5a5
JL
1670 * loop.c (simplify_giv_expr): Adding two invariants results
1671 in an invariant.
1672
ca0f2220
RH
1673Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
1674
1675 * expr.c (get_inner_reference): Remove the array bias after
1676 converting the index to Pmode.
1677
a6f7ba17
JL
1678Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
1679
1680 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
1681 (TARGET_MULT_BUG): Define.
1682 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
1683 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
1684
17ad8a3b
JL
1685Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
1686
1687 * mn10200.c (indirect_memory_operand): Delete unused function.
1688 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
1689 * mn10200.md (bset, bclr insns): Handle output in a reg too.
1690
e16b49d3
RH
1691Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
1692
1693 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
1694 the callee's ldgp, we must do it ourselves, and we use the jsr tag
1695 for more than scheduling.
1696
27f65411
DE
1697Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
1698
1699 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
1700
e9ad4573
JL
1701Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
1702
1703 * mn10300.c (symbolic_operand, legitimize_address): New functions.
1704 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
1705 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
1706
66724f0a
JL
1707Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
1708
1709 * version.c: Bump for snapshot.
1710
c401498b
R
1711Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1712
1713 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
1714 for FILENAME.
1715
b22b9b3e
JL
1716Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
1717
56bf1fd9
JL
1718 * toplev.c (flag_exceptions): Default value is 2.
1719 (compile_file): If flag_exceptions still has the value 2, then
1720 set it to 0.
1721
a04232e5
JL
1722 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
1723 (rs6000_save_machine_status): Save pic_offset_table_rtx.
1724 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
1725
0bd83abd
JL
1726 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
1727 are shared.
1728
b22b9b3e
JL
1729 * rs6000.md (*movsi_got_internal_mem): New pattern.
1730 (*movsi_got_internal_mem splitter): New define_split.
1731
c1e385db
JW
1732Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
1733
1734 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
1735
1a986152
GK
1736Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
1737
1738 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
1739 only need to save LR.
1740
5d29a95f
JL
1741Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
1742
c6ee9150
JL
1743 * mn10300.md (movqi, movhi): Avoid using address registers as
1744 destinations unless absolutely necessary.
1745
d5255ba2
JL
1746 * mn10200.c (expand_prologue): Fix typo.
1747
9d2128b8
JL
1748 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
1749 addresses.
1750 * mn10200.md (neghi2): Provide an alternative which works if
1751 the input and output register are the same.
1752
576e5acc
JL
1753 * mn10300.c (print_operand): Handle 'S'.
1754 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
1755 shift amount in last alternative
1756
5d29a95f
JL
1757 * mn10300.c (expand_epilogue): Rework to handle register restores
1758 in "ret" and "retf" instructions correctly.
1759
3bf1b082
JW
1760Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
1761
1762 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
1763 extzv for memory operands.
1764
1765 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
1766 redundant conditional moves to single operand.
1767
ddbd8d36
NC
1768Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
1769
1770 * v850.h: Move define of __v850__ from CPP_PREDEFINES
1771 to CPP_SPEC.
1772
1773 * xm-v850.h: Use __v850 rather than __v850__ to
1774 identify v850 port.
1775
a944a4eb
JW
1776Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
1777
1778 * mips/mips.c (compute_frame_size): Not a leaf function if
1779 profile_flag set.
1780
2d5b6dea
GK
1781Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
1782
1783 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
1784
f0a9fa6c
DE
1785Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
1786
1787 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
1788 (DEFAULT_ARCH32_P): New macro.
1789 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
1790 (enum cmodel): Declare.
1791 (sparc_cmodel_string,sparc_cmodel): Declare.
1792 (SPARC_DEFAULT_CMODEL): Provide default.
1793 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
1794 (TARGET_FULLANY): Deleted.
1795 (TARGET_CM_MEDMID): New macro.
1796 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
1797 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
1798 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
1799 (CPP_SPEC): Rewrite.
1800 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
1801 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
1802 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
1803 (ASM_SPEC): Add %(asm_arch).
1804 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
1805 Rename asm_default to asm_cpu_default.
1806 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
1807 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
1808 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
1809 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
1810 (MASK_INT64,MASK_LONG64): Delete.
1811 (MASK_ARCH64): Renamed to MASK_64BIT.
1812 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
1813 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
1814 (TARGET_SWITCHES): Always provide 64 bit options.
1815 (ARCH64_SWITCHES): Delete.
1816 (TARGET_OPTIONS): New option -mcmodel=.
1817 (INT_TYPE_SIZE): Always 32.
1818 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
1819 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
1820 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
1821 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
1822 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
1823 CPP_SPEC.
1824 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1825 * sparc/linux.h: Likewise.
1826 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
1827 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
1828 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
1829 (SPARC_DEFAULT_CMODEL): Define.
1830 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
1831 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1832 (LONG_DOUBLE_TYPE_SIZE): Define.
1833 (ASM_SPEC): Add %(asm_arch).
1834 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
1835 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1836 (TARGET_CPU_DEFAULT): Add ultrasparc case.
1837 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
1838 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
1839 (SPARC_DEFAULT_CMODEL): Define.
1840 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
1841 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
1842 MASK_LONG64, MASK_MEDANY.
1843 (SPARC_DEFAULT_CMODEL): Define.
1844 (CPP_PREDEFINES): Delete.
1845 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1846 (ASM_SPEC): Add %(asm_arch).
1847 (LONG_DOUBLE_TYPE_SIZE): Define.
1848 (DWARF2_DEBUGGING_INFO): Define.
1849 * sparc/splet.h (CPP_SPEC): Delete.
1850 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
1851 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
1852 (BLOCK_PROFILER): Likewise.
1853 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
1854 (sparc_override_options): Handle code model selection.
1855 (sparc_init_expanders): Renamed from sparc64_init_expanders.
1856 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
1857 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
1858 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
1859 (sethi_di_fullany): Delete.
1860
a3b0df2d
KK
1861Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
1862 Jeff Law <law@cygnus.com>
1863 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1864
3a133c72
KK
1865 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
1866 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
1867 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
1868 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
1869 * alpha/alpha.md (arg_home): Likewise.
1870
a3b0df2d
KK
1871 * alpha/alpha.c (vmskrunch): Delete
1872 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
1873 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
1874 truncate to 64 characters.
1875
1876 * make-l2.com: Support openVMS/Alpha.
1877
1878 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
1879
7d4f2e6c
R
1880Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1881
1882 * longlong.h (count_leading_zeros): Add missing casts to USItype.
1883
decd44ac
JL
1884Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
1885
1886 * i386/bsd386.h (ASM_COMMENT_START): Define.
1887
d1485032
JM
1888Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
1889
1890 * tree.c (restore_tree_status): Also free up temporary storage
1891 when we finish a toplevel function.
1892 (dump_tree_statistics): Print stats for backend obstacks.
1893
6bd35f86
DE
1894Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
1895
1896 * expr.c (use_group_regs): Don't call use_reg for MEMs.
1897
d1485032
JM
1898Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
1899
1900 * libgcc2.c (__throw): Don't copy the return address.
1901 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
1902
1903 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
1904 * toplev.c (main): Initialize exceptions_via_longjmp.
1905
1906 * tree.c: Add extra_inline_obstacks.
1907 (save_tree_status): Use it.
1908 (restore_tree_status): If this is a toplevel inline obstack and we
1909 didn't want to save anything on it, recycle it.
1910 (print_inline_obstack_statistics): New fn.
1911 * function.c (pop_function_context_from): Pass context to
1912 restore_tree_status.
1913 * obstack.h (obstack_empty_p): New macro.
1914
6981eacf
JL
1915Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
1916
1917 * i386/freebsd.h (ASM_COMMENT_START): Fix.
1918
1933ec7e
JW
1919Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
1920
1921 * v850.c (ep_memory_offset): New function.
1922 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
1923
1924 * v850.h (CONST_OK_FOR_*): Add and correct comments.
1925 (CONSTANT_ADDRESS_P): Add comment.
1926 (EXTRA_CONSTRAINT): Define 'U'.
1927 * v850.md: Add comments on bit field instructions.
1928 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
1929 (lshrsi3): Use N not J constraint.
1930
1931 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
1932
1933 * v850.c (reg_or_0_operand): Call register_operand.
1934 (reg_or_int5_operand): Likewise.
1935 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
1936 (TARGET_SWITCHES): Add "big-switch".
1937 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
1938 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
1939 (CASE_DROPS_THROUGH): Comment out.
1940 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
1941 * v850.md (cmpsi): Delete compare mode.
1942 (casesi): New pattern.
1943
1944 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
1945 * v850.md (ashlsi3): Use SImode not QImode for shift count.
1946 (lshrsi3): Likewise.
1947
1948 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
1949 unreachable switch statement after 'b' support. Remove "b" from
1950 strings for 'b' support.
1951 * v850.md (branch_normal, branch_invert): Change %b to b%b.
1952
13c2de98
JL
1953Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
1954
1955 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
1956 empty line if @inhibit_libc@ is empty.
1957
b2167bee
RL
1958Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
1959
1960 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
1961 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
1962 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
1963 (DWARF2_UNWIND_INFO): Let this track object file format.
1964 (EXTRA_SECTIONS): Add in_eh.
1965 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
1966 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
1967
bf2a2c6b
DM
1968Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
1969
1970 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
da2a90f7
DM
1971 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
1972 TARGET_MEDANY.
f4f8e370
DE
1973 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
1974 (output_double_int): Output DI mode values correctly when
1975 HOST_BITS_PER_WIDE_INT is 64.
9d162eb2
DE
1976 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
1977 fmovd so it works if a quad float ends up in one of the upper 32
1978 float regs.
7e37212e
DM
1979 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
1980 necessary for PIC support on sparc64.
bf2a2c6b 1981
9ff84e67
DE
1982Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
1983
1984 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
1985 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
1986 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
1987 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
1988 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
1989 (SPARC_FP_ARG_FIRST): New macro.
1990 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
1991 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
1992 (NPARM_REGS): There are 32 fp argument registers now.
1993 (FUNCTION_ARG_REGNO_P): Likewise.
1994 (FIRST_PARM_OFFSET): Update to new v9 abi.
1995 (REG_PARM_STACK_SPACE): Define for arch64.
1996 (enum sparc_arg_class): Delete.
1997 (sparc_arg_count,sparc_n_named_args): Delete.
1998 (struct sparc_args): Redefine and use for arch32 as well as arch64.
1999 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
2000 (FUNCTION_ARG_ADVANCE): Rewrite.
2001 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
2002 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
2003 (FUNCTION_ARG_CALLEE_COPIES): Delete.
2004 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
2005 (STRICT_ARGUMENT_NAMING): Define.
2006 (doublemove_string): Declare.
2007 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
2008 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
2009 (doublemove_string): New function.
2010 (output_move_quad): Clean up some of the arch64 support.
2011 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
2012 Don't add 8 bytes of reserved space if arch64.
2013 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
2014 (init_cumulative_args): New function.
2015 (function_arg_slotno): New static function.
2016 (function_arg,function_arg_partial_nregs): New functions.
2017 (function_arg_{pass_by_reference,advance}): New functions.
2018 (function_arg_padding): New function.
c1215820 2019 * ginclude/va-sparc.h: Rewrite v9 support.
9ff84e67 2020
b8fb2d72
CI
2021Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
2022
f22376c7
CI
2023 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
2024 for hard regs to determine base and index registers.
2025
b8fb2d72
CI
2026 * reload.c (debug_reload_to_stream): New function. Specify stream
2027 into which to write debug info.
2028 (debug_reload): Modify to call debug_reload_to_stream with stderr.
2029
b79ee7eb
RH
2030Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
2031
2032 * combine.c (can_combine_p): Don't combine with an asm whose
2033 output is a hard register.
2034
5c19a356
MS
2035Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
2036
2037 * c-decl.c (start_struct): Ensure that structs with forward
2038 declarations are in fact packed when -fpack-struct is given.
2039
2040 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
2041 we are packing a structure. This allows a structure with only
2042 bytes to be aligned on a byte boundary and have no padding on a
2043 m68k.
2044
02bef6da
RK
2045Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2046
2047 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
2048
9ecc37f0
RH
2049Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
2050
2051 * alpha.c (alpha_return_addr_rtx): New variable.
2052 (alpha_save_machine_status): New; save it.
2053 (alpha_restore_machine_status): New; restore it.
2054 (alpha_init_expanders): New; clear it.
2055 (alpha_return_addr): New; set it.
2056 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
2057 is overly conservative, so search the insns explicitly.
2058 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
2059 (alpha_sa_size [VMS && !VMS]): Likewise.
2060 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
2061 (INIT_EXPANDERS): New definition.
2062
2063 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
2064 (output_prolog [!VMS]): Use them.
2065
2066 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
2067 (alpha_does_function_need_gp): ... a new function. Refine the
2068 CALL_INSN test to just TYPE_JSR.
2069 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
2070
bda2ffef
JL
2071Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
2072
2073 * version.c: Bump for snapshot.
2074
96b63cd7
RK
2075Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2076
2077 * pa.c (move_operand): Respect -mdisable-indexing.
2078 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
2079
f192bf8b
DE
2080Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
2081
2082 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
2083 PPC601.
2084 (umulsidi3,umulsi3_highpart): Ditto.
2085 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
2086
2ea844d3
RH
2087Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
2088
2089 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
2090 (alpha_handle_trap_shadows): ... a new function. Handle the entire
2091 function in one go. Emit RTL for trapb, instead of printf directly.
2092 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
2093 (trap_pending): Kill global variable.
2094 (output_epilog): Don't call final_prescan_insn.
2095 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
2096 * alpha.h (FINAL_PRESCAN_INSN): Remove.
2097 (MACHINE_DEPENENT_REORG): Define.
2098 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
2099 (trapb): New insn.
2100
74835ed8
RH
2101Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
2102
2103 Tune Haifa scheduler for Alpha:
2104 * alpha.h (ISSUE_RATE): Define.
2105 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
2106 EV4 adjustments to EV5.
2107 * alpha.md: Remove all scaling from function unit delays. Rework
2108 EV5 function units to match the CPU.
2109 (umuldi3_highpart): EV5 added the IMULH insn class.
2110
cdc0de30
JL
2111Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
2112
2113 * pa.c (following_call): Fail if the CALL_INSN is an indirect
2114 call.
2115
041c97f2
MM
2116Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
2117
2118 * cplus-dem.c (demangle_signature): Don't look for return types on
2119 constructors. Handle member template constructors.
2120
f0632762
JM
2121Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
2122
2123 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
22ef8a13 2124 * tree.h: Declare them.
f0632762 2125
dec88383
DE
2126Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
2127
2128 * configure.in: Handle --with-newlib.
2129 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
2130
2131 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
2132
0e1f3f5e
JL
2133Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
2134
2135 * config/ptx4.h: Fix typo.
2136
12504ae0
JL
2137Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
2138
2139 * version.c: Bump for snapshot.
2140
5643c767
MH
2141Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
2142
2143 * aclocal.m4: Substitute INSTALL.
2144 * configure: Re-built.
2145
aa0c1401
JL
2146Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
2147
f644bd14
JL
2148 * integrate.c (save_for_inline_copying): Avoid undefined pointer
2149 operations.
2150 (expand_inline_function): Likewise.
2151
aa0c1401
JL
2152 * dwarf2out.c (output_call_frame_info): Reinstate last change
2153 using flag_debug_asm check instead of flag_verbose_asm.
2154
6c2df6c9
JW
2155Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
2156
2157 * dwarf2out.c (output_call_frame_info): Remove last change.
2158
13ab2b83
AS
21591997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2160
2161 * frame.c (__frame_state_for): Execute the FDE insns until the
2162 current pc value is strictly bigger than the target pc value.
2163
066c2fea
JM
2164Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
2165
2166 * regclass.c (init_reg_modes): If we can't find a mode for the
2167 register, use the previous one.
2168
2f308fec
RH
2169Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
2170
2171 * haifa-sched.c (print_block_visualization): Call fprintf directly,
2172 don't sprintf through an alloca'ed buffer.
2173
43984e29
TK
2174Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
2175
2176 * reload.c (decompose): Always initialize val.base.
2177
e9e30253
MH
2178Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
2179
2180 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
2181 instead of aborting.
2182 * dwarf2out.c (output_call_frame_info): Call app_enable and
2183 app_disable to let GNU as accept the generated comments.
2184
496651db
MM
2185Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
2186
2187 * tree.h (get_file_function_name): Add declaration.
2188 * dwarf2out.c (output_call_frame_info): No need to cast
2189 get_file_function_name call anymore.
2190 * profile.c (toplevel): Remove get_file_function_name
2191 declaration.
2192 * c-lang.c (finish_file): Ditto.
2193
e6347456
CS
2194Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
2195
2196 * Makefile.in (program_transform_name): Let autoconf substitute
2197 the correct value.
2198
1447b516
JL
2199Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
2200
2201 * haifa-sched.c (schedule_block): If the first real insn in a
2202 block has any special notes attached to it, remove them.
2203
1a42ead7
RH
2204Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
2205
2206 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
2207
4b6140f1
MH
2208Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
2209
2210 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
2211
dc84d7bc
JL
2212Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
2213
2214 * Makefile.in (check-g77): New test target.
2215 (CHECK-TARGETS): Add check-g77.
2216
c0da11c4
JM
2217Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
2218
2219 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
2220
d8d64559
MM
2221Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
2222
2223 * flow.c (print_rtl_with_bb): Cast alloca return value for
2224 in_bb_p.
2225
e414ab29
RH
2226Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
2227
2228 * i386.h (RETURN_ADDR_RTX): New definition that works for
2229 __builtin_return_address(0) and -fomit-frame-pointer.
2230
15039abe
JW
2231Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
2232
2233 Bring over from FSF.
2234 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
2235
2236 * mips.c (function_arg): Handle passing a struct
2237 containing a double in a DFmode register without the PARALLEL.
2238
281de624
ILT
2239Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
2240
d8d64559 2241 * pexecute.c: Use spawn if __CYGWIN32__.
281de624 2242
d8d64559 2243 * pexecute.c: Include "config.h" first, as per autoconf manual
281de624
ILT
2244 (from Paul Eggert <eggert@twinsun.com>).
2245
3cbdd5fc
PDM
2246Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
2247
2248 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
2249 optimisation for f/expr.o and f/stb.o.
2250
135d84b8
JL
2251Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
2252
2253 * cse.c (this_insn_cc0_mode): Initialize.
2254
55d89719
TK
2255Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
2256
d3878e49
TK
2257 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
2258
2259 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
55d89719 2260
e9d0757e
RH
2261Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
2262
2263 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
2264 that pair will dual-issue on the 21164 and plus+beq won't.
2265 (bne): Likewise for cmpeq+beq.
2266
3f34faec
JW
2267Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
2268
2269 * except.c (find_exception_handler_labels): Correct argument to free.
2270
3226dac5 2271Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
988cea7d
BK
2272
2273 * except.c (find_exception_handler_labels): Free LABELS when we're
2274 done.
2275
3a6eabfa
JL
2276Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
2277
2278 * version.c: Bump for snapshot.
2279
974c50f9
JM
2280Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
2281
2282 * flow.c (find_basic_blocks): Mark calls as potentially jumping
2283 to the EH labels.
2284
9b16d2c4
JL
2285Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
2286
2287 * configure.in: Substitute for "install" too.
2288 * configure: Rebuilt.
2289
b1e3ddfd
AJ
2290Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
2291
2292 * Makefile.in (bootstrap-lean, compare-lean): New targets.
2293
6662a38d
RH
2294Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
2295
c02f035f
RH
2296 * alias.c (base_alias_check): Two symbols can conflict if they
2297 are accessed via AND.
2298 (memrefs_conflict_p): Likewise.
2299
7a14fdc5
RH
2300 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
2301 after flushing argument registers to the stack.
2302
6662a38d
RH
2303 * Makefile.in (mostlyclean): Remove .regmove files.
2304
f3447109
JM
2305Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
2306
2307 * libgcc2.c (__throw): Fix thinko.
2308
37f6b6bf
MM
2309Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
2310
2311 * cplus-dem.c (demangle_template): Add new parameter. Handle new
2312 template-function mangling.
2313 (consume_count_with_underscores): New function.
2314 (demangle_signature): Handle new name-mangling scheme.
2315
adfc539e
PDM
2316Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
2317
2318 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
2319 start and end.
2320
92cbe4d2
JL
2321Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
2322
2323 * frame.c: Remove last change.
2324 * dwarf2.h: Remove last change.
2325 * tree.h: Add declarations of DWARF2 unwind info support
2326 functions.
2327
2f3ca9e7
JM
2328Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
2329
2330 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
2331 * tree.h (built_in_function): Likewise.
2332 * expr.c (expand_builtin): Likewise.
2333 * except.h: Likewise.
2334 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
2335 * libgcc2.c (copy_reg): New fn.
2336 (__throw): Use it.
2337
407cb092
PE
2338Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
2339
2340 * c-typeck.c (build_binary_op): Warn about comparing signed vs
2341 unsigned if -W is specified and -Wno-sign-compare is not.
2342 * c-decl.c (warn_sign_compare): Initialize to -1.
2343 (c_decode_option): -Wall no longer implies -Wsign-compare.
2344
3ba10494
AS
2345Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2346
a7cc7f29
AS
2347 * frame.c: Include gansidecl.h for PROTO.
2348 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
2349 defined. Don't declare dwarf2out_cfi_label here.
2350 * dwarf2.h: Add declarations of DWARF2 unwind info support
2351 functions.
2352 * m68k.c: Include dwarf2.h.
2353 (output_function_prologue): Add dwarf2 support.
2354 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
2355 (INCOMING_FRAME_SP_OFFSET): Likewise.
2356
3ba10494
AS
2357 * integrate.c (expand_inline_function): Make sure there is at
2358 least one insn that can be used as an insertion point.
2359
c5cec899
JM
2360Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
2361
2362 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
2363
e166cb18
JL
2364Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
2365
2366 * version.c: Bump for snapshot.
2367
01a94cba
DE
2368Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
2369
2370 Bring over from FSF.
2371
2372 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
2373
2374 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
2375 (get_pc_via_rdpc): Renamed from get_pc_sp64.
2376 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
2377
2378 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
2379
2380 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
2381 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
2382 -malign-functions=.
2383 (sparc_align_{loops,jumps,funcs}_string): Declare.
2384 (sparc_align_{loops,jumps,funcs}): Declare.
2385 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
2386 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
2387 (STACK_BIAS): Define.
2388 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
2389 test.
2390 (SPARC_SETHI_P): New macro.
2391 (CONST_OK_FOR_LETTER_P): Use it.
2392 (ASM_OUTPUT_ALIGN_CODE): Define.
2393 (ASM_OUTPUT_LOOP_ALIGN): Define.
2394 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
2395 (sparc_align_{loops,jumps,funcs}): New globals.
2396 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
2397 -malign-functions=.
2398 (move_operand): Use SPARC_SETHI_P.
2399 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
2400 perform test.
2401 (arith11_double_operand): Likewise.
2402 (arith10_double_operand): Likewise.
2403 (finalize_pic): Finish sparc64 support.
2404 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
2405 64 bit constants if able.
2406 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
2407 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
2408 ! TARGET_FPU.
2409 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
2410 (get_pc_sp32): Use for sparc64 as well.
2411 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
2412 (sethi_di_sp64_const): Likewise.
2413 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
2414 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
2415 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
2416
2417 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
2418
2419 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
2420 * sparc/linux.h (COMMENT_BEGIN): Likewise.
2421 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
2422
2423 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
2424
2425 Add sparc64 linux support.
2426 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
2427 to xm_file list on 32-bit sparc-linux.
2428 * sparc/xm-sp64.h: New file.
2429 * sparc/linux64.h: New file.
2430 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
2431 Don't include xm-sparc.h.
2432 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
2433 * glimits.h (LONG_MAX): Handle sparc64.
2434
2435 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
2436
2437 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
2438 * sparc.h (ASM_COMMENT_START): Define.
2439 * sparc.c (output_function_prologue): Use it.
2440 (sparc_flat_output_function_{epi,pro}logue): Likewise.
2441
2442 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
2443
2444 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
2445 use sparc.h's copies.
2446 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
2447 ascii form as well.
2448
2449 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2450
2451 * sparc.c (dwarf2out_cfi_label): Add declaration.
2452 (save_regs, output_function_prologue): Remove cast for it.
2453 (sparc_flat_{save_restore,output_function_prologue): Likewise.
2454 ({save,restore}_regs): No longer inline.
2455
ce2157a1
JL
2456Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2457
2458 * fold-const.c (make_range): Correctly handle cases of converting
2459 from unsigned to signed type.
2460
2461Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2462
2463 * fold-const.c (merge_ranges): Make sure that if one range is subset
2464 of another, it will always be the second range. Correct (+,-) case to
2465 account for this.
2466
c5cec899
JM
2467Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
2468
2469 * final.c (final_end_function): Also do dwarf2 thing if
2470 DWARF2_DEBUGGING_INFO.
2471 (final_start_function): Likewise.
2472
c107334d
DM
2473Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
2474
e13a25d5
DM
2475 * expmed.c (expand_divmod): If compute_mode is not the same as
2476 mode, handle the case where convert_modes() causes op1 to no
2477 longer be a CONST_INT.
2478
c107334d
DM
2479 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
2480 note holding get_jump_flags() calculation to all JUMP_INSNs.
2481 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
2482 * rtl.c (reg_note_name): Add new note types.
2483
8d7532d9
JL
2484Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
2485
0774afd7 2486 * rtlanal.c (computed_jump_p): Fix typo in last change.
8d7532d9 2487
7019d00e
L
2488Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
2489
2490 * loop.c (indirect_jump_in_function_p): Return 0
2491 by default.
2492
b9dfb357
JL
2493Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
2494
2495 * rs6000/xm-rs6000.h: Fix thinko in last change.
2496 * rs6000/xm-sysv4.h: Likewise.
2497
4b7e467b
JW
2498Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
2499
2500 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
2501
8c8e6faa
JL
2502Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
2503
2504 * reg-stack.c (find_blocks): Fix thinko in last change.
2505
078e983e
AS
25061997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2507
2508 * m68k.c (output_function_prologue): Add dwarf2 support.
2509
2510 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
2511 INCOMING_FRAME_SP_OFFSET): New definitions.
2512
d7027667
DM
2513Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
2514
9524f769
DM
2515 * combine.c (try_combine): Use NULL_RTX instead of '0' where
2516 appropriate in calls to gen_rtx().
2517 * cse.c (cse_main): Likewise.
2518 * emit-rtl.c (gen_label_rtx): Likewise.
2519 * expr.c (init_expr_once): Likewise.
2520 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
2521 sched_analyze, init_rgn_data_dependences,
2522 compute_block_backward_dependences): Likewise.
2523 * sched.c (schedule_insns): Likewise.
2524 * varasm.c (immed_double_const): Likewise.
2525
d7027667
DM
2526 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
2527 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
2528
fbf8b71c
KJ
2529Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
2530
2531 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
2532 (MULTILIB_DEFAULTS): Define.
2533 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
2534 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
2535 (LIBGCC_SPEC): Likewise.
2536 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
2537 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
2538 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
2539 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
2540 (EXTRA_PARTS, TAROUTOPTS): Delete.
2541 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
2542 (MULTILIB_OPTIONS): Define.
2543 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
2544 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
2545
c14a951f
JL
2546Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
2547
2548 * version.c: Bump for snapshot.
2549
7014927a
JL
2550Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
2551
37aa45a2
JL
2552 * loop.c (loop_number): Delete function. Change all references
2553 to use uid_loop_num array.
2554 * loop.h (loop_number): Delete declaration.
2555 * unroll.c (unroll_loop): Change "loop_number" references to
2556 use uid_loop_num instead.
2557
b47404d1
JL
2558 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
2559 conditional.
2560 (loop_unroll_iter): Remove unused variable and all references.
2561 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
2562 (insert_bct): Fix minor formatting problems.
2563 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
2564 (loop_unroll_iter): Removed unused decl.
2565 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
2566 Always record the unrolling factor.
2567
cb3bb2a7
JL
2568 * cse.c (simplify_relational_operation): Set h0u just like h0s.
2569 Similarly for h1u and h1s.
2570
d5ff3a2e 2571 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2a1777af
JL
2572 (find_basic_blocks): Use computed_jump_p to determine if a
2573 particular JUMP_INSN is a computed jump.
2574 * reg-stack.c (find_blocks): Use computed_jump_p to determine
2575 if a particular JUMP_INSN is a computed jump.
2576 * rtlanal.c (jmp_uses_reg_or_mem): New function.
2577 (computed_jump_p): Likewise.
2578 * rtl.h (computed_jump_p): Declare.
2579 * genattrtab.c (pc_rtx): Define and initialize.
2580 * loop.c (loop_optimize): Always determine if the current
2581 function has a computed jump.
2582 (indirect_jump_in_function_p): Use computed_jump_p to determine
2583 if a particular JUMP_INSN is a computed jump.
2584
7014927a
JL
2585 * loop.c (fix_bct_param): Delete unused function.
2586 (check_bct_param): Likewise.
2587
6d53d7c2
JM
2588Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
2589
2590 * frame.c (__deregister_frame): Check properly for initialized object.
2591
5a5e9503 2592Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
71e4fbe6
L
2593
2594 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
2595
272299b9
R
2596Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2597
cc5e1642
R
2598 * jump.c (thread_jumps): check can_reverse_comparison_p before
2599 threading a reversed-condition jump.
2600
272299b9
R
2601 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
2602 * haifa-sched.c (update_flow_info): Likewise.
2603
18511014
JL
2604Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
2605
e6493727
JL
2606 * Makefile.in (BOOT_CFLAGS): Use -O2.
2607
1e467e19
JL
2608 * configure.in (strtoul, bsearch): Have autoconf check for these
2609 functions.
2610 * configure, config.in: Rebuilt.
2611
18511014
JL
2612 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
2613 * mips/mips.h (alloca): Likewise.
2614 * rs6000/xm-rs6000.h (alloca): Likewise.
2615 * rs6000/xm-sysv4.h: Likewise.
2616
6020d360
JM
2617Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
2618
2619 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
2620 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
2621 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
2622
2623 * except.c (end_eh_unwinder): Subtract 1 from return address.
2624 * libgcc2.c (__throw): Likewise.
2625 (find_exception_handler): Don't change PC here. Compare end with >.
2626
b24bcfb3
NC
2627Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
2628
2629 * v850.c (compute_register_save_size): Correct register
2630 number.
2631 * v850.md (save_interrupt, return_interrupt): Correct
2632 register number.
2633 * v850/lib1funcs.asm (save_interrupt): Correct register number.
2634 (return_interrupt): Use stack pointer, not element pointer.
2635
93cf819d
BK
26361997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
2637
2638 * configure.in, configure: Make sure to create the stage* and include
2639 symbolic links in each subdirectory.
2640
f0501149
JL
2641Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
2642
2643 * pa.md (reload_peepholes): Don't allow addresses with side
2644 effects for the memory operand.
2645
4f870c04
JM
2646Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
2647
2648 * libgcc2.c (find_exception_handler): Subtract one from our PC when
2649 looking for a handler, to avoid hitting the beginning of the next
2650 region.
2651
2652 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
2653
4eb66248
JL
2654Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
2655
2656 * mips/abi64.h (LONG_MAX_SPEC): Define.
2657 * mips.h (LONG_MAX_SPEC): Define.
2658 (CPP_SPEC): Include long_max_spec.
2659 (EXTRA_SPECS): Include long_max_spec.
2660
44158507
JL
2661Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
2662
2663 * v850.c (construct_save_jarl): Fix thinko in last change.
2664
bf520cd9
JL
2665Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
2666
2667 * version.c: Bump for snapshot.
2668
255fe733
JM
2669Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
2670
c0727e2a
JM
2671 * libgcc2.c (find_exception_handler): Not found is -1.
2672
255fe733
JM
2673 * integrate.c (expand_inline_function): Move expand_start_bindings
2674 after expanding the arguments.
2675
21002281
JW
2676Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
2677
2678 * expr.c (expand_expr): Remove previous incorrect change.
2679 If target and slot has no DECL_RTL, then call mark_addressable
2680 again for the slot after we give it RTL.
2681
e693cc28 2682Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
f633220c 2683
e693cc28
UD
2684 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
2685 again for the slot after we give it RTL.
f633220c 2686
145870b5
NC
2687Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
2688
84e75068 2689 * v850.c (register_is_ok_for_epilogue,
145870b5
NC
2690 pattern_is_ok_for_epilogue, construct_restore_jr,
2691 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
2692
84e75068 2693 * v850.h (pattern_is_ok_for_prologue,
145870b5
NC
2694 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
2695 predicates.
2696
84e75068 2697 * v850.md: Replace prologue and epilogue patterns with a
145870b5
NC
2698 match_parallel pattern.
2699
76143254
JL
2700Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
2701
2702 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
2703 * configure.in: Use EGCS_PROG_INSTALL.
2704
4401bf24
JL
2705Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
2706
2707 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
2708 extern inline function.
2709
2710Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
2711
2712 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
2713 (concat_loc_descriptor): New function.
2714 (loc_descriptor): Call it.
2715 (add_AT_location_description): Also elide the descriptor if both
2716 halves of a CONCAT are pseudos.
2717 (add_location_or_const_value_attribute): Recognize CONCAT too.
2718
0d24ff5d
RH
2719Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
2720
4bb43724
RH
2721 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
2722
0d24ff5d
RH
2723 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
2724 out-or-range reg_offset.
2725 (output_epilog): Likewise.
2726
05ef8897
JL
2727Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
2728
2729 * cse.c (simplify_relational_operation): If MODE specifies a
2730 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
2731 is derived from the sign bit of the low word.
2732
ca55abae
JM
2733Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
2734
2735 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
2736
2737 * dwarf2.h: Add DW_CFA_GNU_args_size.
2738 * frame.c (execute_cfa_insn): Likewise.
2739 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
2740 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
2741 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
2742 insn, hand it off to dwarf2out_stack_adjust.
2743 (dwarf2out_begin_prologue): Initialize args_size.
2744 * frame.h (struct frame_state): Add args_size.
2745 * libgcc2.c (__throw): Use args_size.
2746 * final.c (final_scan_insn): If we push args, hand off all insns
2747 to dwarf2out_frame_debug.
2748 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
2749
2750 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
2751 Handle epilogue restore of SP from FP.
2752 * emit-rtl.c (gen_sequence): Still generate a sequence if the
2753 lone insn has RTX_FRAME_RELATED_P set.
2754
2755 * frame.c (extract_cie_info): Handle "e" augmentation.
2756 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
2757 absence of UNALIGNED_*_ASM_OP.
2758 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
2759 (output_call_frame_info): Use "e" instead of "z" for augmentation.
2760 Don't emit augmentation fields length.
2761 (dwarf2out_do_frame): Move outside of #ifdefs.
2762 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
2763 opcodes.
2764
2765 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
2766 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
2767 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
2768 * sparc/sun4gas.h: New file.
2769 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
2770
2771 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
2772 __register_frame_table and __deregister_frame.
2773
1d77fa53
BK
27741997-09-15 Brendan Kehoe <brendan@cygnus.com>
2775
2776 * except.c (find_exception_handler_labels): Use xmalloc instead of
2777 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
2778 in some cases.
2779
8be52aaa
JL
2780Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
2781
2782 * Makefile.in: Various changes to build info files
2783 in the object tree rather than the source tree.
2784
a3ee3246
JL
2785Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
2786
2787 * fixinc.math: New file to fix math.h on some systems.
2788 * configure.in (freebsd, netbsd): Use fixinc.math on these
2789 systems.
2790 * configure: Rebuilt.
2791
124da275
JL
2792Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
2793
2794 * regmove.c (regmove_optimize): If we end up moving the
2795 original insn due to lifetime overlaps, make sure to move
2796 REG_NOTES too.
2797
fca9d4b0
MH
2798Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
2799
2800 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
2801
326ee7a3
JL
2802Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
2803
2804 * haifa-sched.c (add_branch_dependences): Make each insn in
2805 a SCHED_GROUP_P block explicitly depend on the previous insn.
2806
ca55abae
JM
2807Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
2808
2809 * except.h: Prototype dwarf2 hooks.
2810 * expr.c: Adjust.
2811
5188d2b2
JW
2812Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
2813
2814 * configure.in (native_prefix): Delete.
2815 (mips-dec-netbsd): Don't set prefix.
2816 (*linux*): Don't set prefix.
2817
2e384318
FF
2818Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
2819
70988851
FF
2820 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
2821 defined. If not defined, include <sys/varargs.h> if
2822 HAVE_SYS_VARARGS_H is defined.
2823 * configure.in: Test for varargs.h and sys/varargs.h.
2824 * configure: Regenerate with autoconf.
2825 * config.in: Regenerate with autoheader.
2826
2e384318
FF
2827 * cpplib.c (quote_string): Cast first arg of sprintf call
2828 from "unsigned char *" to "char *".
2829 (output_line_command): Ditto.
2830 (macroexpand): Ditto.
2831 (do_line): Cast atoi arg from "unsigned char *" to "char *".
2832
3fb2f401
JL
2833Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
2834
f2e4e16f
JL
2835 * version.c: Bump for snapshot.
2836
3fb2f401
JL
2837 * Makefile.in (compare): Exit with nonzero status if there
2838 are comparison failures. Note which files failed the
2839 comparison test in .bad_compare.
2840
d26cb668
L
2841Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
2842
2843 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
2844
ac64120e
JW
2845Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
2846
2847 * Makefile.in (LN, LN_S): New macros, use where appropriate.
2848 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
2849 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
2850 * configure: Regenerated.
2851
2852Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
2853
2854 * loop.c (strength_reduce): Fix typo.
2855
db87ec0b
JW
2856Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
2857
2858 * m88k/m88k.c (struct option): Rename to struct options.
2859 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
2860 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
2861 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
2862 __DOLPHIN__ or sysV88.
2863
04395f96
JW
2864Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
2865
2866 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
2867 create new subreg.
2868
becdcf6d
JL
2869Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
2870
2871 * config.sub: Accept 'amigados' for backward compatability.
2872
04395f96 2873Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3979dfb8
JW
2874
2875 * Makefile.in (testsuite/site.exp): New target.
2876 (check-gcc, check-g++): Depend on testsuite/site.exp.
2877 Don't stop for failure.
2878
ca55abae
JM
2879Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
2880
2881 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
2882 if DWARF2_UNWIND_INFO.
2883
2884Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
2885
2886 Add support for exception handling using DWARF 2 frame unwind info.
2887 Currently works on SPARC and MIPS, and almost on x86.
2888
2889 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
2890 next_stack_level, in_reg_window): Helper fns.
2891 (__throw): Implement for DWARF2_UNWIND_INFO.
2892
2893 * expr.c (expand_builtin): Handle builtins used by __throw.
2894 * tree.h (enum built_in_function): Add builtins used by __throw.
2895 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
2896 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
2897 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
2898 (expand_builtin_extract_return_addr): Likewise.
2899 (expand_builtin_frob_return_addr): Likewise.
2900 (expand_builtin_set_return_addr_reg): Likewise.
2901 (expand_builtin_eh_stub): Likewise.
2902 (expand_builtin_set_eh_regs): Likewise.
2903 (eh_regs): Choose two call-clobbered registers for passing back values.
2904
2905 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
2906 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
2907 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
2908 (stmp-multilib): Likewise.
2909 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
2910
2911 * except.c: #include "defaults.h".
2912 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
2913 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
2914 (register_exception_table_p): New fn.
2915 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
2916 (end_eh_unwinder): Likewise.
2917
2918 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
2919 call __register_frame and __deregister_frame as needed.
2920 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
2921 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
2922 EH_FRAME_SECTION_ASM_OP.
2923 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
2924 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
2925 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
2926
2927 * dwarf2out.c (output_call_frame_info): If no support for
2928 EXCEPTION_SECTION, mark the start of the frame info with a
2929 collectable tag.
2930 * collect2.c (frame_tables): New list.
2931 (is_ctor_dtor): Recognise frame entries.
2932 (scan_prog_file): Likewise.
2933 (main): Pass -fno-exceptions to sub-compile. Also do collection
2934 if there are any frame entries.
2935 (write_c_file_stat): Call __register_frame_table and
2936 __deregister_frame as needed.
2937 (write_c_file_glob): Likewise.
2938
2939 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
2940 Also require unaligned reloc support.
2941 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2942 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
2943 * sparc/sysv4.h: Not here.
2944
2945 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
2946 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
2947 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
2948
2949 * libgcc2.c (L_eh): Reorganize, moving code shared by different
2950 EH implementations to the top.
2951 (find_exception_handler): Split out. Start from 0. Compare against
2952 end with >=.
2953 (__find_first_exception_table_match): Use it.
2954 * except.c (output_exception_table): Don't do anything if there's
2955 no table. Don't output a first entry of zeroes.
2956 (eh_outer_context): Adjust properly.
2957 (add_eh_table_entry): Use xrealloc.
2958 * toplev.c (compile_file): Just call output_exception_table.
2959
2960Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
2961
2962 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
2963
2964Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
2965
2966 * except.c (eh_outer_context): Do masking using expand_and.
2967
b4d940a2
JL
2968Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
2969
2970 Add port done awhile ago for the ARC cpu.
2971 * arc/arc.h: New file.
2972 * arc/arc.c: New file.
2973 * arc/arc.md: New file.
2974 * arc/initfini.c: New file.
2975 * arc/lib1funcs.asm: New file.
2976 * arc/t-arc: New file.
2977 * arc/xm-arc.h: New file.
2978 * ginclude/va-arc.h: New file.
2979 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
2980 * ginclude/varargs.h: Likewise.
2981 * Makefile.in (USER_H): Add va-arc.h.
2982 * configure.in (arc-*-elf*): Recognize.
2983 * longlong.h: Add ARC support.
2984
2985Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
2986
2987 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
2988 when clearing non-BLKmode data.
2989
10211581
JL
2990Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
2991
9dfc6eba
MH
2992 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
2993 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
2994
55259219
MH
2995 * xm-m88k.h (USG): Only define if it hasn't already been defined.
2996
2997 * Makefile.in (risky-stage1): Delete gratutious whitespace.
2998
ee291069
MH
2999 * Makefile.in (clean): Delete libgcc1-test.
3000
10211581
JL
3001 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
3002
3003Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
48f0be1b
SC
3004
3005 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
3006 template.
3007
ca55abae
JM
3008Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3009
3010 * dwarf2out.c (output_call_frame_info): Call named_section.
3011
8f3d79e0
JL
3012Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
3013
3014 * haifa-sched.c (print_value): Fix last change.
3015
ca55abae
JM
3016Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
3017
3018 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
3019 write_symbols.
3020
3021Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
3022
3023 * mips.c (function_prologue): Set up the CFA when ABI_32.
3024
3025 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
3026 for dwarf2 unwind info.
3027 (output_function_prologue, sparc_flat_output_function_prologue): Same.
3028
3029 * final.c (final_end_function): Check dwarf2out_do_frame instead
3030 of DWARF2_DEBUG for dwarf2 unwind info.
3031 (final_scan_insn): Likewise.
3032 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
3033 (final): Not here.
3034
3035 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
3036 count > 0.
3037
3038 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
3039
74aca74b
NC
3040Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
3041
3042 * v850.h (ASM_SPEC): Pass on target processor.
3043 (CPP_PREDEFINES): Only define if not already specified.
3044 (TARGET_VERSION): Only define if not already specified.
3045 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
3046 processor.
3047 (EXTRA_SWITCHES): Extra entries in the switches array.
3048 (TARGET_DEFAULT): Set default target processor.
3049
c0b04148
JW
3050Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
3051
3052 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
3053 cases, add %# and %/, and add : to make them into extended asms.
3054
52b7724b
WL
3055Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
3056
3057 * alias.c (init_alias_analysis): Clean up incompatible pointer
3058 type warning in bzero.
3059 * regmove.c (regmove_optimize): Ditto.
3060 * haifa-sched.c (find_rgns): Ditto.
3061
3062 * haifa-sched.c (print_value): Clean up ptr->int cast
3063 warnings.
3064
0c82f6bf
FF
3065Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
3066
3067 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
3068 * install.texi (Configurations): Ditto.
3069 * config.sub: Ditto.
3070
1fed1f51
WL
3071Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
3072
3073 * Makefile.in (sdbout.o): Depend on insn-config.h.
3074
239e68f6
JW
3075Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
3076
3077 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
3078 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
3079
267c09ab
JM
3080Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
3081
3082 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
3083 prologue insn, only the first elt is significant.
3084 (output_call_frame_info): For exception handling, always use 4-byte
3085 fields as specified by the dwarf2 spec.
3086 Don't skip trivial FDEs.
3087
db7cafb0
JL
3088Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
3089
3090 * version.c: Bump for snapshot.
3091
3092Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
3093
3094 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
3095 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
3096 when op1_is_pow2.
3097
3098Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
3099
bf520cd9
JL
3100 * final.c (shorten_branches): During first pass, assume worst
3101 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
db7cafb0
JL
3102
3103 * Makefile.in (distclean): Remove various things left around
3104 by running the testsuite.
3105
7ed46111
MH
3106Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
3107
3108 * configure.in (out_file): Emit definition to config.status in order
3109 to have a defined value for configure.lang.
3110 * configure: Re-built.
3111
e41cea70
JJH
3112Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
3113
bf520cd9 3114 * configure.in: Make symlink to as-new rather than as.new. Similarly
e41cea70
JJH
3115 for ld-new.
3116 * configure: Rebuilt.
3117
1aeb1f6f
JW
3118Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
3119
3120 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
3121
770a0113
CK
3122Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
3123
3124 * sparc/sparc.md: Add ultrasparc scheduling support.
3125 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
3126
f5ffa999
PDM
3127Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
3128
3129 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
3130 as initial value for real_label_map.
3131 (copy_for_inline): Likewise.
3132
acceac1a
R
3133Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3134
3135 * sched.c (update_flow_info) When looking if to set found_split_dest
3136 or found_orig_dest, look at all parts of a PARALLEL.
3137 * haifa-sched.c (update_flow_info): Likewise.
3138
f84271d9
JL
3139Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
3140
3141 * v850: New directory for v850 port.
3142 * v850/lib1funcs.asm: New file.
3143 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
3144 * ginclude/va-v850.h: New file.
3145 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
3146 * configure.in (mn10200-*-*): New target.
3147 * configure: Rebuilt.
3148 * config.sub: Handle v850-elf.
3149 * Makefile.in (USER_H): Add va-mn10200.h.
3150 * invoke.texi: Document v850 stuff.
3151
89cc6098
JW
3152Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
3153
04940ba5
JW
3154 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
3155 has integer TYPE_{MAX,MIN}_VALUE before using them.
3156
89cc6098
JW
3157 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
3158 __HPUX_ASM__ versions.
3159
c74f7db8
JL
3160Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
3161
bf520cd9 3162 * install.sh: Delete duplicate install script.
c74f7db8 3163
914ec131
SC
3164Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
3165
3166 * reg-stack.c (subst_stack_regs): Pop the stack register for a
3167 computed goto which sets the same stack register.
3168
3169 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
3170 destination are both on the regstack.
3171 (subst_stack_regs_pat): Put the destination at the top of the regstack.
3172
c1090daa
JW
3173Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
3174
d5d1738a
JW
3175 * mips.md (nonlocal_goto_receiver): Define.
3176
f4da7881
JW
3177 * profile.c (output_arc_profiler): Check next_insert_after for non
3178 NULL before deferencing it.
3179
c1090daa
JW
3180 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
3181
da594c94
JL
3182Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
3183
3184 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
3185
3e28fe44
MM
3186Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
3187
3188 * toplev.c (rest_of_compilation): For passes starting with
3189 flow_analysis, use print_rtl_with_bb instead of print_rtl.
3190
3191 * print-rtl.c (print_rtl_single): Print a single rtl value to a
3192 file.
3193
3194 * flow.c (print_rtl_with_bb): Print which insns start and end
3195 basic blocks. For the start of a basic block, also print the live
3196 information.
3197
7053ca72
JW
3198Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
3199
417b0fa2
JW
3200 * toplev.c (main): Change #elif to #else/#ifdef
3201
7053ca72
JW
3202 * tlink.c: Include ctype.h.
3203 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
3204
f05a8b25
MM
3205Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
3206
3207 * bitmap.c: Conditionally include stdlib.h.
bf520cd9 3208 (free): Provide a declaration if NEED_DECLARATION_FREE.
f05a8b25 3209
02d7a569
JS
3210Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
3211
3212 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
3213
6030b6af
JW
3214Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
3215
3216 * profile.c (output_arc_profiler): Verify next_insert_after is an
3217 INSN before and after skipping a stack pop.
3218
04da53bd
R
3219Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3220
3221 * final.c (shorten_branches): Don't count the lengths of deleted
3222 instructions.
3223
780532a4
JL
3224Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
3225
3226 * version.c: Bump for snapshot.
3227
22fa5b8a
MM
3228Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
3229
3230 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
3231 two bitmaps ANDed together.
3232 (bitmap_print): Declare.
3233
3234 * bitmap.c (function_obstack): Don't declare any more.
3235 (bitmap_obstack): Obstack for allocating links from.
3236 (bitmap_obstack_init): New static to say whether to initialize
3237 bitmap_obstack.
3238 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
3239 (bitmap_release_memory): Free all memory allocated from
3240 bitmap_obstack.
3241
3242 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
3243 EXECUTE_IF_AND_IN_BITMAP.
3244
57163df0
JW
3245Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
3246
fa8b6024
JW
3247 * alias.c (true_dependence): Address with AND can alias scalars.
3248 (anti_dependence, output_dependence): Likewise.
3249
57163df0
JW
3250 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
3251
8aa4e786
JS
3252Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
3253
3254 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
3255 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
3256 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
3257 definitions. Use -qrtems instead of -mrtems.
3258
feb21122
RL
3259Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
3260
3261 * xm-sco5.h (sys_siglist): Define.
3262 (SYS_SIGLIST_DECLARED): Likewise.
3263
704af6a1
JL
3264Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
3265
3266 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
3267
127cd405
TG
3268Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
3269
3270 * except.c (eh_outer_context): Expand masking operation using
3271 expand_binop.
3272
8cf02b47
JW
3273Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
3274
3275 * alpha.md (floatdisf2-1): New pattern.
3276
49dad301
JL
3277Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
3278
068f1cb8
JL
3279 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
3280 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
f04e7122 3281 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
068f1cb8
JL
3282 * gcc.texi: Note that if you define sys_siglist that you should
3283 also define SYS_SIGLIST_DECLARED.
3284
49dad301
JL
3285 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
3286 are relative to the next instruction, not the current instruction.
3287
a1729519
JW
3288Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
3289
3290 * local-alloc.c (contains_replace_regs): New function.
3291 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
3292 verify that there is no existing REG_EQUIV note, and add a call to
3293 contains_place_regs.
3294
290c8b1f
L
3295Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3296
3297 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
3298 (STARTFILE_SPEC): Always use crtbegin.o%s
3299 (ENDFILE_SPEC): Always use crtend.o%s.
3300
a6a503ed
JW
3301Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
3302
3303 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
3304 is passed in.
3305 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
3306 SFmode for 64 bit hosts.
3307
a94729bc
PH
3308Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
3309
3310 * fixincludes: Permits spaces between # and define. Discard C++
3311 comments in sys/pci.h on HP/UX 10.20.
3312
c9e03727
JL
3313Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
3314
3315 * version.c: Bump for snapshot.
3316
2eddfed1
JL
3317 * pa.c (restore_unscaled_index_insn_codes): New function.
3318 (record_unscaled_index_insn_codes): Likewise.
3319 (output_function_prologue): Call restore_unscaled_index_insn_codes.
3320 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
3321 (pa_reorg): Call record_unscaled_index_insn_codes.
3322
c9e03727
JL
3323 * haifa-sched.c (move_insn): Handle notes correctly for insns
3324 with SCHED_GROUP_P set.
3325
a5d6a95b
L
3326Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3327
3328 * alpha/xm-linux.h (USE_BFD): Undef before define.
3329
bc4ddc77
JW
3330Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
3331
3332 * cse.c (cse_insn): Don't record BLKmode values.
3333
f3e0ca6c
SW
3334Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
3335
3336 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
3337
e3512ac2
JL
3338Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
3339
a63d08e6
JL
3340 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
3341 * collect2.c (sys_errlist): Likewise.
3342 * cpplib.c (sys_errlist): Likewise.
3343 * gcc.c (sys_errlist): Likewise.
3344 * protoize (sys_errlist): Likewise.
3345 * configure.in: Check for strerror.
3346 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
3347 * xm-gnu.h (HAVE_STRERROR): Likewise.
3348 * xm-linux.h (HAVE_STRERROR): Likewise.
3349 * xm-netbsd.h (HAVE_STRERROR): Likewise.
3350 * xm-bsd386.h (HAVE_STRERROR): Likewise.
3351 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
3352 * xm-dos.h (HAVE_STRERROR): Likewise.
3353 * xm-mingw32.h (HAVE_STRERROR): Likewise.
3354 * xm-pa.h (HAVE_STRERROR): Likewise.
3355 * xm-papro.h (HAVE_STRERROR): Likewise.
3356 * xm-sysv4.h (HAVE_STRERROR): Likewise.
3357 * configure, config.in: Rebuilt.
3358
db814993
JL
3359 * Makefile.in: Add several missing "else true" clauses.
3360
e3512ac2
JL
3361 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
3362 * mips-tfile.c: Likewise.
3363 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
3364 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
3365 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
3366 * configure.in: Check for sys_siglist declaration.
3367 * configure, config.in: Rebuilt.
3368
5d84b57e
JS
3369Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
3370
3371 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
3372 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
3373 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
3374 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
3375 * rs6000/sysv4.h (extra_subtarget_switches): Added new
3376 macro EXTRA_SUBTARGET_SWITCHES.
3377 * configure.in (sh*-*-rtems*): New target.
3378 * sh/rtems.h: New file.
3379 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
3380 * configure: Rebuilt.
3381
2599dcc7
JW
3382Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
3383
3384 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
3385
3b7e5ef4
DE
3386Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
3387
3388 * rs6000.md: Make DF fused-add operations pay attention to
3389 -mno-fused-add.
3390
5cd5f4a7
JW
3391Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
3392
3393 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
3394
63e7fe9b
JL
3395Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
3396
3397 * pa.md (reload_peepholes): Make sure operand is a REG before
3398 examining REGNO. Allow general registers too.
3399
eb7b11fd
JW
3400Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
3401
3402 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
3403
c760091a
PT
3404Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
3405
5cd5f4a7 3406 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
c760091a
PT
3407 to reallocate abbrev_die_table.
3408
57583338
JW
3409Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
3410
3411 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
3412
eae4b970
AS
34131997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3414
4f91a0f8
AS
3415 * Makefile.in (config.status): Depend on version.c
3416
eae4b970
AS
3417 * expr.h (insn_gen_function): Reenable prototype.
3418
3419 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
3420 first parameter.
3421
00fc09e1
JW
3422Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
3423
3424 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
3425
2601ebca
JL
3426Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
3427
3428 * version.c: Bump for latest snapshot.
3429
3430 * bc-optab.c: Conditionally include stdlib.h.
3431 (free): Provide a declaration if NEED_DECLARATION_FREE.
3432 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
3433 * rtl.h (free): Remove declaration.
3434 * tree.h (free): Remvoe declaration.
3435
3436 * configure: Rebuilt.
3437
e5eb27e5
JL
3438Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
3439
3440 * flags.h (flag_move_all_movables): Declare.
3441 (flag_reduce_all_givs): Likewise.
3442 * loop.c (move_movables): Handle flag_move_all_movables.
3443 (strength_reduce): Handle flag_reduce_all_givs.
3444 * toplev.c (flag_move_all_movables): Define.
3445 (flag_reduce_all_givs): Likewise.
3446 (f_options): Add -fmove-all-movables and -freduce-all-givs.
3447 * invoke.texi: Document new options, including alias stuff that
3448 wasn't included last time.
3449
d995a6dc
BM
3450Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
3451
3452 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
3453 * t-mn10200: Ditto.
3454 * t-vxsparc: Ditto.
3455 * t-vxworks68: Ditto.
3456 * t-vxworks960: Ditto.
3457 * t-vx29k: Ditto.
3458
ba64ca33
RH
3459Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
3460
3461 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
3462 if not already defined, and USE_C_ALLOCA not defined.
3463
ca20876d
JW
3464Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
3465
7818d6fc
JW
3466 * config.guess: Replace with script that uses ../config.guess.
3467
ca20876d
JW
3468 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
3469 if USE_GNULIBC_1 is not defined.
3470
704a6306
RH
3471Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
3472
3473 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
3474 * config.guess: Recognize alpha-linux-gnulibc1.
3475 * configure.in (alpha-*-linux-gnulibc1): New target.
3476 (alpha-*-linux-gnu*): Don't build crtbegin/end.
3477
67f68fd2
JW
3478Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
3479
3480 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
3481 last change.
3482
88016fb7
DE
3483Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
3484
3485 * loop.c (combine_movables): Earlier insns don't match later ones.
3486
bba17b29
L
3487Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3488
3489 * config/linux.h (CC1_SPEC): Define it only if not defined.
3490
3491 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
3492 <linux.h>
3493
3494 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
3495 USE_GNULIBC_1 is not defined.
3496
33d2808b 3497 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
bba17b29
L
3498
3499 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
3500 as 1 if USE_GNULIBC_1 is not defined.
3501
ed4044e0
JL
3502Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
3503
f345de42
JL
3504 * reorg.c (dbr_schedule): Allow current_function_return_rtx
3505 to be something other than a REG.
3506 * function.c (expand_function_end): Fix current_function_return_rtx
3507 if it was a pseudo.
3508
ed4044e0
JL
3509 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
3510 * x-netbsd: Likewise
3511 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
3512 (INSTALL_HEADERS): Delete.
3513 * x-dguxbcs: Likewise.
3514 * x-hp3bsd44: Likewise
3515 * x-pa: Likewise.
3516
47d36400
BS
3517Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3518
3519 * i386.md (pop): pop increments the stack pointer.
3520 (prologue_set_stack_ptr): New pattern.
3521 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
3522 instead of subsi3.
3523
fc79eafe
JW
3524Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
3525
3526 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
3527 address where an offsettable address is required.
3528
c5da853f
MH
3529Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
3530
3531 * loop.c (check_final_value): Don't miss a biv increment in a
3532 parallel.
3533
d4ef15f2
JW
3534Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
3535
3536 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
3537 TYPE_DECL_IS_STUB instead of DECL_NAME.
3538
10549cbd
JW
3539Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3540
3541 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
3542
3543Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
3544
3545 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
3546
484df988
JL
3547Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
3548
3549 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
3550 (find_post_sched_live): Likewise.
3551
3552 * haifa-sched.c (schedule_block): Remove old code to get arguments
3553 from hard regs into pseudos early.
3554
39dfb55a
JL
3555Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
3556
3557 * version.c: Bump for new snapshot.
3558
3559 * local-alloc.c (update_equiv_regs): All the target to reject
3560 promotion of some REG_EQUAL to REG_EQUIV notes.
3561 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
3562
3563 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
3564 secondary reloads.
3565
3566 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
3567 store of the argument registers.
3568
3569Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
3570
3571 * fold-const.c (multiple_of_p): New function.
3572 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
3573
d78778eb
JL
3574Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
3575
3576 * expr.h (insn_gen_function): Temporarily remove prototype.
3577
feb9ea1a
JW
3578Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
3579
3580 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
3581 filenames. Use sed to extract base filename for install.
3582
b6ffe602
JC
3583Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
3584
3585 * unroll.c (find_splittable_givs): Only share if two givs have the
3586 same add and multiply values.
3587
2ebfd230
JW
3588Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
3589
3590 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
3591 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
3592
251ffdee
JL
3593Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
3594
3595 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
3596 around branch tables.
3597 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
3598 and .end_brtab directives if TARGET_GAS.
3599
19372aa1
JW
3600Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
3601
27314274
JW
3602 * alias.c (true_dependence): Pass x_addr not x to varies.
3603
19372aa1
JW
3604 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
3605 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
3606 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
3607 declarations.
3608 * config.in, configure: Regenerate.
3609
2a2c8203
JC
3610Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
3611
3612 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
3613 LO_SUM.
3614 (record_set): Handle LO_SUM like PLUS.
3615 (init_alias_analysis): When following chains of base addresses,
3616 do not stop on reaching a hard register.
3617
d80357b7
JL
3618Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
3619
3620 * version.c: Bump for new snapshot.
3621
b4f32d7b
JW
3622Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
3623
3624 * alpha.h (ARCH_ASM_FILE_START): Define.
3625 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
3626 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
3627
ca363bb6
JL
3628Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
3629
3630 * Makefile.in (install-common): Put gcov comment at start of line.
3631
7557aa98
JL
3632Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
3633
3634 * alias.c (init_alias_analysis): When simplifying the reg_base_value
3635 array, simplify entries for hard registers too.
3636
c34e3ae4
DL
3637Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
3638
3639 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
3640 list.
3641
e3eef942
JW
3642Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
3643
3644 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
3645 block_stack before dereferencing it.
3646
3647Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
246853b9
MM
3648
3649 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
3650
04f41951
JM
3651Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
3652
3653 * cplus-dem.c: Add 'extern' to prepends_underscore.
3654
e933cbe0
JL
3655Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
3656
62d65906
JL
3657 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
3658 (get_issue_rate): Delete.
3659 * pa.h (ISSUE_RATE): Define.
3660
2da05a5b
JL
3661 * configure.in: Turn on haifa by default for the PA.
3662 * configure: Rebuilt.
3663 * pa.c (override_options): Accept -mschedule=7200 option.
3664 (pa_adjust_cost): No longer need to scale costs for newer
3665 processors.
3666 * pa.h (enum processor_type): Add PROCESSOR_7200.
3667 * pa.md: Revamp scheduling parameters to work better with
3668 haifa. Add scheduling parameters for the 7200.
3669
4f64eaca
JL
3670 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
3671 insns too.
3672 (schedule_block): When adjusting basic_block_{head,end}, account
3673 for movement of SCHED_GROUP_P insns too.
3674
3675 * haifa-sched.c (debug_dependencies): Fix thinko.
3676
e933cbe0
JL
3677 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
3678 (site.exp, check, check-g++, check-gcc): New targets.
3679
4f64eaca 3680 * haifa-sched.c: Make lots of variables static.
61822835 3681
e9576d2c
L
3682Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3683
3684 * expr.h, real.h: Finish prototyping.
3685
61822835
JL
3686Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
3687
3688 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
3689 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
3690 * reload1.c: Undo bugfix from Aug 11.
3691
f24b370a
MM
3692Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
3693
3694 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
3695 quotes around the name.
3696 * configure: Regenerate.
3697
1c4c5851
JW
3698Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
3699
3700 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
3701
71abb567
MH
3702Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
3703
3704 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
3705 to sub-makes to avoid building more passes than the user might have
3706 requested on the command line.
3707
6042434a
DL
3708Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
3709
3710 * configure.in: Expurgate `broken_install' (install is
3711 autoconfed).
3712
3713 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
3714 relevant).
3715
38ea060f
JL
3716Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
3717
3718 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
3719 functions and declarations.
3720 (analyze_loop_iterations): Use condjump_p.
3721 (insert_bct): Likewise. Use exact_log2.
3722
f187056f
JL
3723Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
3724
3725 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
3726 (schedule_region): Likewise.
3727 (schedule_insns): Likewise.
3728
3729 * PROJECTS: Update with Haifa stuff.
3730
9af06254
JL
3731Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
3732
3733 * version.c: Change the version string to look like:
11c21791 3734 egcs-2.90.00 970814 (gcc2-970802 experimental).
9af06254 3735
0945e937
JL
3736 * loop.c (is_conditional_branch): Make definition match declaration.
3737
9af06254
JL
3738 * gcc.c: Take out experimental snapshot warning message.
3739
ebc25a17
MM
3740Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
3741
3742 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
3743 print out the names of the notes. Print out the name of the insn
3744 that is not a note, and not an {,CALL_,JUMP_}INSN.
3745
610ce97e
JM
3746Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
3747
3748 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
3749 again for the slot after we give it RTL.
3750
992d1248
DE
3751Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
3752
3753 * configure.in (haifa configury): Fix typo.
3754 * configure: Regenerate.
3755
7bb6fbd1
JL
3756Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
3757
3758 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
3759
3760 * gcc.info*: Rebuilt.
3761
3762 * COPYING.g77, README.g77: New files.
3763 * real.c (ereal_unto_float, ereal_unto_double): New functions.
3764 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
3765 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
3766
8c660648
JL
3767Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
3768
3769 * Integrate Haifa instruction scheduler.
3770 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
3771 to sched with $(SCHED_CFLAGS.
3772 * configure.in: Handle --enable-haifa.
3773 * configure: Rebuilt.
3774 * flags.h: Add new flags for haifa instruction scheduler.
3775 * genattrtab.c (expand_units): For haifa, don't subtract one
3776 when computing blockage.
3777 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
3778 (flag_schedule_speculative): Ditto.
3779 (flag_schedule_speculative_load): Ditto.
3780 (flag_schedule_speculative_load_dangerous): Ditto.
3781 (flag_schedule_reverse_before_reload): Ditto.
3782 (flag_schedule_reverse_after_reload): Ditto.
3783 (flag_branch_on_count_reg): Ditto.
3784 (f_options): Add Haifa switches.
3785 (main): Turn off some Haifa options if appropriate macro is
3786 defined. Process Haifa switches.
3787 * unroll.c (iteration_info): No longer static, since Haifa
3788 scheduler uses it.
3789 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
3790 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
3791 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
3792 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
3793 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
3794 storage for the Haifa scheduler.
3795 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
3796 LABEL_NEXTREF.
3797 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
3798 are defined, call analyze_loop_iterations and insert_bct to use
3799 countdown loops.
3800 (record_giv): Refine test for jumps out of loops if HAIFA is
3801 defined.
3802 (analyze_loop_iterations): New function to identify if we can use
3803 a countdown loop.
3804 (insert_bct): Insert countdown loop.
3805 (instrument_loop_bct): Low level code to insert countdown loop.
3806 (loop_number): Calculate UID of loop.
3807 (indirect_jump_in_function_p): Return true if an indirect jump is
3808 in the function.
3809 (is_power_of_2): Return true if value is a power of 2.
3810 (is_conditional_branch): Return true if insn is a conditional
3811 jump.
3812 (fix_bct_param): Process -fbct-{min,max}-N switches.
3813 (check_bct_param): Return true if loop should be instrumented.
3814 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
3815 (loop_optimize): Initialize.
3816 (get_condition_for_loop): Ditto.
3817 * loop.c (strength_reduce): Inside of code that uses #ifdef
3818 HAVE_decrement_and_branch_on_count code, test it to make sure the
3819 condition is true.
3820 (instrument_loop_bct): Ditto.
3821 * haifa-sched.c: New file.
3822
3823
3824 * Integrate regmove pass.
3825 * Makefile.in (OBJS): Add regmove.o
3826 (regmove.o): Add dependencies.
3827 * flow.c (find_use_as_address): No longer static.
3828 * rtl.h (find_use_as_address): Declare.
3829 * toplev.c (regmove_dump, flag_regmove): Define.
3830 (f_options): Add -fregmove.
3831 (regmove_dump_file, regmove_time): Define.
3832 (fatal_insn): Close the regmove dump file.
3833 (compile_file): Initialize regmove_time; open/close the regmove dump
3834 file as needed. Print regmove time as needed.
3835 (rest_of_compilation): Run regmove pass if requested, dump
3836 RTL after regmove if requested.
3837 (main): If -O2 or more, turn on regmove. Handle dump switches.
3838 * regmove.c: New file.
3839
aa32d841
JL
3840Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
3841
3842 * Integrate tlink patch from jason@cygnus.com
3843 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
3844 (process_command): Increment n_switches for them. Don't discard
3845 their args. Validate them.
3846 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
3847 From Rohan Lenard.
3848 (process_command): Set include_prefixes from COMPILER_PATH.
3849 (main): Set COLLECT_GCC_OPTIONS sooner.
3850 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
3851 * tlink.c, hash.c, hash.h: New files.
3852 * Makefile.in (USE_COLLECT2): Always use collect2.
3853 (collect2): Depend on and link in hash.o and tlink.o.
3854 (tlink.o, hash.o): Add dependencies.
3855
5fa39bfe
JL
3856Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
3857
9ae8ffe7
JL
3858 * Integrate alias analysis changes from jfc@mit.edu
3859 * Makefile.in (OBJS): Add alias.o
3860 (alias.o): Add dependencies.
3861 * alias.c: New file.
3862 * sched.c: Remove alias analysis code. It lives in alias.c now.
9ae8ffe7 3863 (sched_analyze_2): Add new arguments to true_dependence.
9ae8ffe7
JL
3864 (schedule_insns): Always call init_alias_analysis.
3865 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
3866 mark return value from such functions as a pointer and keep track of
3867 them for alias analysis. If a return value from a function is a
3868 pointer, mark it as such.
3869 * combine.c (distribute_notes): Handle REG_NOALIAS.
3870 * cse.c (struct write_data): Delete. No longer needed.
3871 (invalidate): Don't call set_nonvarying_address_components anymore.
3872 Use true_dependence to decide if an entry should be removed from
3873 the hash table.
3874 (invalidate_memory): Remove WRITES argument, simplify appropriately.
3875 Fix all callers.
3876 (note_mem_written): Similarly for WRITE_PTR argument.
3877 (invalidate_from_clobbers): Similarly for W argument.
3878 (invalidate_for_call): Remove memory elements from the hash table.
3879 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
3880 (cse_rtx_varies_p): New function. Derived from old
3881 cse_rtx_addr_varies_p.
3882 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
3883 Don't call note_mem_written anymore. Stack pushes invalidate the stack
3884 pointer if PUSH_ROUNDING is defined. No longer need to call
3885 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
3886 (skipped_writes_memory): Remove variable.
3887 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
3888 (invalidate_skipped_block): Simplify for new alias analysis code.
3889 (cse_set_around_loop): Likewise.
3890 (cse_main): Call init_alias_analysis.
3891 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
3892 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
3893 (f_options): Add new alias checking arguments.
3894 (main): Set flag_alias_check when optimizing.
3895 * local_alloc (validate_equiv_mem_from_store): Add new arguments
3896 to true_dependence.
3897 (memref_referenced_p): Likewise.
3898 * loop.c (NUM_STORES): Increase to 30.
3899 (prescan_loop): Only non-constant calls set unknown_address_altered.
3900 (invariant_p): Add new arguments to true_dependence.
3901 (record_giv): Initialize unrolled and shared fields.
3902 (emit_iv_add_mult): Call record_base_value as needed.
3903 * loop.h (struct induction): Add unrolled and shared fields.
3904 * unroll.c (unroll_loop): Call record_base_value as needed.
3905 (copy_loop_body): Likewise.
3906 (final_biv_value): Likewise.
3907 (final_giv_value): Likewise.
3908 (find_splittable_regs): Likewise. Only create one new pseudo
3909 if we have multiple address GIVs that were combined with the same
3910 dst_reg GIV. Note when a new register is created due to unrolling.
3911 * rtl.c (reg_note_name): Add REG_NOALIAS.
3912 * rtl.h (enum reg_note): Similarly.
3913 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
3914 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
3915 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
3916 (true_dependence, read_dependence, anti_dependence): Likewise.
3917 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
3918 (mark_user_reg, mark_reg_pointer): Likewise.
3919
3920
3921 * Integrate reload bugfix from Wilon which enables the PA port
5fa39bfe
JL
3922 to bootstrap again.
3923 * reload1.c (reload): Sum needs for both OPADDR_ADDR and and
3924 OPERAND_ADDRESS when computing how many registers an insn needs.
3925 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
3926 conflict.
3927 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
3928 OPADDR_ADDR reload.
3929 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
3930 in reload_reg_use_in_op_addr do not reach the end.
3931 do not reach the end.
3932 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
3933 RELOAD_FOR_OPERAND_ADDRESS.
3934
3935Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
3936
2dcfcb56 3937 * egcs project officially starts.
861bb6c1 3938
This page took 0.511791 seconds and 5 git commands to generate.