1 Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
3 * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
5 Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7 * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
9 (pc_or_label_operand): Likewise.
10 (call_insn_operand): Likewise.
11 (consttable_operand): Likewise.
12 (m16_uimm3_b): Likewise.
13 (m16_simm4_1): Likewise.
14 (m16_nsimm4_1): Likewise.
15 (m16_simm5_1): Likewise.
16 (m16_nsimm5_1): Likewise.
17 (m16_uimm5_4): Likewise.
18 (m16_nuimm5_4): Likewise.
19 (m16_simm8_1): Likewise.
20 (m16_nsimm8_1): Likewise.
21 (m16_uimm8_1): Likewise.
22 (m16_nuimm8_1): Likewise.
23 (m16_uimm8_m1_1): Likewise.
24 (m16_uimm8_4): Likewise.
25 (m16_nuimm8_4): Likewise.
26 (m16_simm8_8): Likewise.
27 (m16_nsimm8_8): Likewise.
28 (m16_usym8_4): Likewise.
29 (m16_usym5_4): Likewise.
30 (mips_move_1word): Change type of variable `i' from int to size_t.
31 (mips_move_2words): Likewise.
32 (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
33 (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
34 (function_arg): Likewise.
35 (function_arg_partial_nregs): Mark parameter `named' with
37 (override_options): Use ISDIGIT instead of isdigit.
38 (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
39 (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
40 (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
41 function `fatal' to long before printing. Use
42 HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
43 times in this function.
44 (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
45 (function_epilogue): Likewise for parameters `file' and `size'.
46 Print an int with "%d" not "%ld".
47 (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
48 (mips_function_value): Likewise for parameter `func'.
49 (function_arg_pass_by_reference): Likewise for parameters `cum'
51 (extend_operator): Likewise for parameter `mode'
52 (highpart_shift_operator): Likewise.
54 * mips.md (mul_acc_si): Remove unused variable `macc'.
56 Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
58 * fold-const.c (fold): Revert last change. It breaks constant
61 Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
63 * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
64 prevent operands from being evaluated twice.
66 Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
68 * toplev.c (lang_options): Add -remap as a preprocessor option.
70 Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
72 * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
73 which set CC_REVERSED since reload should ensure that
74 the operands are already the correct type.
76 Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
78 * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
81 Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
83 * config/rs6000/x-aix43 (AR): Delete.
84 (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
86 Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
88 * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
90 Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
92 * mips.c (override_options): Replace word_mode with explicit
95 Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
97 * regmove.c (regmove_optimize): If we can't replace the
98 destination in an insn that sets the source, generate an explicit
99 move of the source to the destination.
100 (copy_src_to_dest): New function.
101 (toplevel): Include basic-block.h
103 * Makefile.in (regmove.o): Add basic-block.h dependencies.
105 Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
107 * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
109 Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
111 * rtl.h (rtx_def): Improve documentation.
112 (MEM_IN_STRUCT_P): Likewise.
114 Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
116 * c-decl.c (start_decl): Correct test for -Wmain.
118 * c-decl.c (grokdeclarator): Remove unused variable "last".
120 Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
122 * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
123 (expand_builtin_longjmp): Abort if value isn't const1_rtx.
124 Delete code storing value in static_chain_rtx.
125 (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
126 to second expand_expr call.
128 Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
130 * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
132 Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
134 * cppmain.c (fatal): New function.
135 * configure.in (cpp_main): New configuration variable.
136 * configure: Regenerated.
137 * Makefile.in (CCCP): Use a configuration variable to select basex
139 (cppmain$(exeext)): Add @extra_cpp_objs@.
141 Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
143 * objc/objc-act.c: Add cpplib declarations.
144 (lang_decode_option): Initialize cpplib if necessary.
145 (lang_decode_option): New argc/argv interface.
146 * tree.h (lang_decode_option): New argc/argv interface.
147 * toplev.c (lang_options): Add cpp options.
148 (main): New interface for lang_decode_option.
149 * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
150 unless -E, -M or -MM is specified.
151 * cpplib.h (cpp_handle_option): New function.
152 * cpplib.c (cpp_handle_option): New function.
153 (cpp_handle_options): Now calls cpp_handle_option.
154 * c-tree.h (c_decode_option): New argc/argv interface.
155 * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
156 * c-lang.c (lang_decode_option): New argc/argv interface.
157 * c-decl.c: Add cpplib declarations.
158 (c_decode_option): New argc/argv interface.
159 (c_decode_option): Call cpp_handle_option.
160 (c_decode_option): Now returns number of strings processed.
162 Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
164 * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
165 changes. Abort if the undo fails.
167 Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
169 * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
170 for each alternative. Do not replace a CONST_INT with a REG unless
173 Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
175 * decl.c (init_decl_processing): Fix typo.
177 * mips.c (gpr_mode): New variable.
178 (override_options): Initialize gpr_mode.
179 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
180 determine size and offset of general purpose registers save slots.
181 (save_restore_insns, mips_expand_prologue): Similarly.
183 * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
184 between constant representations when we have (SUBREG (REG)) with
185 REG equivalent to a constant.
187 Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
189 * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
191 Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
193 * fold-const.c (fold): Even with otherwise constant trees, look for
194 opportunities to combine integer constants.
196 Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com)
198 * i386.c (notice_update_cc): Clear cc_status.value2 in the
199 case of UNSPEC 5 (bsf).
201 * i386.md (movsfcc, movdfcc, movxfcc): The floating point
202 conditional move instructions don't support signed integer
205 Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
207 * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
210 * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
211 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
214 Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
216 * except.c (expand_start_catch): Rename to start_catch_handler.
217 (expand_end_catch): Delete function.
218 (expand_end_all_catch): Remove catch status that expand_end_catch
220 * except.h (expand_start_catch): Rename prototype.
221 (expand_end_catch): Delete prototype.
223 Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
225 * invoke.texi: Add documentation for -mips4 and -mabi=*.
227 Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
229 * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
230 (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
231 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
233 Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
235 * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
236 as the threshold to permit splitting memory operations.
238 Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
240 * mips.c (gpr_mode): New variable.
241 (override_options): Initialize gpr_mode.
242 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
243 determine size and offset of general purpose registers save slots.
244 (save_restore_insns, mips_expand_prologue): Similarly.
246 * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
247 (LIBGCC2_CFLAGS): Remove -fexceptions.
248 (LIB2FUNCS): Remove "_eh".
249 (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
250 it with -fexceptions.
252 * Makefile.in (local-alloc.o): Depend on insn-attr.h.
253 * local-alloc.c (block_alloc): Avoid creating false
254 dependencies for targets which use instruction scheduling.
256 Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
258 * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
259 (ASM_FINISH_DECLARE_OBJECT): Define;
260 * mips/elf64.h: Likewise.
262 Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
264 * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
266 Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com)
268 * version.c: Bump for snapshot.
270 Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
272 * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
273 (mulsidi3_ppc64): Delete.
275 Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
277 * Makefile.in (varasm.o): Depend on dbxout.h.
278 (cse.o): Depend on toplev.h and output.h.
279 (gcse.o): Depend on output.h.
281 * mips.c: Include system.h and toplev.h and remove redundant code.
282 Include output.h after tree.h so all its prototypes get activated.
283 * mips.md (table_jump): Remove unused variable `dest'.
285 * sparc.h: Add prototype for `v8plus_regcmp_op'.
287 * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
288 with __attribute__ ((__unused__)).
289 (__frame_dummy): Provide prototype before use, wrap it with
290 EH_FRAME_SECTION_ASM_OP.
292 * cse.c: Move inclusion of <setjmp.h> above local headers.
293 Include toplev.h and output.h.
295 * dbxout.h: Add prototype for `dbxout_begin_function'.
297 * final.c (final_scan_insn): Wrap variable `max_skip' in macro
298 ASM_OUTPUT_MAX_SKIP_ALIGN.
300 * gcse.c: Include system.h and output.h.
301 (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
302 Make extern instead of static.
303 (compute_can_copy): Only declare variables `reg' and `insn' when
304 AVOID_CCMODE_COPIES is not defined.
305 (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
306 (hash_scan_clobber): Likewise for `x' and `insn'.
307 (hash_scan_call): Likewise.
308 (record_last_set_info): Likewise for `setter'.
309 (mark_call): Likewise for `pat'.
310 (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
312 * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
313 length parameter so that it multiplies the number of elements by
316 * output.h: Add prototype for `weak_finish'.
318 * recog.h: Likewise for `validate_replace_src'.
320 * rtl.h: Likewise for `optimize_save_area_alloca',
321 `fix_sched_param', `purge_addressof', `gcse_main',
322 `regmove_optimize', `dbr_schedule', `branch_prob' and
325 * toplev.h: Likewise for `set_float_handler' and
326 `output_quoted_string'.
328 * varasm.c: Include dbxout.h.
330 Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
332 * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
333 GP_REG_P. Use gr_regs instead of GR_REGS.
335 Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
336 Jeff Law <law@cygnus.com>
338 * Revamped multiply support for MIPS chips.
339 * mips.c (extend_operator): New function.
340 (highpart_shift_operator): Likewise.
341 * mips.h: Declare new functions.
342 (PREDICATE_CODES): Add support for new predicates.
343 * mips.md (mulsi3 expander): Simplify.
344 (mulsi_mult3): Add another constraint alternative. Support
345 3 operand multiply instructions as found on various mips
347 (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
348 (mul_acc_si): New pattern and associated splitters.
349 (mulsidi3 expander): Rework to use mulsidi3_64bit and
351 (umulsidi3): New expander.
352 (mulsidi3_internal): Accept either sign or zero extended
353 operands and generate code as appropriate appropriately.
354 (mulsidi3_64bit): Similarly.
355 (smulsi3_highpart): Turn into an expander and generate code
356 to match new patterns.
357 (umulsi3_highpart): Likewise.
358 (xmulsi3_highpart_internal): New pattern.
359 (maddi patterns): Delete. Replace with:
360 (mul_acc_di, mul-acc_64bit_di): New patterns.
362 Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
364 * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
365 flag_new_exceptions runtime flag.
366 (struct old_exception_table): New struct which represents what
367 the exception table looks like without the new model.
368 (NEW_EH_RUNTIME): New value used as a tag in the exception table to
369 flag that this is a new style table.
370 * except.h: Remove compile time flag NEW_EH_MODEL.
371 (expand_builtin_eh_stub_old): New prototype.
372 * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
373 * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
374 * c-decl.c (init_decl_processing): Add new builtin function
375 __builtin_eh_stub_old.
376 * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
377 * flags.h (flag_new_exceptions): New runtime flag.
378 * toplev.c (flag_new_exceptions): Initialize default to 0,
379 -fnew-exceptions sets to 1.
380 * except.c (output_exception_table_entry): Output New style exception
381 identifier into table, and replace compile time flag NEW_EH_MODEL
382 with runtime flag flag_new_exceptions.
383 (output_exception_table): Replace compile time flag NEW_EH_MODEL.
384 (expand_builtin_eh_stub_old): Duplicates original functionality of
385 expand_builtin_eh_stub.
386 (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
387 * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
388 (old_find_exception_handler): New func, same as find_exception_handler
389 except it works on the old style exception table.
390 (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
391 of identifier in the exception table, and call appropriate routines.
393 Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
395 * function.c: Define current_function_cannot_inline.
396 (push_function_context_to): Save it.
397 (pop_function_context_from): Restore it.
398 * function.h (struct function): Provide it a home.
399 * output.h: Declare it.
400 * integrate.c (function_cannot_inline_p): Check it.
402 Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
404 * expr.c (force_operand): Detect PIC address loads before
405 splitting arithmetic.
407 Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com)
409 * version.c: Bump for snapshot.
411 Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
413 * tree.c (tree_class_check): Add braces to eliminate ambigious
415 (tree_check): Likewise.
417 Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
419 * reg-stack.c (subst_stack_regs_pat): Make sure the top of
420 stack is the destination for conditional move insn.
422 Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
424 * tree.h (TREE_VEC_END): Cast unused value to void.
426 * i386.c (print_operand): Use %lx for long operand.
428 Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
430 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
432 Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
434 * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
435 conversion functions.
437 Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
439 * toplev.c (flag_exceptions): Default to 0.
440 (compile_file): Remove flag_exceptions == 2 hack.
441 (main): Call lang_init_options.
442 * tree.h: Declare it.
443 * c-lang.c: Implement it.
444 * objc/objc-act.c: Likewise.
446 Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
448 * rs6000.md (restore_stack_block): Generate MEM and specify mode.
449 * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
450 * rs6000.c (rs6000_output_load_toc_table): Use fputs.
451 (output_function_profiler): Use asm_fprintf and fputs.
453 Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
455 * gencheck.c: Remove redundant stdio.h include. Add a definition
456 of xmalloc for when we are forced to link with alloca.o.
458 * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
461 * fold-const.c (constant_boolean_node): Make definition static to
464 Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
466 * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
467 (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
468 (do_spec, input_filename, input_filename_length): Make public.
469 (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
470 Call lang_specific_pre_link befor elinking.
472 Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
474 * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
475 the insn which has the most insns dependent on it.
477 Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
479 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
481 Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
483 * alpha.md (insxh-1): New insxl pattern for combine.
485 Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
487 * i386/i386.c (output_fp_conditional_move): New function
488 to output floating point conditional move.
489 (output_int_conditional_move): New function to output integer
492 * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
493 output_int_conditional_move () to output int conditional move.
494 (movsfcc+5, movdfcc+5, movxfcc+5): Call
495 output_fp_conditional_move () to output floating point
498 * i386/i386.c (put_condition_code): In INT mode, check
499 cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
501 Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
503 * dbxout.c (dbxout_type): Output arrays of bits as if
504 they were bitstrings for Chill
506 Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
508 * tree.c (get_inner_array_type): New function.
509 * tree.h (get_inner_array_type): Prototype.
510 * expr.h (STACK_SAVEAREA_MODE): New macro.
511 * expr.c (expand_builtin_setjmp): Initialize sa_mode using
513 (expand_builtin_longjmp): Likewise.
514 * explow.c (emit_stack_save): Likewise.
515 (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
517 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
518 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
519 * rs6000/aix43.h: New file.
520 * rs6000/t-aix43: New file.
521 * rs6000/x-aix41: New file.
522 * rs6000/x-aix43: New file.
523 * configure.in (rs6000-ibm-aix*): Use them.
524 * rs6000/powerpc.h: Delete.
525 * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
526 * rs6000/netware.h: and here.
527 * rs6000/win-nt.h: and here.
529 * rs6000/rs6000.c (processor_target_table, 620): Do not affect
531 (rs6000_override_options): Ignore flag_pic for AIX.
532 (rs6000_immed_double_const): Delete.
533 (u_short_cint_operand): Don't assume 32-bit CONST_INT.
534 (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
535 (num_insns_constant): mask64_operand() is 2 insns.
536 (logical_operand): Don't assume 32-bit CONST_INT.
537 (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
538 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
539 (mask_constant): HOST_WIDE_INT parameter.
540 (non_and_cint_operand): Delete.
541 (mask64_operand): New function.
542 (and64_operand): New function.
543 (function_arg_advance): DImode arguments do not need special
544 alignment when 64-bit.
545 (function_arg): Likewise.
546 (setup_incoming_varargs): Reverse reg_size assignment.
547 (print_operand): HOST_WIDE_INT second parameter.
548 (print_operand, 'B'): New case.
549 (print_operand, 'M'): Fix typo in lossage string.
550 (print_operandm 'S'): New case.
551 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
552 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
553 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
554 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
555 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
556 (rs6000_allocate_stack_space): Use {cal|la}.
557 (output_epilog): Use {cal|la}
558 (output_function_profiler): Add call glue to mcount call.
559 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
561 * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
562 (STACK_BOUNDARY): Depend on TARGET_32BIT.
563 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
564 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
565 (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
567 (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
568 (STACK_SAVEAREA_MODE): New macro.
569 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
570 (LEGITIMIZE_RELOAD_ADDRESS): New macro.
571 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
572 (ASM_FILE_START): Emit 64-bit ABI directive.
573 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
574 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
575 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
576 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
578 * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
579 Restore define_splits.
580 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
581 (floatsidf2_internal, floatunssidf2_internal2): Likewise.
582 Do not specify base register operand mode.
583 (floatsidf2_loadaddr): Do not specify base register operand mode.
584 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
585 register; do not specify mode. Remove !TARGET_POWERPC64 final
587 (floatsidf2_load): Do not specify base register operand mode. Remove
588 !TARGET_POWERPC64 final constraint.
589 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
590 base register operand mode.
591 (adddi3): Split large constants early.
592 (absdi3): Shift by 63, not 31.
593 (*mulsidi3_ppc64): New pattern.
594 (rotldi3): Add masking combiner patterns.
595 (anddi3): Add rldic{r,l} masking. Remove split of large constants
596 because PPC insns zero-extend.
597 (iordi3, xordi3): Split large constants early.
598 (movsi matcher): Remove S and T constraints.
599 (movsf const_double): create SImode constant from TARGET_DOUBLE.
600 (movdf_hardfloat32): Add default abort() case.
601 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
602 (movdi): Remove 64-bit constant generator. Try to convert
603 CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
604 (movdi_32): Add default abort() case.
605 (movdi_64): Add numerous ways to split 64-bit constants.
606 Make catch-all define_split more optimal and never FAIL.
607 (movti_ppc64): Add default abort() case.
608 (allocate_stack): Remove operand modes. Use Pmode.
609 (restore_stack_block): Remove operand modes. Generate Pmode
611 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
612 temporary. Save area is double Pmode.
613 (call_indirect_aix64, call_value_indirect_aix64): New patterns.
614 (call, call_value): Do not specify address operand mode. Choose
616 (*call_local64, *ret_call_local64): New patterns.
617 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
618 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
619 (compare): Materialize DImode truthvalues.
621 Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
623 * expr.c (safe_from_p): Avoid combinatorial explosion
624 over duplicate SAVE_EXPRs by ensuring we never recurse
625 on one that has already been visited.
627 Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
629 * loop.c (check_dbra_loop): Initialise final_value before
630 normalizing the loop.
632 Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
634 * reload1.c (reload_reg_free_for_value_p): New arguments out and
635 reloadnum. Changed all callers.
637 1998-06-03 Ulrich Drepper <drepper@cygnus.com>
639 * system.h: Add _() and N_() macros in preparation for gettext.
641 Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
643 * c-common.c (check_format_info): Put back check for C9x `hh'
644 length modifier. Warn about %n format writing into const. Remove
646 (format_char_info): Fix comments.
648 * configure.in: Set float_format to m68k for all m68k targets that
649 do not override LONG_DOUBLE_TYPE_SIZE.
650 * config/float-m68k.h: New file.
652 Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
654 * jump.c (jump_optimize): Remove debug messages accidentally left in
655 with the previous change.
657 Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
659 * expr.c (store_expr): Revert stray patch associated with
662 Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
664 * jump.c (rtx_unsafe_p): New function.
665 (jump_optimize): Use it on if/then/else transformations and
666 conditional move transformations.
668 Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
670 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
671 or VAR-- == CONST construct a proper mask if VAR is a bitfield.
672 Cope with CONST being out of range for the bitfield.
674 Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
676 * expr.c (emit_move_insn_1): When moving complex values in several
677 steps, emit a CLOBBER to show the destination dies.
679 Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
681 * Makefile.in (site.exp): Use the object testsuite directory as
682 the temporary directory.
684 * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
685 address of an ADDRESSOF rtx.
687 1998-06-02 Mike Stump <mrs@wrs.com>
689 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
690 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
691 * i960.md (ret, flush_register_windows): Define.
692 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
694 * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
696 Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
698 * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
699 around an OSF/1 library bug wrt sign-extension of inputs.
701 Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
703 * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
705 Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
707 * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
709 * varasm.c (assemble_variable): Augment alignment warning.
711 Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
713 * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
714 in the presence of IEEE negative 0's.
716 Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
718 * reload.c (find_reloads): Record the existing mode if
719 operand_mode == VOIDmode before replacing a register with
721 * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
722 i386_compare_op1 to const0_rtx for the benefit of the
723 conditional move patterns.
724 (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
725 based on suggestions from Jim Wilson.
727 Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
729 * version.c: Bump for snapshot.
731 Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
733 * Makefile.in (fixinc.sh): Update rules again.
735 Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
737 * extend.texi: Bring back reference to trampoline paper.
739 Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
741 * Makefile.in (USER_H): Add stdbool.h.
742 * ginclude/stdbool.h: New file.
744 Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
746 * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
749 * gcse.c (pre_delete): Fix code to determine the mode of
750 the reaching pseudo register.
752 Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
754 * Makefile.in (GEN): Add gencheck
755 (STAGESTUFF): Add tree-check.h and gencheck.
757 Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
759 * Makefile.in (cstamp-h.in): Remove before trying to recreate.
760 (fixinc.sh): Set some additional environment variables before
763 Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
765 * reload.c (find_reloads): Do not force a reloads of match_operators.
767 Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
769 * except.h (remove_handler): Add new prototype.
770 * except.c (remove_handler): New function to remove handlers
771 from an exception region.
772 * flow.c (find_basic_blocks_1): Remove handlers from regions when
773 handler label is deleted; remove exception regions with no handlers.
775 Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
777 * except.h (rtx): Define rtx type correctly if needed.
778 * function.h (rtx): Ditto.
779 (tree): Define tree type correctly if needed.
781 * c-pragma.c (toplevel): Include rtl.h.
783 * stor-layout.c (toplevel): Move include of rtl.h before
786 * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
787 (tree.o): Add except.h dependency.
789 Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
791 * reload1.c: Revert accidental checkin.
793 * configure.lang: Fix thinko when adding a definition for
794 target_alias to the Makefile.
796 Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
798 * config/sparc/lb1spc.asm (.rem and .urem): Replace
801 Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
803 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
804 variable warnings. Don't generate scratch registers if only
806 (find_barrier): Eliminate unused variable SRC.
808 1998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
810 * toplev.h (rtx_def): Provide global declaration to avoid
811 `limited scope' warnings.
813 Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
815 * Makefile.in (gencheck.o): Use HOST_CC.
816 * i386/t-mingw32: New file.
817 * configure.in (i386-*-mingw32*): Use.
819 Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
821 * arm.c (bad_signed_byte_operand): New predicate function.
822 * arm.h (PREDICATE_CODES): Add it to the list.
823 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
825 (define_split): Two new splits for above insns.
827 * arm.c: Include toplev.h.
828 (arm_override_options): Add parentheses around use of tune_flags.
829 (arm_split_constant): Remove unused variable.
830 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
831 (output_func_prologue, arm_expand_prologue): Likewise.
832 (arm_canonicalize_comparison): Make I unsigned; rework constants
833 accordignly. Add missing paratheses around << operation.
834 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
836 ({load,store}_multiple_sequence): Initialize BASE_REG.
837 (select_dominance_cc_mode): Add DEFAULT clauses.
838 (broken_move): Return zero if the destination is not a register.
839 (arm_reorg): Move unused REGNO declaration into the dead code.
840 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
842 Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
844 * version.c: Bump for snapshot.
846 Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
848 * version.c: Bump for snapshot.
850 Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
852 * cpperror.c (v_cpp_message): Remove static prototype.
853 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
854 * cpplib.h (v_cpp_message): Add protoptype.
855 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
857 Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
859 * version.c: Bump for snapshot.
861 Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
863 * version.c: Bump for snapshot.
865 1998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
867 * m68k.h: Declare more functions used in macros.
868 (REG_CLASS_CONTENTS): Completely embrace initializer.
869 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
870 about returning no value.
871 * cse.c (find_best_addr): Declare p and found_better only if
873 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
874 * dwarfout.c (string_length_attribute): #if 0 away.
875 * function.c (expand_function_end): Define varible blktramp only
877 * jump.c (find_insert_position): Define only if !HAVE_cc0.
878 * loop.c (combine_givs_p): Define variable tem only if needed.
879 * real.c: Comment out unused functions eabs, eround,
880 e{24,53,64,113}toasc and eiinfin.
883 Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
885 * Makefile.in (boostrap2-lean, bootstrap3-lean,
886 bootstrap4-lean): New targets.
888 Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
890 * warn_summary, test_summary: Moved into the contrib directory.
892 1998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
894 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
896 (FLOAT_H_TEST): Likewise.
898 (float.h-nat): Likewise.
899 (float.h-cross): Likewise.
901 (enquire.o): Likewise.
902 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
903 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
905 (FLOAT_H): Remove old float.h-nat version; move current definition
906 to CROSS_FLOAT_H location.
907 (all.cross): Remove comments about enquire stuff.
909 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
910 (rest.encap): Likewise.
911 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
913 * toplev.h (tree_node): Provide global declaration to avoid
914 `limited scope' warnings.
916 Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
918 * test_summary: Display section breaks for each entry
919 in a multilibbed target's output.
921 1998-05-23 Richard Henderson <rth@cygnus.com>
923 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
924 offset's mode is not ptr_mode, convert it.
926 1998-05-22 Jason Merrill <jason@yorick.cygnus.com>
928 * fold-const.c (ssize_binop): New fn.
929 * tree.h: Declare it.
931 Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
933 * genextract.c (print_path): Handle zero-length path as a special
936 Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
938 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
940 Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
942 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
943 (shorten_branches, final_scan_insn): Test value of
944 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
946 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
947 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
948 * arm/tcoff.h: Likewise.
949 * i386/386bsd.h: Likewise.
950 * i386/freebsd-elf.h: Likewise.
951 * i386/freebsd.h: Likewise.
952 * i386/netbsd.h: Likewise.
953 * i386/ptx4-i.h: Likewise.
954 * i386/sysv4.h: Likewise.
956 * rs6000/linux.h: Likewise.
957 * rs6000/rs6000.h: Likewise.
959 * sparc/sp64-elf.h: Likewise.
960 * v850/v850.h: Likewise.
961 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
962 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
964 Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
966 * regmove.c (gen_add3_insn): New function.
967 (fixup_match_2): Use it instead of calling gen_addsi3.
969 Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
971 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
973 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
976 Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
978 * Makefile.in (TREE_H): Add tree-check.h.
979 (tree-check.h, gencheck): New targets.
980 * gencheck.c: New file.
981 * tree.c (tree_check, tree_class_check): New functions.
982 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
983 (TYPE_CHECK, DECL_CHECK): Define.
984 Modify all access macros to use generated checking macros.
986 Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
988 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
989 * configure.in: Check for it.
990 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
991 * final.c (uid_align, uid_shuid, label_align): Make static.
992 (label_align): Change type to struct label_alignment pointer.
993 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
994 (LABEL_TO_MAX_SKIP): Define.
995 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
996 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
997 (shorten_branches): Record the maximum bytes to skip when
999 (final_scan_insn): Use the maximum bytes to skip when aligning a label
1000 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
1001 * i386.h (LOOP_ALIGN_MAX_SKIP,
1002 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
1003 * i386.c (override_options): i386_align_jumps and i386_align_loops
1004 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
1005 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
1007 1998-05-21 Mark Mitchell <mmitchell@usa.net>
1009 * cplus-dem.c (do_type): Handle volatile qualification.
1011 Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
1013 * function.c (init_function_start): Don't call emit_line_note if
1014 lineno is 0. (Can happen when compiling Java .class files.)
1016 Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1018 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
1019 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
1021 Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1023 * combine.c (nonzero_bits): For paradoxical subregs, take
1024 LOAD_EXTENDED_OP into account.
1026 Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
1028 * configure.in (extra_c_objs): add prefix.o.
1029 (extra_cxx_objs): extra objects for C++ with cpplib.
1030 * configure: Regenerate.
1032 * c-tree.h: (get_directive_line): Different prototype for cpplib.
1033 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
1035 * c-lex.h: (get_directive_line): Not needed here for cpplib.
1037 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
1038 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
1040 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
1041 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
1043 Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1045 * gengenrtl.c (type_from_format, accessor_from_format): Change
1046 type of parameter `c' from `char' to `int'.
1048 Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
1050 * warn_summary, test_summary: New scripts from
1051 Kaveh Ghazi and Alexandre Oliva respectively.
1053 * gcse.c (current_function_calls_longjmp): Declare.
1055 1998-05-20 Jason Merrill <jason@yorick.cygnus.com>
1057 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
1059 Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
1060 Jeff Law (law@cygnus.com)
1062 * Global CSE and constant/copy propagation.
1063 * Makefile.in (OBJS): Add gcse.o
1064 (STAGESTUFF): Add *.gcse.
1065 (gcse.o): Add dependencies.
1066 (mostlyclean): Remove *.gcse and */*.gcse.
1068 * loop.c (loop_optimize): Move call to init_alias_analysis.
1069 * recog.c (validate_replace_src): New function.
1070 * toplev.c (gcse_dump): New global variable.
1071 (flag_gcse, gcse_time): Likewise.
1072 (compile_file): Initialize gcse_time and clean out the gcse dump
1074 (rest_of_compilation): Call gcse_main as requested. Dump RTL
1075 after gcse if requested.
1076 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
1078 * gcc.texi: Add gcse related internal documentation.
1079 * invoke.texi: Note new command line options for gcse.
1080 * tm.texi: Document AVOID_CCMODE_COPIES.
1081 * mips.h (AVOID_CCMODE_COPIES): Define.
1083 Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
1085 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
1087 (stmp-fixproto): Simlarly for running fixproto.
1088 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
1090 Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
1092 * config/mips/mips.c (double_memory_operand): Accept any MEM during
1093 reload when TARGET_64BIT.
1095 Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
1097 Finish incomplete change started by Kenner.
1098 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
1099 (powerpcle-*-cygwin32): Delete xm_defines.
1100 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
1101 HAVE_STAB_H instead of NO_STAB_H.
1102 * config/xm-linux.h (NO_STAB_H): Delete.
1103 (HAVE_STAB_H): Undefine.
1104 * config/i386/xm-go32.h (NO_STAB_H): Delete.
1106 1998-05-19 Jim Wilson <wilson@cygnus.com>
1108 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
1109 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
1111 Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
1113 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
1115 Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1117 * reload1.c (reload_reg_free_for_value_p): New function.
1118 (allocate_reload_reg, choose_reload_regs): Use it.
1120 Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1122 * except.c (expand_start_catch): Correct logic for when to
1123 generate a new handler label, and when to use the old one.
1125 Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1127 * Makefile.in (print-rtl.o): Depend on bitmap.h.
1128 (dbxout.o): Depend on toplev.h.
1129 ($(SCHED_PREFIX)sched.o): Likewise.
1130 ($(out_object_file)): Likewise for system.h and toplev.h.
1131 (cppmain.o): Depend on gansidecl.h.
1132 (cpplib.o): Likewise.
1133 (cpperror.o): Likewise.
1134 (cppexp.o): Likewise.
1135 (cpphash.o): Likewise.
1136 (cppalloc.o): Likewise.
1137 (fix-header.o): Depend on cpplib.h and cpphash.h.
1138 (scan-decls.o): Depend on gansidecl.h.
1140 * basic-block.h (free_regset_vector): Add prototype.
1142 * cccp.c (check_precompiled): Mark parameter `fname' with
1144 (do_assert): Likewise for `op' and `keyword'.
1145 (do_unassert): Likewise.
1146 (do_line): Likewise for `keyword'.
1147 (do_error): Likewise for `op' and `keyword'.
1148 (do_warning): Likewise.
1149 (do_ident): Likewise for `keyword'.
1150 (do_pragma): Likewise for `limit', `op' and `keyword'.
1151 (do_sccs): Likewise.
1152 (do_if): Likewise for `keyword'.
1153 (do_elif): Likewise.
1154 (do_else): Likewise.
1155 (do_endif): Likewise.
1157 * collect2.c (getenv): Remove redundant prototype.
1158 (collect_exit, collect_execute, dump_file): Likewise.
1159 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
1160 (dump_prefix_list): Hide prototype and definition.
1162 * sparc.c: Include toplev.h.
1163 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1164 (symbolic_memory_operand): Likewise.
1165 (sp64_medium_pic_operand): Likewise.
1166 (data_segment_operand): Likewise.
1167 (text_segment_operand): Likewise.
1168 (splittable_symbolic_memory_operand): Likewise.
1169 (splittable_immediate_memory_operand): Likewise.
1170 (eq_or_neq): Likewise.
1171 (normal_comp_operator): Likewise.
1172 (noov_compare_op): Likewise.
1173 (v9_regcmp_op): Likewise.
1174 (v8plus_regcmp_op): Likewise.
1175 (extend_op): Likewise.
1176 (cc_arithop): Likewise.
1177 (cc_arithopn): Likewise.
1178 (small_int): Likewise.
1179 (uns_small_int): Likewise.
1180 (clobbered_register): Likewise.
1181 (legitimize_pic_address): Likewise.
1182 (delay_operand): Likewise.
1183 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
1185 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
1186 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
1188 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
1190 * cppalloc.c: Include gansidecl.h.
1192 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
1193 (cpp_file_line_for_message): Mark parameter `pfile' with
1195 (v_cpp_message): New function.
1196 (cpp_message): Use it. Also convert to variable arguments.
1197 (cpp_fatal): Likewise.
1198 (cpp_pfatal_with_name): Constify parameter `name'.
1200 * cppexp.c: Move gansidecl.h before cpplib.h.
1201 * cpphash.c: Likewise.
1202 * cpphash.h (hashf, delete_macro): Add prototypes.
1204 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
1205 cpplib.h. Don't include errno.h.
1206 (update_path): Add arguments to prototype.
1207 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
1208 cpp_print_containing_files): Remove redundant prototypes.
1209 (cpp_hash_cleanup, add_import, append_include_chain,
1210 make_assertion, path_include, initialize_builtins,
1211 initialize_char_syntax, finclude, validate_else, comp_def_part,
1212 lookup_import, redundant_include_p, is_system_include,
1213 read_name_map, read_filename_string, open_include_file,
1214 check_macro_name, compare_defs, compare_token_lists,
1215 eval_if_expression, change_newlines): Add prototype arguments.
1216 (hashf): Remove redundant prototype.
1217 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
1218 conditional_skip, skip_if_group): Add prototype arguments.
1219 (fdopen): Remove redundant prototype.
1220 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
1221 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
1222 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
1223 (struct directive): Add prototype arguments to function pointer
1225 (handle_directive): Add missing arguments to call to `do_line'.
1226 (do_include): Mark parameters `unused1' and `unused2' with
1228 (do_line): Likewise for `keyword' and new parameters `unused1' and
1230 (do_error): Likewise for `keyword'.
1231 (do_warning): Likewise. Also add missing argument `pfile' in call
1233 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
1235 (do_ident): Likewise for `keyword', `buf' and `limit'.
1236 (do_pragma): Likewise. Also add missing arguments in call to do_once.
1237 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
1239 (do_if): Likewise for `keyword'.
1240 (do_elif): Likewise.
1241 (eval_if_expression): Likewise for `buf' and `length'.
1242 (do_xifdef): Likewise for `unused1' and `unused2'.
1243 (do_else): Likewise for `keyword', `buf' and `limit'.
1244 (do_endif): Likewise.
1245 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
1246 (cpp_handle_options): Remove superfluous NULL argument in call to
1248 (cpp_handle_options): Likewise.
1249 (do_assert): Mark parameter `keyword', `buf' and `limit' with
1251 (do_unassert): Likewise.
1252 (cpp_print_file_and_line): Add missing argument `pfile' in call to
1253 cpp_file_line_for_message.
1254 (v_cpp_error): New function.
1255 (cpp_error): Use it. Also accept variable arguments.
1256 (v_cpp_warning): New function.
1257 (cpp_warning): Use it. Also accept variable arguments.
1258 (cpp_pedwarn): Accept variable arguments.
1259 (v_cpp_error_with_line): New function
1260 (cpp_error_with_line): Use it. Accept variable arguments.
1261 (v_cpp_warning_with_line): New function.
1262 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
1264 (cpp_pedwarn_with_line): Accept variable arguments.
1265 (cpp_pedwarn_with_file_and_line): Likewise.
1266 (cpp_error_from_errno): Constify parameter `name'. Add missing
1267 argument `pfile' in call to cpp_file_line_for_message.
1268 (cpp_perror_with_name): Constify parameter `name'.
1270 * cpplib.h: Define PARAMS() in terms of PROTO().
1271 (fatal): Remove redundant prototype.
1272 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
1273 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
1274 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
1275 cpp_fatal, cpp_message, cpp_pfatal_with_name,
1276 cpp_file_line_for_message, cpp_print_containing_files): Add
1277 arguments to prototypes.
1278 (scan_decls, cpp_finish): Add prototypes.
1280 * cppmain.c: Include gansidecl.h.
1281 (main): Remove unused variable `i'.
1283 * dbxout.c: Include toplev.h.
1285 * demangle.h (do_tlink, collect_execute, collect_exit,
1286 collect_wait, dump_file, file_exists): Add prototype.
1288 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
1289 prototype and definition.
1290 (gen_unspecified_parameters_die): Don't assign results of call to
1291 function new_die() to unused variable `parm_die'.
1292 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
1293 (dwarf2out_define): Likewise for `lineno' and `buffer'.
1295 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
1296 prototype and definition.
1297 (output_die): Add prototype arguments to function pointer arg.
1298 (output_unspecified_parameters_die): Mark parameter `arg' with
1301 * except.c (output_exception_table_entry): Remove unused variable
1304 * except.h (expand_fixup_region_start, expand_fixup_region_end):
1307 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
1309 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
1311 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
1312 before cpplib.h, include cpphash.h, remove redundant prototype of
1313 cpp_fatal, don't define `const', add a prototype for `fatal'.
1314 (cpp_file_line_for_message): Add missing arguments `pfile'.
1315 (v_cpp_message): New function.
1316 (cpp_message): Use it.
1317 (v_fatal): New function.
1318 (fatal, cpp_fatal): Use it.
1319 (cpp_pfatal_with_name): Constify parameter `name'.
1321 * flow.c (free_regset_vector): Remove redundant prototype.
1323 * function.c (round_down): Wrap prototype and definition with
1324 macro ARGS_GROW_DOWNWARD.
1325 (record_insns): Wrap prototype and definition with
1326 defined (HAVE_prologue) || defined (HAVE_epilogue).
1328 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
1330 * gen-protos.c: Include gansidecl.h.
1331 (hashf): Don't make it static, constify parameter `name'.
1333 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
1334 specifier %s in calls to function `fatal'.
1336 * haifa-sched.c: Include toplev.h.
1337 (find_rgns): Remove unused variable `j'.
1339 * integrate.c (note_modified_parmregs): Mark parameter `x' with
1341 (mark_stores): Likewise.
1343 * jump.c (mark_modified_reg): Likewise.
1345 * output.h (insn_current_reference_address): Add prototype.
1346 (eh_frame_section): Likewise.
1348 * print-rtl.c: Include bitmap.h.
1350 * reload1.c (reload): Wrap variables `note' and `next' in macro
1351 PRESERVE_DEATH_INFO_REGNO_P.
1352 (forget_old_reloads_1): Mark parameter `ignored' with
1354 (choose_reload_regs): Remove unused variable `in'.
1355 (reload_cse_invalidate_mem): Mark parameter `ignore' with
1357 (reload_cse_check_clobber): Likewise.
1359 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
1360 (mark_elimination): Fix typo in prototype.
1362 * scan-decls.c: Include gansidecl.h.
1364 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
1366 Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
1368 * function.c (identify_blocks): Fix thinko when setting the
1369 block number for NOTE_INSN_BLOCK_END.
1371 Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
1373 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
1376 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
1377 underscores for the prefixes to the names of the maths functions.
1379 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
1380 comment explaining why.
1382 Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
1384 * tree.h (TYPE_SIZE_UNIT): New.
1385 (struct tree_type): Add size_unit member.
1386 * stor-layout.c (layout_type): Initialize it.
1387 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
1388 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
1390 Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
1392 * stor-layout.c (layout_record): Fix off-by-one error when checking
1393 length of the TYPE_BINFO vector.
1395 Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
1397 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
1398 function parameter passed in memory.
1400 Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
1402 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
1403 Prototypes for externally used functions in respective C files.
1404 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
1405 final.c: Include above files.
1406 * Makefile.in (toplev.o): Add dependency for above four headers.
1407 (final.o): Likewise.
1408 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
1409 respective header files.
1411 Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
1413 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
1414 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
1415 the build tree if they exist.
1416 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
1418 (objdir): Let configure substitute value.
1419 (FLOAT_H): Let configure select a pre-built version from the
1421 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
1422 * configure.in: Substitute for objdir.
1424 * Makefile.in (build_canonical, host_canonical): Let configure
1425 substitute values for these variables.
1426 * configure.in: Substitute for build_canonical, host_canonical
1427 and target_subdir in generated Makefile.
1429 * output.h (find_basic_blocks): Declare.
1430 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
1432 * Makefile.in (BISON): Use bison from the build tree if it exists.
1435 Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
1437 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
1438 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
1439 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
1440 command line arguments to see if an executable is not being
1441 created, and if so - do not append the suffix.
1443 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
1446 Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
1448 * i386.h (ALIGN_DFmode): Delete.
1449 (CONSTANT_ALIGNMENT): Define.
1450 * varasm.c (force_const_mem): Use it.
1452 Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
1454 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
1455 using it with swap_condition, not before.
1457 Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
1459 * alias.c (mode_alias_check): Delete.
1460 (true_dependence, anti_dependence, output_dependence): Revert April 21
1463 Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
1465 * toplev.c (output_lang_identify): Enable prototype and definition.
1467 Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
1469 * version.c: Bump for snapshot.
1471 Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
1473 * alpha/osf.h (HAVE_STAMP_H): Define.
1475 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
1476 * configure.in (alpha*-*-netbsd*): New.
1477 Based on patches from Paul H. Anderson <pha@pdq.com>.
1479 * configure.in (alpha*-*-linux-*): Kill xm_defines.
1480 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
1481 * alpha/xm-linux.h: Remove file.
1483 Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
1485 * dbxout.c (dbxout_parms): If mode of type of parameter living
1486 in memory doesn't match mode of DECL_RTL, make big endian correction.
1488 Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
1490 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
1492 Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
1494 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
1495 * stor-layout.c (layout_record): Set it.
1497 Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
1499 * toplev.c (rest_of_compilation): Don't defer nested functions.
1501 Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
1503 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
1504 to an 8-byte boundary if info_ptr->fpmem_p.
1506 Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
1508 * loop.c (basic_induction_var): Added test preventing
1509 CCmode parameter passed to convert_modes().
1511 Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
1513 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
1514 input_filename and lineno around expand_expr call. Set them to values
1515 in WFL before expand_expr call.
1517 Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
1519 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
1521 Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
1523 * fold-const.c (constant_boolean_node): New function.
1526 Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1528 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
1529 Abort if trying to split kind 3 or 4 outside of combine.
1531 Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
1533 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
1535 Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
1537 * objc/Make-lang.in (OBJC_O): Add missing exeext.
1538 (libobjc.a, runtime-info.h): Likewise.
1540 Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
1542 * i386.h (DATA_ALIGNMENT): Define.
1544 Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1546 * reload1.c (delete_output_reload): Ignore single USE that
1547 was emitted for the pseudo use of this INSN.
1548 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
1549 remains, we can always delete OUTPUT_RELOAD_INSN.
1551 Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
1553 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
1555 Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
1557 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
1559 Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1561 * eh-common.h: New file for basic EH data structures.
1562 * except.h: Various prototypes and structures for NEW_EH_MODEL
1563 * function.h (struct function): Add a struct eh_stack for the catch
1565 * except.c (gen_exception_label): New function to generate an
1567 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
1568 (push_entry): New function to push an existing entry onto a stack.
1569 (receive_exception_label): New function to emit the code required
1570 at the start of all catch blocks.
1571 (struct func_eh_entry): New structure for maintaining handlers
1572 associated with EH regions.
1573 (new_eh_region_entry): New function to register an EH region.
1574 (add_new_handler): New function to register a handler with a region.
1575 (get_new_handler): Creates anew handler entry for registering.
1576 (find_func_region): New function to convert a NOTE eh region number
1577 to an Eh region index.
1578 (get_first_handler): New function to get the first handler in a region.
1579 (clear_function_eh_region): New function to release memory.
1580 (duplicate_handlers): New function to duplicate a list of handlers.
1581 (expand_eh_region_end): Create a new region entry node as well.
1582 (expand_leftover_cleanups): Call receive_exception_label() and
1583 register the cleanup as a handler to the current region.
1584 (expand_start_catch): New function to start a catch clause.
1585 (expand_end_catch): New function to end a catch clause.
1586 (expand_start_all_catch): restructure to not do the equivilent of
1587 what expand_start_catch() does now. Push the exception region being
1588 handled onto the catch stack.
1589 (output_exception_table_entry): Issue an entry for each handler
1590 associated with a region.
1591 (set_exception_lang_code): New function for setting the language code.
1592 (set_exception_version_code): New function to set the version number.
1593 (output_exception_table): Output version and language codes.
1594 (find_exception_handler_labels): Find handler labels using new scheme.
1595 (is_exception_handler_label): New function, returns 1 if label is
1596 present as a handler in some exception region.
1597 (check_exception_handler_labels): Use the new scheme.
1598 (init_eh_for_function): Initialize the catch stack.
1599 (save_eh_status): Save the catch stack.
1600 (restore_eh_status): Restore the catch stack.
1601 (scan_region): Don't remove unreferenced handler label. Flow does it.
1602 (get_reg_for_handler): New function to get the eh_context pointer
1604 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
1605 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
1606 entry when processing END region rather that START region.
1607 * flow.c (find_basic_blocks_1): Find all potential handler regions
1608 now that we don't automatically know what the labels might be.
1609 Let scan_region() remove unreferenced EH BEGIN/END labels.
1610 * integrate.c (get_label_from_map): Put inlined labels onto the
1611 permanent obstack since we dont know which ones might be exception
1613 (save_for_inline_copying): Make new copies of all the handlers.
1614 (expand_inline_function): Make new copies of all the handlers.
1615 * libgcc2.c: Remove local struct decls, and include eh-common.h.
1616 (find_exception_handler): With NEW_EH_MODEL the first matching
1617 region we find is the right one. Add eh_info as a new parameter.
1618 (__throw): Pass eh_info to find_exception_handler. Set handler
1619 and pass use different regs under NEW_EH_MODEL.
1621 Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
1623 * i960.h (hard_regno_mode_ok): Changed to function from array of
1625 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
1626 * i960.c (hard_regno_mode_ok): Changed to function from array of
1629 Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1631 * reload.c (remove_replacements): New function.
1632 * reload.h (remove_replacements): Declare.
1633 * reload1.c (choose_reload_regs): Disable some reloads that
1634 belong to inherited reloads.
1636 Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1638 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
1640 * reload1.c (merge_assigned_reloads): When merging, reset
1641 reload_spill_index for the eliminated reload.
1643 Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
1645 * haifa-sched.c (schedule_insns): Fix merge goof.
1647 1998-05-13 Jim Wilson <wilson@cygnus.com>
1649 * varasm.c (make_decl_rtl): Revert April 1 change.
1650 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
1651 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
1652 Get function name from the SYMBOL_REF in the DECL_RTL, not from
1653 DECL_ASSEMBLER_NAME.
1654 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
1655 DECL_ASSEMBLER_NAME.
1657 Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
1659 * i386.c (notice_update_cc, output_float_compare): Disable
1660 TARGET_CMOVE support.
1662 Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
1663 Jeff Law <law@cygnus.com>
1665 * rtlanal.c (find_reg_note): Ignore notes that are not on on
1667 (find_regno_note): Likewise.
1669 * Makefile.in (stor-layout.o): Depend on except.h
1670 (varasm.o, function.o): Likewise.
1671 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
1673 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
1674 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
1675 ($(HOST_PREFIX_1)rtl.o): Likewise.
1676 ($(HOST_PREFIX_1)bitmap.o): New host object.
1677 * emit-rtl.c (toplevel): Include bitmap.h.
1678 (gen_rtx): Handle 't' and 'b' nodes.
1679 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
1680 Print block number for block begin/end notes. Print 't' type
1681 nodes as a pointer. Know that the 3rd argument of live range
1682 start/stop notes is really a range_info rtx. If type is 'b', print
1683 out argument as a bitmap.
1684 * rtl.c: Include bitmap.c.
1685 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
1686 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
1687 * rtl.def (RANGE_LIVE): New node to hold live information while we
1688 recalculate the basic blocks.
1689 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
1690 (RANGE_VAR): New node, to hold information saved in symbol node for New
1691 communicating live range information to the debug output functions.
1692 * rtl.h (rtunion_def): Add rttree and rtbit fields.
1693 (XBITMAP, XTREE): New accessor macros.
1694 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
1695 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
1696 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
1697 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
1698 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
1699 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
1700 (RANGE_INFO_*): Likewise.
1701 * sched.c (sched_analyze): Keep live range start/stop notes.
1702 (unlink_other_notes): Likewise.
1703 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
1704 (unlink_other_notes): Likewise.
1705 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
1706 (BLOCK_LIVE_RANGE_FLAG): Likewise.
1707 (DECL_LIVE_RANGE_RTL): Likewise.
1708 (struct tree_block): Add live_range_flag, live_range_var_flag,
1709 live_range_start and live_range_end.
1710 (struct tree_decl): Add live_range_rtl field.
1711 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
1712 (accessor_from_format): Likewise.
1714 * haifa-sched.c (schedule_block): Make verbose output line up.
1715 Also add a blank line in printing the individual ready lists.
1717 Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1719 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
1720 (c-lex.o): Depend on output.h.
1721 (c-common.o): Likewise.
1723 (calls.o): Likewise.
1724 (integrate.o): Depend on toplev.h.
1725 (regclass.o): Depend on output.h.
1726 (final.o): Depend on reload.h.
1728 * c-common.c: Include output.h.
1729 (check_format_info): Remove unused variable `integral_format'.
1731 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
1732 `indent' with ATTRIBUTE_UNUSED.
1733 (print_lang_type): Likewise.
1734 (maybe_build_cleanup): Likewise for parameter `decl'.
1735 (copy_lang_decl): Likewise for parameter `node'.
1737 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
1738 (lang_print_xnode): Mark parameters `file', `node' and `indent'
1739 with ATTRIBUTE_UNUSED.
1740 (lookup_interface): Likewise for parameter `arg'.
1741 (is_class_name): Likewise.
1742 (maybe_objc_check_decl): Likewise for parameter `decl'.
1743 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
1745 (maybe_objc_method_name): Likewise for parameter `decl'.
1746 (build_objc_string): Likewise for parameters `len' and `str'.
1748 * c-lex.c: Include output.h.
1750 * c-lex.h (position_after_white_space): Correct typo in prototype.
1752 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
1753 c_expand_end_cond, init_iterators): Add prototypes.
1755 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
1756 with ATTRIBUTE_UNUSED.
1758 * calls.c: Include output.h.
1760 * cccp.c (pipe_closed): Mark parameter `signo' with
1763 * combine.c: Move inclusion of expr.h to after insn-config.h.
1765 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
1766 as empty, rather define as ((void)0).
1768 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
1769 Add parentheses around assignment used as truth value.
1771 * cplus-dem.c (squangle_mop_up): Change return type to void.
1772 (internal_cplus_demangle): Remove unused parameter `options'.
1773 All callers changed.
1774 (cplus_demangle_opname): Remove function wide variable `int i' and
1775 replace with `size_t i' at each location where it is used.
1776 (cplus_demangle_opname): change type of `i' from int to size_t.
1778 * cppexp.c (right_shift): Mark parameter `pfile' with
1781 * cpphash.c (cpp_lookup): Likewise.
1782 (cpp_hash_cleanup): Likewise.
1784 * cpplib.c (parse_name): Add a prototype and make it static.
1785 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
1786 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
1787 (macro_cleanup): Likewise for parameter `pfile'.
1788 (file_cleanup): Likewise.
1790 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
1791 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
1793 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
1794 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
1796 * cse.c (cse_check_loop_start): Mark parameter `set' with
1799 * dbxout.c (flag_minimal_debug, have_used_extensions,
1800 source_label_number): Move inside macro wrapper check against
1801 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
1803 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
1805 * except.h (doing_eh): Provide prototype.
1807 * expr.c: Move inclusion of expr.h to after insn-config.h.
1809 * final.c: Include reload.h.
1810 (shorten_branches): Cast the first argument of bzero to char *.
1812 * fix-header.c (cpp_print_containing_files): Mark parameter
1813 `pfile' with ATTRIBUTE_UNUSED.
1814 (cpp_fatal): Likewise.
1816 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
1819 * genattrtab.c (make_length_attrs): Change the type of variable
1820 `i' from int to size_t.
1821 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
1824 * genextract.c (main): When generating insn-extract.c, mark
1825 variable `junk' with ATTRIBUTE_UNUSED.
1827 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
1828 argument of bzero to char*.
1830 * integrate.c: Include toplev.h.
1832 * libgcc2.c: Wrap `struct exception_table' and
1833 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
1835 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
1837 * objc/objc-act.c: Include toplev.h.
1838 (lang_print_xnode): Mark parameters `file', `node' and `indent'
1839 with ATTRIBUTE_UNUSED.
1840 (finish_protocol): Likewise for parameter `protocol'.
1842 * output.h (declare_weak): Add prototype.
1843 (decode_reg_name): Don't wrap with TREE_CODE macro.
1844 (assemble_alias): Add prototype.
1846 * regclass.c: Include output.h.
1848 * reload.h (reloads_conflict): Add prototype.
1850 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
1851 output_func_start_profiler): Add prototypes.
1853 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
1856 * scan-decls.c: Include scan.h.
1858 * scan.h (recognized_function, recognized_extern): Add prototypes.
1860 * stmt.c: Include output.h.
1862 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
1863 (output_lang_identify): Hide prototype and definition.
1864 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
1865 (pipe_closed): Likewise.
1867 * toplev.h (count_error, strip_off_ending, error_for_asm,
1868 warning_for_asm): Add prototypes.
1870 Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
1872 * toplev.c (rest_of_compilation): "Charge" final for any time
1873 doing various cleanup operations after finishing compilation
1876 * flow.c (dump_flow_info): Also print number of sets and
1877 whether or not the pseudo is a user variable.
1879 * flow.c (reg_n_max): New global variable.
1880 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
1881 Delete regno_max variable.
1882 * regs.h (REG_N_CHECK): Define.
1883 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
1884 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
1885 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
1887 Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
1889 * acconfig.h (ENABLE_CHECKING): Undefine.
1890 * configure.in (--enable-checking): New option.
1892 Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1894 * reload1.c (merge_assigned_reloads): Can merge
1895 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
1896 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
1898 Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
1900 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
1902 Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1904 * reload1.c (gen_reload): Create REG_EQUIV notes.
1906 Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1908 * reload1.c (reload): Fix check for USEs to use code of pattern.
1909 (choose_reload_regs): Remove dead variable use_insn.
1911 Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
1913 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
1915 Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
1917 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
1919 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
1920 (insn_{unit,issue_delay}): Ditto.
1921 (blockage_range): Ditto.
1922 (actual_hazard{,_this_instance}): Ditto.
1923 (schedule_unit): Ditto.
1924 (potential_hazard): Ditto.
1927 (queue_insn): Ditto.
1928 (birthing_insn_p): Ditto.
1929 (adjust_priority): Ditto.
1930 (get_block_head_tail): Ditto.
1931 (init_rgn_data_dependences): Ditto.
1933 Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
1935 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
1937 Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
1939 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
1941 Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
1943 * config/mips/mips.md (dslot): Move after definition of "cpu"
1944 attribute. Handle r3900 case.
1946 Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1948 * system.h: Define the STRINGIFY macro here.
1949 * protoize.c: Not here.
1950 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
1952 Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
1954 * varasm.c (assemble_variable): Compute the alignment of the data
1955 earlier so that both initialized and uninitialized variables are
1956 effected by DATA_ALIGNMENT.
1957 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
1959 Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
1961 * mips.c: Prototype static functions.
1963 Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
1965 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
1966 Add explanatory comments.
1968 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
1970 Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
1972 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
1974 Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
1976 * varasm.c (make_decl_rtl): Disable April 1 change.
1978 Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
1980 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
1982 Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
1984 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
1985 * alpha.c (print_operand): Handle it.
1986 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
1987 related define_splits. Also add peepholes for SImode reload
1988 plus sign_extend lossage.
1990 Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1992 * genattr.c: Include stdarg.h/varargs.h. Change function
1993 `fatal' to use variable arguments instead of faking it with
1994 integer parameters. Provide a prototype which also
1995 checks the format specifiers using ATTRIBUTE_PRINTF_1.
1997 * genattrtab.c: Likewise.
1998 * gencodes.c: Likewise.
1999 * genconfig.c: Likewise.
2000 * genemit.c: Likewise.
2001 * genextract.c: Likewise.
2002 * genflags.c: Likewise.
2003 * genopinit.c: Likewise.
2004 * genpeep.c: Likewise.
2005 * genrecog.c: Likewise.
2006 * genoutput.c: Likewise. Similarly for function `error'.
2008 Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2010 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
2011 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
2012 * configure.in: Use GCC_C_VOLATILE.
2013 * system.h (volatile): Define as empty if no volatile support is
2016 Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
2018 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
2021 Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
2023 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
2024 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
2025 the body of beq; additionally set the mode of the branch to CCmode for
2026 FP compares and not fast_math.
2027 (alpha_emit_conditional_move): Always use a compare insn for FP
2028 when not fast_math, as well as setting CCmode on the cmov.
2029 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
2031 * machmode.h (COMPLEX_MODE_P): New macro.
2033 Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
2035 * haifa-sched.c (print_exp): Fix typo.
2037 Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
2039 * version.c: Bump for snapshot.
2041 Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
2043 * final.c (final_scan_insn): Call fatal_insn instead of abort if
2044 we could not split an insn when required to.
2046 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
2048 (peepholes): Disable peepholes that call dead_or_set_p.
2049 (movsi): Rewrite to handle addresses better after last change.
2050 Add define_split to split load of addresses in large/medium modes.
2051 (prologue): Call m32r_expand_prologue.
2052 (movsi_{push,pop}): Generators for push/pop.
2053 (movsi): Support PRE_{INC,DEC}, POST_INC.
2054 (mov{di,df}): Rewrite. Always split the insns.
2055 (movsf): Add define_split to get register load in correct mode.
2056 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
2057 (attributes): Rewrite attributes so that type indicates both the
2058 type and the length of the insn directly.
2059 (all insns): Change to use new type attributes.
2060 (debug): New attribute to convey whether -mdebug was used.
2061 (opt_space): New attribute to convey whether -Os was used.
2062 (function units): Loads are 3 cycles, not 2. Better classify all
2063 insns into short/long.
2064 (load/store/extend insns): Add separate case for load/store
2065 indirect operations without an offset.
2066 (divsi3): Division is a long operation, not short.
2068 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
2070 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
2071 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
2072 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
2073 operands with PRE_{INC,DEC}, POST_INC.
2074 (FUNCTION_PROFILER): Call abort instead of doing nothing.
2075 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
2077 (gen_split_move_double): Declare.
2078 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
2080 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
2081 emit_move_insn, build up SET's directly.
2082 (toplevel): Include system.h, not stdio.h.
2083 (move_double_src_operand): Allow any DF or DI mode constant.
2084 (gen_split_move_double): Split moves of DI or DF values into the
2085 appropriate moves, loads, or stores. Don't handle use of auto
2086 inc/dec if using dead index. Do handle overlapping moves, etc.
2087 (m32r_frame_info): Remove prologue_size field.
2088 (m32r_compute_frame_size): Don't calculate prologue size.
2089 (m32r_output_function_prologue): Change to pretty much a NOP.
2090 (m32r_expand_prologue): Expand prologue as a series of INSNs.
2091 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
2092 (m32r_print_operand_address): Ditto.
2094 Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
2096 * reload1.c (emit_reload_insns): When performing expensive
2097 optimizations, do not output the last reload insn if OLD is
2098 not the dest of NSN and is in the src and is clobbered by INSN.
2100 Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2102 * Makefile.in (genrtl.o): Depend on system.h.
2103 * gengenrtl.c (gencode): When creating genrtl.c, have it
2106 Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2108 * config/m68k/t-linux: Remove extra stuff already included in
2111 Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
2113 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
2114 curses.h if it contains `typedef char bool;', as suggested by
2115 Manfred Hollstein <manfred@s-direktnet.de>.
2117 * configure.in: Rename fixinc.math to fixinc.wrap.
2119 Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
2121 * gcc.c (read_specs): Handle missing blank line at end of specs file.
2123 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
2124 movdfcc_1): Disable.
2126 Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
2128 * configure.in (enable_threads): Rename to enable_threads_flag before
2129 main loop. Set enable_threads to enable_threads_flag inside main
2132 Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
2134 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
2137 Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2139 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
2141 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
2142 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
2143 (AC_CHECK_FUNCS): Remove unused check for vprintf.
2145 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
2146 (cccp.o): Depend on gansidecl.h.
2149 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
2150 per the rest of gcc source.
2151 * cexp.y: Likewise. Include gansidecl.h and remove all code made
2154 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
2155 used when vfprintf is missing.
2158 * genattrtab.c: Likewise.
2159 * mips-tfile.c: Likewise.
2160 * toplev.c: Likewise.
2162 * vfprintf.c: New file.
2163 * doprint.c: New file.
2165 Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
2167 * config/linux.h (ASM_COMMENT_START): Remove from here,
2168 * config/linux-aout.h (ASM_COMMENT_START): and here,
2169 * config/i386/linux.h (ASM_COMMENT_START): to here,
2170 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
2171 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
2174 Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2176 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
2179 Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
2181 * Makefile.in (dwarfout.o) Add toplev.h dependency.
2182 * dwarfout.c, i386.c: Include toplev.h
2183 * toplev.h: (pfatal_with_name) Add prototype.
2185 Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
2187 * Makefile.in: Fix .SUFFIXES.
2189 Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
2191 * config/linux.h (ASM_COMMENT_START): Define as "#".
2192 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
2194 Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
2196 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
2197 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
2199 * toplev.c: Include toplev.h.
2200 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
2201 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
2202 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
2203 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
2204 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
2205 toplev.h dependency.
2207 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
2208 HARD_FRAME_POINTER_REGNUM.
2210 * expr.c (target_temp_slot_level): Delete duplicate definition.
2212 Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
2214 * stmt.c (mark_seen_cases): Make it have external linkage again.
2215 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
2218 * haifa-sched.c (print_value, case SUBREG): Fix typo.
2220 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
2221 * i386.h (REG_CLASS_CONTENTS): Similarly.
2223 * toplev.c (-fsched-max): Delete flag.
2224 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
2225 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
2226 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
2229 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
2230 inner loops which are not reducible.
2232 * loop.c (regs_match_p): Fix typo in prototype.
2234 * regmove.c (try_auto_increment): Wrap declaration inside an
2235 #ifdef AUTO_INC_DEC.
2237 Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
2239 * final.c (output_operand_lossage): Call fatal with the operand
2240 lossage message instead of calling abort.
2242 Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2244 * c-common.c: Convert to using ctype macros defined in system.h.
2245 * c-lex.c: Likewise.
2247 * collect2.c: Likewise.
2248 * rs6000.c: Likewise.
2249 * cpplib.c: Likewise.
2250 * fix-header.c: Likewise.
2252 * gen-protos.c: Likewise.
2253 * pexecute.c: Likewise.
2254 * protoize.c: Likewise.
2258 * tlink.c: Likewise.
2259 * toplev.c: Likewise.
2261 Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
2263 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
2264 Replace -gdwarf-2 with -g0.
2266 Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2268 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
2269 * mips-tdump.c: Include system.h, remove redundant headers.
2270 * mips-tfile.c: Likewise. Also, convert all ctype function calls
2271 to calls of the macro versions defined in system.h.
2273 * objc/Make-lang.in (objc-act.o): Depend on system.h.
2274 * objc/objc-act.c: Include system.h, remove redundant headers.
2276 Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2278 * configure.in (AC_CHECK_FUNCS): Add isascii.
2279 (GCC_NEED_DECLARATIONS): Add atof.
2281 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
2282 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
2284 Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2286 * system.h: Wrap time.h and sys/file.h in autoconf checks.
2287 Provide default definitions for O_RDONLY and O_WRONLY here.
2289 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
2291 1998-05-06 Mark Mitchell <mmitchell@usa.net>
2293 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
2295 Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
2297 * toplev.h: New file. Protypes for functions in toplev.c.
2298 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
2299 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
2300 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
2301 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
2302 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
2303 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
2304 varasm.c: include it.
2306 Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
2307 Jim Wilson (wilson@cygnus.com)
2309 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
2310 blocks. Check for 1 successor which is the EXIT_BLOCK.
2312 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
2313 unreachable loops with more than one block.
2315 Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
2317 * fix-header.c (write_rbrac): Add "abort" to functions which need to
2320 Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
2322 * Check in merge from gcc2. See ChangeLog.12 for details.
2324 Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
2326 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
2327 accept 'a' flag. 'S' does accept 'a' flag.
2328 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
2331 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
2333 Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2335 * config/m68k/m68k.h: Declare functions from m68k.c used in
2336 macros and machine description.
2337 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
2339 (ASM_OUTPUT_FLOAT): Likewise.
2340 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
2342 Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
2344 * tree.def: Add NAMESPACE_DECL.
2345 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
2346 * dwarf2out.c (push_decl_scope): Likewise.
2347 (scope_die_for): Likewise.
2348 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
2349 how to get next context level.
2351 Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
2353 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
2356 Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
2358 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
2360 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
2361 for any insns skipped at the start of a block because they were
2364 Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
2366 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
2368 1998-05-04 Ulrich Drepper <drepper@cygnus.com>
2370 * c-common.c (format_char_info): Add new field hhlen.
2371 (print_char_table, scan_char_table, time_char_table): Initialize
2372 hhlen field appropriately.
2373 (char_format_info): Recognize hh modifier and lookup correct char
2376 Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
2378 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
2379 reference if this is a store.
2381 Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
2383 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
2385 Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
2387 Make UnixWare 7 bootstrap support work with final shipping product.
2388 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
2389 Pick up xm-siglist and xm-alloca.
2390 (xm_defines): Add USG so dbxout will build.
2391 * configure: Regenerate.
2393 Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
2395 Support for official Sparc V9 ABI:
2396 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
2397 Care for flag_pcc_struct_return default.
2398 (output_move_quad): Rewrite to move by halves on v9 and in the
2400 (move_quad_direction): New function.
2401 (output_fp_move_quad): Use it to determine the direction of copy.
2402 (function_arg_slotno): Return -1 for FP reg overflow as well.
2403 (function_arg_record_value*): New functions.
2404 (function_arg): Use them. Streamline unprototyped parameter passing.
2405 (function_arg_pass_by_reference): Pass TCmode by reference.
2406 (function_value): New function.
2407 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
2408 long long in 64-bit mode.
2409 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
2410 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
2411 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
2412 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
2413 (BASE_INCOMING_ARG_REG): Likewise.
2414 (FUNCTION_VALUE): Call function_value.
2415 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
2416 * sparc.md (movdi_sp32_v9): Disable for arch64.
2417 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
2418 (call_value_address_sp64): Remove register class constraints.
2419 (call_value_symbolic_sp64): Likewise.
2420 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
2421 v9 case to 32-bit constants.
2422 (goto_handler_and_restore_v9): Provide a version for arch64.
2423 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
2424 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
2425 (CPP_PREDEFINES): New.
2426 * sparc/sp64-elf.h: Likewise.
2427 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
2428 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
2429 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
2431 Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
2433 * version.c: Bump for snapshot.
2435 Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2437 * reload.c (find_reloads): Emit USEs to mark where a pseudo
2438 is reloaded with the MEM of its stack slot.
2439 * reload1.c (cannot_omit_stores): Delete.
2440 (reload): Don't initialize it.
2441 Don't apply avoid_return_reg logic to USEs.
2442 When done, remove USEs that have a REG_EQUAL note on them.
2443 (emit_reload_insns): Handle case where we have inherited a MEM.
2444 (choose_reload_regs): Likewise.
2445 (delete_output_reload): Don't use cannot_omit_stores.
2447 Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
2449 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
2451 Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
2453 * haifa-sched.c (print_{exp,value}): Various changes to make the
2454 debug output easier to read. Also, use only one buffer, and make
2455 sure the buffer we are passed in doesn't overflow.
2456 (safe_concat): Concatenate to a buffer without overflow.
2458 Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2460 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
2463 Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2465 * sched.c (new_insn_dead_notes): Check if the register was
2466 used in the original instruction.
2467 * haifa-sched.c (new_insn_dead_notes): Likewise.
2469 Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
2471 * dwarf2out.c (scope_die_for): If could not find proper scope,
2472 check for and handle tagged type with incorrect TYPE_CONTEXT.
2474 Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
2476 * calls.c (expand_call): Fix recognition of C++ operator new.
2478 * alias.c (mode_alias_check): Disable type based alias detection.
2480 Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
2482 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
2483 ASM_OUTPUT_WEAK_ALIAS): Define.
2484 * config/mips/elf64.h: Same.
2485 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
2486 ASM_WEAKEN_LABEL): Removed.
2488 Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2490 * calls.c (expand_call): Bump the length limit on the specially
2491 recognized function names to 17.
2493 Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
2495 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
2496 when undefining macros at the end.
2498 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
2499 val or len has TREE_SIDE_EFFECTS set.
2501 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
2502 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
2503 (smuldi3_highpart): Call const v8plus routine.
2504 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
2505 (const_smulsi3_highpart_v8plus): New pattern.
2506 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
2507 (umulsidi3): Call const v8plus routine.
2508 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
2510 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
2511 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
2513 Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
2515 * m32r.c (*_oper{and|ator}): Change enum arguments and return
2516 values to int, so they can be prototyped even in files that don't
2518 ({small,large}_insn_p): Ditto.
2519 (m32r_select_cc_mode): Ditto.
2520 (gen_compare): Ditto.
2521 (function_arg_partial_nregs): Ditto.
2522 (m32r_setup_incoming_varargs): Ditto.
2523 (init_reg_tables): Add prototype.
2524 (m32r_frame_info): Add prolog_size field.
2525 (m32r_compute_frame_size): Calculate the size of the prologue.
2526 (m32r_first_insn_address): Return prologue size.
2527 (m32r_output_function_prologue): Calculate frame size before
2528 printing out information. Print out the prologue size.
2530 * m32r.h: Prototype all functions in m32r.c.
2531 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
2533 * m32r.md (bcc functions): Cast enum's to int.
2535 * m32r.c (conditional_move_operand): Silence a debug message.
2536 ({small,long}_insn): New predicates.
2538 * m32r.h (TARGET_M32R): New macro.
2539 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
2540 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
2542 (ISSUE_RATE): Define as 2.
2544 * m32r.md (insn_size): New attribute.
2545 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
2547 (m32r): New attribute.
2549 * configure.in (enable_haifa): Switch m32r to Haifa by default.
2550 * configure: Regenerate.
2552 (Changes from Nick Clifton <nickc@cygnus.com>)
2553 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
2554 the equivalent of a negated 'I' constraint.
2555 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
2556 optimisation to work.
2558 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
2559 than 'I' since the value is negated.
2560 (peephole): Add peephole optimisation to cope with optimization of
2561 divide and subtracts of the same operands.
2563 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
2567 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
2570 Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
2572 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
2574 Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
2576 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
2577 frame_pointer_rtx not FRAME_POINTER_REGNUM.
2579 Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
2581 * reg-stack.c: Revert last patch (Apr 20).
2582 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
2584 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
2586 * loop.c (check_dbra_loop): New locals jump, first_compare, and
2587 compare_and_branch. Call get_condition to set first_compare.
2588 Set compare_and_branch to number of compare/branch instructions.
2589 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
2590 Replace '2' with compare_and_branch.
2592 Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2594 * cplus-dem.c (demangle_qualified): Replace missing else.
2596 Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2598 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
2600 Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2602 * sh.c (sh_expand_prologue, sh_expand_epilogue):
2603 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
2604 * sh.h (STACK_BOUNDARY): Likewise.
2606 Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2608 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2610 Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
2612 * system.h (abort): If abort is not defined, and neither is
2613 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
2614 reporting the line and filename of the error.
2616 * .gdbinit: Add breakpoints on exit and fancy_abort.
2618 * final.c (split_double): Avoid a compiler warning if
2619 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
2621 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
2622 for calling jump_optimize.
2624 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
2625 macros, rather than 0/1's.
2627 Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
2629 * alpha.h (CONST_COSTS): Zero is always free.
2630 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
2632 Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2634 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
2635 length in the name of a virtual table.
2637 Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
2639 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
2641 Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
2643 * version.c: Bump for snapshot.
2645 Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
2647 * fold-const.c (fold_convert): Fix typo.
2649 Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
2651 * alias.c (alias_invariant): New variable.
2652 (record_base_value): New argument INVARIANT.
2653 (memrefs_conflict_p): If a register has an entry in the alias_invariant
2654 array, try substituting that value for the register.
2656 * rtl.h: Declare record_base_value.
2658 * loop.c, unroll.c: Update callers of record_base_value.
2660 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
2661 ZERO_EXTEND do not affect base values.
2663 Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
2665 * dbxout.c (dbxout_type): Fix typo.
2666 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
2668 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
2670 Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
2672 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
2673 if the argument is the address of a structure or array.
2675 * configure.in: Enable Haifa scheduler by default for SPARC.
2677 Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2679 * cse.c (cse_set_around_loop): Don't do optimization when
2680 new pseudos are created.
2682 Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
2684 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
2686 (dbxout_type_method_1, dbxout_type): Likewise.
2687 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
2688 (dbxout_type): Fix check for when to print a type range in
2691 Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2693 * (gen_shl_and, in case 1): Fix comparison with mask.
2695 Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
2697 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
2698 pointer as second register in REG+REG pair.
2700 Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2702 * c-common.c (check_format_info): Don't check for the 'x' format
2703 character twice, instead check for 'x' and 'X'
2705 Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
2707 * Makefile.in (libgcc2.ready): Add explicit dependancy from
2708 $(STMP_FIXPROTO) to ensure all necessary include files have
2709 been created and to guarantee proper parallel builds.
2711 Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2713 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
2714 register for stdarg functions.
2715 * sh.h (current_function_varargs): Declare.
2716 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
2718 1998-04-23 Jim Wilson <wilson@cygnus.com>
2720 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
2721 inhibit_libc is defined.
2723 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
2725 Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
2727 * profile.c (tablejump_entry_p): New function.
2728 (branch_prob): Add code to recognize MIPS tablejump entry branch.
2729 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
2731 Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
2733 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
2734 found, rather than at end of the loop, after the insn has been
2737 Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2739 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
2740 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
2742 Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
2744 * loop.c (note_addr_stored): Correct function to take 2 arguments,
2747 * rtl.def (MATCH_INSN2): Add new matching pattern.
2748 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
2750 Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
2752 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
2753 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
2755 * final.c (split_double): Sign extend both halves of a split CONST_INT.
2757 Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
2759 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
2761 Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2763 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
2764 (cplus_demangle_opname): Call mop_up_squangle.
2765 (cplus_demangle): Initialize squangle info, then call
2766 internal_cplus_demangle. (Most code moved there as well)
2767 (internal_cplus_demangle): New function, performs most of what use
2768 to be done in cplus_demangle, but is only called with this file.
2769 (squangle_mop_up): New function to clean up B and K code data.
2770 (mop_up): set pointers to NULL after freeing.
2771 (demangle_signature, demangle_template, demangle_class): Add
2772 switch elements to handle K and B codes.
2773 (demangle_prefix, gnu_special, demangle_qualified): Add
2774 code to handle K and B codes.
2775 (do_type, demangle_fund_type): Handle B and K codes.
2776 (remember_Ktype): New function to store K info.
2777 (register_Btype, remember_Btype): New functions for B codes.
2778 (forget_B_and_K_types): New function to destroy B and K info.
2780 1998-04-21 Jim Wilson <wilson@cygnus.com>
2782 * stmt.c (check_seenlabel): When search for line number note for
2783 warning, handle case where there is no such note.
2785 Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
2787 * genemit.c (gen_exp): Allow machine description to set mode of
2790 Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
2792 * alias.c (mode_alias_check): New function.
2793 (true_dependence, anti_dependence, output_dependence): Call
2796 Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
2798 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
2799 (MIPS_STACK_ALIGN): Similarly.
2801 * c-common.c (type_for_mode): Handle TI types.
2802 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
2803 (init_decl_processing): Handle TI types.
2804 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
2806 * mips.c (block_move_loop): Test Pmode == DImode instead of
2808 (expand_block_move, save_restore_insns): Likewise.
2809 (function_prologue, mips_expand_prologue): Likewise.
2810 (mips_expand_epilogue): Likewise.
2811 * mips.h (POINTER_SIZE): Allow specific targets to override.
2812 (Pmode): Allow specific targets to override.
2813 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
2814 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
2815 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
2816 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
2817 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
2818 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2819 * mips.md (indirect, tablejump & casesi support): Test for
2820 Pmode == DImode instead of TARGET_MIPS64.
2821 (call patterns): Likewise.
2823 Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2825 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
2826 for gen_rtx(MEM, ...).
2828 Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
2830 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
2831 to not be so gross, and to properly function with PIC.
2833 Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
2835 * frame.c (heapsort): Rename to frame_heapsort.
2837 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
2839 Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
2841 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
2843 Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
2845 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
2846 operands during and after reload.
2848 Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2850 * final.c (shorten_branches, init_insn_lengths): Move code
2851 to free label_align, uid_shuid, insn_lengths, insn_addresses
2852 and uid_align from the former function into the latter one;
2853 Add code to clear these variables.
2854 * sh.h (label_align): Remove declaration.
2856 Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
2858 * gcc.c (lang_specific_driver): Declare prototype properly so
2859 fatal can be passed to it without error.
2861 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
2862 * configure: Regenerate.
2863 * config.in: Add #undef's for strchr and strrchr.
2865 * protoize.c (toplevel): If we have rindex, but not strrchr, map
2867 (file_could_be_converted): Use strrchr, not rindex since rindex is
2868 not defined on Linux systems when _POSIX_SOURCE is defined.
2869 (file_normally_convertible): Ditto.
2870 (process_aux_info_file): Ditto.
2873 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
2874 a constant to an integer register, don't split the insns that do
2875 the simple AND and OR operations, rather just split each word, and
2876 let the normal movsi define split handle it further.
2878 Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2880 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
2881 (split_branches): Call init_insn_lengths.
2883 Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
2885 * i386.c: Include expr.h to get the change_address prototype
2888 Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
2890 * reg-stack.c (subst_asm_stack_regs): Change to return the last
2891 new insn generated by this function.
2892 (subst_stack_regs): Likewise.
2893 (convert_regs): Record the last newly generated insn and use
2894 it for change_stack () instead of INSN.
2896 Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
2898 * fix-header.c (enum special_file): Undefine enumerators if they
2899 are already defined by include files.
2900 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
2901 macro with '__' to not pollute user namespace.
2903 Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
2905 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
2907 Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
2909 * version.c: Bump for snapshot.
2911 Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
2913 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
2915 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
2916 Add missing -Dpentium* options.
2917 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
2918 instead of CPP_CPU_DEFAULT.
2919 (EXTRA_SPECS): Add entry for cpp_cpu_default.
2921 Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
2923 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
2924 negative in a stackless frame.
2925 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
2926 in stackless frame size. Support 64-bit stackless frame size.
2927 Combine fpmem offset calculations and don't add total_size to
2928 offset if not pushing a stack frame.
2930 Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
2932 * regmove.c (fixup_match_1): In three places, in flag_exceptions
2933 check, change p to q.
2935 Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
2937 * gcc.c (lang_specific_driver): Add new parm type to prototype.
2938 (added_libraries): New file scope static variable.
2939 (process_command): Initialize added_libraries. Pass it to
2940 lang_specific_driver.
2941 (main): Use added_libraries in check for no input files.
2943 Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
2945 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
2946 code generation. Use 64 bit instructions in 32 bit mode when
2947 possible. Use V9 return instruction. UltraSPARC optimizations.
2949 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
2951 Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
2953 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
2954 just pass zero. That will work regardless of the size of HARD_REG_SET.
2956 * libgcc2.c (__floatdisf): Fix a couple typos.
2958 Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
2960 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
2962 Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
2964 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
2966 Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
2968 * emit-rtl.c (operand_subword_force): If a register can not be
2969 accessed by words, copy it to a pseudo register.
2971 Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
2973 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
2975 Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
2977 * tree.h (mark_seen_cases): Delete declaration.
2979 Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
2981 * stmt.c (mark_seen_cases): Make static and add prototype.
2983 Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2985 * frame.c: Include stdlib.h and unistd.h to possibly get various
2986 function prototypes. The fixproto script guarantees these header
2987 files exist on the target system.
2988 * libgcc2.c: Likewise.
2990 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
2991 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
2992 function parameters.
2993 * libgcc2.c (__udiv_w_sdiv): Likewise.
2995 Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
2997 * varasm.c (asm_output_bss): Add prototype.
2998 (asm_output_aligned_bss): Likewise.
3000 * unroll.c (verify_addresses): Add prototype.
3002 * toplev.c: Add many prototypes. Too many to mention here.
3004 * stmt.c (check_seenlabel): Add prototype.
3006 * rtlanal.c (reg_set_p_1): Add prototype.
3007 (reg_set_last_1): Likewise.
3009 * reorg.c (find_dead_or_set_registers): Add prototype.
3011 * regmove (try_auto_increment): Add prototype.
3013 * reg-stack.c (pop_stack): Add prototype.
3015 * recog.c (validate_replace_rtx_1): Add prototype.
3016 (find_cosntant_term_loc): Likewise.
3018 * loop.c (regs_patch_p): Add prototype.
3019 (add_label_notes, count_nonfixed_reads): Likewise.
3020 (find_single_use_in_loop): Likewise.
3021 (express_from): Surround prototype with #ifdef.
3022 (giv_sort): Similarly.
3024 * jump.c (mark_modified_reg): Add prototype.
3026 * haifa-sched.c (is_prisky): Add prototype.
3027 (queue_to_ready): Likewise.
3029 * genextract.c (gen_insn): Add prototype.
3031 * genemit.c (max_operand_1): Add prototype.
3032 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
3033 (gen_expand, gen_explit, output_add_clobbers): Likewise.
3034 (output_init_mov_optab): Likewise.
3036 * genattrtab.c (attr_hash_add_rtx): Add prototype.
3037 (attr_hash_add_string, write_length_unit_log): Likewise.
3039 * genattr.c (init_range): Add prototype.
3041 * combine.c (sets_function_arg_p): Add prototype.
3043 * expr.c (store_constructor_field): Add prototype.
3044 (get_memory_usage_from_modifier): Likewise
3046 * expmed.c (synth_mult): Add prototype.
3047 (choose_multiplier, invert_mod2n): Likewise.
3049 * except.c (push_eh_entry): Add prototype.
3050 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
3051 (call_get_eh_context, start_dynamic_cleanup): Likewise.
3052 (start_dynamic_handler, can_throw): Likewise.
3053 (output_exception_table_entry, scan_region): Likewise.
3054 (eh_regs, set_insn_eh_region): Likewise.
3056 * dwarfout.c (decl_class_context): Add prototype.
3057 (output_inheritance_die, type_ok_for_scope): Likewise.
3059 * c-lex.c (skip_white_space_on_line): Add prototype.
3061 * alias.c (record_set): Add prototype.
3062 (find_base_term, base_alias_check): Likewise.
3064 * function.c (assign_outer_stack_local): Make static and add prototype.
3066 * haifa-sched.c (build_control_flow): Accept raw data as inputs
3067 instead of computing it locally. Callers changed.
3068 (find_rgns): Several new arguments. Callers changed.
3069 Generally clean up and comment better. Use dominators to
3070 identify reducible loops. Convert some flag arrays to bitmaps.
3071 Convert most of the code to work on pred/succ lists instead of
3072 an edge table. Add comments for future improvements.
3073 (schedule_insns): Allocate temporary tables for flow data, call
3074 routines to compute flow data and pass it along to children as
3076 (debug_control_flow): Delete. Use dump_bb_data instead.
3078 * basic-block.h (compute_dominators): Declare.
3080 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
3082 * basic-block.h: Declare them.
3084 Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
3086 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
3089 Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
3091 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
3092 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
3093 node is non NULL. Cache last file name and file name identifier node.
3095 1998-04-15 Mark Mitchell <mmitchell@usa.net>
3097 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
3098 the length of an array, not TREE_TYPE.
3100 Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
3102 * flow.c (sbitmap_union_of_successors): New function.
3103 * basic-block.h (sbitmap_union_of_successors): Declare it.
3105 Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
3107 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
3108 Set gnu_ld to gnu_ld_flag inside main loop.
3111 Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
3113 * toplev.c (compile_file): Call init_parse using new interface.
3114 (init_lex): Remove declaration.
3116 * c-lex.c (init_parse): Now returns char* containing filename.
3118 Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
3120 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
3122 Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
3124 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
3125 (gen{extract,peep,opinit,output}): Ditto.
3127 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
3128 global definition so print-rtl.o can be linked in.
3129 * gen{peep,recog}.c (insn_attr_name): Ditto.
3131 Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
3133 * fixincludes: discard empty C++ comments, as found in sys/time.h
3136 Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3138 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
3141 Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
3143 * emit-rtl.c (operand_subword): Rework slightly to avoid
3144 bogus warning from previous change.
3146 Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
3148 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
3149 Nov 8 find_replacement change. Move decls of get_unaligned_address
3150 * alpha.h: ... here.
3152 Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
3154 * function.c (assign_parms): Initialize unsignedp before passing
3155 its pointer to promote_mode.
3157 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
3158 (write_test_expr): Allow MATCH_INSN.
3160 Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
3162 * install.texi: Update section on warnings that can be safely ignored.
3164 Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
3166 * mips.md (reload_outdi): Change the scratch mode from DImode to
3167 TImode. New variable scratch, used instead of operand[2] in template.
3168 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
3170 Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
3172 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
3174 Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
3176 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
3178 Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
3180 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
3181 (ASM_FINISH_DECLARE_OBJECT): Likewise.
3183 * Idea and part of the patch from HJ.
3184 * Makefile.in: auto-host.h renamed from auto-config.h. All references
3186 (distclean): Remove auto-build.h too.
3187 * configure.in: Rename host autoconf generated file to auto-host.h.
3188 If host != build, then run autoconf to generate auto-build.h for
3189 the build machine and include it in build_xm_files.
3190 Check for wait.h and sys/wait.h.
3192 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
3193 TRULY_NOOP_TRUNCATION.
3195 Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
3197 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
3199 Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
3201 * invoke.texi (ld options) Include memset requirements
3202 for options -nodstdlib and -nodefaultlibs.
3204 1998-04-12 Paul Eggert <eggert@twinsun.com>
3206 This change is from an idea suggested by Arthur David Olson.
3208 * c-common.c (decl_attributes, record_function_format,
3209 check_format_info, init_function_format_info):
3210 Add support for strftime format checking.
3211 (enum format_type): New type.
3212 (record_function_format): Now static, and takes value of type
3213 enum format_type instead of int.
3214 (time_char_table): New constant.
3215 (struct function_format_info): format_type member renamed from is_scan.
3216 (check_format_info): Use `warning' rather than sprintf followed by
3217 `warning', to avoid mishandling `%' in warnings.
3218 Change `pedwarn' to `warning', since these warnings do not necessarily
3219 mean the program does not conform to the C Standard, as the code
3220 need not be executed.
3222 * c-tree.h (record_function_format): Remove decl; no longer extern.
3224 * extend.texi: Add documentation for strftime format checking.
3226 Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
3228 * mips/ecoffl.h: Do not include mips.h.
3229 * mips/elf.h: Likewise.
3231 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
3232 * mips/ecoff.h: Include "mips/mips.h".
3234 Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
3236 * version.c: Bump for snapshot.
3238 Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
3240 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
3241 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
3242 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
3243 between loop optimization passes.
3244 * rtl.h: Updated appropriately.
3246 Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
3248 Reinstall this patch from Jason.
3249 * function.c (push_function_context_to): Don't call init_emit.
3251 Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
3253 * rtl.c (read_skip_spaces): Prevent infinite loops upon
3254 encountering unterminated comments.
3256 Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
3258 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
3261 * configure.in: Handle --with-fast-fixincludes.
3262 (fixincludes): If --with-fast-fixincludes, then use a different
3263 fixincludes program by default.
3264 * Makefile.in (fixinc.sh): New rule.
3266 Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
3268 * i386.md (movqi+1): Handle invalid QI register.
3269 (movsf_push-1): Likewise.
3271 Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
3273 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
3275 symbolic_memort_operand(), call32_operand(), int8_operand(),
3276 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
3278 uint16_operand(): Made static.
3280 Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
3282 * calls.c (expand_call): Fix typo.
3284 Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
3286 * c-lex.c (finput): New global.
3287 (init_parse): Always included. Handle !USE_CPPLIB using
3288 code originally in compile_file.
3289 (finish_parse): Update for CPPLIB.
3290 * toplev.c (init_parse, finish_parse): Declare.
3291 (finput): Delete variable. Now in front-ends.
3292 (compile_file): Remove code which is now handled by init_parse
3293 which is unconditionally called. Similarly for finish_parse.
3295 Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
3297 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
3298 ASM_WEAKEN_LABEL): Add.
3300 Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
3302 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
3303 * configure.in (alpha-*-linux*): Use them.
3305 Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
3307 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
3308 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
3309 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
3310 (build_expr_wfl): New prototype declaration.
3311 * tree.c (build_expr_wfl): New function, to build
3312 EXPR_WITH_FILE_LOCATION nodes.
3313 (copy_node): Don't zero TREE_CHAIN if copying a
3314 EXPR_WITH_FILE_LOCATION node.
3315 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
3316 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
3318 Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
3320 * configure.in (v850): Use t-v850.
3321 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
3323 * protoize.c (creat, read, write): Do not declare.
3325 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
3326 refer to the CODE_LABEL before a dispatch table.
3328 * invoke.texi: Add ARC options.
3330 * gcc.c (proces_command): Improve error message for -o with
3333 * i386/x-cygwin32 (CLIB): Link in advapi32.
3335 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
3336 (ASM_IDENTIFY_LANGUAGE): Likewise.
3338 * i386.md (movqi recognizer): Don't perfom byte increment into
3341 * configure.in (x86-dg-dgux): Run fixinc.dgux.
3343 * i370.h: Fix typo in GEN_INT changes.
3345 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
3346 of an empty arglist in prototype.
3348 * Makefile.in: Remove bytecode crud that crept back in after the
3351 1998-04-08 Brendan Kehoe <brendan@cygnus.com>
3353 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
3354 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
3356 Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
3358 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3360 Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
3362 * c-lex.c (is_class_name): Delete declaration.
3363 (whitespace_cr): Make static and add prototype.
3364 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
3365 yylex, get_directive_line): Turn declarations into prototypes.
3366 (position_after_whitespace, check_newline, yyerror,, is_class_name,
3367 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
3369 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
3371 * gencodes.c (gen_insn): Add prototype.
3372 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
3373 gen_peephole): Add prototypes.
3374 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
3376 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
3377 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
3378 genheader, gencode): Add prototypes.
3379 * genopinit.c (gen_insn): Add prototype.
3380 * genoutput.c (output_prologue, output_epilogue, scan_operands,
3381 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
3382 gen_expand, gen_split, n_occurrences): Add prototypes.
3383 * genpeep.c (gen_peephole): Add prototype.
3384 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
3385 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
3386 labels_in_range_p, count_loop_regs_set, note_addr_stored,
3387 loop_reg_used_before_p, scan_loop, replace_call_address,
3388 skip_consec_insns, libcall_benefit, ignore_some_movables,
3389 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
3390 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
3391 check_final_value, record_giv, update_giv_derive, basic_induction_var,
3392 simplify_giv_expr, general_induction_var, consec_sets_giv,
3393 check_dbra_loop, express_from, combine_givs_p, combine_givs,
3394 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
3395 last_use_this_basic_block, record_initial, update_reg_last_use,
3396 iteration_info, analyze_loop_iterations, insert_bct,
3397 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
3400 Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
3402 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3404 1998-04-07 Ken Raeburn <raeburn@cygnus.com>
3406 * config/mips/mips.c (siginfo): Deleted.
3407 (override_options): Don't install SIGINFO signal handler.
3409 Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
3411 * loop.c (check_dbra_loop): When normalize comparison_val, add check
3412 to verify it is non-negative.
3414 Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
3416 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
3417 (alpha_expand_block_clear): Likewise.
3419 Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
3421 * tree.h (sizetype_tab): Fix previous change for K&R.
3423 Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
3425 * version.c: Bump for snapshot.
3427 Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
3429 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
3430 Add USG and POSIX to xm_defines.
3432 Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
3434 * gcc.c: Add linker spec.
3435 (link_command_spec): Use %(linker) instead of ld.
3436 (main): If collect2 is requested as the linker, see if it exists;
3437 if not, use ld instead.
3439 * Makefile.in (USE_COLLECT2): It's named colle