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