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