]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
[gcc.git] / gcc / ChangeLog
1 Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
2
3 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
4
5 * calls.c (expand_call): Remove unused variables funtree,
6 n_regs, and tmpmode.
7
8 * dbxout.c, except.c: Include <string.h>/<strings.h>.
9
10 * explow.c: (plus_constant_for_output_wide) Removed unused
11 variable all_constant.
12
13 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
14 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
15 genrecog.c, global.c, integrate.c , stupid.c : Include
16 <stdlib.h>.
17
18 * genextract.c: (walk_rtx) Remove unused variable link.
19
20 * genrecog.c: (concat) Remove unreferenced static function.
21
22 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
23
24 * stmt.c: Include <stdlib.h>.
25 (expand_asm_operands): Remove unused variable val1.
26 (expand_return): Remove unused variable block.
27 (pushcase): Remove unused variables l and n.
28 (pushcaserange): Likewise.
29
30 * unroll.c (unroll_loop): Remove unused variable temp.
31
32 Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
33
34 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
35
36 Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
37
38 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
39 functions for whether they support the %p format specifier.
40 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
41 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
42 * configure, config.in: Rebuild.
43
44 Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
45
46 * function.c (assign_parms): New variable named_arg, with value
47 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
48
49 Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
50
51 * mips/t-r3900: New - same as t-ecoff but eliminate
52 multilibs: mips1 and mips3.
53 * configure.in (tx39*): Use new mips/t-r3900.
54 * configure: Rebuild.
55 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
56
57 1998-02-06 Jason Merrill <jason@yorick.cygnus.com>
58
59 * dwarf2out.c: Add old_args_size.
60 (dwarf2out_args_size): Use it.
61 (dwarf2out_begin_prologue): Initialize it.
62 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
63 pushed args until we see a call.
64 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
65 before outputting them.
66
67 1998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
68
69 * cplus-dem.c (demangle_template_template_parm): New function.
70 (demangle_template): Handle template template parameters.
71
72 1998-02-02 Mark Mitchell <mmitchell@usa.net>
73
74 * calls.c (expand_call): Don't confuse member functions named
75 realloc, setjmp, and so forth with the standard library
76 functions of the same names.
77
78 Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
79
80 * stmt.c (expand_asm_operands): Correctly identify asm statements
81 no output operands.
82
83 Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
84
85 * c-common.c (decl_attributes): Flag unrecognized attribute
86 functions as warnings instead of as errors.
87
88 1998-02-05 Marc Lehmann <pcg@goof.com>
89
90 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
91 when -Os is specified.
92 * toplev.c (main): Don't disable flag_inline_functions anymore when
93 -Os is in effect.
94
95 Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
96
97 * regmove.c: Update.
98 * flags.h (flag_regmove): Declare.
99 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
100 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
101 Moved into regmove; changed caller.
102 * toplev.c (rest_of_compilation): Call regmove_optimize also for
103 expensive_optimizations.
104
105 Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
106
107 * version.c: Bump for snapshot.
108
109 Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
110 Undo this change (the problem was actually in reload):
111 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
112
113 * sh.md (movqi_i+1): New peephole.
114
115 Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
116
117 * jump.c (jump_optimize): Lose calls to modified_in_p they are
118 not needed anymore due to changes elsewhere in jump.c.
119
120 * jump.c (jump_optimize): Fix first arg to modified_in_p in
121 previous change.
122
123 Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
124
125 * expr.c (expand_builtin_setjmp): Accept two new arguments for
126 the labels to branch to on first and subsequent executions. Don't
127 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
128 and provide it with the jmp_buf. Use only one of
129 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
130 and provide the former with the target label.
131 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
132 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
133 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
134 insn to replace all of the normal nonlocal_goto code. Don't play
135 with __dummy. Correct arguments to nonlocal_goto.
136 * expr.h (expand_builtin_setjmp): Update prototype.
137 * except.c (start_dynamic_handler): When using builtin_setjmp,
138 generate more accurate flow information.
139
140 * alpha.md (nonlocal_goto_receiver_osf): Delete.
141 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
142 (builtin_longjmp, builtin_setjmp_receiver): New.
143 * sparc.md (update_return): Disambiguate unspec number.
144 (nonlocal_goto): Rearrange arguments to match caller in except.c.
145 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
146 jmp_buf operand.
147 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
148 (builtin_setjmp_setup*, builtin_longjmp): New.
149
150 Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
151
152 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
153
154 Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
155
156 * vmsconfig.com: Remove bytecode references.
157
158 1998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
159
160 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
161 -fno-sjlj-exceptions works for a target that defines
162 DWARF2_UNWIND_INFO as zero.
163
164 * regmove.c (fixup_match_1): Undo last change which removed some
165 "useless" code, and add a comment explaining this.
166
167 Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
168
169 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
170 to TARGET_LONG64.
171
172 Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
173
174 * makefile.vms: Remove bytecode references.
175 Create genrtl files.
176
177 Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
178
179 * jump.c (jump_optimize): Allow conditional loading of floating point
180 constants and constants from memory. Reinstalled modified_in_p tests.
181
182 Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
183
184 * loop.c (get_condition): Handle sign-extended constants.
185
186 Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
187
188 * expr.c (emit_push_insn): Add code to use movstrti if present.
189
190 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
191 and movstrqi as in emit_block_move ().
192
193 Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
194
195 * config/m68k/x-next: Remove /NextDeveloper/Headers from
196 the directories to fixinclude - /usr/include is a link
197 to it and hence its contents are fixed by default.
198
199 Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
200
201 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
202
203 Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
204
205 * cccp.c (main): Predefine __VMS_VER on VMS.
206
207 Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
208
209 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
210 * fold-const.c (size_int): Replace with
211 (size_int_wide).
212 (make_bit_field_ref): Use bitsize_int for bit position.
213 * stor-layout.c (sizetype): Delete.
214 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
215 (layout_record, layout_union, layout_type):
216 Use bitsize_int for bit size.
217 (set_sizetype): New function.
218 (make_signed_type, make_unsigned_type): Use it.
219 * c-decl.c (init_decl_processing): Likewise.
220 * tree.h (size_int): Don't delcare, #define.
221 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
222 (set_sizetype): Declare.
223 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
224 Define.
225 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
226 Convert result to sizetype.
227 (really_start_incremental_init, push_init_level):
228 Set type of constructor_bit_index to sbitsizetype.
229 (push_init_level): Use unsigned arithmetic to determine padding.
230 (output_init_element): Likewise.
231
232 Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
233
234 * combine.c (simplify_shift_const): Fix typo in last change.
235
236 Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
237
238 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
239 is (truncate (lshiftrt)).
240
241 Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
242
243 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
244 Make sure result winds up in TGT.
245 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
246 src to be other than DImode.
247 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
248 (alpha_expand_unaligned_store_words): Likewise.
249 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
250 that source and destination are separately optimized for alignment.
251 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
252
253 Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
254
255 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
256 with handling of -32768.
257
258 Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
259
260 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
261 shell variable argument instead of only hard coded functions.
262 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
263
264 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
265 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
266 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
267 declarations for bcopy, bcmp and bzero.
268
269 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
270
271 * gansidecl.h: If we have bcopy but don't declare it, then do so.
272 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
273 bzero, index and rindex if they aren't already present.
274
275 Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
276
277 * toplev.c (close_dump_file): Wrap function prototype for
278 argument "func" in PROTO.
279 (dump_rtl): Likewise.
280
281 Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
282
283 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
284 MASK_V8PLUS.
285 (output_function_epilogue): Omit epilogue if nothing drops through.
286 (output_move_double): Supress int ldd usage on ultrasparc and v9.
287 (registers_ok_for_ldd_peep): Likewise.
288 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
289 (ultrasparc_adjust_cost): New function.
290 (sparc_issue_rate): New function.
291 * sparc.h (MASK_VIS, TARGET_VIS): New
292 (MASK_V8PLUS, TARGET_V8PLUS): New.
293 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
294 (TARGET_SWITCHES): Add vis and v8plus.
295 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
296 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
297 (RTX_COSTS): Use TARGET_HARD_MUL
298 (ADJUST_COST): Call ultrasparc_adjust_cost.
299 (ISSUE_RATE): New.
300 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
301 of load & fp appropritely.
302 (supersparc function units): Adjust for Haifa.
303 (ultrasparc function units): Likewise.
304 (get_pc_via_rdpc): All v9, not just arch64.
305 (movdi_v8plus, movdi_v8plus+1): New.
306 (adddi3_sp32+1): New.
307 (subdi3_sp32+1): New.
308 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
309 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
310 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
311 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
312 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
313 (ldd peepholes): Suppress for v9.
314 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
315 (return_subsi): Revmove.
316
317 Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
318
319 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
320 save/restore MEM rtl.
321
322 Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
323
324 * configure.in: Check for declaration of abort.
325 * acconfig.h: Corresponding changes.
326 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
327 be declared.
328
329 Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
330
331 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
332 uses it.
333
334 Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
335
336 * version.c: Bump for snapshot.
337
338 Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
339
340 * configure.in: Check for atoq and atoll.
341 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
342 proper routine for converting ascii into long long values.
343
344 Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
345
346 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
347
348 * vmsconfig.com: Remove bytecode references.
349
350 * alpha/vms.h (PREFIX): Define.
351
352 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
353
354 * am-alpha.h: Don't include alloca for OPEN_VMS.
355
356 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
357
358 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
359 (GCC_INCLUDE_DIR): Define
360
361 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
362 * makefile.vms: New file.
363
364 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
365
366 * alpha.c (output_prolog): Output '.name' directive
367 for minimal traceback information.
368
369 * alpha.c (output_prolog): Don't prepend entry point symbols
370 with '$' on OPEN_VMS.
371
372 Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
373 Jeffrey A Law (law@cygnus.com)
374
375 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
376 HOST_WIDE_INT.
377
378 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
379 as needed.
380 * genemit.c (gen_exp): Likewise.
381 * genpeep.c (match_rtx): Likewise.
382 * genrecog.c (write_tree_1): Likewise.
383
384 * c-lex.c (yyprint): Use proper format string based upon
385 disposition of HOST_BITS_PER_WIDE_INT.
386 (yylex): Put casts in right place for args to build_int_2.
387
388 Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
389
390 * combine.c: Fix typos in Jan27 changes.
391
392 Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
393
394 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
395 (LINK_SPEC): Likewise.
396 (STARTFILE_SPEC): Likewise.
397
398 1998-01-28 Mike Stump <mrs@wrs.com>
399
400 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
401 reload completes.
402 * genattrtab.c (reload_completed): Define.
403
404 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
405 comments.
406
407 Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
408
409 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
410 SUBREG_REG if the word count is unchanged, also in the input reload
411 case. Disable non-applicable sanity checks.
412
413 Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
414
415 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
416
417 Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
418
419 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
420
421 Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
422
423 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
424 is a TREE_VEC before trying to use it for baseclasses.
425 (Chill uses the same field for a different purpose.)
426
427 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
428
429 Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
430
431 * config.sub: More accurate determination of HP processor types.
432
433 Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
434
435 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
436 prototype for `handle_sysv_pragma', and make it static. Add
437 parentheses around assignment used as truth value.
438
439 * combine.c (combine_instructions): Protect variable `prev' with
440 macro HAVE_cc0.
441 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
442 (extract_left_shift): Add parentheses around operand of &.
443 (merge_outer_ops): Avoid an empty body in an else-statement.
444 (gen_rtx_combine): Remove unused variable `i'.
445
446 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
447 function monstartup `void'. Likewise for internal_mcount. Add
448 `static void' prototype for moncontrol. Reconcile sprintf format
449 vs. args.
450
451 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
452 Make return type of function_arg_slotno explicitly `int'.
453 (reg_unused_after): Add parentheses around assignment used as
454 truth value.
455 (save_regs): Add explicit braces to avoid ambiguous `else'.
456 (function_arg_slotno): Add parentheses around && within ||.
457 (function_arg_pass_by_reference): Likewise.
458 (sparc_flat_output_function_prologue): Reconcile fprintf format
459 vs. args.
460
461 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
462 assignment used as truth value.
463
464 * cplus-dem.c: Include <stdlib.h>.
465 (demangle_signature): Avoid an empty body in an else-statement.
466 (do_type): Remove unused variable `lvl'.
467
468 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
469 Include <string.h>/<strings.h>.
470 (cpp_lex): Remove unused variable `namelen'.
471 (cpp_lex): Explicitly declare `num_chars' as an int.
472
473 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
474 <unistd.h> instead. Explicitly declare is_system_include
475 returning int.
476 (make_assertion): Remove unused variable `kt'.
477 (cpp_expand_to_buffer): Hide variable `obuf'.
478 (output_line_command): Remove unused variables, `line_end',
479 `line_cmd_buf' and `len'.
480 (macarg): Remove unused variable `arg_start'.
481 (special_symbol): Remove unused variable `i'. Add parentheses
482 around assignment used as truth value.
483 (do_include): Remove unused variables `pcfname' and `retried',
484 hide `pcf' and `pcfbuflimit'.
485 (do_line): Remove unused variable `i'.
486 (finclude): Hide variable `missing_newline'.
487 (cpp_handle_options): Remove unused variable `j'.
488 (read_token_list): Remove unused variable `eofp'.
489 (cpp_error_with_line): Remove unused variable `i'.
490 (cpp_warning_with_line): Likewise.
491 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
492 (cpp_error_from_errno): Remove unused variable `i'.
493
494 * cse.c (invalidate): Add parentheses around assignment used as
495 truth value.
496 (find_best_addr): Move declaration of variable `our_cost' inside
497 the conditional macro where its used.
498 (fold_rtx): Avoid an empty body in an if-statement.
499 (cse_insn): Wrap variables `this_insn_cc0_mode' and
500 `this_insn_cc0' in macro HAVE_cc0.
501
502 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
503 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
504 (output_uleb128): Likewise.
505 (output_sleb128): Likewise.
506 (output_cfi): Likewise.
507 (output_call_frame_info): Remove unused variables `j', `fde_size'
508 and `fde_pad'.
509 (comp_unit_has_inlines): Hide declaration as per rest of file.
510 (size_of_line_prolog): Correct typo in prototype.
511 (add_arange): Likewise.
512 (output_aranges): Likewise.
513 (add_name_and_src_coords_attributes): Likewise.
514 (gen_array_type_die): Likewise.
515 (gen_inlined_subroutine_die): Likewise.
516 (equate_decl_number_to_die): Remove unused variable `i'.
517 (print_die): Reconcile format vs. args in fprintf's.
518 (print_dwarf_line_table): Likewise.
519 (output_die): Likewise.
520 (output_line_info): Likewise.
521 (add_subscript_info): Avoid an empty body in an else-statement.
522 (gen_subprogram_die): Remove unused variable `fp_loc'.
523
524 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
525 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
526 macro. Protect `src_coords_attribute' prototype with
527 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
528 prototype as in the rest of the file. Likewise for
529 `output_pointer_type_die' and `output_reference_type_die'. Remove
530 prototype for `type_of_for_scope'.
531 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
532 (type_attribute): Add explicit braces to avoid ambiguous `else'.
533
534 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
535 (shorten_branches): Protect declaration of tmp_length with
536 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
537 (profile_function): Protect declaration of `sval' and `cxt'
538 variables with appropriate macros.
539 (final_scan_insn): Likewise for `note' variable. Add explicit
540 braces to avoid empty body in an if-statement.
541 (output_asm_insn): Move variable `i' inside macro conditional
542 where it is used. Add parentheses around assignment used as truth
543 value.
544 (asm_fprintf) Likewise, likewise.
545
546 * fix-header.c (main): Remove unused variable `done'. Protect
547 declaration of `i' with FIXPROTO_IGNORE_LIST.
548
549 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
550
551 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
552 `ind'.
553
554 * profile.c: Include <string.h>/<strings.h>.
555 (instrument_arcs): Remove unused variables `note', `inverted',
556 `zero' and `neg_one'.
557 (branch_prob): Avoid empty body in an if-statement.
558
559 * regclass.c: Include <stdlib.h>.
560 (reg_alternate_class): Explicitly declare parameter `regno'.
561
562 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
563 parentheses around assignment used as truth value.
564 (find_matches): Remove unused variables `output_operand' and
565 `matching_operand'.
566 (fixup_match_1): Remove statement with no effect: "if (0) ;".
567
568 * scan.c (sstring_append): Explicitly declare `count' as int.
569 (scan_string): Explicitly declare parameter `init' as int.
570
571 * sched.c: Include <stdlib.h>.
572 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
573 (rank_for_schedule): Add parentheses around assignment used as
574 truth value.
575 (schedule_block): Likewise.
576 (regno_use_in): Likewise.
577 (schedule_insns): Remove unused variable `i'.
578
579 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
580 (v_message_with_decl): Remove unused variable `n'.
581 (botch): Explicitly declare parameter `s' as char *.
582 (main): Add parentheses around assignment used as truth value.
583
584 * tree.c (make_node): Protect the variable `kind' with the
585 GATHER_STATISTICS macro.
586 (real_value_from_int_cst): Move variable `e' inside conditional
587 macro area where it is used.
588 (tree_last): Add parentheses around assignment used as truth value.
589 (build1): Protect the variable `kind' with the GATHER_STATISTICS
590 macro.
591 (print_obstack_statistics): Reconcile format vs. args in fprintf.
592 Protect variables `i', `total_nodes', and `total_bytes' with the
593 GATHER_STATISTICS macro.
594
595 Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
596
597 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
598 some comments regarding use of dead_or_set_p.
599
600 Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
601
602 * fixincludes: Tweak fix for struct exception in math.h
603
604 Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
605
606 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
607 Change mode of registers used to add/sub from
608 hard_frame_pointer_rtx from word_mode to Pmode.
609
610 Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
611
612 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
613 asm_output_aligned_bss() instead of asm_output_bss().
614
615 * toplev.c (rest_of_compilation): Replace references to
616 stack_reg_dump_file and dbr_sched_dump_file with references to
617 rtl_dump_file.
618
619 Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
620
621 * tlink.c (scan_linker_output): Call fclose() for opened files.
622
623 Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
624
625 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
626 compiling with -fpic -- we want to be able to override symbols
627 properly.
628 (alpha_expand_block_move): Fix thinko in last change.
629
630 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
631 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
632 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
633
634 Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
635
636 * alpha.md (abssf, absdf): Revert last change.
637
638 Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
639
640 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
641 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
642
643 Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
644
645 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
646 a CONST_INT into SFmode.
647
648 Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
649
650 * flags.h: New flag (optimize_size).
651 * toplev.c (main): Parse -Os option and set optimize_space
652 accordingly.
653 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
654 __OPTIMIZE_SIZE__ when compiling with -Os.
655 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
656 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
657 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
658 to macro.
659 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
660
661 Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
662
663 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
664 stuff only if MCT_TEXT is #define'd.
665
666 Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
667
668 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
669 configurations.
670
671 Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
672
673 * toplev.c: Add -dM command line option to dump RTL after the
674 machine dependent reorganisation pass, if there is one.
675 Reorganise RTL dump code, so that only one file handle is
676 needed.
677
678 Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
679
680 * except.c (check_exception_handler_labels): Disable warning when
681 flag_syntax_only.
682
683 Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
684
685 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
686
687 Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
688
689 * c-decl.c (grokdeclarator): Get parameter tags from
690 last_function_parm_tags.
691 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
692 traversing the parameter types.
693 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
694
695 Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
696
697 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
698 the default case.
699 (get_shift_alg): Fix typo.
700
701 Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
702
703 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
704
705 Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
706
707 * toplev.c (get_run_time): Make sure each case gets its variables.
708
709 Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
710
711 * configure.in (build_xm_file): Add auto-config.h if host=build.
712 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
713 (build_xm_file_list): Likewise.
714 * configure: Rebuild.
715
716 Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
717
718 * recog.c (validate_replace_rtx_1): Only perform substitutions
719 of arguments to commutative and comparison operators once.
720
721 Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
722
723 * sparc.c (output_cbranch): Add default case in
724 enumeration switch.
725
726 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
727 (emit_delay_sequence): Eliminate unused parameter, all callers
728 changed.
729 (fill_simple_delay_slots): Likewise.
730 (fill_slots_from_thread): Likewise.
731 (fill_eager_delay_slots): Likewise.
732 (mark_referenced_resources): Add default case in enumeration switch.
733 (mark_set_resources): Likewise.
734 (rare_destination): Likewise.
735 (mostly_true_jump): Likewise.
736 (find_dead_or_set_registers): Likewise.
737 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
738 (update_reg_unused_notes): Remove unused variable `p'.
739 (mark_target_live_regs): Remove unused variables `next' and
740 `jump_count'.
741 (fill_simple_delay_slots): Remove unused variable `j'.
742 (fill_slots_from_thread): Add parentheses around assignment used
743 as truth value.
744 (dbr_schedule): Likewise.
745
746 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
747 (objc.stage2, objc.stage3, objc.stage4): Likewise.
748
749 Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
750
751 * cse.c (simplify_ternary_operation): Don't try to simplify
752 IF_THEN_ELSE expressions (created by combine) that don't use
753 relational operators.
754
755 Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
756
757 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
758 simplifications.
759
760 * crtstuff.c (init_dummy): Keep the epilogue in the init
761 section for non-ELF systems.
762
763 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
764
765 * sh.md (movqi_i+1): New peephole.
766
767 Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
768
769 * Makefile.in: Remove remaining bytecode stuff.
770 * emit-rtl.c, expr.c: Likewise.
771
772 Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
773
774 * toplev.c (lang_options): Add unknown-pragma options.
775
776 Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
777
778 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
779 special (and incomplete) handling for Chill arrays.
780
781 Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
782
783 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
784 to get clock rate.
785
786 Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
787
788 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
789
790 1998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
791
792 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
793 .frame directive instead of FRAME_POINTER_REGNUM.
794
795 Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
796
797 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
798 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
799 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
800 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
801 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
802 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
803 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
804 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
805 mcpu32 or m5200.
806 * longlong.h: Replace __mc68332__ with __mcpu32__.
807
808 Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
809
810 * version.c: Bump for snapshot.
811
812 Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
813
814 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
815 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
816 * reload1.c (eliminate_regs): Likewise.
817
818 Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
819
820 * regmove.c (find_matches): Initialize matches->earlyclobber too.
821
822 Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
823
824 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
825 (negsf2, negdf2): Use proper subtract in IEEE mode.
826
827 Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
828
829 * Makefile.in: Remove more bytecode stuff.
830 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
831 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
832 * f/install.texi, objc/Make-lang.in: Likewise.
833
834 * Makefile.in: Remove all bytecode support.
835 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
836 * emit-rtl.c: Remove all bytecode support.
837 * expr.c, expr.h function.c, integrate.c: Likewise.
838 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
839 * tree.h, varasm.c: Likewise.
840 * config/m68k/m68k.h: Likewise.
841 * bi-*, bc-*, bytecode*: Delete bytecode related files.
842 * modemap.def: Likewise.
843
844 Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
845
846 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
847 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
848
849 Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
850
851 * i386.md (push): Prohibit symbolic constants if flag_pic.
852 (movsi+1): Likewise for move to non-register.
853
854 Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
855
856 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
857 (print_operand): Handle 0xffffffff on 32 bit host.
858
859 * configure.in (thread_file): Rename uses before main loop to
860 target_thread_file. Initialize to empty in main loop. Set thread_file
861 to target_thread_file after main loop if not set.
862 * configure: Rebuild.
863
864 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
865 (add_values_to_cover): Revert last change (which had no ChangeLog
866 entry).
867 (simplify_with_current_value_aux): Handle CONST_INT.
868
869 Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
870
871 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
872
873 Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
874
875 * configure.in: Add cpp stringify test.
876 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
877 * gengenrtl.c: Use it.
878 * configure, config.in: Rebuild.
879
880 Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
881
882 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
883
884 Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
885
886 * configure.in: Find declaration for sbrk.
887 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
888 * config.in, configure: Rebuild.
889 * mips-tfile.c: Properly protect declaration of sbrk and free.
890 * toplev.c: Properly protect declaration of sbrk.
891
892 Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
893
894 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
895
896 Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
897
898 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
899
900 Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
901
902 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
903
904 Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
905
906 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
907 constant offset computations from objects with known alignment in
908 the presence of STACK_BIAS.
909
910 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
911 necessary.
912 (const_hash): Hash val is unsigned long.
913 (SYMHASH): Likewise.
914
915 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
916
917 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
918 char pointer, not HOST_WIDE_INT.
919 (print_node): Likewise. Also hash is unsigned long not
920 HOST_WIDE_INT.
921
922 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
923
924 * explow.c (optimize_save_area_alloca): New function for targets
925 where SETJMP_VIA_SAVE_AREA is true.
926 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
927 compute the amount of stack space needed should we find later that
928 setjmp is never called by this function, stuff rtl for this inside
929 a REG_NOTE of the final SET of stack_pointer_rtx.
930 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
931 current_function_calls_alloca, call optimize_save_area_alloca.
932
933 Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
934
935 * i386.md: Remove redundant integer push patterns.
936 Don't bother checking for TARGET_PUSH_MEMORY when
937 pushing constants or registers.
938
939 Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
940 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
941
942 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
943 (pwait): New function for mingw32.
944
945 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
946 pipe support is broken for now.
947
948 1998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
949
950 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
951 between frame_pointer_rtx, hard_frame_pointer_rtx, and
952 arg_pointer_rtx is respected in initialization.
953 (init_emit_once): Use gen_rtx_raw_REG() to create
954 return_address_pointer_rtx.
955
956 * reorg.c: #include "expr.h" for rtx prototypes.
957 * Makefile.in (reorg.o): Depend on expr.h
958
959 Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
960
961 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
962 local_prefix to sub-make invocations.
963
964 Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
965
966 * objc-parse.c: Recognize protocol qualifiers in class definitions.
967
968 Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
969
970 * rtl.h: Fix typos.
971
972 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
973 * configure.in: Check for atol.
974 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
975
976 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
977
978 * loop.c (find_and_verify_loops): When attempting to move insns from
979 inside the loop outside the loop, create a BARRIER if no suitable
980 one was found.
981
982 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
983 favor of an equivalent change from gcc-2.8.
984
985 * i386/x-sco5 (CC): Remove trailing whitespace.
986
987 Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
988
989 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
990 (accessor_from_format): Likewise.
991 (xmalloc): New function for use when linking with alloca.o.
992
993 Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
994
995 * frame.c (find_fde): Correct FDE's upper bound.
996
997 Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
998
999 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
1000
1001 Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
1002
1003 * calls.c (expand_call): Move #ifdef code out of macro argument
1004 lists.
1005 (emit_library_call, emit_library_call_value): Likewise.
1006
1007 Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
1008
1009 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
1010
1011 Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
1012
1013 * version.c: Bump for snapshot.
1014
1015 Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
1016
1017 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
1018 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
1019 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
1020 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
1021 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
1022 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
1023 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
1024 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
1025 * unroll.c, varasm.c: Likewise.
1026 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
1027
1028 Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
1029
1030 * mips.h: Fix some type-o's from a previous change.
1031
1032 Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
1033
1034 * loop.c (check_dbra_loop): Make sure initial value is a
1035 CONST_INT before trying to normalize it.
1036
1037 Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
1038
1039 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
1040
1041 Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
1042
1043 * cppexp.c: Include gansidecl.h
1044
1045 Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
1046
1047 * svr4.h (LINK_SPEC): Never specify -h.
1048 * ptx4.h (LINK_SPEC): Likewise.
1049 * rs6000/sysv4.h (LINK_SPEC): Likewise.
1050 * sparc/sol2.h (LINK_SPEC): Likewise.
1051
1052 Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
1053
1054 * c-typeck.c (comptypes): Exit early on NULL input.
1055
1056 * haifa-sched.c (schedule_insns): Correctly remove inter-block
1057 dependencies after reload.
1058
1059 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
1060
1061 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
1062
1063 Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
1064
1065 * alpha/vms.h (DIR_SEPARATOR): define
1066
1067 Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
1068
1069 * Makefile.in (stamp-proto): Remove.
1070 (protoize.o, unprotoize.o): Straightforward compile.
1071 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
1072
1073 Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
1074
1075 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
1076 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
1077
1078 Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
1079
1080 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
1081 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
1082 * sparc/netbsd.h, vax/netbsd.h: Likewise.
1083
1084 Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
1085
1086 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
1087
1088 Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
1089
1090 * configure.in (target_cpu_default, target_cpu_default2): Use double
1091 quotes around them when testing their value.
1092 * configure: Rebuilt.
1093
1094 Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
1095
1096 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
1097 to allocate rtx.
1098 (gendef): Call obstack_alloc_rtx.
1099
1100 Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
1101
1102 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
1103 for now.
1104
1105 Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
1106
1107 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
1108 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
1109 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
1110
1111 Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
1112
1113 * mips.md (return_internal): Change mode from SImode to VOIDmode.
1114
1115 Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
1116
1117 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
1118 "-static".
1119
1120 Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
1121
1122 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
1123 suffix from operand 3.
1124
1125 Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1126 Jeffrey A Law (law@cygnus.com)
1127
1128 * regmove.c: New implementation of regmove pass.
1129 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
1130 decls, make them have external linkage. Return a value from
1131 optimize_reg_copy_1.
1132 * reload.h (count_occurrences): Add decl.
1133 * reload1.c (count_occurrences): Delete decl, make it have external
1134 linkage.
1135 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
1136
1137 Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
1138
1139 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
1140 if it is not defined.
1141
1142 Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
1143
1144 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
1145 * emit-rtl.c (gen_rtx): Move special code to ...
1146 (gen_rtx_CONST_INT): New function.
1147 (gen_rtx_REG): New function.
1148 (*): Update all calls to gen_rtx.
1149 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
1150 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
1151 (GEN_INT): Call gen_rtx_CONST_INT.
1152 * gengenrtl.c: New file.
1153
1154 Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
1155
1156 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
1157 (base_alias_check): If no base found for address call canon_rtx and
1158 try again.
1159
1160 Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
1161
1162 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
1163 arguments for mips16.
1164 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
1165 Don't lose if tsize is zero after handling large stack for mips16.
1166 * mips.md (return): For trivial return, return address is in $31.
1167
1168 Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
1169
1170 * mips/mips16.S: Various changes to make it work with -msingle-float
1171 and -EL.
1172
1173 Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
1174 Ian Lance Taylor <ian@cygnus.com>
1175 Jeff Law <law@cygnus.com>
1176
1177 * mips.c, mips.h, mips.md: First cut at merging in mips16
1178 support. Major modifications throughout all three files.
1179
1180 Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
1181
1182 * configure.in: Make gthr-default.h a forwarding header instead of
1183 a symlink.
1184
1185 Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1186
1187 * gcov-io.h: Include sys/types.h to ensure we get size_t.
1188
1189 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
1190
1191 Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
1192 Jeffrey A Law (law@cygnus.com)
1193
1194 * crtstuff.c (__frame_dummy): New function for irix6.
1195 (__do_global_ctors): Call __frame_dummy for irix6.
1196 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
1197
1198 Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
1199
1200 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
1201
1202 Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
1203
1204 * c-decl.c (init_decl_processing): Provide proper fallback symbol
1205 for __builtin_memset.
1206 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
1207 not INTEGER_CST. Assert arg 3 is a constant.
1208
1209 * alpha.c (mode_width_operand): Accept 64-bit modes.
1210 (mode_mask_operand): Likewise.
1211 (print_operand): Likewise for 'M' and 'U' codes.
1212 (alpha_expand_unaligned_load): New function.
1213 (alpha_expand_unaligned_store): Likewise.
1214 (alpha_expand_unaligned_load_words): Likewise.
1215 (alpha_expand_unaligned_store_words): Likewise.
1216 (alpha_expand_block_move): Likewise.
1217 (alpha_expand_block_clear): Likewise.
1218 * alpha.h (MOVE_RATIO): New define.
1219 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
1220 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
1221
1222 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
1223 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
1224
1225 Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
1226
1227 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
1228 * configure: Update.
1229
1230 Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
1231
1232 * emit-rtl.c (operand_subword): Correctly handle extracting a word
1233 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
1234
1235 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
1236 for first argument.
1237
1238 Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
1239
1240 * configure.in: Set and subsitute host_exeext. Use it when creating
1241 the assembler and linker symlinks.
1242 * configure: Rebuild.
1243 * Makefile.in (exeext): Set to @host_exeext@.
1244 (build_exeext): New variable, set to @build_exeext@.
1245 (FLAGS_TO_PASS): Pass down build_exeext.
1246 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
1247 programs.
1248
1249 Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
1250
1251 * mn10200.md (addsi3, subsi3): Fix thinkos.
1252
1253 Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
1254
1255 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
1256 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
1257 unix always, since we want to be able to thunk to functions in a
1258 shared library from an application.
1259
1260 Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
1261
1262 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
1263 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
1264
1265 Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
1266
1267 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
1268 offset's mode is not ptr_mode, convert it.
1269
1270 Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
1271
1272 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
1273 compiling if it was already defined.
1274
1275 Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
1276
1277 * flow.c (find_basic_blocks): Don't create a new basic block
1278 for calls in a LIBCALL block.
1279
1280 Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
1281
1282 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
1283
1284 Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
1285
1286 * cse.c (rtx_cost): Remove conflicting default case.
1287
1288 Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
1289
1290 * configure.in: Move default enabling of Haifa out of for loop.
1291 * configure: Rebuild.
1292
1293 Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
1294
1295 * version.c: Bump for snapshot.
1296
1297 1997-12-25 Teemu Torma <tot@trema.com>
1298
1299 * Makefile.in (GTHREAD_FLAGS): New var.
1300 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
1301 (distclean): Remove gthr-default.h.
1302
1303 * configure.in: Accept dce as a thread package.
1304 Check for thread.h and pthread.h.
1305 Link gthr-default.h to appropriate thread file and set
1306 gthread_flags.
1307 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
1308 include multilib definitions from pa/t-dce-thr.
1309 (sparc-*-solaris2*): Enable threads by default, if thread.h or
1310 pthread.h is found, preferring posix threads over solaris ones.
1311
1312 * config/pa/t-dce-thr: New file.
1313 * config/pa/t-pa: Removed multilibs.
1314 * config/sparc/t-sol2: Ditto.
1315
1316 * gthr.h: New file.
1317 * gthr-single.h: New file.
1318 * gthr-posix.h: New file.
1319 * gthr-solaris.h: New file.
1320 * gthr-dce.h: New file.
1321 * libgcc-thr.h: Removed.
1322 * objc/thr-dce.c: New file copied from thr-decosf1.c.
1323
1324 * frame.c: Include gthr.h instead of libgcc-thr.h.
1325 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
1326 (eh_context_initialize): If __gthread_once fails, use static eh
1327 context.
1328 (eh_context_free): Call __gthread_key_dtor.
1329
1330 Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
1331
1332 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
1333
1334 Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
1335
1336 * cse.c (max_insn_uid): New variable.
1337 (cse_around_loop): Use max_insn_uid.
1338 (cse_main): Set max_insn_uid.
1339
1340 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
1341 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
1342 -mlong64, and -mgp{32,64} options.
1343 * mips.c (mips_abi): Change type to int.
1344 * mips.h (enum mips_abi_type): Delete.
1345 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
1346 (mips_abi): Change type to int.
1347
1348 Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
1349
1350 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
1351 optimization is now always enabled.
1352
1353 * calls.c (expand_call): Recognize C++ operator new as malloc-like
1354 function.
1355
1356 * alias.c (memrefs_conflict_p): Eliminate tests now done by
1357 base_alias_check.
1358 (*_dependence): Call canon_rtx before base_alias_check.
1359 (init_alias_once): New function to precompute set of registers which
1360 can hold Pmode function arguments.
1361
1362 * rtl.h: Declare init_alias_once.
1363
1364 * toplev.c (compile_file): Call init_alias_once.
1365
1366 Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
1367
1368 * tree.c (restore_tree_status): Do not dereference a null pointer.
1369
1370 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
1371
1372 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
1373 RLIMIT_STACK. This maintains consistency with the recent, similar
1374 patch to cccp.c and toplev.c.
1375
1376 Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
1377
1378 * genattrtab.c (expand_units): For large nr opclasses, expand
1379 function_units_used with ORX to prevent blowups. Tag with FFS.
1380 (num_unit_opclasses): New variable.
1381 (gen_unit): Update it.
1382 (enum operator): Add ORX_OP.
1383 (operate_exp): Treat ORX as or, except don't expand across an if.
1384 Reuse number rtx's after operating on them.
1385 (check_attr_value): Accept IOR, AND, & FFS.
1386 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
1387 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
1388 (write_expr_attr_cache, write_toplevel_expr): New functions.
1389 (write_attr_get): Handle FFS-tagged expressions.
1390 (make_canonical): Don't expand const attributes.
1391 (convert_const_symbol_ref): Dike out.
1392 (evaluate_eq_attr): Handle SYMBOL_REF.
1393 (main): Don't emit get_attr_foo for const attributes.
1394
1395 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
1396 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
1397 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
1398 * alpha.md: Redo all of the scheduling, adding EV6 support, and
1399 combining function units where possible.
1400 (attr "type"): Split loads, stores, cmov into int/fp. Combine
1401 multiplies and divides. Add EV6 sqrt, ftoi, itof.
1402 (attr "opsize"): New attribute.
1403 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
1404 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
1405 to control register allocation.
1406 (movsi2-1, movdi2-1): Likewise.
1407
1408 Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
1409
1410 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
1411 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
1412 Move OSF/1 specific defines out.
1413 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
1414 Move Linux specific defines out.
1415 (LINK_SPEC): Genericize.
1416 (ASM_FILE_START): Emit .arch if using more than the base insn set.
1417 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
1418 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
1419 (HANDLE_SYSV_PRAGMA): Define.
1420 * alpha/osf.h: New file.
1421 * alpha/linux.h: Split. Retain file-format independant defines.
1422 Import Linux bits from elf.h.
1423 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
1424 (FUNCTION_PROFILER): _mcount takes its address in $28.
1425 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
1426 * alpha/linux-ecoff.h: New file.
1427 * alpha/linux-elf.h: New file.
1428 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
1429 * alpha/win-nt.h (TARGET_DEFAULT): Define.
1430 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
1431 Add new headers as appropriate.
1432
1433 * configure.in (alpha*): Enable Haifa by default.
1434 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
1435 * configure: Rebuild.
1436
1437 Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
1438
1439 * Makefile.in (clean): Remove the stages with their objects here ...
1440 (distclean): ... instead of here.
1441
1442 Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1443
1444 * cse.c (rtx_cost): Add default case in enumeration switch.
1445 * fix-header.c (recognized_macro): Likewise.
1446 (recognized_extern): Likewise.
1447 (write_rbrac): Likewise.
1448 * objc/objc-act.c (encode_aggregate): Likewise.
1449 (gen_declarator): Likewise.
1450 (gen_declspecs): Likewise.
1451
1452 Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
1453
1454 * haifa-sched.c (create_reg_dead_note): Detect and handle another
1455 case where we kill more regs after sched than were killed before
1456 sched.
1457 * sched.c (create_reg_dead_note): Similarly.
1458
1459 Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
1460
1461 * c-pragma.c: Include flags.h.
1462
1463 Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
1464
1465 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
1466 about system headers.
1467 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
1468 and also to resolve symbols in prefix.c.
1469
1470 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
1471 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
1472 when the definitions in auto-config.h is not visible.
1473 (HAVE_BZERO): Likewise.
1474 (HAVE_BCMP): Likewise.
1475 (HAVE_RINDEX): Likewise.
1476 (HAVE_INDEX): Likewise.
1477
1478 Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
1479
1480 * pa.c (emit_move_sequence): Handle a function label source
1481 operand.
1482
1483 Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
1484
1485 * c-pragma.c (handle_pragma_token): Generate warning messages
1486 about unknown pragmas if warn_unknown_pragmas is set.
1487
1488 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
1489 line option to set variable: warn_unknown_pragmas.
1490
1491 Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
1492
1493 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
1494 definition.
1495 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
1496
1497 Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
1498
1499 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
1500 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
1501 generate more fine grained floating point emulation libraries.
1502 * config/fp-bit.c: Add protecting #ifdef to all functions so
1503 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
1504 then compile all suitable functions.
1505 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
1506 underscores to avoid namespace pollution.
1507 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
1508 (FPBIT): Define.
1509 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
1510 (FPBIT): Define.
1511 (DPBIT): Define.
1512
1513 Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1514 Jeff Law <law@cygnus.com>
1515
1516 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
1517 of the declaration.
1518 * c-decl.c (finish_decl): Use parentheses around && within ||.
1519 * rtl.c: Include stdlib.h.
1520 (read_skip_spaces): Add parentheses around assignments used as
1521 truth values.
1522 (read_rtx): Initialize list_rtx.
1523 * cppexp.c (parse_number): Use || when operands are truth values.
1524 * alias.c (find_base_value): Add default case.
1525 (memrefs_conflict): Likewise.
1526 * combine.c (sets_function_arg_p): Likewise.
1527 * genemit.c (gen_exp): Likewise.
1528 * local-alloc.c (contains_replace_regs): Likewise.
1529 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
1530 * fold-const.c (fold_convert): Use "&&" for truth values.
1531 (fold): Add default case.
1532 * sdbout.c (sdbout_field_types): Fix typo in declaration.
1533 (sdbout_one_type): Add default case.
1534 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
1535 (some_operand): Add default case.
1536 (input_operand): Likewise.
1537 (signed_comparison_operator): Likewise.
1538 (divmod_operator): Likewise.
1539 (alpha_set_memflags_1): Likewise.
1540 * reload1.c (reload_cse_simplify_operands): Ensure function
1541 always returns a value.
1542 * scan-decls.c (scan_decls): Likewise.
1543 * c-lex.c (skip_white_space): Fix typo in declaraion.
1544 * c-typeck.c (comp_target_types): Add parentheses around assignment
1545 used as truth value.
1546 (print_spelling): Likewise.
1547 (constructor_implicit, constructor_result): Remove unused variables.
1548 * collect2.c (scan_library): Protect prototype with
1549 #ifdef SCAN_LIBRARIES.
1550 * emit-rtl.c (find_line_note): Fix typo in declaration.
1551 * final.c (asm_insn_count): Protect prototype with
1552 #ifdef HAVE_ATTR_length.
1553 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
1554 (try_pre_increment_1, try_pre_increment): Likewise.
1555 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
1556 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
1557 * gcov-io.h (__store_long, __write_long, __read_long): Fix
1558 unsigned/signed comparisons.
1559 * gcov.c (read_files): Remove unused "first_type" variable.
1560 (scan _for_source_files): Initialize s_ptr.
1561 (function_summary): Eliminate "%lf" formatting, use %ld for
1562 longs.
1563 (output_data): Initialize branch_probs and last_line_num.
1564 Eliminate "%lf" formatting, use "%ld" for longs.
1565
1566 Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
1567
1568 * mips16.S: New file.
1569
1570 * libgcc2.c (varargs): Handle mips16.
1571
1572 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
1573 expression.
1574 * stmt.c (expand_end_case): Likewise.
1575 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
1576 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
1577 * rs6000.h, sh.h, tahoe.h, v850.h vax.h z8k.h: Likewise.
1578
1579 Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1580
1581 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
1582 the build directory.
1583 (libobjc.a): Update dependency list.
1584 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
1585 directory.
1586 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
1587 (objc.mostlyclean): Remove runtime-info.h.
1588
1589 Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
1590
1591 * tree.c (build_range_type): Allow creation of ranges with no maximum.
1592 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
1593 * dwarf2out.c (add_subscript_info): Likewise.
1594 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
1595 * sdbout.c (plain_type_1): Likewise.
1596 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
1597 Likewise.
1598 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
1599 Likewise.
1600
1601 Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1602
1603 * mips.c (fatal): Remove declaration.
1604
1605 1997-12-18 Mark Mitchell <mmitchell@usa.net>
1606
1607 * integrate.c (get_label_from_map): New function.
1608 (expand_inline_function): Use it. Initialize the label_map to
1609 NULL_RTX instead of gen_label_rtx.
1610 (copy_rtx_and_substitute): Use get_label_from_map.
1611 * integrate.h (get_label_from_map): New function.
1612 (set_label_from_map): New macro.
1613 * unroll.c (unroll_loop): Use them.
1614 (copy_loop_body): Ditto.
1615
1616 Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
1617
1618 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
1619 (INIT_TARGET_OPTABS): Define.
1620 * mips/ecoff.h: Include gofast.h before mips.h.
1621 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
1622 * mips/elf64.h: Likewise.
1623 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
1624
1625 Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
1626
1627 * except.c: Remove register_exception_table{,_p}.
1628
1629 Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
1630
1631 * unroll.c (calculate_giv_inc): Handle constant increment found in
1632 a MEM with an appropriate REG_EQUAL note.
1633
1634 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
1635
1636 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
1637 frame pointer in the prologue.
1638
1639 Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
1640
1641 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
1642 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
1643
1644 Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
1645
1646 * config/m68k/m68k.c (output_function_prologue): Typecast
1647 dwarf2out_cfi_label to (char *).
1648 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
1649
1650 Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
1651
1652 * sparc.md (jump): Don't use the annul bit around an empty loop.
1653 Patch from Kevin.Kelly@East.Sun.COM.
1654
1655 Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
1656
1657 * jump.c: (jump_optimize): Don't use the return register as a
1658 source1 of a conditional move.
1659
1660 Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
1661
1662 * sparc.c (DF_MODES): Or the mask not the bit number.
1663 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
1664
1665 Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
1666
1667 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
1668
1669 Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
1670
1671 * fixincludes (size_t): Add support for Motorola's stdlib.h
1672 which fails to provide a definition for size_t.
1673 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
1674 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
1675 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
1676
1677 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
1678 prevent unresolved externals in libio.
1679 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
1680
1681 Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
1682
1683 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
1684 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
1685 (LIB_SPEC): Updated for glibc 2.
1686
1687 Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
1688
1689 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
1690 * ginclude/varargs.h: Likewise.
1691
1692 Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
1693
1694 * version.c: Bump for snapshot.
1695
1696 Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
1697
1698 * frame.h (__register_frame, __register_frame_table,
1699 __deregister_frame): New.
1700 * frame.c (__register_frame, __register_frame_table,
1701 __deregister_frame): New.
1702 * frame.c (__deregister_frame_info): Return void *.
1703 * frame.h (__deregister_frame_info): Ditto.
1704 * collect2.c (__deregister_frame_info): Ditto.
1705
1706 Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
1707
1708 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
1709
1710 Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
1711
1712 * alpha.c (alpha_cpu_name): New variable.
1713 (alpha_mlat_string): Likewise.
1714 (alpha_memory_latency): Likewise.
1715 (override_options): Handle -mmemory-latency.
1716 (alpha_adjust_cost): Adjust load cost for latency.
1717 * alpha.h (TARGET_OPTIONS): Add meory-latency.
1718 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
1719 TARGET_CIX into account.
1720 (MEMORY_MOVE_COST): Define in terms of memory_latency.
1721 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
1722
1723 * alpha.h (ASM_COMMENT_START): New macro.
1724
1725 Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
1726
1727 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
1728 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
1729
1730 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
1731 SUBREG_REG if the word count is unchanged.
1732 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
1733 subregs of identical word size for push_reload.
1734
1735 Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
1736
1737 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
1738 if all we're doing is dealing with -Wreturn-type.
1739
1740 Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
1741
1742 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
1743 Use and 255 instead of zapnot 1, since it schedules better.
1744
1745 Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
1746
1747 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
1748 it as volatile.
1749
1750 Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
1751
1752 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
1753 dependency we delete. Properly update prev for multiple consecutive
1754 deletions.
1755 (priority): Skip deleted dependence.
1756
1757 Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
1758
1759 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
1760
1761 Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
1762
1763 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
1764 determining when a new basic block starts.
1765
1766 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
1767
1768 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
1769 * pa.md (iorsi3): Add missing args to *_operand calls.
1770
1771 * except.c (call_get_eh_context): Don't mess with sequences.
1772 (emit_eh_context): Include the call in the sequence here.
1773
1774 1997-12-11 Paul Eggert <eggert@twinsun.com>
1775
1776 * collect2.c (write_c_file_glob): Allocate initial frame object
1777 in static storage and pass its address.
1778
1779 Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
1780
1781 * except.c (call_get_eh_context): Don't take a parm.
1782 Put the call at the top of the function.
1783 (emit_eh_context): Adjust.
1784 (get_eh_context): Replace with former use_eh_context.
1785 (get_eh_context_once, get_saved_pc_ref): Remove.
1786 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
1787 * except.h: Adjust.
1788 * integrate.c (expand_inline_function): Adjust.
1789 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
1790
1791 Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
1792
1793 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
1794 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
1795
1796 Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
1797
1798 * fixincludes (strlen,strspn,strcspn return value): Handle different
1799 layout on sysV88.
1800 (hypot): Provide a fake for hypot which is broken on
1801 m88k-motorola-sysv3.
1802
1803 Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
1804
1805 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
1806 tree_code_name from pointers to arrays.
1807 * tree.c: Remove standard_tree_code_* variables, no longer used.
1808 * print-tree.c: Remove declaration of tree_code_name.
1809
1810 * cp/lex.c (init_lex): Update for tree_code_* changes.
1811 * objc/objc-act.c (init_objc): Likewise.
1812
1813 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
1814 changes.
1815
1816 Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
1817
1818 * config.sub: Add support for BeOS target.
1819 * configure.in: Likewise.
1820 * ginclude/stdarg.h: Likewise.
1821 * ginclude/stddef.h: Likewise.
1822 * ginclude/varargs.h: Likewise.
1823 * rs6000/beos.h: New file for BeOS.
1824 * rs6000/t-beos: Likewise.
1825 * rs6000/x-beos: Likewise.
1826 * rs6000/xm-beos.h: Likewise.
1827 * toplev.c (get_run_time): Just return 0 on BeOS.
1828
1829 Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
1830 Toon Moene (toon@moene.indiv.nluug.nl)
1831
1832 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
1833 old and broken Sun3 assemblers. Newer versions handle large
1834 offsets correctly as does the GNU assembler.
1835
1836 Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
1837
1838 * objc/objc-act.c (lang_report_error_function): Disable.
1839 * objc/objc-parse.y: Include "output.h".
1840 (yyerror): Remove redundant decl.
1841 (yyprint): Fix prototype.
1842 (apply_args_register_offset): Remove redundant decl.
1843 (get_file_function_name): Likewise.
1844
1845 Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
1846
1847 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
1848 a new basic block.
1849 (find_basic_blocks_1): Likewise.
1850
1851 Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
1852
1853 * except.c (use_eh_context): Don't copy_rtx a REG.
1854 (emit_throw): Lose old unwinder support.
1855 (expand_internal_throw): Likewise.
1856 * libgcc2.c (struct eh_context): Likewise.
1857 (new_eh_context): Likewise.
1858 (__get_eh_info): Lose redundant cast.
1859 (__get_dynamic_handler_chain): Likewise.
1860 (__get_saved_pc): Lose.
1861 Lose all old unwinder support code.
1862
1863 Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
1864
1865 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
1866
1867 * integrate.c (expand_inline_function): If the inline fn uses eh
1868 context, make sure that the current fn has one.
1869 * toplev.c (rest_of_compilation): Call emit_eh_context.
1870 * except.c (use_eh_context): New fn.
1871 (get_eh_context_once): New fn.
1872 (call_get_eh_context): New fn.
1873 (emit_eh_context): New fn.
1874 (get_eh_context): Call either get_eh_context_once or
1875 call_get_eh_context, depending on what we have.
1876 (get_dynamic_handler_chain): Call get_eh_context_once.
1877 * except.h: Prototypes for fns above.
1878 * optabs.c (get_eh_context_libfunc): Removed.
1879 (init_optabs): Don't initialize it.
1880 * expr.h (get_eh_context_libfunc): Removed.
1881 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
1882 * config/pa/pa.h (CPP_SPEC): Support for -threads.
1883 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
1884 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
1885 New multilib for -threads.
1886 * config/sparc/t-sol2: Added multilibs for -threads and
1887 made -pthreads alias to it.
1888 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
1889 Added -threads and -pthreads options.
1890 * libgcc-thr.h: New file.
1891 * libgcc2.c: (__get_cpp_eh_context): Removed.
1892 (struct cpp_eh_context): Removed.
1893 (struct eh_context): Replaced cpp_eh_context with generic language
1894 specific pointer.
1895 (__get_eh_info): New function.
1896 (__throw): Check eh_context::info.
1897 (__sjthrow): Ditto.
1898 * libgcc2.c: Include libgcc-thr.h.
1899 (new_eh_context, __get_eh_context,
1900 eh_pthread_initialize, eh_context_initialize, eh_context_static,
1901 eh_context_specific, eh_context_free): New functions.
1902 (get_eh_context, eh_context_key): New variables.
1903 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
1904 get_eh_context to get the context.
1905 (longjmp): Move the declaration inside
1906 #ifdef DONT_USE_BUILTIN_SETJMP.
1907 * frame.c: Include libgcc-thr.h.
1908 (object_mutex): Mutex to protect the object list.
1909 (find_fde, __register_frame, __register_frame_table,
1910 __deregister_frame): Hold the lock while accessing objects.
1911 * except.h (get_eh_context): Declare.
1912 * except.c (current_function_ehc): Define.
1913 (current_function_dhc, current_function_dcc): Removed.
1914 (get_eh_context): New function.
1915 (get_dynamic_handler_chain): Use get_eh_context.
1916 (get_saved_pc_ref): Ditto.
1917 (get_dynamic_cleanup_chain): Removed references to
1918 current_function_dcc.
1919 (save_eh_status, restore_eh_status): Save and restore
1920 current_function_ehc instead.
1921 * optabs.c (get_eh_context_libfunc): New variable.
1922 (init_optabs): Initialize it.
1923 * expr.h: Declare get_eh_context_libfunc.
1924 * function.h (struct function): Replaced dhc and dcc with ehc.
1925 * except.c (get_saved_pc_ref): New functions.
1926 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
1927 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
1928 of eh_saved_pc.
1929 (end_eh_unwinder): Likewise.
1930 (init_eh): Remove initialization of eh_saved_pc.
1931 * optabs.c (get_saved_pc_libfunc): New variable.
1932 (init_optabs): Initialize it.
1933 * expr.h: Declare get_saved_pc_libfunc.
1934 * except.h (eh_saved_pc_rtx): Deleted.
1935 (get_saved_pc_ref): Declared.
1936
1937 From Scott Snyder <snyder@d0sgif.fnal.gov>:
1938 * libgcc2.c (__get_saved_pc): New.
1939 (__eh_type, __eh_pc): Deleted.
1940 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
1941 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
1942 this fcn.
1943
1944 Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
1945
1946 * sparc/sol2.h: Use 64 bit multiply and divide functions in
1947 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
1948 as 0.
1949
1950 * rtl.h (global_rtl): New variable, replacing separate variables for
1951 commonly used rtl.
1952 (const_int_rtx): Now array of rtx_def, not rtx.
1953 * emit-rtl.c: Update for new rtl data structures.
1954 * genattrtab.c: Define global_rtl.
1955
1956 Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
1957
1958 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
1959 default.
1960
1961 Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
1962
1963 * crtstuff.c (__do_global_ctors): Fix typo.
1964
1965 Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
1966
1967 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
1968 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
1969
1970 Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
1971
1972 * rs6000.h (FUNCTION_ARG_PADDING): Define.
1973 * rs6000.c (function_arg_padding): New function.
1974
1975 Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
1976
1977 * m68k.c: Include tree.h only once.
1978
1979 Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1980
1981 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
1982
1983 Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
1984
1985 * Partially cleaned up prototyping code from HJ.
1986 * tree.h: Add many prototypes.
1987 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
1988 All references changed.
1989 * rtl.h: Protect from multiple inclusions. Add many prototypes.
1990
1991 Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
1992
1993 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
1994 string functions like strlen.
1995
1996 Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
1997
1998 * configure.in: Check for functions getrlimit and setrlimit.
1999 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
2000 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
2001
2002 Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
2003
2004 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
2005
2006 Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
2007
2008 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
2009 Fix merge problems.
2010
2011 * alpha.c (override_options): Don't know about scheduling for EV6.
2012 * alpha.md (ev5 function units): Don't overload as ev6.
2013
2014 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
2015 * alpha.md (define_attr type): Add mvi.
2016 (ev5_e0): Define sceduling parameters for it.
2017 (TARGET_MAX insns): Type is mvi not shift.
2018
2019 Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
2020
2021 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
2022
2023 Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2024
2025 * cstamp-h, auto-config.h: Delete.
2026
2027 Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
2028
2029 * version.c: Bump for snapshot.
2030
2031 Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
2032
2033 * cccp.c: Fix typo brought over in merge.
2034
2035 * Merge in changes from gcc-2.8.
2036
2037 Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
2038
2039 * m68k.c: Include tree.h for dwarf2out_cfi_label.
2040
2041 * gcc.c (process_command): Do not take address of function fatal when
2042 calling lang_specific_driver.
2043
2044 Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
2045
2046 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
2047 doesn't work with it yet, so set it to 0.
2048 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
2049
2050 Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
2051
2052 * cse.c (cse_insn): Check for invalid entries when taking references.
2053
2054 Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2055
2056 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
2057 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
2058 * toplev.c (rest_of_compilation): Pass it. Remove code to
2059 save / clear / restore flag_unroll_{,all_}loops.
2060
2061 Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
2062
2063 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
2064
2065 Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
2066
2067 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
2068
2069 Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
2070
2071 * except.c (get_dynamic_handler_chain): Only make the call once per
2072 function.
2073
2074 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
2075
2076 Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2077
2078 * sh.c (final_prescan_insn): Use local label prefix
2079 when emitting .uses pseudo-ops.
2080
2081 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
2082
2083 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
2084 * except.c: Lose outer_context_label_stack.
2085 (expand_eh_region_end): Rethrow from outer_context here.
2086 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
2087 (expand_internal_throw): Take no args.
2088 (expand_internal_throw_indirect): Lose.
2089 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
2090 (expand_start_all_catch): Start a rethrow region.
2091 (expand_end_all_catch): End it.
2092 (expand_rethrow): New fn.
2093 * except.h: Reflect above changes.
2094 * flow.c: Revert change of Nov 27.
2095
2096 Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
2097
2098 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
2099
2100 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
2101
2102 * except.c (expand_fixup_region_end): New fn.
2103 (expand_fixup_region_start): Likewise.
2104 (expand_eh_region_start_tree): Store cleanup into finalization here.
2105 * stmt.c (expand_cleanups): Use them to protect fixups.
2106
2107 Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
2108
2109 * mips/mips.md (muldi3_r4000): Broaden the output template
2110 and attribute assignments to handle three operand dmult;
2111 rename to muldi3_internal2.
2112 (muldi3): Call the new muldi3_internal2 for R4000, and
2113 any GENERATE_MULT3 chip.
2114
2115 Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
2116
2117 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
2118
2119 Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
2120
2121 * unroll.c (find_splittable_givs): Remove last change. Handle givs
2122 with a dest_reg that was created by loop.
2123
2124 Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
2125
2126 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
2127
2128 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
2129
2130 Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
2131
2132 * configure.in: Fix NCR entries.
2133
2134 Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
2135
2136 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
2137 nested exceptions correctly.
2138
2139 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
2140 that was created by loop.
2141
2142 Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
2143
2144 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
2145
2146 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
2147
2148 Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
2149
2150 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
2151 (print_operand): Use SMALL_DATA_REG for the register involved in
2152 small data relocations.
2153 (print_operand_address): Ditto.
2154
2155 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
2156 -dynamic linker is not used.
2157
2158 * rs6000.md (call insns): For local calls, use @local suffix under
2159 System V. Don't use @plt under Solaris.
2160
2161 * rs6000.c (output_function_profiler): Put label address in r0, and
2162 store LR in 4(sp) for System V/eabi.
2163
2164 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
2165 byte boundary, and maintain stack backchain.
2166
2167 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
2168
2169 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
2170 fix_truncsfdi2): Change *.
2171
2172 Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
2173
2174 * toplev.c (main): Complain about -gdwarfn.
2175
2176 Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
2177
2178 * dwarfout.c (output_type): If finalizing, write out nested types
2179 of types we've already written.
2180
2181 Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
2182
2183 (patches originally from Geoffrey Keating)
2184 * rs6000.c (function_arg): Excess floating point arguments don't
2185 go into GPR registers after exhausting FP registers under the
2186 System V.4 ABI.
2187 (function_arg_partial_nregs): Ditto.
2188
2189 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
2190 suffix to calls.
2191
2192 Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
2193
2194 * integrate.c (output_inline_function): Just unset DECL_INLINE.
2195
2196 Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
2197
2198 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
2199 proper alignment.
2200
2201 * libgcc2.c (__throw): Initialize HANDLER.
2202
2203 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
2204
2205 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
2206 fix_truncsfdi2): Change *X to ?*X.
2207
2208 Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
2209
2210 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
2211
2212 Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
2213
2214 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
2215
2216 Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
2217
2218 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
2219
2220 Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
2221
2222 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
2223 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
2224 * expr.h: Likewise.
2225
2226 Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
2227
2228 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
2229 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
2230 gas and not using the new HP assembler.
2231
2232 Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
2233
2234 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
2235 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
2236
2237 Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
2238
2239 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
2240 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
2241 definition.
2242
2243 Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
2244
2245 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
2246
2247 Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
2248
2249 * except.h: Add outer_context_label_stack.
2250 * except.c: Likewise.
2251 (expand_start_all_catch): Push the outer_context for the try block
2252 onto outer_context_label_stack.
2253 (expand_end_all_catch): Use it and pop it.
2254
2255 Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
2256
2257 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
2258
2259 Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
2260
2261 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
2262
2263 Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
2264
2265 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
2266 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
2267
2268 Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
2269
2270 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
2271 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
2272 __builtin_delete, and __builtin_vec_delete.
2273
2274 * except.c (output_exception_table): Don't bother with
2275 __EXCEPTION_END__.
2276
2277 Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
2278
2279 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
2280 is an in/out operand.
2281 (zero extended variants of stwm/stwm patterns): Similarly.
2282
2283 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
2284
2285 Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
2286
2287 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
2288 Use assemble_name.
2289 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
2290 (output_call_frame_info): Emit a \n after using it.
2291
2292 Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
2293
2294 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
2295
2296 Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
2297
2298 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
2299 (ASM_OUTPUT_DWARF_VALUE4): New macro.
2300 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
2301 defined.
2302 (output_call_frame_info): Do not output forward label differences
2303 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
2304 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
2305
2306 Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2307
2308 * sh.md (attribute "type"): Add nil.
2309 (movsi_ie): y/y alternative is type nil.
2310 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
2311 alternatives.
2312 (movsf_ie+1): Delete.
2313
2314 Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
2315
2316 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
2317 large_int, emit two insns instead of one splitable insn.
2318 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
2319 from cfa_temp_value, use cfa_offset. Add assert checking that
2320 cfa_reg is SP.
2321
2322 Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
2323
2324 * cccp.c (deps_output): Properly quote file names for make.
2325
2326 Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
2327
2328 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
2329
2330 Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
2331
2332 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
2333
2334 Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
2335
2336 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
2337 return.
2338 (cse_end_of_basic_block): Similarly.
2339
2340 Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
2341
2342 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
2343 (SELECT_RTX_SECTION): Define.
2344 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
2345
2346 Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
2347
2348 * Makefile.in (compare, compare-lean): Define $stage for each
2349 shell command.
2350 (gnucompare, gnucompare-lean): Likewise.
2351
2352 Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
2353
2354 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
2355
2356 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
2357 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
2358
2359 Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
2360
2361 * dwarfout.c (byte_size_attribute): Add local var upper_bound
2362 and add case to handle STRING_TYPE.
2363 * dwarfout.c (output_string_type_die): Fix code to generate
2364 correct string length attribute for fixed length strings.
2365 Still needs support for varying length strings.
2366
2367 Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
2368
2369 * toplev.c (get_run_time): Do something sensible for cygwin32.
2370
2371 Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
2372
2373 * expr.c (expand_builtin_setjmp): Set
2374 current_function_has_nonlocal_label.
2375 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
2376 call-saved registers across calls.
2377
2378 * alpha.md (exception_receiver): Remove.
2379 (nonlocal_goto_receiver_osf): New
2380 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
2381 (nonlocal_goto_receiver): New, select _osf or _vms.
2382
2383 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
2384 keep them from being propogated to the object file.
2385 (alpha_write_linkage): Likewise.
2386 * alpha.md (call_vms): Likewise.
2387 (call_value_vms): Likewise.
2388 (unnamed osf call insns): Likewise.
2389
2390 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
2391 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2392
2393 * alpha.c (call_operand): Any reg is valid for WinNT.
2394 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
2395 (anon nt calls): Add 'R' alternative.
2396 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
2397 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
2398
2399 Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
2400
2401 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
2402
2403 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
2404 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
2405 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
2406
2407 Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
2408
2409 * reload1.c (new_spill_reg): Improve fixed or forbidden register
2410 spill error message.
2411
2412 Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2413
2414 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
2415 use varargs.h. Wrap header with <>, not "".
2416
2417 Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
2418
2419 * integrate.c (save_for_inline_copying): Add return value from
2420 savealloc.
2421
2422 Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
2423
2424 * fixincludes: Be a little more restrictive on what we will
2425 substitute to replace definitions of MAXINT for HPUX.
2426
2427 Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
2428
2429 * dbxout.c (dbxout_symbol_location): Don't assume that variables
2430 whose address is the stack or argument pointers are indirect
2431 pointers.
2432
2433 1997-11-13 Paul Eggert <eggert@twinsun.com>
2434
2435 * cccp.c, cpplib.c (compare_defs):
2436 Don't complain about arg name respellings unless pedantic.
2437 * cpplib.c (compare_defs): Accept pfile as new arg.
2438 All callers changed.
2439
2440 Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2441
2442 * fold-const.c (fold_truthop): Fix bug in last change.
2443
2444 1997-11-13 Paul Eggert <eggert@twinsun.com>
2445
2446 Fix some confusion with IEEE minus zero.
2447
2448 * real.h (REAL_VALUES_IDENTICAL): New macro.
2449
2450 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
2451 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
2452 identical to 0.0.
2453 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
2454 same tree structure as 0.0.
2455
2456 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
2457 macro instead of doing it by hand.
2458
2459 Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
2460
2461 * v850/lib1funcs.asm: Minor whitespace changes.
2462 * v850.c: Fix minor formatting problems in many places.
2463 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
2464
2465 Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
2466
2467 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
2468 xplus1 when xplus0 is not a register.
2469
2470 Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
2471
2472 * flow.c (find_basic_blocks): During marking phase, if we encounter
2473 an insn with a REG_LABEL note, make the target block live and
2474 create an edge from the insn to the target block. Do not make
2475 edges from all blocks to the target block.
2476
2477 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
2478
2479 * confiugre.in: Tweak NCR entries.
2480 * configure: Rebuilt.
2481
2482 Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
2483
2484 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
2485 pick apart floating point values, instead of using CONST_DOUBLE_LOW
2486 and CONST_DOUBLE_HIGH.
2487
2488 * rs6000.md (define_splits for DF constants): Use the appropriate
2489 REAL_VALUE_* interface to pick apart DF floating point constants in
2490 a machine independent fashion.
2491
2492 Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2493
2494 * fold-const.c (fold_truthop): When changing a one-bit comparison
2495 against zero into a comparison against mask, do a proper sign
2496 extension.
2497
2498 Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
2499
2500 * except.c: Do not include "assert.h".
2501 (save_eh_status): Turn asserts into conditional aborts.
2502 (restore_eh_status, scan_region): Likewise.
2503 * dwarfout.c: Do not include "assert.h".
2504 (bit_offset_attribute): Turn asserts into conditional aborts.
2505 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
2506 (output_inlined_structure_type_die): Likewise.
2507 (output_inlined_union_type_die): Likewise
2508 (output_tagged_type_instantiation): Likewise.
2509 (dwarfout_file_scope_decl): Likewise.
2510 * dwarf2out.c: Do not include "assert.h"
2511 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
2512 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
2513 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
2514 (add_bit_size_attribute, scope_die_for): Likewise.
2515 (output_pending_types_for_scope): Likewise.
2516 (get_inlined_enumeration_type_die): Likewise.
2517 (get_inlined_structure_type_die): Likewise.
2518 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
2519 (gen_tagged_type_instantiation_die): Likewise.
2520
2521 * flow.c (find_basic_blocks): Refine further to get a more correct
2522 cfg, especially in the presense of exception handling, computed
2523 gotos, and other non-trivial cases. Call abort if an inaccuracy
2524 is detected in the cfg.
2525
2526 Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2527
2528 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
2529
2530 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
2531 (skip_white_space): Use whitespace_cr.
2532 (check_newline): Handle whitespace more consistently.
2533
2534 Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
2535
2536 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
2537 * i386/xm-cygwin32.h (POSIX): Define.
2538
2539 Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
2540
2541 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
2542 is available elsewhere.
2543
2544 Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
2545
2546 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
2547 what the instruction can handle.
2548
2549 Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
2550
2551 * stmt.c (expand_decl_cleanup_no_eh): New fn.
2552
2553 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
2554
2555 Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
2556
2557 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
2558 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
2559
2560 Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
2561
2562 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
2563 swap instruction order.
2564
2565 Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
2566
2567 * fixinc.svr4 (__STDC__): Add another case.
2568
2569 Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2570
2571 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
2572 addresses in the epilogue delay slot.
2573
2574 Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
2575
2576 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
2577 in generated `specs' file.
2578
2579 Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
2580
2581 * flags.h (flag_rerun_loop_opt): Declare.
2582 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
2583 * toplev.c (flag_rerum_loop_opt): Delete static.
2584
2585 Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2586
2587 Bring over from FSF:
2588
2589 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2590
2591 * va-sh.h (__va_arg_sh1): Define.
2592 (va_arg): Use it.
2593 SH3E doesn't use any integer registers for subsequent arguments
2594 once a non-float value was passed in the stack.
2595 * sh.c (machine_dependent_reorg): If optimizing, put explicit
2596 alignment in front label for ADDR_DIFF_VEC.
2597 * sh.h (PASS_IN_REG_P): Fix SH3E case.
2598 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
2599
2600 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2601
2602 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
2603 svr4.h.
2604
2605 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2606
2607 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
2608 put an use_sfunc_addr before each sfunc.
2609 * sh.md (use_sfunc_addr, dummy_jump): New insns.
2610 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
2611
2612 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2613
2614 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
2615
2616 Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
2617
2618 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
2619 linked once FDEs.
2620
2621 Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
2622
2623 * alias.c (find_base_value): Only return the known base value for
2624 pseudo registers.
2625
2626 Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
2627
2628 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
2629 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
2630 to pattern.
2631 (prologue_get_pc_and_set_got): New pattern.
2632
2633 Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
2634
2635 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
2636 for SUBREG, just fall through.
2637
2638 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
2639
2640 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
2641
2642 Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
2643
2644 * fixincludes: Fix "hypot" prototype in NeXT math.h.
2645
2646 * Makefile.in (USE_ALLOCA): Always include alloca.o.
2647 (USE_HOST_ALLOCA): Likewise.
2648
2649 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
2650 and LABEL_REFS fields.
2651 * rtl.h (LABEL_REFS): Update.
2652
2653 Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
2654
2655 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
2656 sets i2dest. When calling distribute_notes for i3dest_killed, pass
2657 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
2658 sets i1dest.
2659
2660 * mips.md (insv, extzv, extv): Add change_address call.
2661 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
2662
2663 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
2664
2665 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
2666
2667 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
2668 save_restore_insns if no FP and GP will be restored.
2669
2670 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
2671 Convert CCmode to word_mode before calling GET_MODE_SIZE.
2672
2673 * acconfig.h (HAVE_INTTYPES_H): Undef.
2674 * configure.in (inttypes.h): Check for conflicts between sys/types.h
2675 and inttypes.h, and verify that intmax_t is defined.
2676 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
2677 * config/mips/x-iris3: Likewise.
2678
2679 Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
2680
2681 * alias.c (find_base_value): When copying arguments, return the
2682 tenative value for a hard register.
2683
2684 Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
2685
2686 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
2687 (yylex): Record wide strings using target endianness, not host.
2688
2689 Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
2690
2691 * mn10200.h (ASM_OUTPUT_BSS): Delete.
2692 (ASM_OUTPUT_ALIGNED_BSS): New macro
2693 * mn10300.h (ASM_OUTPUT_BSS): Delete.
2694 (ASM_OUTPUT_ALIGNED_BSS): New macro.
2695 * v850.h (ASM_OUTPUT_BSS): Delete.
2696 (ASM_OUTPUT_ALIGNED_BSS): New macro.
2697
2698 Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2699
2700 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
2701
2702 Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
2703
2704 * configure.in (sco5): Use cpio to install header files.
2705
2706 Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
2707
2708 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
2709 14 char length.
2710 * configure: Rebuild.
2711
2712 Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
2713
2714 * i386/sco5.h: enable -gstabs once again.
2715
2716 Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
2717
2718 * arm.c (output_move_double): Allocate 3 entries in otherops array.
2719
2720 Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
2721
2722 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
2723 notes for sjlj exceptions too.
2724 (expand_eh_region_end): Similarly for EH_REGION_END notes.
2725 (exception_optimize): Optimize EH regions for sjlj exceptions too.
2726 * final.c (final_scan_insn): Don't output labels for EH REGION
2727 notes if doing sjlj exceptions.
2728
2729 Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
2730
2731 * alias.c (init_alias_analysis): Handle -fno-alias-check when
2732 optimizing correctly.
2733
2734 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
2735 or set current_function_calls_setjmp anymore.
2736
2737 * flow.c (find_basic_blocks): If we delete the label for an
2738 exception handler, remove it from the EH label list and remove
2739 the EH_BEGIN/EH_END notes for that EH region.
2740
2741 Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
2742
2743 * flow.c (find_basic_blocks): Generate correct flow control
2744 information when exception handling notes are present.
2745
2746 Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
2747
2748 * dwarf2out.c (output_call_frame_info): Fix length argument
2749 to ASM_OUTPUT_ASCII.
2750 (output_die, output_pubnames, output_line_info): Likewise.
2751
2752 Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
2753
2754 * version.c: Bump for snapshot.
2755
2756 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
2757 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
2758 flag_debug_asm is on.
2759 (output_die, output_pubnames, output_line_info): Likewise.
2760
2761 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
2762 and static_chain_rtx into the potential base values array if
2763 they are registers.
2764
2765 * alias.c (new_reg_base_value): New array of potential base values.
2766 (unique_id): Now file scoped static.
2767 (find_base_value, case REG): Return the value in reg_base_value
2768 array for the REG if it exists. Else, return the value from
2769 new_reg_base_value if copying args and REG is a hard register.
2770 (find_base_value, case PLUS): If either operand of the PLUS is
2771 a REG, try to get its base value. Handle base + index and
2772 index + base.
2773 (record_set): Use new_reg_base_value instead of reg_base_value.
2774 (init_alias_analysis): Allocate space for new_reg_base_value too.
2775 Rework code to iterate over the insns propagating base value
2776 information until nothing changes.
2777
2778 * global.c (global_alloc): Free the conflict matrix after
2779 reload has finished.
2780
2781 Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
2782
2783 * libgcc2.c (L_eh): Define __eh_pc.
2784 Replace __eh_type with generic pointer __eh_info.
2785
2786 Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
2787
2788 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
2789 use copy_to_reg if address is not a general_operand.
2790
2791 Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2792
2793 * profile.c (output_func_start_profiler): Clear flag_inline_functions
2794 for the duration of the call to rest_of_compilation.
2795
2796 Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
2797
2798 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
2799 Set extra_parts.
2800 (sparc*-*-*): Recognize --with-cpu=v9.
2801 * sparc/elf.h: New file.
2802 * sparc/t-elf: New file.
2803
2804 Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
2805
2806 * mn10300.c (const_8bit_operand): New function.
2807 (mask_ok_for_mem_btst): New funtion.
2808 * mn10300.md (btst patterns with mem operands): Use new functions
2809 to avoid creating btst instructions with invalid operands.
2810
2811 Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
2812
2813 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
2814 are running on PowerPC Linux.
2815
2816 Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
2817
2818 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
2819 if not previously defined.
2820
2821 Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
2822
2823 * function.c (assign_parms): Correct mode of stack_parm if
2824 entry_parm underwent a mode conversion.
2825
2826 1997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
2827
2828 * global.c (global_alloc): Use xmalloc instead of alloca for
2829 CONFLICTS, since max_allocno * allocno_row_words alone can be more
2830 than 2.5Mb sometimes.
2831
2832 Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
2833
2834 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
2835 DEST for the spill, adjust mode of SRC to compensate.
2836
2837 Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
2838
2839 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
2840 since any_memory_operand() allows pseudos during reload.
2841 (reload_inhi, reload_outqi, reload_outhi): Likewise.
2842
2843 Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
2844
2845 * m68k.md (btst patterns): Add 5200 support.
2846
2847 Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
2848
2849 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
2850 optimizations, look inside dividend to determine if the expression
2851 can be simplified by using EXACT_DIV_EXPR.
2852
2853 Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
2854
2855 From Brendan:
2856 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
2857
2858 Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
2859
2860 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
2861
2862 Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
2863
2864 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
2865 on a CLOBBER.
2866
2867 Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
2868
2869 * alpha.md (movqi, movhi): Make sure new insns created during reload
2870 won't need reloading themselves.
2871 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
2872
2873 Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
2874
2875 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
2876
2877 Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
2878
2879 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
2880 Patch from Klaus Kaempf <kkaempf@progis.de>.
2881
2882 Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
2883
2884 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
2885 to an element in a constant string.
2886
2887 Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
2888
2889 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
2890 bit PC-relative offset. The exception range table pointer is now in
2891 the CIE.
2892 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
2893 (count_fdes, add_fdes, get_cie): Adjust.
2894 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
2895
2896 From H.J. Lu:
2897 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
2898
2899 Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
2900
2901 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
2902 like stack_pointer_rtx.
2903
2904 Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
2905
2906 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
2907 targets using "$@" to provide support for similar but not identical
2908 targets without having to duplicate code.
2909 (bootstrap4): New goal.
2910
2911 * Makefile.in (compare, compare-lean, compare3): Combined to one
2912 ruleset determining actions to be performed via $@.
2913 (compare4, compare4-lean): New targets.
2914 (gnucompare, gnucompare3): Combined to one ruleset determining
2915 actions to be performed via $@. Also, note which files failed
2916 the comparison test in .bad_compare.
2917 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
2918
2919 Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
2920
2921 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
2922 if the dividend is a multiple of the divisor.
2923
2924 Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
2925
2926 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
2927
2928 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
2929 and POS_DEC.
2930
2931 * alias.c (true_dependence): Fix typo.
2932
2933 * toplev.c (flag_rerun_loop_opt): New variable.
2934 (f_options): Handle -frerun-loop-opt.
2935 (rest_of_compilation): If -frerun-loop-opt, then run the loop
2936 optimizer twice.
2937 (main): Enable -frerun-loop-opt by default for -O2 or greater.
2938
2939 * loop.c (simplify_giv_expr): Adding two invariants results
2940 in an invariant.
2941
2942 Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
2943
2944 * expr.c (get_inner_reference): Remove the array bias after
2945 converting the index to Pmode.
2946
2947 Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
2948
2949 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
2950 (TARGET_MULT_BUG): Define.
2951 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
2952 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
2953
2954 Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
2955
2956 * mn10200.c (indirect_memory_operand): Delete unused function.
2957 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
2958 * mn10200.md (bset, bclr insns): Handle output in a reg too.
2959
2960 Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
2961
2962 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
2963 the callee's ldgp, we must do it ourselves, and we use the jsr tag
2964 for more than scheduling.
2965
2966 Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
2967
2968 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
2969
2970 Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
2971
2972 * mn10300.c (symbolic_operand, legitimize_address): New functions.
2973 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
2974 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
2975
2976 Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
2977
2978 * version.c: Bump for snapshot.
2979
2980 Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2981
2982 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
2983 for FILENAME.
2984
2985 Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
2986
2987 * toplev.c (flag_exceptions): Default value is 2.
2988 (compile_file): If flag_exceptions still has the value 2, then
2989 set it to 0.
2990
2991 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
2992 (rs6000_save_machine_status): Save pic_offset_table_rtx.
2993 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
2994
2995 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
2996 are shared.
2997
2998 * rs6000.md (*movsi_got_internal_mem): New pattern.
2999 (*movsi_got_internal_mem splitter): New define_split.
3000
3001 Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
3002
3003 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
3004
3005 Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
3006
3007 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
3008 only need to save LR.
3009
3010 Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
3011
3012 * mn10300.md (movqi, movhi): Avoid using address registers as
3013 destinations unless absolutely necessary.
3014
3015 * mn10200.c (expand_prologue): Fix typo.
3016
3017 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
3018 addresses.
3019 * mn10200.md (neghi2): Provide an alternative which works if
3020 the input and output register are the same.
3021
3022 * mn10300.c (print_operand): Handle 'S'.
3023 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
3024 shift amount in last alternative
3025
3026 * mn10300.c (expand_epilogue): Rework to handle register restores
3027 in "ret" and "retf" instructions correctly.
3028
3029 Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
3030
3031 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
3032 extzv for memory operands.
3033
3034 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
3035 redundant conditional moves to single operand.
3036
3037 Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
3038
3039 * v850.h: Move define of __v850__ from CPP_PREDEFINES
3040 to CPP_SPEC.
3041
3042 * xm-v850.h: Use __v850 rather than __v850__ to
3043 identify v850 port.
3044
3045 Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
3046
3047 * mips/mips.c (compute_frame_size): Not a leaf function if
3048 profile_flag set.
3049
3050 Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
3051
3052 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
3053
3054 Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
3055
3056 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
3057 (DEFAULT_ARCH32_P): New macro.
3058 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
3059 (enum cmodel): Declare.
3060 (sparc_cmodel_string,sparc_cmodel): Declare.
3061 (SPARC_DEFAULT_CMODEL): Provide default.
3062 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
3063 (TARGET_FULLANY): Deleted.
3064 (TARGET_CM_MEDMID): New macro.
3065 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
3066 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
3067 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
3068 (CPP_SPEC): Rewrite.
3069 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
3070 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
3071 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
3072 (ASM_SPEC): Add %(asm_arch).
3073 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
3074 Rename asm_default to asm_cpu_default.
3075 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
3076 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
3077 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
3078 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
3079 (MASK_INT64,MASK_LONG64): Delete.
3080 (MASK_ARCH64): Renamed to MASK_64BIT.
3081 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
3082 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
3083 (TARGET_SWITCHES): Always provide 64 bit options.
3084 (ARCH64_SWITCHES): Delete.
3085 (TARGET_OPTIONS): New option -mcmodel=.
3086 (INT_TYPE_SIZE): Always 32.
3087 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
3088 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
3089 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
3090 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
3091 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
3092 CPP_SPEC.
3093 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
3094 * sparc/linux.h: Likewise.
3095 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
3096 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
3097 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
3098 (SPARC_DEFAULT_CMODEL): Define.
3099 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
3100 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
3101 (LONG_DOUBLE_TYPE_SIZE): Define.
3102 (ASM_SPEC): Add %(asm_arch).
3103 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
3104 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
3105 (TARGET_CPU_DEFAULT): Add ultrasparc case.
3106 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
3107 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
3108 (SPARC_DEFAULT_CMODEL): Define.
3109 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
3110 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
3111 MASK_LONG64, MASK_MEDANY.
3112 (SPARC_DEFAULT_CMODEL): Define.
3113 (CPP_PREDEFINES): Delete.
3114 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
3115 (ASM_SPEC): Add %(asm_arch).
3116 (LONG_DOUBLE_TYPE_SIZE): Define.
3117 (DWARF2_DEBUGGING_INFO): Define.
3118 * sparc/splet.h (CPP_SPEC): Delete.
3119 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
3120 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
3121 (BLOCK_PROFILER): Likewise.
3122 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
3123 (sparc_override_options): Handle code model selection.
3124 (sparc_init_expanders): Renamed from sparc64_init_expanders.
3125 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
3126 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
3127 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
3128 (sethi_di_fullany): Delete.
3129
3130 Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
3131 Jeff Law <law@cygnus.com>
3132 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3133
3134 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
3135 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
3136 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
3137 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
3138 * alpha/alpha.md (arg_home): Likewise.
3139
3140 * alpha/alpha.c (vmskrunch): Delete
3141 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
3142 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
3143 truncate to 64 characters.
3144
3145 * make-l2.com: Support openVMS/Alpha.
3146
3147 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
3148
3149 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3150
3151 * longlong.h (count_leading_zeros): Add missing casts to USItype.
3152
3153 Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
3154
3155 * i386/bsd386.h (ASM_COMMENT_START): Define.
3156
3157 Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
3158
3159 * tree.c (restore_tree_status): Also free up temporary storage
3160 when we finish a toplevel function.
3161 (dump_tree_statistics): Print stats for backend obstacks.
3162
3163 Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
3164
3165 * expr.c (use_group_regs): Don't call use_reg for MEMs.
3166
3167 Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
3168
3169 * libgcc2.c (__throw): Don't copy the return address.
3170 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
3171
3172 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
3173 * toplev.c (main): Initialize exceptions_via_longjmp.
3174
3175 * tree.c: Add extra_inline_obstacks.
3176 (save_tree_status): Use it.
3177 (restore_tree_status): If this is a toplevel inline obstack and we
3178 didn't want to save anything on it, recycle it.
3179 (print_inline_obstack_statistics): New fn.
3180 * function.c (pop_function_context_from): Pass context to
3181 restore_tree_status.
3182 * obstack.h (obstack_empty_p): New macro.
3183
3184 Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
3185
3186 * i386/freebsd.h (ASM_COMMENT_START): Fix.
3187
3188 Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
3189
3190 * v850.c (ep_memory_offset): New function.
3191 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
3192
3193 * v850.h (CONST_OK_FOR_*): Add and correct comments.
3194 (CONSTANT_ADDRESS_P): Add comment.
3195 (EXTRA_CONSTRAINT): Define 'U'.
3196 * v850.md: Add comments on bit field instructions.
3197 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
3198 (lshrsi3): Use N not J constraint.
3199
3200 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
3201
3202 * v850.c (reg_or_0_operand): Call register_operand.
3203 (reg_or_int5_operand): Likewise.
3204 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
3205 (TARGET_SWITCHES): Add "big-switch".
3206 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
3207 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
3208 (CASE_DROPS_THROUGH): Comment out.
3209 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
3210 * v850.md (cmpsi): Delete compare mode.
3211 (casesi): New pattern.
3212
3213 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
3214 * v850.md (ashlsi3): Use SImode not QImode for shift count.
3215 (lshrsi3): Likewise.
3216
3217 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
3218 unreachable switch statement after 'b' support. Remove "b" from
3219 strings for 'b' support.
3220 * v850.md (branch_normal, branch_invert): Change %b to b%b.
3221
3222 Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
3223
3224 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
3225 empty line if @inhibit_libc@ is empty.
3226
3227 Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
3228
3229 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
3230 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
3231 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
3232 (DWARF2_UNWIND_INFO): Let this track object file format.
3233 (EXTRA_SECTIONS): Add in_eh.
3234 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
3235 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
3236
3237 Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
3238
3239 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
3240 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
3241 TARGET_MEDANY.
3242 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
3243 (output_double_int): Output DI mode values correctly when
3244 HOST_BITS_PER_WIDE_INT is 64.
3245 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
3246 fmovd so it works if a quad float ends up in one of the upper 32
3247 float regs.
3248 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
3249 necessary for PIC support on sparc64.
3250
3251 Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
3252
3253 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
3254 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
3255 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
3256 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
3257 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
3258 (SPARC_FP_ARG_FIRST): New macro.
3259 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
3260 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
3261 (NPARM_REGS): There are 32 fp argument registers now.
3262 (FUNCTION_ARG_REGNO_P): Likewise.
3263 (FIRST_PARM_OFFSET): Update to new v9 abi.
3264 (REG_PARM_STACK_SPACE): Define for arch64.
3265 (enum sparc_arg_class): Delete.
3266 (sparc_arg_count,sparc_n_named_args): Delete.
3267 (struct sparc_args): Redefine and use for arch32 as well as arch64.
3268 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
3269 (FUNCTION_ARG_ADVANCE): Rewrite.
3270 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
3271 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
3272 (FUNCTION_ARG_CALLEE_COPIES): Delete.
3273 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
3274 (STRICT_ARGUMENT_NAMING): Define.
3275 (doublemove_string): Declare.
3276 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
3277 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
3278 (doublemove_string): New function.
3279 (output_move_quad): Clean up some of the arch64 support.
3280 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
3281 Don't add 8 bytes of reserved space if arch64.
3282 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
3283 (init_cumulative_args): New function.
3284 (function_arg_slotno): New static function.
3285 (function_arg,function_arg_partial_nregs): New functions.
3286 (function_arg_{pass_by_reference,advance}): New functions.
3287 (function_arg_padding): New function.
3288 * ginclude/va-sparc.h: Rewrite v9 support.
3289
3290 Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
3291
3292 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
3293 for hard regs to determine base and index registers.
3294
3295 * reload.c (debug_reload_to_stream): New function. Specify stream
3296 into which to write debug info.
3297 (debug_reload): Modify to call debug_reload_to_stream with stderr.
3298
3299 Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
3300
3301 * combine.c (can_combine_p): Don't combine with an asm whose
3302 output is a hard register.
3303
3304 Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
3305
3306 * c-decl.c (start_struct): Ensure that structs with forward
3307 declarations are in fact packed when -fpack-struct is given.
3308
3309 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
3310 we are packing a structure. This allows a structure with only
3311 bytes to be aligned on a byte boundary and have no padding on a
3312 m68k.
3313
3314 Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3315
3316 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
3317
3318 Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
3319
3320 * alpha.c (alpha_return_addr_rtx): New variable.
3321 (alpha_save_machine_status): New; save it.
3322 (alpha_restore_machine_status): New; restore it.
3323 (alpha_init_expanders): New; clear it.
3324 (alpha_return_addr): New; set it.
3325 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
3326 is overly conservative, so search the insns explicitly.
3327 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
3328 (alpha_sa_size [VMS && !VMS]): Likewise.
3329 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
3330 (INIT_EXPANDERS): New definition.
3331
3332 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
3333 (output_prolog [!VMS]): Use them.
3334
3335 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
3336 (alpha_does_function_need_gp): ... a new function. Refine the
3337 CALL_INSN test to just TYPE_JSR.
3338 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
3339
3340 Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
3341
3342 * version.c: Bump for snapshot.
3343
3344 Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3345
3346 * pa.c (move_operand): Respect -mdisable-indexing.
3347 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
3348
3349 Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
3350
3351 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
3352 PPC601.
3353 (umulsidi3,umulsi3_highpart): Ditto.
3354 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
3355
3356 Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
3357
3358 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
3359 (alpha_handle_trap_shadows): ... a new function. Handle the entire
3360 function in one go. Emit RTL for trapb, instead of printf directly.
3361 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
3362 (trap_pending): Kill global variable.
3363 (output_epilog): Don't call final_prescan_insn.
3364 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
3365 * alpha.h (FINAL_PRESCAN_INSN): Remove.
3366 (MACHINE_DEPENENT_REORG): Define.
3367 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
3368 (trapb): New insn.
3369
3370 Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
3371
3372 Tune Haifa scheduler for Alpha:
3373 * alpha.h (ISSUE_RATE): Define.
3374 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
3375 EV4 adjustments to EV5.
3376 * alpha.md: Remove all scaling from function unit delays. Rework
3377 EV5 function units to match the CPU.
3378 (umuldi3_highpart): EV5 added the IMULH insn class.
3379
3380 Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
3381
3382 * pa.c (following_call): Fail if the CALL_INSN is an indirect
3383 call.
3384
3385 Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
3386
3387 * cplus-dem.c (demangle_signature): Don't look for return types on
3388 constructors. Handle member template constructors.
3389
3390 Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
3391
3392 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
3393 * tree.h: Declare them.
3394
3395 Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
3396
3397 * configure.in: Handle --with-newlib.
3398 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
3399
3400 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
3401
3402 Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
3403
3404 * config/ptx4.h: Fix typo.
3405
3406 Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
3407
3408 * version.c: Bump for snapshot.
3409
3410 Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
3411
3412 * aclocal.m4: Substitute INSTALL.
3413 * configure: Re-built.
3414
3415 Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
3416
3417 * integrate.c (save_for_inline_copying): Avoid undefined pointer
3418 operations.
3419 (expand_inline_function): Likewise.
3420
3421 * dwarf2out.c (output_call_frame_info): Reinstate last change
3422 using flag_debug_asm check instead of flag_verbose_asm.
3423
3424 Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
3425
3426 * dwarf2out.c (output_call_frame_info): Remove last change.
3427
3428 1997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3429
3430 * frame.c (__frame_state_for): Execute the FDE insns until the
3431 current pc value is strictly bigger than the target pc value.
3432
3433 Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
3434
3435 * regclass.c (init_reg_modes): If we can't find a mode for the
3436 register, use the previous one.
3437
3438 Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
3439
3440 * haifa-sched.c (print_block_visualization): Call fprintf directly,
3441 don't sprintf through an alloca'ed buffer.
3442
3443 Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
3444
3445 * reload.c (decompose): Always initialize val.base.
3446
3447 Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
3448
3449 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
3450 instead of aborting.
3451 * dwarf2out.c (output_call_frame_info): Call app_enable and
3452 app_disable to let GNU as accept the generated comments.
3453
3454 Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
3455
3456 * tree.h (get_file_function_name): Add declaration.
3457 * dwarf2out.c (output_call_frame_info): No need to cast
3458 get_file_function_name call anymore.
3459 * profile.c (toplevel): Remove get_file_function_name
3460 declaration.
3461 * c-lang.c (finish_file): Ditto.
3462
3463 Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
3464
3465 * Makefile.in (program_transform_name): Let autoconf substitute
3466 the correct value.
3467
3468 Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
3469
3470 * haifa-sched.c (schedule_block): If the first real insn in a
3471 block has any special notes attached to it, remove them.
3472
3473 Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
3474
3475 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
3476
3477 Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
3478
3479 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
3480
3481 Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
3482
3483 * Makefile.in (check-g77): New test target.
3484 (CHECK-TARGETS): Add check-g77.
3485
3486 Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
3487
3488 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
3489
3490 Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
3491
3492 * flow.c (print_rtl_with_bb): Cast alloca return value for
3493 in_bb_p.
3494
3495 Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
3496
3497 * i386.h (RETURN_ADDR_RTX): New definition that works for
3498 __builtin_return_address(0) and -fomit-frame-pointer.
3499
3500 Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
3501
3502 Bring over from FSF.
3503 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
3504
3505 * mips.c (function_arg): Handle passing a struct
3506 containing a double in a DFmode register without the PARALLEL.
3507
3508 Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
3509
3510 * pexecute.c: Use spawn if __CYGWIN32__.
3511
3512 * pexecute.c: Include "config.h" first, as per autoconf manual
3513 (from Paul Eggert <eggert@twinsun.com>).
3514
3515 Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
3516
3517 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
3518 optimisation for f/expr.o and f/stb.o.
3519
3520 Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
3521
3522 * cse.c (this_insn_cc0_mode): Initialize.
3523
3524 Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
3525
3526 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
3527
3528 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
3529
3530 Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
3531
3532 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
3533 that pair will dual-issue on the 21164 and plus+beq won't.
3534 (bne): Likewise for cmpeq+beq.
3535
3536 Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
3537
3538 * except.c (find_exception_handler_labels): Correct argument to free.
3539
3540 Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
3541
3542 * except.c (find_exception_handler_labels): Free LABELS when we're
3543 done.
3544
3545 Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
3546
3547 * version.c: Bump for snapshot.
3548
3549 Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
3550
3551 * flow.c (find_basic_blocks): Mark calls as potentially jumping
3552 to the EH labels.
3553
3554 Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
3555
3556 * configure.in: Substitute for "install" too.
3557 * configure: Rebuilt.
3558
3559 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
3560
3561 * Makefile.in (bootstrap-lean, compare-lean): New targets.
3562
3563 Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
3564
3565 * alias.c (base_alias_check): Two symbols can conflict if they
3566 are accessed via AND.
3567 (memrefs_conflict_p): Likewise.
3568
3569 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
3570 after flushing argument registers to the stack.
3571
3572 * Makefile.in (mostlyclean): Remove .regmove files.
3573
3574 Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
3575
3576 * libgcc2.c (__throw): Fix thinko.
3577
3578 Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
3579
3580 * cplus-dem.c (demangle_template): Add new parameter. Handle new
3581 template-function mangling.
3582 (consume_count_with_underscores): New function.
3583 (demangle_signature): Handle new name-mangling scheme.
3584
3585 Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
3586
3587 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
3588 start and end.
3589
3590 Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
3591
3592 * frame.c: Remove last change.
3593 * dwarf2.h: Remove last change.
3594 * tree.h: Add declarations of DWARF2 unwind info support
3595 functions.
3596
3597 Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
3598
3599 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
3600 * tree.h (built_in_function): Likewise.
3601 * expr.c (expand_builtin): Likewise.
3602 * except.h: Likewise.
3603 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
3604 * libgcc2.c (copy_reg): New fn.
3605 (__throw): Use it.
3606
3607 Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
3608
3609 * c-typeck.c (build_binary_op): Warn about comparing signed vs
3610 unsigned if -W is specified and -Wno-sign-compare is not.
3611 * c-decl.c (warn_sign_compare): Initialize to -1.
3612 (c_decode_option): -Wall no longer implies -Wsign-compare.
3613
3614 Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3615
3616 * frame.c: Include gansidecl.h for PROTO.
3617 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
3618 defined. Don't declare dwarf2out_cfi_label here.
3619 * dwarf2.h: Add declarations of DWARF2 unwind info support
3620 functions.
3621 * m68k.c: Include dwarf2.h.
3622 (output_function_prologue): Add dwarf2 support.
3623 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
3624 (INCOMING_FRAME_SP_OFFSET): Likewise.
3625
3626 * integrate.c (expand_inline_function): Make sure there is at
3627 least one insn that can be used as an insertion point.
3628
3629 Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
3630
3631 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
3632
3633 Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
3634
3635 * version.c: Bump for snapshot.
3636
3637 Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
3638
3639 Bring over from FSF.
3640
3641 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
3642
3643 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
3644 (get_pc_via_rdpc): Renamed from get_pc_sp64.
3645 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
3646
3647 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
3648
3649 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
3650 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
3651 -malign-functions=.
3652 (sparc_align_{loops,jumps,funcs}_string): Declare.
3653 (sparc_align_{loops,jumps,funcs}): Declare.
3654 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
3655 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
3656 (STACK_BIAS): Define.
3657 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
3658 test.
3659 (SPARC_SETHI_P): New macro.
3660 (CONST_OK_FOR_LETTER_P): Use it.
3661 (ASM_OUTPUT_ALIGN_CODE): Define.
3662 (ASM_OUTPUT_LOOP_ALIGN): Define.
3663 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
3664 (sparc_align_{loops,jumps,funcs}): New globals.
3665 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
3666 -malign-functions=.
3667 (move_operand): Use SPARC_SETHI_P.
3668 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
3669 perform test.
3670 (arith11_double_operand): Likewise.
3671 (arith10_double_operand): Likewise.
3672 (finalize_pic): Finish sparc64 support.
3673 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
3674 64 bit constants if able.
3675 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
3676 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
3677 ! TARGET_FPU.
3678 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
3679 (get_pc_sp32): Use for sparc64 as well.
3680 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
3681 (sethi_di_sp64_const): Likewise.
3682 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
3683 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
3684 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
3685
3686 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
3687
3688 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
3689 * sparc/linux.h (COMMENT_BEGIN): Likewise.
3690 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
3691
3692 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
3693
3694 Add sparc64 linux support.
3695 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
3696 to xm_file list on 32-bit sparc-linux.
3697 * sparc/xm-sp64.h: New file.
3698 * sparc/linux64.h: New file.
3699 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
3700 Don't include xm-sparc.h.
3701 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
3702 * glimits.h (LONG_MAX): Handle sparc64.
3703
3704 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
3705
3706 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
3707 * sparc.h (ASM_COMMENT_START): Define.
3708 * sparc.c (output_function_prologue): Use it.
3709 (sparc_flat_output_function_{epi,pro}logue): Likewise.
3710
3711 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
3712
3713 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
3714 use sparc.h's copies.
3715 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
3716 ascii form as well.
3717
3718 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3719
3720 * sparc.c (dwarf2out_cfi_label): Add declaration.
3721 (save_regs, output_function_prologue): Remove cast for it.
3722 (sparc_flat_{save_restore,output_function_prologue): Likewise.
3723 ({save,restore}_regs): No longer inline.
3724
3725 Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3726
3727 * fold-const.c (make_range): Correctly handle cases of converting
3728 from unsigned to signed type.
3729
3730 Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3731
3732 * fold-const.c (merge_ranges): Make sure that if one range is subset
3733 of another, it will always be the second range. Correct (+,-) case to
3734 account for this.
3735
3736 Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
3737
3738 * final.c (final_end_function): Also do dwarf2 thing if
3739 DWARF2_DEBUGGING_INFO.
3740 (final_start_function): Likewise.
3741
3742 Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
3743
3744 * expmed.c (expand_divmod): If compute_mode is not the same as
3745 mode, handle the case where convert_modes() causes op1 to no
3746 longer be a CONST_INT.
3747
3748 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
3749 note holding get_jump_flags() calculation to all JUMP_INSNs.
3750 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
3751 * rtl.c (reg_note_name): Add new note types.
3752
3753 Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
3754
3755 * rtlanal.c (computed_jump_p): Fix typo in last change.
3756
3757 Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3758
3759 * loop.c (indirect_jump_in_function_p): Return 0
3760 by default.
3761
3762 Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
3763
3764 * rs6000/xm-rs6000.h: Fix thinko in last change.
3765 * rs6000/xm-sysv4.h: Likewise.
3766
3767 Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
3768
3769 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
3770
3771 Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
3772
3773 * reg-stack.c (find_blocks): Fix thinko in last change.
3774
3775 1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3776
3777 * m68k.c (output_function_prologue): Add dwarf2 support.
3778
3779 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
3780 INCOMING_FRAME_SP_OFFSET): New definitions.
3781
3782 Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
3783
3784 * combine.c (try_combine): Use NULL_RTX instead of '0' where
3785 appropriate in calls to gen_rtx().
3786 * cse.c (cse_main): Likewise.
3787 * emit-rtl.c (gen_label_rtx): Likewise.
3788 * expr.c (init_expr_once): Likewise.
3789 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
3790 sched_analyze, init_rgn_data_dependences,
3791 compute_block_backward_dependences): Likewise.
3792 * sched.c (schedule_insns): Likewise.
3793 * varasm.c (immed_double_const): Likewise.
3794
3795 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
3796 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
3797
3798 Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
3799
3800 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
3801 (MULTILIB_DEFAULTS): Define.
3802 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
3803 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
3804 (LIBGCC_SPEC): Likewise.
3805 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
3806 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
3807 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
3808 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
3809 (EXTRA_PARTS, TAROUTOPTS): Delete.
3810 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
3811 (MULTILIB_OPTIONS): Define.
3812 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
3813 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
3814
3815 Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
3816
3817 * version.c: Bump for snapshot.
3818
3819 Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
3820
3821 * loop.c (loop_number): Delete function. Change all references
3822 to use uid_loop_num array.
3823 * loop.h (loop_number): Delete declaration.
3824 * unroll.c (unroll_loop): Change "loop_number" references to
3825 use uid_loop_num instead.
3826
3827 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
3828 conditional.
3829 (loop_unroll_iter): Remove unused variable and all references.
3830 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
3831 (insert_bct): Fix minor formatting problems.
3832 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
3833 (loop_unroll_iter): Removed unused decl.
3834 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
3835 Always record the unrolling factor.
3836
3837 * cse.c (simplify_relational_operation): Set h0u just like h0s.
3838 Similarly for h1u and h1s.
3839
3840 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
3841 (find_basic_blocks): Use computed_jump_p to determine if a
3842 particular JUMP_INSN is a computed jump.
3843 * reg-stack.c (find_blocks): Use computed_jump_p to determine
3844 if a particular JUMP_INSN is a computed jump.
3845 * rtlanal.c (jmp_uses_reg_or_mem): New function.
3846 (computed_jump_p): Likewise.
3847 * rtl.h (computed_jump_p): Declare.
3848 * genattrtab.c (pc_rtx): Define and initialize.
3849 * loop.c (loop_optimize): Always determine if the current
3850 function has a computed jump.
3851 (indirect_jump_in_function_p): Use computed_jump_p to determine
3852 if a particular JUMP_INSN is a computed jump.
3853
3854 * loop.c (fix_bct_param): Delete unused function.
3855 (check_bct_param): Likewise.
3856
3857 Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
3858
3859 * frame.c (__deregister_frame): Check properly for initialized object.
3860
3861 Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3862
3863 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
3864
3865 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3866
3867 * jump.c (thread_jumps): check can_reverse_comparison_p before
3868 threading a reversed-condition jump.
3869
3870 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
3871 * haifa-sched.c (update_flow_info): Likewise.
3872
3873 Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
3874
3875 * Makefile.in (BOOT_CFLAGS): Use -O2.
3876
3877 * configure.in (strtoul, bsearch): Have autoconf check for these
3878 functions.
3879 * configure, config.in: Rebuilt.
3880
3881 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
3882 * mips/mips.h (alloca): Likewise.
3883 * rs6000/xm-rs6000.h (alloca): Likewise.
3884 * rs6000/xm-sysv4.h: Likewise.
3885
3886 Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
3887
3888 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
3889 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
3890 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
3891
3892 * except.c (end_eh_unwinder): Subtract 1 from return address.
3893 * libgcc2.c (__throw): Likewise.
3894 (find_exception_handler): Don't change PC here. Compare end with >.
3895
3896 Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
3897
3898 * v850.c (compute_register_save_size): Correct register
3899 number.
3900 * v850.md (save_interrupt, return_interrupt): Correct
3901 register number.
3902 * v850/lib1funcs.asm (save_interrupt): Correct register number.
3903 (return_interrupt): Use stack pointer, not element pointer.
3904
3905 1997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
3906
3907 * configure.in, configure: Make sure to create the stage* and include
3908 symbolic links in each subdirectory.
3909
3910 Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
3911
3912 * pa.md (reload_peepholes): Don't allow addresses with side
3913 effects for the memory operand.
3914
3915 Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
3916
3917 * libgcc2.c (find_exception_handler): Subtract one from our PC when
3918 looking for a handler, to avoid hitting the beginning of the next
3919 region.
3920
3921 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
3922
3923 Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
3924
3925 * mips/abi64.h (LONG_MAX_SPEC): Define.
3926 * mips.h (LONG_MAX_SPEC): Define.
3927 (CPP_SPEC): Include long_max_spec.
3928 (EXTRA_SPECS): Include long_max_spec.
3929
3930 Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
3931
3932 * v850.c (construct_save_jarl): Fix thinko in last change.
3933
3934 Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
3935
3936 * version.c: Bump for snapshot.
3937
3938 Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
3939
3940 * libgcc2.c (find_exception_handler): Not found is -1.
3941
3942 * integrate.c (expand_inline_function): Move expand_start_bindings
3943 after expanding the arguments.
3944
3945 Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
3946
3947 * expr.c (expand_expr): Remove previous incorrect change.
3948 If target and slot has no DECL_RTL, then call mark_addressable
3949 again for the slot after we give it RTL.
3950
3951 Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
3952
3953 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
3954 again for the slot after we give it RTL.
3955
3956 Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
3957
3958 * v850.c (register_is_ok_for_epilogue,
3959 pattern_is_ok_for_epilogue, construct_restore_jr,
3960 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
3961
3962 * v850.h (pattern_is_ok_for_prologue,
3963 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
3964 predicates.
3965
3966 * v850.md: Replace prologue and epilogue patterns with a
3967 match_parallel pattern.
3968
3969 Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
3970
3971 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
3972 * configure.in: Use EGCS_PROG_INSTALL.
3973
3974 Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
3975
3976 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
3977 extern inline function.
3978
3979 Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
3980
3981 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
3982 (concat_loc_descriptor): New function.
3983 (loc_descriptor): Call it.
3984 (add_AT_location_description): Also elide the descriptor if both
3985 halves of a CONCAT are pseudos.
3986 (add_location_or_const_value_attribute): Recognize CONCAT too.
3987
3988 Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
3989
3990 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
3991
3992 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
3993 out-or-range reg_offset.
3994 (output_epilog): Likewise.
3995
3996 Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
3997
3998 * cse.c (simplify_relational_operation): If MODE specifies a
3999 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
4000 is derived from the sign bit of the low word.
4001
4002 Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
4003
4004 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
4005
4006 * dwarf2.h: Add DW_CFA_GNU_args_size.
4007 * frame.c (execute_cfa_insn): Likewise.
4008 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
4009 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
4010 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
4011 insn, hand it off to dwarf2out_stack_adjust.
4012 (dwarf2out_begin_prologue): Initialize args_size.
4013 * frame.h (struct frame_state): Add args_size.
4014 * libgcc2.c (__throw): Use args_size.
4015 * final.c (final_scan_insn): If we push args, hand off all insns
4016 to dwarf2out_frame_debug.
4017 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
4018
4019 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
4020 Handle epilogue restore of SP from FP.
4021 * emit-rtl.c (gen_sequence): Still generate a sequence if the
4022 lone insn has RTX_FRAME_RELATED_P set.
4023
4024 * frame.c (extract_cie_info): Handle "e" augmentation.
4025 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
4026 absence of UNALIGNED_*_ASM_OP.
4027 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
4028 (output_call_frame_info): Use "e" instead of "z" for augmentation.
4029 Don't emit augmentation fields length.
4030 (dwarf2out_do_frame): Move outside of #ifdefs.
4031 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
4032 opcodes.
4033
4034 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
4035 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
4036 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
4037 * sparc/sun4gas.h: New file.
4038 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
4039
4040 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
4041 __register_frame_table and __deregister_frame.
4042
4043 1997-09-15 Brendan Kehoe <brendan@cygnus.com>
4044
4045 * except.c (find_exception_handler_labels): Use xmalloc instead of
4046 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
4047 in some cases.
4048
4049 Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
4050
4051 * Makefile.in: Various changes to build info files
4052 in the object tree rather than the source tree.
4053
4054 Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
4055
4056 * fixinc.math: New file to fix math.h on some systems.
4057 * configure.in (freebsd, netbsd): Use fixinc.math on these
4058 systems.
4059 * configure: Rebuilt.
4060
4061 Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
4062
4063 * regmove.c (regmove_optimize): If we end up moving the
4064 original insn due to lifetime overlaps, make sure to move
4065 REG_NOTES too.
4066
4067 Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
4068
4069 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
4070
4071 Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
4072
4073 * haifa-sched.c (add_branch_dependences): Make each insn in
4074 a SCHED_GROUP_P block explicitly depend on the previous insn.
4075
4076 Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
4077
4078 * except.h: Prototype dwarf2 hooks.
4079 * expr.c: Adjust.
4080
4081 Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
4082
4083 * configure.in (native_prefix): Delete.
4084 (mips-dec-netbsd): Don't set prefix.
4085 (*linux*): Don't set prefix.
4086
4087 Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
4088
4089 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
4090 defined. If not defined, include <sys/varargs.h> if
4091 HAVE_SYS_VARARGS_H is defined.
4092 * configure.in: Test for varargs.h and sys/varargs.h.
4093 * configure: Regenerate with autoconf.
4094 * config.in: Regenerate with autoheader.
4095
4096 * cpplib.c (quote_string): Cast first arg of sprintf call
4097 from "unsigned char *" to "char *".
4098 (output_line_command): Ditto.
4099 (macroexpand): Ditto.
4100 (do_line): Cast atoi arg from "unsigned char *" to "char *".
4101
4102 Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
4103
4104 * version.c: Bump for snapshot.
4105
4106 * Makefile.in (compare): Exit with nonzero status if there
4107 are comparison failures. Note which files failed the
4108 comparison test in .bad_compare.
4109
4110 Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4111
4112 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
4113
4114 Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
4115
4116 * Makefile.in (LN, LN_S): New macros, use where appropriate.
4117 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
4118 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
4119 * configure: Regenerated.
4120
4121 Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
4122
4123 * loop.c (strength_reduce): Fix typo.
4124
4125 Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
4126
4127 * m88k/m88k.c (struct option): Rename to struct options.
4128 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
4129 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
4130 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
4131 __DOLPHIN__ or sysV88.
4132
4133 Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
4134
4135 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
4136 create new subreg.
4137
4138 Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
4139
4140 * config.sub: Accept 'amigados' for backward compatability.
4141
4142 Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4143
4144 * Makefile.in (testsuite/site.exp): New target.
4145 (check-gcc, check-g++): Depend on testsuite/site.exp.
4146 Don't stop for failure.
4147
4148 Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
4149
4150 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
4151 if DWARF2_UNWIND_INFO.
4152
4153 Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
4154
4155 Add support for exception handling using DWARF 2 frame unwind info.
4156 Currently works on SPARC and MIPS, and almost on x86.
4157
4158 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
4159 next_stack_level, in_reg_window): Helper fns.
4160 (__throw): Implement for DWARF2_UNWIND_INFO.
4161
4162 * expr.c (expand_builtin): Handle builtins used by __throw.
4163 * tree.h (enum built_in_function): Add builtins used by __throw.
4164 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
4165 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
4166 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
4167 (expand_builtin_extract_return_addr): Likewise.
4168 (expand_builtin_frob_return_addr): Likewise.
4169 (expand_builtin_set_return_addr_reg): Likewise.
4170 (expand_builtin_eh_stub): Likewise.
4171 (expand_builtin_set_eh_regs): Likewise.
4172 (eh_regs): Choose two call-clobbered registers for passing back values.
4173
4174 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
4175 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
4176 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
4177 (stmp-multilib): Likewise.
4178 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
4179
4180 * except.c: #include "defaults.h".
4181 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
4182 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
4183 (register_exception_table_p): New fn.
4184 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
4185 (end_eh_unwinder): Likewise.
4186
4187 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
4188 call __register_frame and __deregister_frame as needed.
4189 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
4190 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
4191 EH_FRAME_SECTION_ASM_OP.
4192 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
4193 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
4194 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
4195
4196 * dwarf2out.c (output_call_frame_info): If no support for
4197 EXCEPTION_SECTION, mark the start of the frame info with a
4198 collectable tag.
4199 * collect2.c (frame_tables): New list.
4200 (is_ctor_dtor): Recognise frame entries.
4201 (scan_prog_file): Likewise.
4202 (main): Pass -fno-exceptions to sub-compile. Also do collection
4203 if there are any frame entries.
4204 (write_c_file_stat): Call __register_frame_table and
4205 __deregister_frame as needed.
4206 (write_c_file_glob): Likewise.
4207
4208 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
4209 Also require unaligned reloc support.
4210 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
4211 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
4212 * sparc/sysv4.h: Not here.
4213
4214 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
4215 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
4216 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
4217
4218 * libgcc2.c (L_eh): Reorganize, moving code shared by different
4219 EH implementations to the top.
4220 (find_exception_handler): Split out. Start from 0. Compare against
4221 end with >=.
4222 (__find_first_exception_table_match): Use it.
4223 * except.c (output_exception_table): Don't do anything if there's
4224 no table. Don't output a first entry of zeroes.
4225 (eh_outer_context): Adjust properly.
4226 (add_eh_table_entry): Use xrealloc.
4227 * toplev.c (compile_file): Just call output_exception_table.
4228
4229 Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
4230
4231 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
4232
4233 Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
4234
4235 * except.c (eh_outer_context): Do masking using expand_and.
4236
4237 Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
4238
4239 Add port done awhile ago for the ARC cpu.
4240 * arc/arc.h: New file.
4241 * arc/arc.c: New file.
4242 * arc/arc.md: New file.
4243 * arc/initfini.c: New file.
4244 * arc/lib1funcs.asm: New file.
4245 * arc/t-arc: New file.
4246 * arc/xm-arc.h: New file.
4247 * ginclude/va-arc.h: New file.
4248 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
4249 * ginclude/varargs.h: Likewise.
4250 * Makefile.in (USER_H): Add va-arc.h.
4251 * configure.in (arc-*-elf*): Recognize.
4252 * longlong.h: Add ARC support.
4253
4254 Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
4255
4256 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
4257 when clearing non-BLKmode data.
4258
4259 Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
4260
4261 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
4262 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
4263
4264 * xm-m88k.h (USG): Only define if it hasn't already been defined.
4265
4266 * Makefile.in (risky-stage1): Delete gratutious whitespace.
4267
4268 * Makefile.in (clean): Delete libgcc1-test.
4269
4270 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
4271
4272 Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
4273
4274 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
4275 template.
4276
4277 Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4278
4279 * dwarf2out.c (output_call_frame_info): Call named_section.
4280
4281 Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
4282
4283 * haifa-sched.c (print_value): Fix last change.
4284
4285 Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
4286
4287 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
4288 write_symbols.
4289
4290 Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
4291
4292 * mips.c (function_prologue): Set up the CFA when ABI_32.
4293
4294 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
4295 for dwarf2 unwind info.
4296 (output_function_prologue, sparc_flat_output_function_prologue): Same.
4297
4298 * final.c (final_end_function): Check dwarf2out_do_frame instead
4299 of DWARF2_DEBUG for dwarf2 unwind info.
4300 (final_scan_insn): Likewise.
4301 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
4302 (final): Not here.
4303
4304 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
4305 count > 0.
4306
4307 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
4308
4309 Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
4310
4311 * v850.h (ASM_SPEC): Pass on target processor.
4312 (CPP_PREDEFINES): Only define if not already specified.
4313 (TARGET_VERSION): Only define if not already specified.
4314 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
4315 processor.
4316 (EXTRA_SWITCHES): Extra entries in the switches array.
4317 (TARGET_DEFAULT): Set default target processor.
4318
4319 Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
4320
4321 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
4322 cases, add %# and %/, and add : to make them into extended asms.
4323
4324 Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
4325
4326 * alias.c (init_alias_analysis): Clean up incompatible pointer
4327 type warning in bzero.
4328 * regmove.c (regmove_optimize): Ditto.
4329 * haifa-sched.c (find_rgns): Ditto.
4330
4331 * haifa-sched.c (print_value): Clean up ptr->int cast
4332 warnings.
4333
4334 Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
4335
4336 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
4337 * install.texi (Configurations): Ditto.
4338 * config.sub: Ditto.
4339
4340 Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
4341
4342 * Makefile.in (sdbout.o): Depend on insn-config.h.
4343
4344 Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
4345
4346 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
4347 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
4348
4349 Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
4350
4351 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
4352 prologue insn, only the first elt is significant.
4353 (output_call_frame_info): For exception handling, always use 4-byte
4354 fields as specified by the dwarf2 spec.
4355 Don't skip trivial FDEs.
4356
4357 Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
4358
4359 * version.c: Bump for snapshot.
4360
4361 Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
4362
4363 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
4364 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
4365 when op1_is_pow2.
4366
4367 Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
4368
4369 * final.c (shorten_branches): During first pass, assume worst
4370 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
4371
4372 * Makefile.in (distclean): Remove various things left around
4373 by running the testsuite.
4374
4375 Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
4376
4377 * configure.in (out_file): Emit definition to config.status in order
4378 to have a defined value for configure.lang.
4379 * configure: Re-built.
4380
4381 Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
4382
4383 * configure.in: Make symlink to as-new rather than as.new. Similarly
4384 for ld-new.
4385 * configure: Rebuilt.
4386
4387 Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
4388
4389 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
4390
4391 Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
4392
4393 * sparc/sparc.md: Add ultrasparc scheduling support.
4394 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
4395
4396 Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
4397
4398 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
4399 as initial value for real_label_map.
4400 (copy_for_inline): Likewise.
4401
4402 Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4403
4404 * sched.c (update_flow_info) When looking if to set found_split_dest
4405 or found_orig_dest, look at all parts of a PARALLEL.
4406 * haifa-sched.c (update_flow_info): Likewise.
4407
4408 Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
4409
4410 * v850: New directory for v850 port.
4411 * v850/lib1funcs.asm: New file.
4412 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
4413 * ginclude/va-v850.h: New file.
4414 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
4415 * configure.in (mn10200-*-*): New target.
4416 * configure: Rebuilt.
4417 * config.sub: Handle v850-elf.
4418 * Makefile.in (USER_H): Add va-mn10200.h.
4419 * invoke.texi: Document v850 stuff.
4420
4421 Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
4422
4423 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
4424 has integer TYPE_{MAX,MIN}_VALUE before using them.
4425
4426 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
4427 __HPUX_ASM__ versions.
4428
4429 Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
4430
4431 * install.sh: Delete duplicate install script.
4432
4433 Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
4434
4435 * reg-stack.c (subst_stack_regs): Pop the stack register for a
4436 computed goto which sets the same stack register.
4437
4438 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
4439 destination are both on the regstack.
4440 (subst_stack_regs_pat): Put the destination at the top of the regstack.
4441
4442 Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
4443
4444 * mips.md (nonlocal_goto_receiver): Define.
4445
4446 * profile.c (output_arc_profiler): Check next_insert_after for non
4447 NULL before deferencing it.
4448
4449 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
4450
4451 Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
4452
4453 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
4454
4455 Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
4456
4457 * toplev.c (rest_of_compilation): For passes starting with
4458 flow_analysis, use print_rtl_with_bb instead of print_rtl.
4459
4460 * print-rtl.c (print_rtl_single): Print a single rtl value to a
4461 file.
4462
4463 * flow.c (print_rtl_with_bb): Print which insns start and end
4464 basic blocks. For the start of a basic block, also print the live
4465 information.
4466
4467 Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
4468
4469 * toplev.c (main): Change #elif to #else/#ifdef
4470
4471 * tlink.c: Include ctype.h.
4472 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
4473
4474 Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
4475
4476 * bitmap.c: Conditionally include stdlib.h.
4477 (free): Provide a declaration if NEED_DECLARATION_FREE.
4478
4479 Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
4480
4481 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
4482
4483 Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
4484
4485 * profile.c (output_arc_profiler): Verify next_insert_after is an
4486 INSN before and after skipping a stack pop.
4487
4488 Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4489
4490 * final.c (shorten_branches): Don't count the lengths of deleted
4491 instructions.
4492
4493 Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
4494
4495 * version.c: Bump for snapshot.
4496
4497 Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
4498
4499 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
4500 two bitmaps ANDed together.
4501 (bitmap_print): Declare.
4502
4503 * bitmap.c (function_obstack): Don't declare any more.
4504 (bitmap_obstack): Obstack for allocating links from.
4505 (bitmap_obstack_init): New static to say whether to initialize
4506 bitmap_obstack.
4507 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
4508 (bitmap_release_memory): Free all memory allocated from
4509 bitmap_obstack.
4510
4511 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
4512 EXECUTE_IF_AND_IN_BITMAP.
4513
4514 Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
4515
4516 * alias.c (true_dependence): Address with AND can alias scalars.
4517 (anti_dependence, output_dependence): Likewise.
4518
4519 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
4520
4521 Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
4522
4523 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
4524 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
4525 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
4526 definitions. Use -qrtems instead of -mrtems.
4527
4528 Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
4529
4530 * xm-sco5.h (sys_siglist): Define.
4531 (SYS_SIGLIST_DECLARED): Likewise.
4532
4533 Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
4534
4535 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
4536
4537 Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
4538
4539 * except.c (eh_outer_context): Expand masking operation using
4540 expand_binop.
4541
4542 Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
4543
4544 * alpha.md (floatdisf2-1): New pattern.
4545
4546 Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
4547
4548 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
4549 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
4550 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
4551 * gcc.texi: Note that if you define sys_siglist that you should
4552 also define SYS_SIGLIST_DECLARED.
4553
4554 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
4555 are relative to the next instruction, not the current instruction.
4556
4557 Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
4558
4559 * local-alloc.c (contains_replace_regs): New function.
4560 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
4561 verify that there is no existing REG_EQUIV note, and add a call to
4562 contains_place_regs.
4563
4564 Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4565
4566 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
4567 (STARTFILE_SPEC): Always use crtbegin.o%s
4568 (ENDFILE_SPEC): Always use crtend.o%s.
4569
4570 Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
4571
4572 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
4573 is passed in.
4574 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
4575 SFmode for 64 bit hosts.
4576
4577 Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
4578
4579 * fixincludes: Permits spaces between # and define. Discard C++
4580 comments in sys/pci.h on HP/UX 10.20.
4581
4582 Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
4583
4584 * version.c: Bump for snapshot.
4585
4586 * pa.c (restore_unscaled_index_insn_codes): New function.
4587 (record_unscaled_index_insn_codes): Likewise.
4588 (output_function_prologue): Call restore_unscaled_index_insn_codes.
4589 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
4590 (pa_reorg): Call record_unscaled_index_insn_codes.
4591
4592 * haifa-sched.c (move_insn): Handle notes correctly for insns
4593 with SCHED_GROUP_P set.
4594
4595 Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4596
4597 * alpha/xm-linux.h (USE_BFD): Undef before define.
4598
4599 Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
4600
4601 * cse.c (cse_insn): Don't record BLKmode values.
4602
4603 Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
4604
4605 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
4606
4607 Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
4608
4609 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
4610 * collect2.c (sys_errlist): Likewise.
4611 * cpplib.c (sys_errlist): Likewise.
4612 * gcc.c (sys_errlist): Likewise.
4613 * protoize (sys_errlist): Likewise.
4614 * configure.in: Check for strerror.
4615 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
4616 * xm-gnu.h (HAVE_STRERROR): Likewise.
4617 * xm-linux.h (HAVE_STRERROR): Likewise.
4618 * xm-netbsd.h (HAVE_STRERROR): Likewise.
4619 * xm-bsd386.h (HAVE_STRERROR): Likewise.
4620 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
4621 * xm-dos.h (HAVE_STRERROR): Likewise.
4622 * xm-mingw32.h (HAVE_STRERROR): Likewise.
4623 * xm-pa.h (HAVE_STRERROR): Likewise.
4624 * xm-papro.h (HAVE_STRERROR): Likewise.
4625 * xm-sysv4.h (HAVE_STRERROR): Likewise.
4626 * configure, config.in: Rebuilt.
4627
4628 * Makefile.in: Add several missing "else true" clauses.
4629
4630 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
4631 * mips-tfile.c: Likewise.
4632 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
4633 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
4634 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
4635 * configure.in: Check for sys_siglist declaration.
4636 * configure, config.in: Rebuilt.
4637
4638 Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
4639
4640 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
4641 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
4642 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
4643 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
4644 * rs6000/sysv4.h (extra_subtarget_switches): Added new
4645 macro EXTRA_SUBTARGET_SWITCHES.
4646 * configure.in (sh*-*-rtems*): New target.
4647 * sh/rtems.h: New file.
4648 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
4649 * configure: Rebuilt.
4650
4651 Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
4652
4653 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
4654
4655 Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
4656
4657 * rs6000.md: Make DF fused-add operations pay attention to
4658 -mno-fused-add.
4659
4660 Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
4661
4662 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
4663
4664 Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
4665
4666 * pa.md (reload_peepholes): Make sure operand is a REG before
4667 examining REGNO. Allow general registers too.
4668
4669 Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
4670
4671 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
4672
4673 Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
4674
4675 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
4676 to reallocate abbrev_die_table.
4677
4678 Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
4679
4680 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
4681
4682 1997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4683
4684 * Makefile.in (config.status): Depend on version.c
4685
4686 * expr.h (insn_gen_function): Reenable prototype.
4687
4688 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
4689 first parameter.
4690
4691 Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
4692
4693 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
4694
4695 Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
4696
4697 * version.c: Bump for latest snapshot.
4698
4699 * bc-optab.c: Conditionally include stdlib.h.
4700 (free): Provide a declaration if NEED_DECLARATION_FREE.
4701 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
4702 * rtl.h (free): Remove declaration.
4703 * tree.h (free): Remvoe declaration.
4704
4705 * configure: Rebuilt.
4706
4707 Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
4708
4709 * flags.h (flag_move_all_movables): Declare.
4710 (flag_reduce_all_givs): Likewise.
4711 * loop.c (move_movables): Handle flag_move_all_movables.
4712 (strength_reduce): Handle flag_reduce_all_givs.
4713 * toplev.c (flag_move_all_movables): Define.
4714 (flag_reduce_all_givs): Likewise.
4715 (f_options): Add -fmove-all-movables and -freduce-all-givs.
4716 * invoke.texi: Document new options, including alias stuff that
4717 wasn't included last time.
4718
4719 Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
4720
4721 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
4722 * t-mn10200: Ditto.
4723 * t-vxsparc: Ditto.
4724 * t-vxworks68: Ditto.
4725 * t-vxworks960: Ditto.
4726 * t-vx29k: Ditto.
4727
4728 Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
4729
4730 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
4731 if not already defined, and USE_C_ALLOCA not defined.
4732
4733 Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
4734
4735 * config.guess: Replace with script that uses ../config.guess.
4736
4737 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
4738 if USE_GNULIBC_1 is not defined.
4739
4740 Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
4741
4742 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
4743 * config.guess: Recognize alpha-linux-gnulibc1.
4744 * configure.in (alpha-*-linux-gnulibc1): New target.
4745 (alpha-*-linux-gnu*): Don't build crtbegin/end.
4746
4747 Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
4748
4749 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
4750 last change.
4751
4752 Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
4753
4754 * loop.c (combine_movables): Earlier insns don't match later ones.
4755
4756 Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4757
4758 * config/linux.h (CC1_SPEC): Define it only if not defined.
4759
4760 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
4761 <linux.h>
4762
4763 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
4764 USE_GNULIBC_1 is not defined.
4765
4766 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
4767
4768 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
4769 as 1 if USE_GNULIBC_1 is not defined.
4770
4771 Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
4772
4773 * reorg.c (dbr_schedule): Allow current_function_return_rtx
4774 to be something other than a REG.
4775 * function.c (expand_function_end): Fix current_function_return_rtx
4776 if it was a pseudo.
4777
4778 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
4779 * x-netbsd: Likewise
4780 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
4781 (INSTALL_HEADERS): Delete.
4782 * x-dguxbcs: Likewise.
4783 * x-hp3bsd44: Likewise
4784 * x-pa: Likewise.
4785
4786 Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4787
4788 * i386.md (pop): pop increments the stack pointer.
4789 (prologue_set_stack_ptr): New pattern.
4790 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
4791 instead of subsi3.
4792
4793 Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
4794
4795 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
4796 address where an offsettable address is required.
4797
4798 Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
4799
4800 * loop.c (check_final_value): Don't miss a biv increment in a
4801 parallel.
4802
4803 Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
4804
4805 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
4806 TYPE_DECL_IS_STUB instead of DECL_NAME.
4807
4808 Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4809
4810 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
4811
4812 Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
4813
4814 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
4815
4816 Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
4817
4818 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
4819 (find_post_sched_live): Likewise.
4820
4821 * haifa-sched.c (schedule_block): Remove old code to get arguments
4822 from hard regs into pseudos early.
4823
4824 Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
4825
4826 * version.c: Bump for new snapshot.
4827
4828 * local-alloc.c (update_equiv_regs): All the target to reject
4829 promotion of some REG_EQUAL to REG_EQUIV notes.
4830 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
4831
4832 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
4833 secondary reloads.
4834
4835 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
4836 store of the argument registers.
4837
4838 Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
4839
4840 * fold-const.c (multiple_of_p): New function.
4841 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
4842
4843 Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
4844
4845 * expr.h (insn_gen_function): Temporarily remove prototype.
4846
4847 Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
4848
4849 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
4850 filenames. Use sed to extract base filename for install.
4851
4852 Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
4853
4854 * unroll.c (find_splittable_givs): Only share if two givs have the
4855 same add and multiply values.
4856
4857 Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
4858
4859 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
4860 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
4861
4862 Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
4863
4864 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
4865 around branch tables.
4866 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
4867 and .end_brtab directives if TARGET_GAS.
4868
4869 Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
4870
4871 * alias.c (true_dependence): Pass x_addr not x to varies.
4872
4873 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
4874 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
4875 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
4876 declarations.
4877 * config.in, configure: Regenerate.
4878
4879 Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
4880
4881 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
4882 LO_SUM.
4883 (record_set): Handle LO_SUM like PLUS.
4884 (init_alias_analysis): When following chains of base addresses,
4885 do not stop on reaching a hard register.
4886
4887 Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
4888
4889 * version.c: Bump for new snapshot.
4890
4891 Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
4892
4893 * alpha.h (ARCH_ASM_FILE_START): Define.
4894 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
4895 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
4896
4897 Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
4898
4899 * Makefile.in (install-common): Put gcov comment at start of line.
4900
4901 Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
4902
4903 * alias.c (init_alias_analysis): When simplifying the reg_base_value
4904 array, simplify entries for hard registers too.
4905
4906 Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
4907
4908 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
4909 list.
4910
4911 Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
4912
4913 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
4914 block_stack before dereferencing it.
4915
4916 Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
4917
4918 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
4919
4920 Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
4921
4922 * cplus-dem.c: Add 'extern' to prepends_underscore.
4923
4924 Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
4925
4926 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
4927 (get_issue_rate): Delete.
4928 * pa.h (ISSUE_RATE): Define.
4929
4930 * configure.in: Turn on haifa by default for the PA.
4931 * configure: Rebuilt.
4932 * pa.c (override_options): Accept -mschedule=7200 option.
4933 (pa_adjust_cost): No longer need to scale costs for newer
4934 processors.
4935 * pa.h (enum processor_type): Add PROCESSOR_7200.
4936 * pa.md: Revamp scheduling parameters to work better with
4937 haifa. Add scheduling parameters for the 7200.
4938
4939 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
4940 insns too.
4941 (schedule_block): When adjusting basic_block_{head,end}, account
4942 for movement of SCHED_GROUP_P insns too.
4943
4944 * haifa-sched.c (debug_dependencies): Fix thinko.
4945
4946 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
4947 (site.exp, check, check-g++, check-gcc): New targets.
4948
4949 * haifa-sched.c: Make lots of variables static.
4950
4951 Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4952
4953 * expr.h, real.h: Finish prototyping.
4954
4955 Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
4956
4957 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
4958 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
4959 * reload1.c: Undo bugfix from Aug 11.
4960
4961 Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
4962
4963 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
4964 quotes around the name.
4965 * configure: Regenerate.
4966
4967 Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
4968
4969 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
4970
4971 Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
4972
4973 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
4974 to sub-makes to avoid building more passes than the user might have
4975 requested on the command line.
4976
4977 Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
4978
4979 * configure.in: Expurgate `broken_install' (install is
4980 autoconfed).
4981
4982 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
4983 relevant).
4984
4985 Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
4986
4987 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
4988 functions and declarations.
4989 (analyze_loop_iterations): Use condjump_p.
4990 (insert_bct): Likewise. Use exact_log2.
4991
4992 Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
4993
4994 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
4995 (schedule_region): Likewise.
4996 (schedule_insns): Likewise.
4997
4998 * PROJECTS: Update with Haifa stuff.
4999
5000 Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
5001
5002 * version.c: Change the version string to look like:
5003 egcs-2.90.00 970814 (gcc2-970802 experimental).
5004
5005 * loop.c (is_conditional_branch): Make definition match declaration.
5006
5007 * gcc.c: Take out experimental snapshot warning message.
5008
5009 Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
5010
5011 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
5012 print out the names of the notes. Print out the name of the insn
5013 that is not a note, and not an {,CALL_,JUMP_}INSN.
5014
5015 Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
5016
5017 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
5018 again for the slot after we give it RTL.
5019
5020 Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
5021
5022 * configure.in (haifa configury): Fix typo.
5023 * configure: Regenerate.
5024
5025 Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
5026
5027 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
5028
5029 * gcc.info*: Rebuilt.
5030
5031 * COPYING.g77, README.g77: New files.
5032 * real.c (ereal_unto_float, ereal_unto_double): New functions.
5033 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
5034 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
5035
5036 Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
5037
5038 * Integrate Haifa instruction scheduler.
5039 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
5040 to sched with $(SCHED_CFLAGS.
5041 * configure.in: Handle --enable-haifa.
5042 * configure: Rebuilt.
5043 * flags.h: Add new flags for haifa instruction scheduler.
5044 * genattrtab.c (expand_units): For haifa, don't subtract one
5045 when computing blockage.
5046 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
5047 (flag_schedule_speculative): Ditto.
5048 (flag_schedule_speculative_load): Ditto.
5049 (flag_schedule_speculative_load_dangerous): Ditto.
5050 (flag_schedule_reverse_before_reload): Ditto.
5051 (flag_schedule_reverse_after_reload): Ditto.
5052 (flag_branch_on_count_reg): Ditto.
5053 (f_options): Add Haifa switches.
5054 (main): Turn off some Haifa options if appropriate macro is
5055 defined. Process Haifa switches.
5056 * unroll.c (iteration_info): No longer static, since Haifa
5057 scheduler uses it.
5058 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
5059 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
5060 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
5061 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
5062 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
5063 storage for the Haifa scheduler.
5064 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
5065 LABEL_NEXTREF.
5066 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
5067 are defined, call analyze_loop_iterations and insert_bct to use
5068 countdown loops.
5069 (record_giv): Refine test for jumps out of loops if HAIFA is
5070 defined.
5071 (analyze_loop_iterations): New function to identify if we can use
5072 a countdown loop.
5073 (insert_bct): Insert countdown loop.
5074 (instrument_loop_bct): Low level code to insert countdown loop.
5075 (loop_number): Calculate UID of loop.
5076 (indirect_jump_in_function_p): Return true if an indirect jump is
5077 in the function.
5078 (is_power_of_2): Return true if value is a power of 2.
5079 (is_conditional_branch): Return true if insn is a conditional
5080 jump.
5081 (fix_bct_param): Process -fbct-{min,max}-N switches.
5082 (check_bct_param): Return true if loop should be instrumented.
5083 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
5084 (loop_optimize): Initialize.
5085 (get_condition_for_loop): Ditto.
5086 * loop.c (strength_reduce): Inside of code that uses #ifdef
5087 HAVE_decrement_and_branch_on_count code, test it to make sure the
5088 condition is true.
5089 (instrument_loop_bct): Ditto.
5090 * haifa-sched.c: New file.
5091
5092
5093 * Integrate regmove pass.
5094 * Makefile.in (OBJS): Add regmove.o
5095 (regmove.o): Add dependencies.
5096 * flow.c (find_use_as_address): No longer static.
5097 * rtl.h (find_use_as_address): Declare.
5098 * toplev.c (regmove_dump, flag_regmove): Define.
5099 (f_options): Add -fregmove.
5100 (regmove_dump_file, regmove_time): Define.
5101 (fatal_insn): Close the regmove dump file.
5102 (compile_file): Initialize regmove_time; open/close the regmove dump
5103 file as needed. Print regmove time as needed.
5104 (rest_of_compilation): Run regmove pass if requested, dump
5105 RTL after regmove if requested.
5106 (main): If -O2 or more, turn on regmove. Handle dump switches.
5107 * regmove.c: New file.
5108
5109 Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
5110
5111 * Integrate tlink patch from jason@cygnus.com
5112 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
5113 (process_command): Increment n_switches for them. Don't discard
5114 their args. Validate them.
5115 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
5116 From Rohan Lenard.
5117 (process_command): Set include_prefixes from COMPILER_PATH.
5118 (main): Set COLLECT_GCC_OPTIONS sooner.
5119 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
5120 * tlink.c, hash.c, hash.h: New files.
5121 * Makefile.in (USE_COLLECT2): Always use collect2.
5122 (collect2): Depend on and link in hash.o and tlink.o.
5123 (tlink.o, hash.o): Add dependencies.
5124
5125 Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
5126
5127 * Integrate alias analysis changes from jfc@mit.edu
5128 * Makefile.in (OBJS): Add alias.o
5129 (alias.o): Add dependencies.
5130 * alias.c: New file.
5131 * sched.c: Remove alias analysis code. It lives in alias.c now.
5132 (sched_analyze_2): Add new arguments to true_dependence.
5133 (schedule_insns): Always call init_alias_analysis.
5134 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
5135 mark return value from such functions as a pointer and keep track of
5136 them for alias analysis. If a return value from a function is a
5137 pointer, mark it as such.
5138 * combine.c (distribute_notes): Handle REG_NOALIAS.
5139 * cse.c (struct write_data): Delete. No longer needed.
5140 (invalidate): Don't call set_nonvarying_address_components anymore.
5141 Use true_dependence to decide if an entry should be removed from
5142 the hash table.
5143 (invalidate_memory): Remove WRITES argument, simplify appropriately.
5144 Fix all callers.
5145 (note_mem_written): Similarly for WRITE_PTR argument.
5146 (invalidate_from_clobbers): Similarly for W argument.
5147 (invalidate_for_call): Remove memory elements from the hash table.
5148 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
5149 (cse_rtx_varies_p): New function. Derived from old
5150 cse_rtx_addr_varies_p.
5151 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
5152 Don't call note_mem_written anymore. Stack pushes invalidate the stack
5153 pointer if PUSH_ROUNDING is defined. No longer need to call
5154 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
5155 (skipped_writes_memory): Remove variable.
5156 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
5157 (invalidate_skipped_block): Simplify for new alias analysis code.
5158 (cse_set_around_loop): Likewise.
5159 (cse_main): Call init_alias_analysis.
5160 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
5161 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
5162 (f_options): Add new alias checking arguments.
5163 (main): Set flag_alias_check when optimizing.
5164 * local_alloc (validate_equiv_mem_from_store): Add new arguments
5165 to true_dependence.
5166 (memref_referenced_p): Likewise.
5167 * loop.c (NUM_STORES): Increase to 30.
5168 (prescan_loop): Only non-constant calls set unknown_address_altered.
5169 (invariant_p): Add new arguments to true_dependence.
5170 (record_giv): Initialize unrolled and shared fields.
5171 (emit_iv_add_mult): Call record_base_value as needed.
5172 * loop.h (struct induction): Add unrolled and shared fields.
5173 * unroll.c (unroll_loop): Call record_base_value as needed.
5174 (copy_loop_body): Likewise.
5175 (final_biv_value): Likewise.
5176 (final_giv_value): Likewise.
5177 (find_splittable_regs): Likewise. Only create one new pseudo
5178 if we have multiple address GIVs that were combined with the same
5179 dst_reg GIV. Note when a new register is created due to unrolling.
5180 * rtl.c (reg_note_name): Add REG_NOALIAS.
5181 * rtl.h (enum reg_note): Similarly.
5182 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
5183 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
5184 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
5185 (true_dependence, read_dependence, anti_dependence): Likewise.
5186 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
5187 (mark_user_reg, mark_reg_pointer): Likewise.
5188
5189
5190 * Integrate reload bugfix from Wilon which enables the PA port
5191 to bootstrap again.
5192 * reload1.c (reload): Sum needs for both OPADDR_ADDR and and
5193 OPERAND_ADDRESS when computing how many registers an insn needs.
5194 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
5195 conflict.
5196 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
5197 OPADDR_ADDR reload.
5198 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
5199 in reload_reg_use_in_op_addr do not reach the end.
5200 do not reach the end.
5201 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
5202 RELOAD_FOR_OPERAND_ADDRESS.
5203
5204 Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
5205
5206 * egcs project officially starts.
5207
This page took 0.259311 seconds and 6 git commands to generate.