]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
362b65852c4aa0ccfb8a005200a6d913aa652fc4
[gcc.git] / gcc / ChangeLog
1 Mon Dec 20 23:15:36 1999 Mike Stump <mrs@wrs.com>
2
3 * Makefile.in (crtbegin.o, crtend.o, s-crtS): Depend on
4 stmp-int-hdrs.
5 (libgcc2.a): Similarly.
6
7 Mon Dec 20 23:06:47 1999 David Edelsohn <edelsohn@gnu.org>
8
9 * longlong.h (_ARCH_PPC): Only protect add_ssaaaa and sub_ddmmss
10 with W_TYPE_SIZE == 32. Do not fall through to POWER architecture
11 for umul_ppmm and smul_ppmm if !_ARCH_PPC and !_ARCH_POWER.
12
13 Mon Dec 20 23:02:03 1999 Jeffrey A Law (law@cygnus.com)
14
15 * fold-const.c (real_hex_to_f): Remove unused "isldouble" variable.
16 Remove redundant initialization of "frexpon" and "expon".
17
18 Mon Dec 20 15:00:04 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19
20 * tree.c (real_value_from_int_cst): Clear REAL_VALUE_TYPE object first.
21
22 * expr.c (store_constructor): New argument SIZE; pass to clear_storage.
23 (store_constructor_field, expand_expr): Pass new arg.
24
25 1999-12-20 Mark Mitchell <mark@codesourcery.com>
26
27 * Makefile.in (explow.o): Depend on function.h.
28
29 * stor-layout.c (set_sizetype): Fix typo.
30
31 1999-12-20 Bernd Schmidt <bernds@cygnus.co.uk>
32
33 * function.c (cfun): Renamed from current_function. All users
34 changed.
35 * function.h (cfun): Rename declaration as well.
36
37 * reload.h (struct insn_chain): Change live_throughout and dead_or_set
38 to be of type regset_head, not regset. All users changed by adding
39 address operator.
40 * reload1.c (new_insn_chain): Don't allocate regsets, just clear them.
41
42 1999-12-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
43
44 * config/c4x/rtems.h: New file.
45
46 1999-12-19 Bernd Schmidt <bernds@cygnus.co.uk>
47
48 * reload1.c (spill_failure): Take class of failed reload as argument
49 and print it. Caller changed.
50
51 Sun Dec 19 07:50:42 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
52
53 * rs6000.h (SUBTARGET_DEFAULT): New macro.
54 (TARGET_SWITCHES): Allow subtargets to default switches.
55 * rs6000/vxppc.h (SUBTARGET_DEFAULT): New macro.
56
57 1999-12-18 Mark Mitchell <mark@codesourcery.com>
58
59 * crtstuff.c (__do_global_ctors_aux): Do not call __cxa_finalize
60 in a main program.
61
62 Sat Dec 18 20:42:43 1999 Richard Henderson <rth@cygnus.com>
63
64 * cccp.c (main): Define __STDC_VERSION__ as necessary.
65 * cppinit.c (cpp_handle_option): Likewise.
66
67 * ginclude/stdarg.h (va_copy): Use __STDC_VERSION__ to
68 determine when to define.
69
70 Sat Dec 18 20:34:00 1999 Richard Henderson <rth@cygnus.com>
71
72 * alpha.c (alpha_emit_conditional_move): If TARGET_FIX, handle
73 cmove with mismatched test and data modes.
74
75 Sat Dec 18 20:30:15 1999 Richard Henderson <rth@cygnus.com>
76
77 * c-typeck.c (c_expand_start_case): Don't warn for long switch
78 in system headers.
79
80 Sat Dec 18 16:28:43 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
81
82 * alias.c: Minor reformatting.
83 * flow.c: Likewise.
84 * regs.h: Likewise.
85 * stor-layout.c: Likewise.
86 * fold-const.c: Likewise.
87 (OVERFLOW_SUM_SIGN): Renamed from overflow_sum_sign.
88 (struct cb_args, const_binop_1, const_binop): Pass type of arg,
89 not arg itself.
90 (size_int_wide): Cache nodes even if garbage collecting.
91 (twoval_comparison_p): Reenable SAVE_EXPR case if operand
92 of SAVE_EXPR has no side effects.
93 * cse.c: Move a comment.
94 * tree.c: Minor reformatting.
95 (int_size_in_bytes): Return -1 if constant overflows.
96
97 Sat Dec 18 18:30:20 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
98
99 * unroll.c (copy_loop_body): Don't treat a REG like a PLUS.
100
101 1999-12-18 10:42 -0800 Zack Weinberg <zack@wolery.cumb.org>
102
103 * objc/objc-parse.c: Regenerate. This file must be rebuilt
104 after any change to c-parse.in, even if objc-parse.y didn't
105 change. Oops.
106
107 1999-12-18 David S. Miller <davem@redhat.com>
108
109 * toplev.c (rest_of_compilation): Restore BLOCK tree
110 reconstruction and branch shortening changes lost in
111 December 18th change.
112
113 Sat Dec 18 05:29:29 1999 Scott Bambrough <scottb@netwinder.org>
114
115 * config/arm/linux-elf.h: Change all instances of
116 ARM_FLAG_SHORT_BYTES to ARM_FLAG_MMU_TRAPS.
117 * config/arm/uclinux-elf.h: Likewise.
118
119 1999-12-18 Gabriel Dos Reis <gdr@codesourcery.com>
120
121 * toplev.c (notice, vmessage, v_message_with_file_and_line,
122 v_message_with_decl, file_and_line_for_asm,
123 v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
124 verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
125 v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
126 v_pedwarn_with_file_and_line, vsorry, vnotice, count_error,
127 pfatal_with_name, fatal_io_error, need_error_newline,
128 last_error_function, last_error_tick, announce_function,
129 default_print_error_function, print_error_function,
130 report_error_function, fnotice, error_with_file_and_line,
131 error_with_decl, error_for_asm, error, set_fatal_function, fatal,
132 _fatal_insn, _fatal_insn_not_found, warning_with_file_and_line,
133 warning_with_decl, warning_for_asm, warning, pedwarn,
134 pedwarn_with_decl, pedwarn_with_file_and_line, sorry): Move to
135 diagnostic.c
136 (compile_file): Use fnotice instead of notice. Adjust call.
137
138 * diagnostic.c: New file.
139
140 * Makefile.in (OBJS): Include diagnostic.o
141 (diagnostic.o): Define dependence.
142
143 1999-12-18 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
144
145 * config/c4x/c4x.h (ASM_OUTPUT_XXX): Wrap in do-while(0).
146 Tweak formatting.
147
148 1999-12-18 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
149
150 * config/c4x/c4x.md (rpts_top, rptb_top): Add clobbers for rs and re.
151
152 1999-12-17 13:21 -0800 Zack Weinberg <zack@rabi.columbia.edu>
153
154 * fixtests.c (is_cxx_header): New fn, split out of
155 double_slash_test.
156 (else_endif_label): Allow "#endif // comment" in C++ headers,
157 as determined by is_cxx_header.
158 * fixfixes.c (else_endif_label_fix): Update comment.
159 * fixincl.c: Don't output VERB_PROGRESS lines if stdout is not
160 a tty.
161 * genfixes: Correct double thinko in commandline parsing.
162 * hackshell.tpl: Generate correct sh syntax for bypass
163 entries.
164
165 * inclhack.def (all): Whenever an inserted preprocessor
166 conditional is split over multiple lines, use double
167 backslashes in this file so the fixed header will be readable.
168
169 (AAB_fd_zero_glibc_1_0): Rename to AAB_fd_zero_asm_posix_types_h
170 and add bypass entry for correct version of this header.
171 (AAB_fd_zero_glibc_1_x): Rename to AAB_fd_zero_gnu_types_h.
172 (AAB_fd_zero_glibc_2_0): Rename to AAB_fd_zero_selectbits_h.
173
174 (hpux8_bogus_inlines): New fix, split from...
175 (ultrix_atof_param) ... here.
176 (math_expression): Add bypass entry keyed to glibc comment
177 indicating the problem has been dealt with; disable
178 unnecessary sed operations; update commentary.
179 (math_gcc_ifndefs): Rename to math_huge_val_from_dbl_max,
180 add select and bypass entries, simplify shell operation.
181 (math_huge_val_ifndef): Split from math_gcc_ifndefs.
182
183 (ip_missing_semi, rs6000_param, tinfo_cplusplus,
184 ultrix_atof_param): Add select entry.
185 (stdio_va_list, sunos_mather_decl): Add bypass entry.
186 (systypes_for_aix, sysv86_string, tinfo_cplusplus): Put the
187 comments with the fixes they describe.
188
189 * c-parse.in (string action): Do not warn about ANSI string
190 concatenation in system headers. Affects C parser only.
191 * c-parse.y, c-parse.c, c-parse.h: Rebuild.
192
193 1999-12-16 Jakub Jelinek <jakub@redhat.com>
194
195 * config/sparc/sparc.h (TARGET_ARCH32): Exchange ifdefs so that if
196 compiling libgcc2 the macro depends always on arch cpp defines.
197
198 Fri Dec 17 10:34:16 1999 Richard Earnshaw <rearnsha@arm.com>
199
200 * loop.c (insert_loop_mem): Don't record MEMs from inside
201 EXPR_LISTs.
202
203 Fri Dec 17 12:08:11 MET 1999 Jan Hubicka <hubicka@freesoftr.cz>
204
205 * regclass.c (regclass): Do not use flowgraph when not optimizing.
206
207 * gcse.c (try_replace_reg): Do replacements in REG_EQUAL/REG_EQUIV
208 notes too, create one when replacement failed, attempt to simplify
209 resulting notes.
210 (cprop_insn): Propagate even to registers mentioned only in REG_EQUAL
211 or REG_EQUIV notes.
212
213 1999-12-16 Mark Mitchell <mark@codesourcery.com>
214
215 * crtstuff.c (__dso_handle): Declare.
216 (__cxa_finalize): Likewise.
217 (do_global_dtors_aux): Call __cxa_finalize if __dso_handle is
218 non-NULL.
219
220 * invoke.texi: Document -fuse-cxa-atexit.
221
222 * tree.h (ptr_type_node): Document.
223 (const_ptr_type_node): Likewise.
224
225 Fri Dec 17 01:32:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
226
227 * regmove.c (optimize_reg_copy_1): Ignore LOOP notes.
228 (optimize_reg_copy_2): Likewise.
229 (optimize_reg_copy_3): Likewise.
230 (fixup_match_2): Likewise.
231 (regmove_optimize): Likewise.
232 (fixup_match_1): Liekwise.
233
234 * i386.md (HI to SImode promoting splitters): Rewrite.
235 (pushsf mem peep2): New.
236 (testhi to andhi peep2): Remove.
237 * i386.h (x86_promote_QImode): New.
238 (TARGET_PROMOTE_QImode): New.
239 (PREDICATE_CODES): Add promotable_binary_operator.
240 * i386.c (x86_promote_QImode0: New.
241 (promotable_binary_operator): New.
242 * i386-protos.h (promotable_binary_operator): New.
243
244 * i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify
245 condition.
246 (one_cmpl?i*): Pass "NOT" to unary_operator_ok.
247
248 1999-12-16 Mark Mitchell <mark@codesourcery.com>
249
250 * Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H.
251 * function.c (insert_block_after_note): Remove.
252 (retrofit_block): Likewise.
253 (identify_blocks): Fix indentation.
254 (reorder_blocks): Don't NULL out NOTE_SOURCE_FILE for a
255 NOTE_INSN_BLOCK_BEG or NOTE_INSN_BLOCK_END.
256 * function.h (insert_block_after_note): Remove prototype.
257 (retrofit_block): Likewise.
258 * integrate.c (expand_inline_function): Don't call
259 find_loop_tree_blocks. Use expand_start_bindings_and_block, not
260 just expand_start_bindings. Use the block_map to remap old
261 NOTE_BLOCKs to new ones.
262 (integrate_decl_tree): Keep track of remapped blocks.
263 * integrate.h (struct inline_remap): Add block_map.
264 * stmt.c (expand_fixup): Don't try to retrofit_blocks. Just set
265 NOTE_BLOCK on the notes.
266 (expand_start_bindings): Rename to ...
267 (expand_start_bindings_and_block): Add parameter. Set NOTE_BLOCK.
268 (expand_end_bindings): Set NOTE_BLOCK.
269 * toplev.c (rest_of_compilation): In function-at-a-time-mode,
270 reconstruct the BLOCK tree.
271 * tree.h (expand_start_bindings): Macroize. Call ...
272 (expand_start_bindings_and_block): New function.
273
274 1999-12-16 Jakub Jelinek <jakub@redhat.com>
275
276 * config/sparc/sparc.c (print_operand): Cast fprintf arguments
277 to match the format.
278
279 1999-12-16 David S. Miller <davem@redhat.com>
280
281 * expr.c (emit_move_insn_1): Only emit clobbers if one of
282 the outputs is a SUBREG.
283 * rtlanal.c (reg_overlap_mentioned_p): Revert December 15th
284 change.
285
286 * config/sparc/sparc.c (epilogue_renumber): Add default case
287 to switch stmt.
288
289 Thu Dec 16 11:33:57 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
290
291 * toplev.c (rest_of_compilation): Run branch shortening after
292 reg-stack.
293
294 * regclass.c (loop_depth): Remove
295 (scan_one_insn): Do not handle LOOP_NOTE insns.
296 (regclass): Go through basic blocks and set loop_cost
297
298 Thu Dec 16 02:56:25 1999 Zack Weinberg <zack@bitmover.com>
299
300 * tree.h (DECL_FROM_INLINE): Check DECL_ABSTRACT_ORIGIN too.
301
302 Thu Dec 16 10:43:35 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
303
304 * i386.md (movqi): Use "nonimmediate_operand" for output operand.
305 (movstrictqi, movdi, movsf, movdf, movxf): Likewise.
306 (adddi, addqi, addhi, subdi, subqi, subhi, ffs): Likewise.
307
308 Thu Dec 16 02:41:26 1999 Richard Henderson (rth@cygnus.com)
309
310 * loop.c (insert_loop_mem): Ignore memory clobbers.
311
312 * combine.c (simplify_comparison): Reduce (OP (MINUS A B) 0)
313 to (OP A B).
314
315 Thu Dec 16 02:26:11 1999 Jeffrey A Law (law@cygnus.com)
316
317 * profile.c: Remove redundant #include "output.h".
318
319 * h8300.md (HImode preinc peephole): Fix typo.
320
321 1999-12-15 Jason Merrill <jason@casey.cygnus.com>
322
323 * function.c (retrofit_block): Abort if we don't find a suitable insn.
324 (insert_block_after_note): Abort if we don't have a previous block.
325 Remove FN parameter.
326 * function.h: Adjust.
327
328 1999-12-15 Mark Mitchell <mark@codesourcery.com>
329
330 * builtins.c (expand_builtin_mathfn): Make sure not to expand the
331 argument more than once.
332
333 1999-12-15 Jason Merrill <jason@casey.cygnus.com>
334
335 * stmt.c (expand_decl): Expand upper bound of a dynamic array.
336
337 1999-12-15 Jakub Jelinek <jakub@redhat.com>
338
339 * expr.c (emit_group_load): Use dst mode if src is VOIDmode.
340
341 Wed Dec 15 16:11:55 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
342
343 * function.c (PREFERRED_STACK_BOUDNARY): Provide default value.
344 (assign_stack_local_1): Limit alignment to PREFERRED_STACK_BOUNDARY,
345 update stack_alignment_needed.
346 (prepare_function_start): Initialize stack_alignment_needed
347 * function.h (struct function): Add field stack_alignment_needed.
348
349 Wed Dec 15 14:55:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
350
351 * caller-save.c (insert_one_insn): Returns struct insn_chain *.
352 Handle live_throughout / dead_or_set instead of live_before /
353 live_after.
354 (save_call_clobbered_regs): Get register livenessinformation from
355 chain->live_throughout.
356 (add_stored_regs): New function.
357 (insert_restore, insert_save): Add restored / saved registers to
358 dead_or_set.
359 * global.c (reg_dies): New parameter chain.
360 (reg_becomes_live): Third parameter is regs_set now.
361 Changed all callers.
362 (reg_dies): New parameter chain. Changed all callers.
363 (build_insn_chain): Set live_throughout instead of
364 live_before / live_after.
365 * reload.h (struct insn_chain): Replace members live_before /
366 live_after with live_throughout / dead_or_set.
367 * reload1.c (new_insn_chain): Handle live_throughout / dead_or_set
368 instead of live_before / live_after.
369 (maybe_fix_stack_asms, find_reload_regs, finish_spills): Likewise.
370 (order_regs_for_reload, find_reg, finish_spills): Likewise.
371 (choose_reload_regs_init): Likewise.
372 * stupid.c (current_chain, find_clobbered_regs): Delete.
373 (stupid_life_analysis): Set chain->live_throughout chain->dead_or_set
374 instead of chain->live_before / chain->live_after.
375 (mark_hard_ref): New function.
376 (stupid_mark_refs): Call mark_hard_ref. Clear chain->live_throughout.
377
378 1999-12-15 David S. Miller <davem@redhat.com>
379
380 * rtlanal.c (reg_overlap_mentioned_p): Handle CONCAT.
381
382 Wed Dec 15 15:05:30 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
383
384 * flow.c (calculate_loop_depth): Make global, remove prototype,
385 rewrite to use new loop infrastructure.
386 (find_basic_block): Remove calculate_loop_depth call.
387 * toplev.c (rest_of_compilation): Call find_basic_block.
388 * output.h (calculate_loop_depth): Declare.
389
390 * flow.c (dump_flow_info): Dump loop_depth.
391 (flow_loops_nodes_find): Increase loop_depth for basic block in the
392 body.
393 (flow_loops_find): Initialize the loop_depth for each basic block.
394
395 1999-12-15 Jason Merrill <jason@casey.cygnus.com>
396
397 * tree.c (decl_function_context): Handle virtual functions.
398
399 * tlink.c (scan_linker_output): Don't look in demangled name when
400 looking for linker output keywords.
401
402 * dwarfout.c (output_type): We can defer namespace-scope classes.
403
404 Wed Dec 15 01:23:29 1999 Jeffrey A Law (law@cygnus.com)
405
406 * regclass.c (record_reg_classes): Update comment for merging
407 register class preferences in reg->reg copies. Tighten conditions
408 for merging register class preferences in reg->reg copies.
409
410 Wed Dec 15 02:19:32 1999 David Edelsohn <edelsohn@gnu.org>
411
412 * rs6000.md (tablejumpdi): Generate DImode LABEL_REF.
413
414 1999-12-14 Geoff Keating <geoffk@cygnus.com>
415
416 * config/m68k/m68020-elf.h (ENDFILE_SPEC): Delete.
417 (INIT_SECTION_ASM_OP): Delete.
418 (FINI_SECTION_ASM_OP): Delete.
419 (STARTFILE_SPEC): Define to hold just crtbegin.o.
420
421 1999-12-14 Jason Merrill <jason@casey.cygnus.com>
422
423 * dwarf2out.c (add_abstract_origin_attribute): Do call abort if
424 the abstract origin wasn't emitted.
425
426 * dwarf2out.c (class_scope_p): New fn.
427 (gen_subprogram_die): Use it.
428 (gen_variable_die): Use it. Tweak logic.
429 (gen_struct_or_union_type_die): Check context_die to determine
430 if we're function-local.
431 (dwarf2out_decl): Check DECL_BUILT_IN, not DECL_FUNCTION_CODE.
432
433 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
434
435 * loop.c (check_dbra_loop): Can't reverse a biv that has
436 maybe_multiple set.
437
438 1999-12-14 Nick Clifton <nickc@cygnus.com>
439
440 * config/arm/arm.c: Add support for -mcpu=arm720 command line
441 switch.
442
443 Tue Dec 14 18:13:32 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
444
445 * loop.c (strength_reduce): Fix sign of giv lifetime calculation
446 for givs made from biv increments.
447
448 Tue Dec 14 08:11:27 1999 Richard Henderson <rth@cygnus.com>
449
450 * configure.in (alpha-osf, alpha-linux): Handle ev6[78].
451 * alpha.c (override_options): Recognize -mcpu=ev67.
452 * alpha.h (CPP_CPU_EV67_SPEC): New.
453 (CPP_CPU_DEFAULT_SPEC): Examine TARGET_CPU_DEFAULT to use it.
454 (EXTRA_SPECS): Update.
455
456 Tue Dec 14 08:04:28 1999 Richard Henderson <rth@cygnus.com>
457
458 * cppp.c (main): Set trigraphs and __STRICT_ANSI__ as
459 appropriate for -lang-c89 and -std=*.
460 * cppinit.c (cpp_handle_option): Likewise.
461 (new_pending_define): New, split out from cpp_handle_option.
462 * gcc.c (default_compilers): Don't define __STRICT_ANSI__
463 or enable trigraphs for -ansi/-std=*.
464
465 * ginclude/stdarg.h (__va_copy): New.
466 (va_copy): Don't define for C89.
467
468 Tue Dec 14 08:37:27 CST 1999 Clinton Popetz <cpopetz@cygnus.com>
469
470 * config/arm/arm.md (mulsidi3adddi, umulsidi3adddi): New patterns
471 for long long multiply-accumulate.
472
473 Tue Dec 14 13:51:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
474
475 * regclass.c (scan_one_insn): Set loop_cost to 1 when
476 optimizing for size.
477
478 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
479
480 * reload1.c (reload): Can't avoid select_reload_regs/finish_spills
481 if something changed. Back out that part of yesterday's changes.
482
483 * loop.c (loop_max_reg): New static variable.
484 (loop_optimize): Initialize it. Eliminate one unnecessary call to
485 max_reg_num.
486 (scan_loop): Call reg_scan_update whenever we may have added new
487 registers, and update loop_max_reg.
488
489 Tue Dec 14 12:07:29 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
490
491 * regclass.c (record_reg_classes): Do not do the copying preferrencing
492 when source does not die.
493
494 * regclass.c (record_reg_classes): Handle INOUT operands propertly.
495
496 1999-12-14 Jakub Jelinek <jakub@redhat.com>
497
498 * config/sparc/linux64.h (TARGET_LIVE_G0,
499 TARGET_BROKEN_SAVERESTORE): Don't support weird SPARC
500 variants on Linux.
501 * config/sparc/linux.h (TARGET_LIVE_G0,
502 TARGET_BROKEN_SAVERESTORE): Likewise.
503 * config/sparc/linux-aout.h (TARGET_LIVE_G0,
504 TARGET_BROKEN_SAVERESTORE): Likewise.
505
506 * config/sparc/sparc.h (SPARC_DEFAULT_CMODEL): Default to CM_32.
507 (CONDITIONAL_REGISTER_USAGE): For block profiling fix %g4 on sparc64,
508 not %g2.
509 (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Use %g4 instead of %g2
510 as sparc64 block profiling register.
511 * config/sparc/sparc.c (sparc_override_options): Allow block
512 profiling with -m32.
513 (sparc_block_profiler): Use %g4 instead of %g2 as sparc64 block
514 profiling register.
515 * config/sparc/linux64.h (MACHINE_STATE_*): Only provide these
516 macros on TARGET_ARCH32. sparc.h has macros good enough for sparc64.
517 * config/sparc/sol2.h (MACHINE_STATE_*): Likewise.
518
519 * config/sparc/xm-sp64.h: Avoid using __sparc_v9__ when testing
520 for sparc64.
521 * config/sparc/sparc.h: Likewise.
522 * config/sparc/xm-sysv4-64.h: Likewise.
523 * config/float-sparc.h: Likewise.
524 * glimits.h: Likewise.
525 * longlong.h: Likewise.
526
527 * config/sparc/linux64.h (DEFAULT_VTABLE_THUNKS): Define to 1.
528 (ASM_IDENTIFY_GCC): Remove.
529
530 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
531
532 * combine.c (combine_simplify_rtx): Don't make shared rtl.
533 (simplify_logical): Likewise.
534
535 1999-12-14 Mumit Khan <khan@xraylith.wisc.edu>
536
537 * cccp.c (INO_T_EQ): Disable inode-based optimization for Cygwin.
538 * cppfiles.c (INO_T_EQ): Likewise.
539
540 1999-12-14 Mumit Khan <khan@xraylith.wisc.edu>
541
542 * i386/crtdll.h (STARTFILE_SPEC): Add -pg profiling support.
543 * i386/mingw32.h (LIB_SPEC): Likewise.
544 (STARTFILE_SPEC): Likewise.
545 * i386/uwin.h (LIB_SPEC): Likewise.
546 (STARTFILE_SPEC): Likewise.
547
548 * i386/mingw32.h (SUBTARGET_PROLOGUE): Override Cygwin definition.
549 * i386/uwin.h (SUBTARGET_PROLOGUE): Likewise.
550
551 Mon Dec 13 20:25:29 1999 Jeffrey A Law (law@cygnus.com)
552
553 * combine.c (combine_simplify_rtx): Fix order of checks for
554 (ashiftrt foo C) -> (lt foo (const_int 0)) simplification.
555
556 1999-12-13 Clinton Popetz <cpopetz@cygnus.com>
557
558 * config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi) Backed out
559 12/10/99 change, reapplied to merged-arm-thumb-backend-branch.
560
561 1999-12-10 Bernd Schmidt <bernds@cygnus.co.uk>
562
563 * hard-reg-set.h (inv_reg_alloc_order): Declare if REG_ALLOC_ORDER is
564 defined.
565 * regclass.c (inv_reg_alloc_order): New array.
566 (regclass_init): If REG_ALLOC_ORDER is defined, initialize it.
567
568 * reload.h (struct insn_chain): Delete fields group_size, group_mode,
569 counted_for_groups, counted_for_nongroups. Add fields rld and
570 n_reloads.
571 * reload.c (push_secondary_reload): Don't set nongroup field of
572 new reloads.
573 (push_reload): Likewise.
574 (find_reloads): Delete code to compute nongroup fields.
575 * reload1.c (reload_insn_firstobj): New static variable.
576 (pseudos_counted, spilled_pseudos): Now of type regset_head. All
577 users changed.
578 (calculate_needs, find_tworeg_group, find_group, possible_group_p,
579 count_possible_groups, modes_equiv_for_class_p, new_spill_reg,
580 dump_needs, maybe_mark_pseudo_spilled, hard_reg_use_compare): Delete
581 functions.
582 (count_pseudo, select_reload_regs, copy_reloads, find_reg): New
583 functions.
584 (struct hard_reg_n_uses): Deleted.
585 (potential_reload_regs): Deleted.
586 (init_reload): Initialize spilled_pseudos and pseudos_counted.
587 (reload): Don't try to allocate reload registers if we already know
588 we have to make another pass. Call select_reload_regs. Free memory
589 starting with reload_firstobj when starting another pass.
590 Don't allocate spilled_pseudos.
591 (calculate_needs_all_insns): Call copy_reloads for an insn that
592 needs reloads; don't call calculate_needs.
593 (spill_cost): New static array.
594 (used_spill_regs_local): New static variable.
595 (order_regs_for_reload): Rewrite to lose hard_reg_n_uses and the code
596 to compute potential_reload_regs.
597 (find_reload_regs): Completely rewritten to use find_reg.
598 (allocate_reload_reg): Don't test counted_for_groups or
599 counted_for_nongroups. Lose NOERROR arg and code to give an error;
600 all cllers changed.
601 (choose_reload_regs): Add fallback code that uses the existing
602 register allocation from find_reload_regs.
603
604 Mon Dec 13 00:54:14 1999 Philippe De Muyter <phdm@macqel.be>
605
606 * flow.c (create_edge_list): Cast xmalloc return value.
607
608 Mon Dec 13 00:47:58 1999 Jeffrey A Law (law@cygnus.com)
609
610 * doprnt.c: Remove incorrect comment closure.
611
612 * cse.c: Fix a few minor whitespace goofs.
613
614 1999-12-13 Don Bowman <don@pixstream.com>
615
616 * mips/vxworks.h: Fix problem with comment termination.
617 (EXTRA_SECTIONS): Add in_sbss.
618 (EXTRA_SECTION_FUNCTIONS): Corresponding changes.
619
620 1999-12-12 David S. Miller <davem@redhat.com>
621
622 * cse.c (struct cse_reg_info): Add hash_next member,
623 reorder rest of struct for better packing on 64-bit
624 hosts.
625 (cse_reg_info_tree): Kill.
626 (REGHASH_SHIFT, REGHASH_SIZE, REGHASH_MASK, reg_hash,
627 REGHASH_FN): New custom pow2 hash mechanism.
628 (NBUCKETS): Kill.
629 (HASH_SHIFT, HASH_SIZE, HASH_MASK, HASH, table): Rework to
630 use a pow2 hash table.
631 (get_cse_reg_info): Rework to use new REGHASH.
632 (new_basic_block): Likewise, use HASH_SIZE, and inline
633 free_element call.
634 (remove_from_table): Rework to use HASH_SIZE/HASH_MASK,
635 and inline free_element call.
636 (lookup_as_function, insert, flush_hash_table, invalidate,
637 remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
638 invalidate_for_call, use_related_value, find_comparison_args,
639 fold_rtx, equiv_constant, cse_insn, invalidate_memory): Likewise.
640 (hash_cse_reg_info, cse_reg_info_equal_p, free_element,
641 get_element): Kill.
642
643 Sun Dec 12 21:31:44 1999 Jeffrey A Law (law@cygnus.com)
644
645 * cse.c (cse_basic_block): Free qty_table consistently.
646
647 1999-12-12 David S. Miller <davem@redhat.com>
648 Jakub Jelinek <jakub@redhat.com>
649
650 * config/sparc/sparc.md (movtf reg/reg split): Don't generate
651 SUBREGs by hand, gen the appropriate hard reg directly.
652 (movtf reg/mem split): Likewise and alter_subreg on destination
653 if necessary.
654 (movtf mem/reg split): Similarly.
655 (movdf_cc_sp64): Rename from hidden pattern.
656 (movtf_cc_hq_sp64): Renamed from movtf_cc_sp64.
657 (movtf_cc_sp64, following split): New pattern and splitter.
658 (movdf_cc_reg_sp64): Rename from hidden pattern.
659 (movtf_cc_reg_hq_sp64): Renamed from movtf_cc_reg_sp64, require
660 TARGET_HARD_QUAD.
661 (movtf_cc_reg_sp64, following split): New pattern and splitter.
662
663 1999-12-12 Stephen L Moshier <moshier@mediaone.net>
664
665 * loop.c (load_mems): Don't hoist written floating point mem
666 if -ffloat-store.
667
668 1999-12-12 Mark Mitchell <mark@codesourcery.com>
669
670 * except.h (struct eh_queue): Add `next' pointer.
671 (struct eh_status): Make x_ehqueue a pointer.
672 (push_ehqueue): Declare.
673 (pop_ehqueue): Likewise.
674 * except.c (expand_eh_region_end): Adjust now that ehqueue is a
675 pointer.
676 (expand_fixup_region_end): Likewise.
677 (expand_leftover_cleanups): Likewise.
678 (push_ehqueue): Define.
679 (pop_ehqueue): Likewise.
680 (emit_cleanup_handler): Use push_ehqueue and pop_ehqueue rather
681 than doing it inline.
682 (expand_start_all_catch): Adjust now that ehqueue is a
683 pointer.
684 (mark_eh_queue): Mark all level of the queue.
685 (mark_eh_status): Adjust now that ehqueue is a
686 pointer.
687 (init_eh_for_function): Allocate ehqueue.
688 (free_eh_status): Free it.
689 * stmt.c (expand_cleanups): Save the ehqueue around the cleanup
690 expansion for a fixup.
691
692 1999-12-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
693
694 * gthr-single.h (__gthread_active_p): Add prototype arguments.
695
696 * libgcc2.c (__udivmoddi4): Remove unnecessary decls.
697 (__dummy, __builtin_saveregs, __bb_exit_trace_func, __bb_init_prg,
698 __bb_trace_func, __bb_trace_func_ret, __bb_trace_ret,
699 function_ptr, getpagesize, __enable_execute_stack,
700 __enable_execute_stack, __clear_insn_cache,
701 __enable_execute_stack, __do_global_dtors, __do_global_ctors,
702 _cleanup, _exit, __default_terminate, __terminate_func,
703 __terminate, __empty, __throw, new_eh_context,
704 eh_context_initialize, eh_context_static, eh_context_specific,
705 get_eh_context, __get_eh_context, __get_eh_info,
706 init_reg_size_table, eh_threads_initialize,
707 __get_dynamic_handler_chain, __sjthrow, __sjpopnthrow,
708 __unwinding_cleanup, throw_helper, __throw, __rethrow,
709 __pure_virtual): Add prototype arguments.
710 (__bb_exit_func): Cast a sizeof to long when comparing against one.
711 Cast a signed value to unsigned long when comparing against one.
712 (new_eh_context): Wrap in _GTHREADS macro.
713 (__sjthrow, __sjpopnthrow): Initialize variable `cleanup' at
714 declaration.
715 (in_reg_window): Mark parameters with __attribute__ ((__unused__)).
716 (throw_helper): Initialize variables `handler_p' and `pc_p'.
717
718 1999-12-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
719
720 * combine.c (record_promoted_value): Remove unused variable
721 `links2'.
722
723 * emit-rtl.c (renumber_insns): Likewise for `old_max_uid'.
724
725 * global.c (record_conflicts): Likewise for `j'.
726
727 * genoutput.c (output_insn_data): Don't unnecessarily cast away
728 const-ness.
729
730 1999-12-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
731
732 * i386-protos.h (output_387_binary_op, output_fix_trunc,
733 output_fp_compare): Constify a char*.
734
735 * i386.c (ix86_split_to_parts, ix86_safe_length_prefix): Add
736 static prototypes.
737 (override_options, ix86_comp_type_attributes, print_operand,
738 output_387_binary_op, output_fix_trunc, output_fp_compare):
739 Constify a char*.
740 (ix86_sched_reorder): Mark parameter `clock_var' with
741 ATTRIBUTE_UNUSED.
742
743 * i386.h (DEBUG_PRINT_REG): Constify a char*.
744
745 Fri Dec 10 16:12:13 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
746
747 * tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third
748 operand, for use in the Java front-end.
749
750 1999-12-10 Ben Collins <bcollins@debian.org>
751
752 * configure.in: Fix typo for "-64" in 64bit as check.
753 * configure: Rebuilt.
754
755 1999-12-10 Jakub Jelinek <jakub@redhat.com>
756
757 * longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT where
758 appropriate.
759
760 1999-12-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
761
762 * c-parse.in (string): With -Wtraditional, warn if ANSI string
763 concatenation is utilized.
764
765 * invoke.texi (-Wtraditional): Document it.
766
767 1999-12-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
768
769 * flow.c (flow_loops_dump): Avoid ANSI string concatenation.
770 Cast a ptrdiff_t to long and pass it to printf with %ld.
771
772 1999-12-10 Geoff Keating <geoffk@cygnus.com>
773
774 * config/m68k/m68k.h (CONDITIONAL_REGISTER_USAGE): If we have no
775 68881, we have no 68881 registers at all.
776 (HARD_REGNO_MODE_OK): It is always OK to put a MODE_FLOAT
777 value in a 68881 register if it is available.
778
779 1999-12-10 Clinton Popetz <cpopetz@cygnus.com>
780
781 * config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi): New patterns
782 for long long multiply-accumulate.
783
784 1999-12-10 Bernd Schmidt <bernds@cygnus.co.uk>
785
786 * loop.c (insert_loop_mem): Undo last change.
787
788 1999-12-10 David S. Miller <davem@redhat.com>
789
790 * config/sparc/sparc.c (fp_sethi_p, fp_mov_p, fp_high_losum_p):
791 New functions.
792 * config/sparc/sparc-protos.h: Add them.
793 * config/sparc/sparc.h: Add them to PREDICATE_CODES.
794 (EXTRA_CONSTRAINT_BASE): New macro, handling Q, R, and S
795 constraints which use those helpers.
796 (EXTRA_CONSTRAINT): Use this new macro.
797 * md.texi: Update sparc target constraints documentation.
798 * config/sparc/sparc.md (clear_sf, clear_sfp, movsf_const_intreg,
799 movsf_const_high, movsf_const_lo, movsf_insn): Delete.
800 (movsf_insn_novis_liveg0, movsf_insn_novis_noliveg0,
801 movsf_insn_vis, movsf_lo_sum, movsf_high): New patterns.
802 (movsf high/lo_sum split): Rework for new patterns.
803 (movsf expander): Allow storing fp_zero to memory if ! live_g0.
804
805 1999-12-09 Gavin Romig-Koch <gavin@cetus.cygnus.com>
806
807 * c-common.c (c_common_nodes_and_builtins):
808 Create __builtin_ptrdiff_t and __builtin_size_t.
809
810 Thu Dec 9 18:05:48 1999 Jeffrey A Law (law@cygnus.com)
811
812 * pa/elf.h (MAX_OFILE_ALIGNMENT): Define.
813
814 Fri Dec 10 00:53:10 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
815
816 * regclass.c (globalize_reg): Re-instate test that allows
817 fixed registers to be declared as a variable even after functions
818 are defined.
819
820 Fri Dec 10 00:52:13 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
821
822 * i386.md (cpu attribute): Add "athlon".
823 (athlon_decode): New attribute.
824 (Athlon scheduling units definitions): New.
825 (fcmp and shld patterns): Set athlon_decode to "vector".
826 * i386.c (athlon_cost): New.
827 (m_ATHLON): New.
828 (x86_use_leave, x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
829 x86_use_sahf): Set for Athlon.
830 (x86_use_fiop): Unset for Athlon.
831 (override_options): Define Athlon alignments and "athlon" name.
832 (x86_adjust_cost): Penalize AGI and delayed latencies for Athlon.
833 * i386.h (TARGET_ATHLON): New.
834 (enum processor_type): Add PROCESSOR_ATHLON.
835 (TARGET_CPU_DEFAULT_SPEC): Set to "-D__tune_athlon__"
836 for CPU_DEFAULT==5
837 (TARGET_CPP_CPU_SPECS): Set -D__tune_athlon__ for Athlon.
838
839 1999-12-09 Andreas Jaeger <aj@suse.de>
840
841 * loop.c (record_biv): Declare parameter as int.
842
843 * config/i386/i386-protos.h: Declare long_memory_operand.
844
845 1999-12-09 Mark Mitchell <mark@codesourcery.com>
846
847 * tree.c (copy_node): Do zero the TREE_CHAIN, even for an
848 EXPR_WITH_FILE_LOCATION.
849
850 Thu Dec 9 11:36:24 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
851
852 * i386.md (neg??, abs?f, one_cmpl?i): Use nonimmediate_operand
853 in expander.
854
855 * flow.c (recompute_reg_usage): Use basic block info to get loop_depth.
856
857 * combine.c (try_combine, distribute_notes): Remove REG_N_REFS
858 updating code.
859
860 1999-12-09 Jakub Jelinek <jakub@redhat.com>
861
862 * config/sparc/linux64.h (TARGET_DEFAULT): Make -mapp-regs
863 default on linux64 again.
864 * config/sparc/t-linux64: Add mno-app-regs and non-medlow code
865 models for multilibing.
866 * genmultilib: Accept | as alternative separator within a set in
867 MULTILIB_OPTIONS.
868
869 * config/sparc/sparc.h (PROMOTE_FOR_CALL_ONLY): Define.
870
871 * calls.c (precompute_arguments): Make sure initial_value contains
872 value pseudo which CSE expects.
873 * cse.c (struct set): New entry orig_src.
874 (cse_insn): Set it early on entry, use it for libcall EQUIV note
875 replacement.
876
877 Wed Dec 8 22:24:15 1999 Richard Henderson <rth@cygnus.com>
878
879 * flow.c (count_basic_blocks): Don't add (use (const_int 0)) insns.
880
881 1999-12-08 Bernd Schmidt <bernds@cygnus.co.uk>
882
883 * loop.c (insert_loop_mem): Don't hoist volatile mems out of loops.
884
885 1999-12-08 Jakub Jelinek <jakub@redhat.com>
886
887 * config/sparc/sparc.c (ultra_cmove_results_ready_p,
888 ultra_fpmode_conflict_exists, ultra_flush_pipeline): Typo fix.
889
890 * config/sparc/sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits
891 if TARGET_ARCH32.
892
893 * longlong.h: Merge in changes from glibc.
894 Also don't clobber %g2 register in 32bit SPARC assembly, so that
895 -mno-app-regs libgcc can be compiled.
896 * libgcc2.c: Add defines so that the updated longlong.h
897 can be used in libgcc2.a. Also, make sure on most architectures
898 (at least on all which have optimized code in longlong.h defined
899 for) {SI,W}_TYPE_SIZE is suitable for preprocessor tests.
900
901 1999-12-08 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
902
903 * config/sparc/sol2-64.h: Same as sol2-sld-64.h, except that
904 `-m EMULATION' is added to non-default LINK_ARCH_SPECs.
905 * configure.in: Use sol2-64.h instead of sol2-sld-64.h if linker
906 is GNU ld.
907 * configure: Rebuilt.
908
909 Wed Dec 8 03:45:40 1999 Richard Henderson <rth@cygnus.com>
910
911 * alpha.c (secondary_reload_class): For !BWX, sub-simode
912 outputs require a register.
913
914 1999-12-08 Brendan Kehoe <brendan@cygnus.com>
915
916 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi
917 _df_to_usi. Required by some targets, so US_SOFTWARE_GOFAST calls to
918 functions like dptoul will be resolved.
919 (libgcc2.a): Make sure that the object files from DPBIT are named
920 differently (prefix `_dp') from those that would be coming from
921 FPBIT.
922
923 1999-12-08 Alexandre Oliva <oliva@lsd.ic.unicamp.br>, Jakub Jelinek <jakub@redhat.com>
924
925 * configure.in: When target is sparc* and tm_file contains 64,
926 test for 64bit support in assembler. If not supported, remove
927 sparc/t-sol2-64 from target-dependent Makefile fragments.
928 (AS_SPARC64_FLAG): Define to the assembler flag for 64bit.
929 (HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags.
930 (HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache.
931 * acconfig.h (AS_SPARC64_FLAG): Added.
932 * configure, config.in: Rebuilt.
933 * config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit
934 support. Use AS_SPARC64_FLAG.
935
936 1999-12-07 Jakub Jelinek <jakub@redhat.com>
937
938 * config/sparc/sparc.c (hard_32bit_mode_classes): Mark registers
939 suitable for holding OFmode values so that gcc works with complex
940 quad long doubles.
941 (hard_64bit_mode_classes): Likewise.
942
943 * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern
944 so that it is actually matched.
945 (sethi_di_medlow): Likewise.
946
947 * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L
948 as legitimate constant if -mvis.
949 * config/sparc/sparc.md (movtf): Likewise.
950 (clear_sf): Use const_double_operand.
951 (clear_sfp, clear_dfp, clear_tf, clear_tfp): New patterns.
952
953 * config/sparc/sparc.c (sparc_emit_float_lib_cmp): New function.
954 * config/sparc/sparc-protos.h (sparc_emit_float_lib_cmp): Prototype.
955 * config/sparc/sparc.h (*_LIBCALL): Only use for _Q_*
956 routines, _Qp_* cannot be handled like that now.
957 (INIT_TARGET_OPTABS): Likewise.
958 * config/sparc/sparc.md (cmptf): Accept soft float ARCH64.
959 (seq, sne, sgt, sge, slt, sle, beq, bne, bgt, bge, blt, ble): Call
960 sparc_emit_float_lib_cmp if ARCH64 and soft float.
961 (extendsftf2, extenddftf2, trunctfsf2, trunctfdf2, floatsitf2,
962 floatditf2, fix_trunctfsi2, fix_trunctfdi2, addtf3, subtf3, multf3,
963 divtf3, sqrttf3): New expanders.
964 (extendsftf2_hq, extenddftf2_hq, trunctfsf2_hq, trunctfdf2_hq,
965 floatsitf2_hq, floatditf2_hq, fix_trunctfsi2_hq, fix_trunctfdi2_hq,
966 addtf3_hq, subtf3_hq, multf3_hq, divtf3_hq, sqrttf3_hq): Rename from
967 non-_hq patterns.
968
969 * configure.in (sparc64-*-linux*): Use posix threads if enabled.
970 * configure: Rebuilt.
971 * config/sparc/linux64.h: Default to -mcpu=ultrasparc if no
972 -mcpu is given and we're doing 64bit compiles.
973
974 Tue Dec 7 19:22:06 1999 Richard Henderson <rth@cygnus.com>
975
976 * loop.h (struct induction): Add multi_insn_incr.
977 * loop.c (basic_induction_var): New multi_insn_incr argument.
978 Set it if we search back through previous insns for the biv.
979 (record_biv): New multi_insn_incr argument; fill in struct induction.
980 (strength_reduce): Discard an iv with multiple bivs, any of
981 which require multiple insns to increment.
982
983 1999-12-07 Martin v. Löwis <loewis@informatik.hu-berlin.de>
984
985 * invoke.texi (C Dialect Options): Remove -flang-c9x, add -std
986 documentation.
987
988 1999-12-06 David S. Miller <davem@redhat.com>
989
990 * combine.c (check_promoted_subreg): Do not conditionalize this upon
991 PROMOTE_FUNCTION_RETURN.
992
993 Mon Dec 6 15:12:14 1999 Jim Wilson <wilson@cygnus.com>
994
995 * regmove.c (optimize_reg_copy_1): If no REG_DEAD note, check for
996 and handle REG_UNUSED note on insn.
997
998 * combine.c (force_to_mode, case LSHIFTRT): New local inner_mask. Set
999 inner_mask instead of mask.
1000
1001 1999-12-06 Brendan Kehoe <brendan@cygnus.com>
1002
1003 * dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be
1004 zero if there was an error.
1005
1006 1999-12-06 Jakub Jelinek <jakub@redhat.com>
1007
1008 * config/sparc/sparc.md (return_losum_di): Fix typo in asm
1009 output string.
1010
1011 * longlong.h: Fix clobbers in SPARC asm statements.
1012
1013 * config/sparc/sparc.c (input_operand): Allow HImode and QImode
1014 valid sethi operations when TARGET_ARCH64.
1015
1016 * calls.c (save_fixed_argument_area): If save_mode is BLKmode,
1017 always use move_by_pieces to avoid infinite recursion.
1018 (restore_fixed_argument_area): Likewise.
1019
1020 * combine.c (check_promoted_subreg, record_promoted_value): New
1021 functions.
1022 (combine_instructions): Use them to retain nonzero and sign bit
1023 information after SUBREGs are eliminated by optimizations in
1024 this pass if PROMOTE_FUNCTION_RETURN.
1025
1026 * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Document
1027 .register declaration. Don't use variables with __ prefixes.
1028
1029 Mon Dec 6 12:24:52 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1030
1031 * fold-const.c (optimize_bit_field_compare): Only use one mode
1032 for both RHS and LHS in non-constant case.
1033
1034 1999-12-06 Nathan Sidwell <nathan@acm.org>
1035
1036 * frame.c (start_fde_sort): Only allocate erratic array, if
1037 linear one was allocated. Return allocated flag.
1038 (fde_insert): Only insert, if there's a valid array.
1039 (fde_end_sort): Split, sort and merge if linear and erratic
1040 arrays exist, else just sort linear one.
1041 (search_fdes): New function. Linear search through original fde
1042 structure.
1043 (frame_init): Permit multiple initializations. Cope with
1044 memory shortages.
1045 (find_fde): Fallback on linear search, if failed to sort array.
1046 (__deregister_frame_info): Only free sorted array, if we
1047 allocated it.
1048
1049 1999-12-06 Jakub Jelinek <jakub@redhat.com>
1050
1051 * config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro.
1052
1053 1999-12-05 Jakub Jelinek <jakub@redhat.com>
1054
1055 * config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi.
1056
1057 1999-12-05 Mark Mitchell <mark@codesourcery.com>
1058
1059 * tree.h (special_function_p): Declare.
1060 * calls.c (special_function_p): Make it global. Don't take `name'
1061 as a parameter. Fix typo in 1999-11-28 change.
1062 (expand_cal): Adjust.
1063
1064 1999-12-04 Mark Mitchell <mark@codesourcery.com>
1065
1066 * tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
1067 * tree.h (EXPR_WFL_FILENAME): Define in terms of
1068 EXPR_WFL_FILENAME_NODE.
1069 (EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than
1070 the TREE_CHAIN.
1071 * print-tree.c (print_note): Print TREE_PRIVATE and
1072 TREE_PROTECTED.
1073
1074 * dwarf2out.c (add_abstract_origin_attribute): Don't abort when
1075 the original die cannot be found.
1076
1077 * varray.h (varray_head_tag): Add elements_used.
1078 (VARRAY_PUSH): New macro.
1079 (VARRAY_POP): Likewise.
1080 (VARRAY_TOP): Likewise.
1081 Add variants of VARRAY_PUSH and VARRAY_POP for all varray element
1082 types.
1083 * varray.c (varray_init): Initialize elements_used.
1084 * Makefile.in (BASIC_BLOCK_H): Add varray.h.
1085 (INTEGRATE_H): New variable.
1086 (integrate.o): Depend on INTEGRATE_H.
1087 (unroll.o): Likewise.
1088
1089 * function.h (insert_block_after_note): Declare.
1090 * function.c (insert_block_after_note): Split out from ...
1091 (retrofit_block): ... here.
1092
1093 * stmt.c (expand_fixup): Fix typo in comment.
1094
1095 Sat Dec 4 14:13:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
1096
1097 * regmove.c (copy_src_to_dest): Remove loop_depth parameter.
1098 (optimize_reg_copy_1): Remove REG_N_REFS updating code.
1099 (optimize_reg_copy_2, copy_src_to_dest, fixup_match_2): Likewise.
1100 (regmove_optimize, fixup_match_1): Likewise.
1101
1102 1999-12-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1103
1104 * flow.c (flow_loops_dump): Add missing argument when calling
1105 flow_loop_nested_p.
1106
1107 1999-12-04 Geoffrey Keating <geoffk@cygnus.com>
1108 Greg McGary <gkm@gnu.org>
1109
1110 * c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
1111 (init_attributes): Add A_NO_LIMIT_STACK.
1112 (decl_attributes): Handle A_NO_LIMIT_STACK.
1113 * c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK.
1114 * explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]:
1115 Handle stack bounds checking.
1116 * flags.h (flag_stack_check): Use the word 'probe' rather than
1117 'check', because the flag doesn't actually cause any checking to
1118 be done.
1119 * function.c (expand_function_start): Set
1120 current_function_limit_stack.
1121 * function.h (struct function): Add limit_stack.
1122 (current_function_limit_stack): Define.
1123 * invoke.texi (Code Gen Options): Document new options.
1124 * rtl.h: Declare stack_limit_rtx.
1125 * toplev.c (stack_limit_rtx): New variable.
1126 (decode_f_option): Handle new options -fstack-limit-register=REG,
1127 -fstack-limit-symbol=IDENT, -fno-stack-limit.
1128 (main): Add stack_limit_rtx as GC root.
1129 * tree.h (DECL_NO_LIMIT_STACK): New macro.
1130 (struct tree_decl): New member no_limit_stack.
1131
1132 * config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle
1133 stack_limit_rtx.
1134 * config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx.
1135 (conditional_trap+1): Get new mnemonic correct.
1136 (conditional_trap+2): New pattern for DImode traps.
1137
1138 * config/m68k/m68k.c (output_function_prologue): Handle
1139 stack_limit_rtx.
1140 * config/m68k/m68k.md (trap): New insn.
1141 (conditional_trap): New insn.
1142 * md.texi (Standard Names): Document `trap' and
1143 `conditional_trap'.
1144 * optabs.c (gen_cond_trap): Use start_sequence()/end_sequence()
1145 so a cc0 setter doesn't get emitted at some random place in the
1146 function.
1147
1148 * config/i960/i960.md (trap): New insn.
1149 (conditional_trap): New expander.
1150 (conditional_trap+1, conditional_trap+2): New insns for signed
1151 and unsigned cases.
1152 * config/i960/i960.c (i960_function_prologue): Use
1153 STARTING_FRAME_OFFSET. Handle stack_limit_rtx.
1154
1155 Thu Dec 2 21:22:45 1999 Greg McGary <gkm@gnu.org>
1156 Geoffrey Keating <geoffk@cygnus.com>
1157
1158 * flags.h (warn_padded, warn_packed): Add global var decls.
1159 * toplev.c (warn_padded, warn_packed): Add global var defns.
1160 (W_options): Add warnings `-Wpacked' and `-Wpadded'.
1161 * stor-layout.c (layout_record): Add local variable `type'
1162 to hold often-used TREE_TYPE (field). Add local variable
1163 `unpacked_align' to hold alignment that would be in force
1164 if no `packed' attribute were present. Warn if `packed' attribute
1165 is unnecessary, or even harmful. Warn when gcc inserts padding
1166 to satisfy alignment requirements of members. Use NULL_TREE
1167 when checking whether var_size is set.
1168 * invoke.texi: Document new flags.
1169
1170 1999-12-03 Nathan Sidwell <nathan@acm.org>
1171
1172 * frame.c (fde_split): Reimplement to avoid variable sized array.
1173
1174 Thu Dec 2 18:59:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1175
1176 * combine.c (try_combine): Before fixing up LOG_LINKS for the
1177 i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL.
1178
1179 1999-12-02 Gavin Romig-Koch <gavin@cygnus.com>
1180
1181 * invoke.texi: Document the mips option -mno-crt0
1182
1183 1999-12-02 Mike Karr <mkarr@mathworks.com>
1184
1185 * cccp.c (argdata): Added free_ptr member.
1186 (macroexpand): Initialize free_ptr of each argument. When an
1187 argument's buffers are freed, if the argument's free_ptr corresponds
1188 to a buffer on the input stack, then return the free_ptr to that stack
1189 frame, otherwise, free it.
1190 (macarg): If an argument begins and ends on the same input stack level,
1191 then transfer the free_ptr of that buffer to the argument in case
1192 the stack is popped during the processing of a subsequent argument.
1193
1194 1999-12-02 Bernd Schmidt <bernds@cygnus.co.uk>
1195
1196 * loop.c (note_reg_stored): New function.
1197 (struct note_reg_stored_arg): New structure.
1198 (try_copy_prop): Change to be more conservative; only replace within
1199 one extended basic block and stop replacing if a store to the
1200 replacement reg is seen.
1201
1202 1999-12-02 Nick Clifton <nickc@cygnus.com>
1203
1204 * config/fp-bit.c: Initialise all fields of the NAN
1205 constants.
1206
1207 * c-lex.c (check_newline): Pass pragma_getc and pragma_ungetc
1208 to HANDLE_PRAGMA.
1209
1210 Wed Dec 1 18:16:38 1999 Jan Hubicka <hubicka@freesoft.cz>
1211
1212 * i386.md (extend?f?f2): Force the input into a register, not
1213 the output.
1214
1215 1999-12-01 Jakub Jelinek <jakub@redhat.com>
1216
1217 * config/sparc/sparc.md (movsf_const_intreg): Add constraints for
1218 regclass' sake.
1219 (movdf_const_intreg_sp32): Likewise. Prefer the memory load
1220 alternative because setting up 64bit constant is usually costly,
1221 especially when reload is in progress or completed.
1222 (movdf_const_intreg_sp64): Likewise.
1223 (movdf_const_intreg split): Fix building up constants when
1224 HOST_BITS_PER_WIDE_INT is 64 yet long is 32bit.
1225
1226 Wed Dec 1 16:51:22 1999 Jeffrey A Law (law@cygnus.com)
1227
1228 * combine.c (if_then_else_cond): Use const_true_rtx instead of
1229 const1_rtx for return values in EQ/NE comparison against (const_int 0)
1230 case.
1231
1232 * mn10300.c (REG_SAVE_BYTES): Allocate space for AM33 registers.
1233 (asm_file_start): Emit .am33 into assembly file when compiling for
1234 the AM33.
1235 (print_operand_address): Handle POST_INC addresses.
1236 (can_use_return_insn, initial_offset): Check AM33 registers too.
1237 (expand_prologue): Check & save AM33 registers too.
1238 (expand_epilogue): Similarly.
1239 (secondary_reload_class): Handle AM33 specific secondary reloads.
1240 (output_tst): Emit efficient code for the AM33 too.
1241 * mn10300.h (CPP_SPEC, TARGET_AM33): Define.
1242 (TARGET_SWITCHES): Add -mam33 switch.
1243 (FIRST_PSEUDO_REGISTER): Handle new AM33 registers.
1244 (FIXED_REGISTERS, CALL_USED_REGISTERS): Likewise.
1245 (REG_ALLOC_ORDER, CONDITIONAL_REGISTER_USAGE): Likewise.
1246 (HARD_REGNO_MODE_OK, MODES_TIEABLE_P): Likewise.
1247 (enum reg_class, REG_CLASS_NAMES): Likewise.
1248 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Likewise.
1249 (INDEX_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
1250 (REGNO_OK_FOR_INDEX_P, PREFERRED_RELOAD_CLASS): Likewise.
1251 (PREFERRED_OUTPUT_RELOAD_CLASS, LIMIT_RELOAD_CLASS): Likewise.
1252 (REGISTER_MOVE_COST, REGISTER_NAMES): Likewise.
1253 (HAVE_POST_INCREMENT): Define.
1254 (GO_IF_LEGITIMATE_ADDRESS): Allow POST_INC addresses for the AM33.
1255 (GO_IF_MODE_DEPENDENT_ADDRESS): POST_INC is a mode dependent address.
1256 * mn10300.md (movqi, movhi, addsi, subsi): Add AM33 variants.
1257 (mulsi, andsi, iorsi, xorsi, notsi): Likewise.
1258 (ashiftsi, lshiftrtsi, ashiftrtsi): Likewise.
1259 (zero_extend to SI from QI/HI): Likewise.
1260 (sign_extend to SI from QI/HI): Likewise.
1261 (mulsidi3, umulsidi3): New patterns for the AM33.
1262 (tstsi with zero extension from QI/HI): Add AM33 variants.
1263 (movsi, movsf, movdi, movdf): Generate efficient code for the AM33 too.
1264 (return_internal_regs, store_movm): Handle new AM33 registers.
1265 * t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Define.
1266 (LIBGCC, INSTALL_LIBGCC): Likewise.
1267 * invoke.texi: Document new flags.
1268
1269 Fri Nov 26 10:59:12 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
1270
1271 * i386.md (addsi3_cc): Add "binary_operator_ok" to the condition.
1272 (addsi3_carry): Likewise.
1273 (sbbsi3_cc): Add "binary_operator_ok" to the condition.
1274 (sbbsi3_carry): Likewise.
1275 (mulsi3): Rewrite to expander, ensure that only one operand is memory.
1276 (mulhi3): Likewise.
1277 (test?i_1): Ensure that only one operand is memory.
1278 (conditional move patterns): likewise.
1279 (shift and rotate patterns): Rewrite to expander, add
1280 "binary_operator_ok" to the condition.
1281
1282 * i386.md (QImode patterns): Remove '*' before the 'r' constraints.
1283 * i386.h (procesor_costs): Add movzbl_load field.
1284 (HARD_REGNO_MODE_OK): Accept QImode on non PARTIAL_REGISTER_STALL in
1285 non-Q registers, accept DImode registers anywhere.
1286 (Q_CLASS_P): New.
1287 (MEMORY_MOVE_COST): Calculate QImode moves correctly.
1288 * i386.c (*_cost): Set value for movxbl_load field.
1289
1290 * (addsi): New add to lea splitter.
1291 (ashlsi): Likewise.
1292 (lea to add/shift peep2): New.
1293
1294 1999-12-01 Mark Salter <msalter@cygnus.com>
1295
1296 * config/mips/elf.h (STARTFILE_SPEC): Add no-crt0.
1297 * config/mips/elf64.h (STARTFILE_SPEC): Add no-crt0.
1298 * config/mips/mips.h (TARGET_SWITCHES): Add no-crt0.
1299
1300 Tue Nov 30 15:20:52 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
1301
1302 * i386.c (ix86_expand_move): Never add clobbers to move patterns.
1303 * i386.md (movsi_xor): New.
1304 (movsi_or): New.
1305 (movsi_1, movhi_1, movqi_1): Remove.
1306 (movsi_2): Rename to movsi_1.
1307 (movhi_2): Rename to movhi_1.
1308 (movqi_2): Rename to movqi_1.
1309 (movdi_1): Remove; remove splitter.
1310 (movdi_2): Rename to movdi_1.
1311 (divmodsi4 splitter): Do not emit clobbers for move patterns.
1312 (long move peep2): Do not create QI or HI mode mov0s
1313 (mov -1,reg -> or peep2s): Enable again, rewrite to single peephole.
1314
1315 * i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns,
1316 rewrite splitters.
1317
1318 * i386.md (neg?f2_if): Split "r" and "f" to separate alternatives.
1319 (abs?f2_if): Likewise.
1320
1321 1999-11-30 Alex Samuel <samuel@codesourcery.com>
1322
1323 * ggc.h (ggc_test_and_set_mark): New macro.
1324 (ggc_mark_rtx): Use ggc_test_and_set_mark.
1325 (ggc_mark_tree): Likewise.
1326 (ggc_mark_rtvec): Likewise.
1327 * ggc-common.c (ggc_mark_rtx_children): Reduce recursion.
1328
1329 1999-11-30 Jason Merrill <jason@casey.cygnus.com>
1330
1331 * dwarf2out.c (scope_die_for): Only handle types. Only search for
1332 containing types.
1333 (decl_scope_table): Just an array of trees now.
1334 (push_decl_scope): Simplify.
1335 (dwarf2out_init): Adjust.
1336 (local_scope_p): New fn.
1337 (gen_inlined_enumeration_type_die): Don't call scope_die_for.
1338 (gen_inlined_union_type_die, gen_inlined_structure_type_die): Likewise.
1339 (gen_typedef_die): Likewise.
1340 (gen_lexical_block_die): Don't call push/pop_decl_scope.
1341 (gen_inlined_subroutine_die): Likewise.
1342 (gen_abstract_function): Set current_function_decl temporarily.
1343 (gen_subprogram_die): Don't check DECL_ABSTRACT to set declaration.
1344 Handle block extern declarations. Don't call push/pop_decl_scope.
1345 (gen_decl_die): Fix logic for block externs.
1346
1347 1999-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1348
1349 * calls.c (special_function_p): Remove `realloc' and add `strdup'
1350 to the list of functions which have attribute malloc by default.
1351
1352 1999-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1353
1354 * c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
1355 integer constant does not match the traditional type, limit the
1356 warnings to cases where the base of the type is ten.
1357
1358 * invoke.texi (-Wtraditional): Document it.
1359
1360 Tue Nov 30 15:18:35 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1361
1362 * combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
1363 * rs6000.md: Only access a CONST_INT with INTVAL
1364
1365 Tue Nov 30 14:21:00 1999 Richard Henderson <rth@cygnus.com>
1366
1367 * lcm.c (compute_laterin): Cast bb->aux to size_t not int.
1368 (compute_nearerout): Likewise.
1369 * ggc-page.c (ggc_page_print_statistics): Explicitly cast
1370 size_t to unsigned long for formatting.
1371
1372 1999-11-30 Jakub Jelinek <jakub@redhat.com>
1373
1374 * config/sparc/sparc.h (FIXED_REGISTERS, CONDITIONAL_REGISTER_USAGE):
1375 Allow the user to override call-used/fixed state of %g2-5
1376 registers from the command line (with the exception of %g4 for
1377 embedded model).
1378 (REG_LEAF_ALLOC_ORDER): Move %g1 and %g4-7 registers to front, so that
1379 there is a higher chance of having a leaf function.
1380 (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Provide separate macros
1381 for ARCH64 which has %ccr register.
1382 * config/sparc/sparc.md (return_losum_si, return_losum_di): New
1383 patterns.
1384 * config/sparc/sparc.c (eligible_for_epilogue_delay): For the return
1385 insn accept into delay slot any insn which does not use %[ol]
1386 registers. Accept some LO_SUM and shift left by 1 for the normal
1387 restore case.
1388 (output_function_epilogue): Likewise.
1389 (epilogue_renumber): Added argument which inhibits any renumbering
1390 and just tests if the rtx does not use any %[ol] registers.
1391 (output_return): Reflect above change.
1392
1393 1999-11-30 Jakub Jelinek <jakub@redhat.com>
1394
1395 * config/sparc/sparc.c (sparc_va_arg): Fix sparc64 va_arg
1396 aggregate passing for sizes <= 16 bytes.
1397
1398 1999-11-30 Bernd Schmidt <bernds@cygnus.co.uk>
1399
1400 * cse.c (FIXED_REGNO_P): Delete tests for OVERLAPPING_REGNO_P.
1401 * global.c (global_alloc): Delete [OVERLAPPING_REGNO_P] code.
1402 * reload.c (find_dummy_reload): Likewise.
1403 (find_equiv_reg): Likewise; also for INSN_CLOBBERS_REGNO_P.
1404 * reload1.c (reload_as_needed): Likewise.
1405 * stupid.c (stupid_find_reg): Likewise.
1406 * tm.texi (Obsolete Register Macros): Delete section.
1407 * gmicro.h: Remove all traces of the two macros.
1408 * i386.h: Likewise.
1409 * m88k.h: Likewise.
1410 * mips.h: Likewise.
1411
1412 1999-11-30 Brendan Kehoe <brendan@cygnus.com>
1413
1414 * sparc.h (MASK_FASTER_STRUCTS, TARGET_FASTER_STRUCTS): Define.
1415 (TARGET_SWITCHES): Add -mfaster-structs/-mno-faster-structs flags.
1416 (ROUND_TYPE_ALIGN): Use better value if -mfaster-structs.
1417 * sparc.md (sparclite86x_branch, sparclite86x_shift): New function
1418 units for the sparclite86x chip.
1419 (flush): Revert October 14th change; add SImode specifically.
1420 (flushdi): Copy of flush, but DImode, to avoid genrecog warnings.
1421 * invoke.texi: Document it.
1422
1423 Tue Nov 30 14:58:14 1999 Nick Clifton <nickc@cygnus.com>
1424
1425 * config/mn10200/mn10200.h (PREDICATE_CODES): Add
1426 psimode_truncation_operand.
1427
1428 * config/mn10200/mn10200.c (psimode_truncation_operand): New
1429 function. Return true if the operand is either a MEM valid
1430 for a PSImode address or not a MEM at all.
1431
1432 * config/mn10200/mn10200.md (truncsipsi2): Use
1433 psimode_truncation_operand.
1434
1435 1999-11-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1436
1437 * flow.c (flow_nodes_print, flow_loops_cfg_dump): New functions.
1438 (flow_loop_nested_p, flow_loops_dump, flow_loops_free): Likewise.
1439 (flow_loop_exits_find, flow_loop_nodes_find): Likewise.
1440 (flow_depth_first_order_compute, flow_loop_pre_header_find): Likewise.
1441 (flow_loop_tree_node_add, flow_loops_tree_build): Likewise.
1442 (flow_loop_level_compute, low_loops_level_compute): Likewise.
1443 (flow_loops_find, flow_loop_outside_edge_p): Likewise.
1444 * basic-block.h: Protect from multiple inclusion.
1445 (flow_loops_find, flow_loops_free, flow_loop_dump): Add protoypes.
1446 (struct loops, struct loop): Define structures.
1447 * sbitmap.c (sbitmap_a_subset_b_p): New function.
1448 * sbitmap.h: Protect from multiple inclusion.
1449 (sbitmap_a_subset_b_p): Add prototype.
1450 * Makefile.in (LOOP_H): New macro.
1451 (stmt.o, integrate.o, loop.o, unroll.o): Replace loop.h with LOOP_H.
1452
1453 Tue Nov 30 01:34:47 1999 Philippe De Muyter <phdm@macqel.be>
1454
1455 * cppinit.c (CAT): The argument list of this macro may not contain
1456 spaces !
1457
1458 1999-11-29 David S. Miller <davem@redhat.com>
1459
1460 Move quantity tables and register equivalence chains into
1461 per-qty and per-register structure arrays respectively.
1462 * cse.c (qty_first_reg, qty_last_reg, qty_mode, qty_const,
1463 qty_const_insn, qty_comparison_code, qty_comparison_const,
1464 qty_comparison_qty): Delete, replace with...
1465 (qty_table): this structure table.
1466 (reg_next_eqv, reg_prev_eqv): Delete, replace with...
1467 (reg_eqv_table): this structure table.
1468 (make_new_qty): Add argument MODE. Caller updated.
1469 Update to use qty_table and reg_eqv_table.
1470 (make_regs_eqv, delete_reg_equiv, insert_regs,
1471 insert, exp_equiv_p, cse_rtx_varies_p, canon_reg,
1472 fold_rtx, equiv_constant, record_jump_cond, cse_insn,
1473 cse_process_notes, cse_main, cse_basic_block): Likewise.
1474
1475 Mon Nov 29 16:56:42 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1476
1477 * fold-const.c (extract_muldiv, case {MIN,MAX}_EXPR): Reverse
1478 operation if C is negative.
1479 (extract_muldiv, case SAVE_EXPR): Supresss if arg has side effects.
1480 (extract_muldiv, case {PLUS,MINUS}_EXPR): Don't apply distributive
1481 law for some divisions if constant is negative and change other
1482 divisions to the opposite rounding.
1483
1484 * expr.c (store_constructor_field): If bit position is not multiple
1485 of alignment of TARGET's mode, use BLKmode.
1486
1487 * expr.c (expand_expr_unaligned): Add more code from full case
1488 that is needed when OP0 is in a register.
1489
1490 Mon Nov 29 18:09:39 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1491
1492 * dwarfout.c (field_byte_offset): Size can be zero if there was
1493 an error.
1494
1495 1999-11-29 Bernd Schmidt <bernds@cygnus.co.uk>
1496
1497 * fold-const.c (split_tree): Delete unused vars ORIG_IN and TYPE.
1498 (associate_trees): Delete unused var TEM.
1499 (extract_muldiv): Delete unused var CANCEL_P.
1500
1501 * fold-const.c [TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT]
1502 (target_isinf, target_isnan, target_negative): Add return types to
1503 function definitions.
1504
1505 1999-11-29 Bruce Korb <autogen@linuxbox.com>
1506
1507 * fixinc/fixincl.c(process): don't skip GLIBC files any more.
1508 * fixinc/hackshell.tpl: ditto
1509 * fixinc/fixtests.c(double_slash_test): more C++ header testing
1510 * fixinc/inclhack.def(AAB_fd_zero_glibc*): corrected spelling of mach
1511
1512 1999-11-29 Bernd Schmidt <bernds@cygnus.co.uk>
1513
1514 * reload.c (push_reload): When looking for a register to put into
1515 reg_rtx, make sure all hard regs in a multi-reg register are in the
1516 right class and nonfixed.
1517
1518 * haifa-sched.c (reg_last_uses, reg_last_sets, reg_last_clobbers,
1519 pending_read_insns, pending_write_insns, pending_read_mems,
1520 pending_write_mems, pending_list_length, last_pending_memory_flush,
1521 last_function_call, sched_before_next_call): Move static variables
1522 into a structure.
1523 (bb_ prefixed versions): Replace with single array bb_deps.
1524 (struct deps): New structure.
1525 (add_insn_mem_dependence, flush_pending_lists, sched_analyze_1,
1526 sched_analyze_2, sched_analyze_insn, sched_analyze): Accept new
1527 argument of type "struct deps *"; use that instead of global
1528 variables. All callers changed.
1529 (init_rgn_data_dependencies): Delete function.
1530 (init_rtx_vector): Delete function.
1531 (init_deps): New function.
1532
1533 (free_pending_lists): Simplify, we always use the bb_deps array even
1534 if only one basic block.
1535 (compute_block_backward_dependences): Likewise.
1536 (schedule_region): Likewise.
1537
1538 (propagate_deps): New function, broken out of
1539 compute_block_backward_dependences.
1540 (compute_block_backward_dependences): Use it.
1541
1542 * alpha.md: Delete useless patterns that tried to work around
1543 register elimination problems.
1544
1545 * unroll.c (loop_iterations): Don't abort if iteration variable
1546 was made by loop.
1547
1548 From Joern Rennecke:
1549 * reload1.c (reloads_conflict): Reverse test comparing operand
1550 numbers when testing for conflict between output/outaddr reloads.
1551
1552 1999-11-29 David S. Miller <davem@redhat.com>
1553
1554 * config/sparc/sparc.c (init_cumulative_args): Fix type of third
1555 arg.
1556 * config/sparc/sparc-protos.h: Update proto, move into RTX_CODE.
1557
1558 1999-11-28 Robert Lipe <robertl@cygnus.com>
1559
1560 * i386/sco5.h (FINI_SECTION_ASM_OP_COFF): Move destructor fn
1561 table from .fini into .dtor.
1562
1563 1999-11-28 Anthony Green <green@cygnus.com>
1564
1565 * tree.h (struct tree_decl): Add malloc_flag.
1566 (DECL_IS_MALLOC): Define.
1567 * c-common.c (attrs): Add A_MALLOC attribute.
1568 (init_attributes): Add this attribute to the table.
1569 (decl_attributes): Handle malloc attribute.
1570 * calls.c (special_function_p): Check for the malloc attribute.
1571 * extend.texi (Function Attributes): Document malloc attribute.
1572
1573 Sun Nov 28 13:21:00 1999 Jeffrey A Law (law@cygnus.com)
1574
1575 * pa.md (reload shift-add patterns): Remove.
1576
1577 1999-11-28 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1578
1579 * reorg.c (dbr_schedule) Print more statistics. Corrected
1580 problem when printing info when 3 delay slots are filled.
1581
1582 1999-11-28 Jakub Jelinek <jakub@redhat.com>
1583
1584 * combine.c (setup_incoming_promotions): Pass an outgoing
1585 regno to FUNCTION_ARG_REGNO_P which it expects.
1586
1587 1999-11-28 Andreas Jaeger <aj@suse.de>
1588
1589 * mips/linux.h (CPP_PREDEFINES): Undefine before redefining.
1590
1591 Sun Nov 28 00:48:15 1999 Philippe De Muyter <phdm@macqel.be>
1592
1593 * cccp.c (do_include): Avoid initialization of automatic variable.
1594
1595 * integrate.c (mark_stores): Function definition made void, to match
1596 previous declaration.
1597 * regclass.c (dump_regclass): Ditto.
1598 * Makefile.in (WARN_CFLAGS): Macro augmented by `-Wtraditional'.
1599
1600 Sat Nov 27 08:38:26 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1601
1602 * expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
1603 known to be multiple of divisor.
1604
1605 * expr.c (store_constructor): Don't clobber TARGET if CLEARED.
1606
1607 * combine.c (try_combine): Add code to try to merge a set of a
1608 two-word pseudo to a constant with a setting of one of those words
1609 to a constant.
1610
1611 * fold-const.c (negate_expr, associate_trees, extract_muldiv): New.
1612 (split_tree): Completely rework to make more general.
1613 (make_range, fold): Call negate_expr.
1614 (fold, case NEGATE_EXPR): Simplify -(a-b) is -ffast-math.
1615 (fold, associate): Call new split_tree and associate_trees.
1616 (fold, case MULT_EXPR, case *_{DIV,MOD}_EXPR): Call extract_muldiv.
1617
1618 1999-11-26 Bernd Schmidt <bernds@cygnus.co.uk>
1619
1620 * loop.c (try_copy_prop): Avoid GNU C extension.
1621
1622 1999-11-25 Mark Mitchell <mark@codesourcery.com>
1623
1624 * except.c (init_eh_for_function): Still zero eh_return_context,
1625 eh_return_stack_adjust, and eh_return_handler.
1626
1627 * except.h (eh_status): Adjust documentation for x_protect_list.
1628 (begin_protect_partials): New function.
1629 * except.c (enqueue_eh_entry): Fix formatting.
1630 (get_first_handler): Add consistency check.
1631 (add_partial_entry): Adjust usage of protect_list.
1632 (emit_cleanup_handler): Save and restore ehqueue.
1633 (expand_start_all_catch): Add comment.
1634 (begin_protect_partials): New function.
1635 (end_protect_partials): Adjust usage of protect_list.
1636 (init_eh_for_function): Use xcalloc.
1637
1638 1999-11-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1639
1640 * c-common.c (check_format_info): Don't call a variadic function
1641 with a non-literal format string.
1642
1643 * c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise.
1644
1645 * c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else,
1646 pedantic_lvalue_warning, error_init, pedwarn_init, warning_init):
1647 Likewise.
1648
1649 * cccp.c (check_macro_name, do_xifdef, vwarning_with_line):
1650 Likewise.
1651
1652 * collect2.c (collect_wait): Likewise.
1653
1654 * dbxout.c (dbxout_type): Likewise.
1655
1656 * gcc.c (do_spec_1): Likewise.
1657
1658 * genemit.c (gen_insn, gen_expand): Likewise.
1659
1660 * genrecog.c (write_switch, write_subroutine): Likewise.
1661
1662 * mips-tfile.c (catch_signal, botch): Likewise.
1663
1664 * print-rtl.c (print_rtx): Likewise.
1665
1666 * toplev.c (default_print_error_function, report_error_function,
1667 _fatal_insn): Likewise.
1668
1669 1999-11-25 Mark Mitchell <mark@codesourcery.com>
1670
1671 * tree.c (unsave_expr_now): Handle NULL_TREE as input.
1672
1673 Wed Nov 24 17:08:09 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
1674
1675 * reg-stack.c (subst_stack_regs_pat): Swap operands in commutative
1676 operations when needed.
1677 * i386.md (fop_?f_comm): New.
1678 (fop_?f_1): Do not accept commutative operands.
1679
1680 1999-11-25 Andreas Jaeger <aj@suse.de>
1681
1682 * config/mips/mips.md (casesi_internal): Add missing brace.
1683
1684 1999-11-25 Jason Merrill <jason@casey.cygnus.com>
1685
1686 * dwarf2out.c (pend_type, output_pending_types_for_scope): Lose.
1687 (splice_child_die): Handle moving a child DIE from the declaration
1688 DIE of a class to its specification.
1689 (gen_struct_or_union_type_die): Use 'complete' consistently.
1690 (gen_decl_die): Generate the virtual context DIE first.
1691 Use decl_ultimate_origin instead of DECL_ABSTRACT_ORIGIN.
1692
1693 1999-11-24 Gavin Romig-Koch <gavin@cygnus.com>
1694
1695 * config/mips/mips.md (call_value_multiple_interanal1): New.
1696
1697 1999-11-24 Jason Merrill <jason@casey.cygnus.com>
1698
1699 * dwarf2out.c (free_AT, free_die): New fns.
1700 (remove_children): Call them.
1701 (output_line_info): Disable removal of duplicate notes.
1702
1703 Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO set.
1704 * dwarf2out.c (gen_struct_or_union_type_die): TYPE_DECL_SUPPRESS_INFO
1705 means pretend the type isn't defined.
1706 Don't defer emitting types.
1707 (gen_type_die_for_member): New fn.
1708 (gen_decl_die): Call it.
1709 (splice_child_die): New fn.
1710 (gen_member_die): Call it rather than generate duplicate dies.
1711
1712 Defer emitting information for the abstract instance of an inline
1713 until we either inline it or emit an out-of-line copy.
1714 * dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN
1715 from output_inline_function if DECL_ABSTRACT is also set.
1716 (block_ultimate_origin): Likewise.
1717 (gen_abstract_function): New fn.
1718 (gen_decl_die, gen_inlined_subroutine_die): Call it.
1719 (gen_subprogram_die): An abstract instance is not a declaration
1720 just because it doesn't match current_function_decl. Don't abort
1721 because DECL_DEFER_OUTPUT isn't set. Do abort if a declaration
1722 has an abstract origin.
1723 * toplev.c (rest_of_compilation): Don't emit dwarf2 info for the
1724 abstract instance here.
1725
1726 Wed Nov 24 18:39:18 1999 Andrew Haley <aph@cygnus.com>
1727
1728 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case
1729 where we need to reload fpul from a system register.
1730
1731 1999-11-24 Andreas Jaeger <aj@suse.de>
1732
1733 * config/mips/linux.h (CPP_PREDEFINES): Added.
1734 (LINK_SPEC): Remove -Y since this is only needed on sparc.
1735
1736 1999-11-24 Andreas Jaeger <aj@suse.de>
1737
1738 * config/mips/linux.h (TARGET_VERSION): Added.
1739 (HANDLE_SYSV_PRAGMA): Added.
1740 (DEFAULT_VTABLE_THUNKS): Added.
1741
1742 Wed Nov 24 14:12:15 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
1743
1744 * local-alloc.c (qty): New structure and static variable.
1745 (qty_phys_reg): Remove, all references changed to qty.
1746 (qty_n_refs): Likewise.
1747 (qty_min_class): Likewise.
1748 (qty_birth): Likewise.
1749 (qty_death): Likewise.
1750 (qty_size): Likewise.
1751 (qty_mode): Likewise.
1752 (qty_n_calls_crossed): Likewise.
1753 (qty_alternate_class): Likewise.
1754 (qty_changes_size): Likewise.
1755 (qty_first_reg): Likewise.
1756 (alloc_qty): Rename variable QTY to QTYNO.
1757 (finf_free_reg): Likewise.
1758 (local_alloc): Allocate qty, do not allocate the removed variables.
1759
1760 Wed Nov 24 17:26:05 1999 Geoffrey Keating <geoffk@cygnus.com>
1761
1762 * config/mips/mips.h (ASM_SPEC): Don't pass -G to the assembler
1763 when -membedded-pic is passed.
1764
1765 * config/mips/mips.md (casesi): Handle 64-bit case too.
1766 (casesi_internal_di): New insn.
1767
1768 * config/mips/mips.c (embedded_pic_offset): Always make the
1769 embedded-pic subtractions relative to the name of the current
1770 function by use of the magic string "..CURRENT_FUNCTION".
1771 * config/mips/mips.h (ASM_OUTPUT_LABELREF): Make the magic happen.
1772
1773 1999-11-24 Geoffrey Keating <geoffk@cygnus.com>
1774
1775 * config/mips/mips.md (div_trap_normal): Don't ask for the REGNO
1776 of (const_int 0), when what we really care about is
1777 whether it's a zero constant anyway.
1778 (div_trap_mips16): Likewise.
1779
1780 1999-11-23 Mark Mitchell <mark@codesourcery.com>
1781
1782 * loop.c (loop_optimize): Always find_loop_tree_blocks and
1783 unroll_block_trees when generating debuggable code.
1784
1785 * tree.h (unsave_expr_1): New function.
1786 (lang_unsave): New variable.
1787 (get_callee_fndecl): New function.
1788 * tree.c (unsave_expr_now_r): New function.
1789 (lang_unsave): Define.
1790 (unsave_expr_1): Likewise.
1791 (unsave_expr_now_r): Split out from unsave_expr_now.
1792 (unsave_expr_now): Call lang_unsave if it is non-NULL. Otherwise,
1793 call unsave_expr_now_r.
1794 (get_callee_fndecl): Define.
1795
1796 * Makefile.in (gencheck): Don't depend on lang_tree_files.
1797 (gencheck.o): Do depend on lang_tree_files.
1798
1799 * integrate.h (copy_decl_for_inlining): New declaration.
1800 * integrate.c (copy_and_set_decl_abstract_origin): Remove.
1801 (copy_decl_for_inlining): New function.
1802 (integrate_parm_decls): Use it.
1803 (integrate_decl_tree): Likewise.
1804
1805 1999-11-23 Gavin Romig-Koch <gavin@cygnus.com>
1806
1807 * config/mips/mips.h (ISA_HAS_FP4,ISA_HAS_CONDMOVE,ISA_HAS_8CC): Split
1808 the second two from the first.
1809 (CONDITIONAL_REGISTER_USAGE): Use ISA_HAS_8CC rather than ISA_HAS_FP4.
1810 * config/mips/mips.md (movcc,reload_incc,reload_outcc,
1811 conditional move): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
1812 ISA_HAS_FP4.
1813 * config/mips/mips.c (mips_move_1word,gen_conditional_branch,
1814 override_options): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
1815 ISA_HAS_FP4.
1816
1817 Tue Nov 23 11:15:04 1999 Jeffrey A Law (law@cygnus.com)
1818
1819 * pa.md (call_internal_symref, call_value_internal_symref): No mode
1820 needed on the address operand.
1821 * pa.c (call_operand_address): Check for the correct mode.
1822
1823 1999-11-23 Bernd Schmidt <bernds@cygnus.co.uk>
1824
1825 * loop.c: Include "basic-block.h".
1826 (try_copy_prop, replace_loop_reg): New functions.
1827 (load_mems): Detect registers that just hold copies of the hoisted
1828 mem, and call try_copy_prop to eliminate them.
1829 * Makefile.in (loop.o): Update dependencies.
1830
1831 Tue Nov 23 01:03:29 1999 Hans-Peter Nilsson <hp@axis.com>
1832
1833 * Makefile.in (gencheck.o): Depend on gencheck.h.
1834 (insn-emit.o): Depend on flags.h, hard-reg-set.h and resource.h.
1835 (insn-peep.o): Depend on except.h and function.h.
1836 (insn-attrtab.o): Depend on RECOG_H.
1837 (insn-output.o): Depend on toplev.h and flags.h.
1838 (gengenrtl.o): Depend on real.h.
1839 (gen-protos.o): Depend on cpplib.h and cpphash.h.
1840 Unify all dependencies to be on RECOG_H rather than recog.h.
1841
1842 Tue Nov 23 00:57:10 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1843
1844 From Casper H.S. Dik on comp.unix.solaris, 23 Oct 1998:
1845 * configure.in: Try building a bi-arch 32/64-bit compiler on
1846 sparc-*-solaris2.7 and higher.
1847 * configure: Rebuild.
1848
1849 Mon Nov 22 23:09:44 1999 David O'Brien <obrien@FreeBSD.org>
1850
1851 * config/freebsd.h: New, FreeBSD architecture independent file.
1852 * config/i386/freebsd-elf.h: removed FreeBSD architecturally
1853 independent pieces.
1854 * config/i386/freebsd.h: include i386/perform.h via tm.h rather than
1855 directly by i386/freebsd.h.
1856 * configure.in (*-*-freebsdelf): Include new FreeBSD architecturally
1857 independent configuration file.
1858 (*-*-freebsdelf): Include i386/perform.h via tm.h rather than
1859 directly by i386/freebsd.h.
1860 * configure: Rebuilt.
1861
1862 * xm-i386.h: Define `__i386__' if not defined, rather than `i386'
1863 which is in the user's namespace.
1864 * libgcc2.c: Look for the ANSI-C approved `__i386__' symbol, vs.
1865 `i386' which is not in our namespace.
1866
1867 Mon Nov 22 22:58:01 1999 "R. Kelley Cook" <KelleyCook@attglobal.net>
1868
1869 * invoke.texi (ARM Options): Add in -mno-alignment-traps
1870
1871 1999-11-22 Jason Merrill <jason@casey.cygnus.com>
1872
1873 * dwarf2out.c (die_struct): Remove die_attr_last and die_child_last.
1874 (add_dwarf_attr, add_child_die): Just push onto the front.
1875 (reverse_die_lists): New fn.
1876 (add_sibling_attributes): Use it.
1877 (push_decl_scope): Reorganize.
1878 (add_name_and_src_coords_attributes): Don't set file and line for
1879 an artificial decl.
1880 (gen_subprogram_die): An artificial function doesn't need to match
1881 file and line.
1882 (gen_compile_unit_die): Return the generated die. Only add
1883 AT_comp_dir if the filename is relative.
1884 (remove_AT): Simplify loop. Also free string values.
1885 (output_die): A DIE ref can't be null.
1886 (output_value_format, value_format): Take a dw_attr_ref.
1887 (dwarf_last_decl, is_extern_subr_die, sibling_offset): Remove.
1888 (AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
1889 AT_addr, AT_lbl): New fns.
1890 (various): Use them.
1891 (various): Constify.
1892
1893 Mon Nov 22 23:53:50 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1894
1895 * combine.c (combine_simplify_rtx): When handling a SUBREG,
1896 take SUBREG_WORD into account.
1897 (if_then_else_cond): Likewise.
1898
1899 1999-11-22 Jason Merrill <jason@casey.cygnus.com>
1900
1901 * gmon.c, i386/gmon-sol2.c, sparc/gmon-sol2.c: Remove advertising
1902 clause from BSD license, pursuant with
1903
1904 ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
1905
1906 1999-11-22 Bernd Schmidt <bernds@cygnus.co.uk>
1907
1908 * loop.c (load_mems): Reformat slightly.
1909 * basic-block.h (regset_head): New typedef.
1910 (INIT_REG_SET): New macro.
1911
1912 1999-11-22 Bruce Korb <autogen@linuxbox.com
1913
1914 * fixinc/mkfisinc.sh(i?86-*-linux): disable script, run fixincl exe
1915 (mips-dec-bsd*): non-functional code
1916 (alpha*-*-linux-gnu*): redundant, duplicated by "*-*-linux-gnu*"
1917
1918 * fixinc/inclhack.def(AAB_fd_zero_glibc_*):
1919 added three replacement fixes
1920 (no_double_slash): removed comments that are not (any longer) pertinent
1921 (bad_lval): this fix currently runs against many files.
1922 The comment seems to indicate that we should select for files
1923 containing 'pragma extern_prefix'.
1924
1925 * fixinc/fixinc.x86-linux-gnu: deleted
1926 * fixinc/inclhack.sh: regen
1927 * fixinc/fixincl.x: regen
1928 * fixinc/fixincl.sh: regen
1929
1930 Fri Nov 12 14:08:40 1999 Andrew Haley <aph@cygnus.com>
1931
1932 * emit-rtl.c (gen_sequence): Only return the pattern of an insn if
1933 its code is INSN and it has no notes.
1934
1935 1999-11-22 Andrew Haley <aph@cygnus.com>
1936
1937 * varasm.c (function_defined): Remove.
1938 (make_function_rtl): Don't set function_defined.
1939 (make_decl_rtl): Remove global register warning.
1940 * regclass.c (no_global_reg_vars): New variable.
1941 (globalize_reg): Warn if function has already been defined.
1942 (regclass_init): Set no_global_reg_vars.
1943
1944 Mon Nov 22 14:42:22 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
1945
1946 * regclass.c (reg_pref): New structure and static variable
1947 (prefclass): Delete.
1948 (altclass): Delete.
1949 (all uses of prefclass and altclass): Use reg_pref instead.
1950
1951 1999-11-21 Nick Clifton <nickc@cygnus.com>
1952
1953 * invoke.texi (ARM Options): Replace -mshort-load-bytes with
1954 -malignment-traps.
1955 (arm.h): Replace -mshort-load-bytes with -malignment-traps.
1956 (arm.c): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
1957 (arm.md): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
1958
1959 Sun Nov 21 17:11:13 1999 Geoffrey Keating <geoffk@cygnus.com>
1960
1961 * varasm.c (output_constructor): Solve problem with long long
1962 bitfields, even on BYTES_BIG_ENDIAN machines (testcase 991118-1).
1963
1964 Fri Nov 19 05:48:45 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
1965
1966 * global.c (allocno): New structure and static variable.
1967 (allocno_reg): Remove, all references replaced by allocno.
1968 (allocno_size): Likewise.
1969 (hard_reg_conflicts): Likewise.
1970 (hard_reg_preferences): Likewise.
1971 (hard_reg_copy_preferences): Likewise.
1972 (hard_reg_full_preferences): Likewise.
1973 (regs_someone_prefers): Likewise.
1974 (allocno_calls_crossed): Likewise.
1975 (allocno_n_refs): Likewise.
1976 (allocno_live_length): Likewise.
1977 (find_reg): Rename ALLOCNO to NUM.
1978
1979 * regclass.c (may_move_in_cost): Rename from may_move_cost, all
1980 references updated.
1981 (may_move_out_cost): New variable.
1982 (init_reg_sets_1): Initialize may_move_out_cost.
1983 (record_reg_classes): Use may_move_out_cost.
1984
1985 * regclass.c (dump_regclass): New function.
1986 (regclass): New parameter DUMP, call DUMP_REGCLASS.
1987 * toplev.c (rest_of_compilation): Open lreg dump file before regclass,
1988 pass rtl_dump_file to regclass.
1989 * rtl.h (regclass): Update prototype.
1990
1991 Fri Nov 19 06:32:19 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
1992
1993 * i386.md (neg, not and abs patterns): Revmap to use
1994 ix86_expand_unary_operator and ix86_unary_operator_ok.
1995 (add?f and sub?f expanders): Force operand 1 to register.
1996 * i386.c (ix86_expand_unary_operator): Rewrite.
1997 (ix86_unary_operator_ok): Ensure that memory operands
1998 match real opcode.
1999 (ix86_binary_operator_ok): Do not allow operand 1 to
2000 come into memory and operand 0 not.
2001 (ix86_expand_binary_operator): Ensure that
2002 src1 is not non-matching memory.
2003
2004 * i386.md (negs?2): Rewrite to expanders, new patterns and splitters
2005 to support integer registers and memory.
2006 (abss?2_integer): Likewise.
2007
2008 * i386.h (enum reg_class): Add FLOAT_INT_REGS.
2009 (REG_CLASS_NAMES): Likewise.
2010 (REG_CLASS_CONTENTS): Define FLOAT_INT_REGS as union of FLOAT_REGS
2011 and GENERAL_REGS.
2012 * i386.md (pushsf): Do not preferre FLOAT_REGS over GENERAL_REGS.
2013 (movsf): Likewise; unify 4th and 5th alternative.
2014 (pushdf): Likewise.
2015 (movdf_1): Likewise; rename to movdf_integer.
2016 (pushxf): Likewise; rename to pushxf_integer; fix output template;
2017 remove redundant splitter.
2018 (movxf_1): Likewise; rename to movxf_integer; fix splitter's condition.
2019 (movdf_nointeger): New.
2020 (movxf_nointeger): New.
2021 (pushxf_nointeger): New.
2022
2023 * i386.md (extend?f?f): Split to expander and pattern, refuse two
2024 memory operands in patterns.
2025 (fop*): Refuse two memory operands.
2026
2027 * i386.md (ashrsi3_31): Allow cltd when optimizing for size even
2028 on !TARGET_USE_CLTD CPUs.
2029
2030 Fri Nov 19 10:41:15 GMT 1999 Nathan Sidwell <nathan@acm.org>
2031
2032 * extend.texi: Document C++ restricted pointers and references.
2033
2034 1999-11-19 Bernd Schmidt <bernds@cygnus.co.uk>
2035
2036 * cse.c (addr_affects_sp): No longer conditional on AUTO_INC_DEC.
2037 (invalidate_skipped_set): Call it unconditionally.
2038 (cse_set_around_loop): Likewise.
2039
2040 Thu Nov 18 17:29:34 MST 1999 Diego Novillo <dnovillo@cygnus.com>
2041
2042 * rtl.texi (mem): Add documentation for alias-set argument
2043 to RTX `mem'.
2044
2045 Fri Nov 18 13:39:22 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
2046
2047 * i386.h (struct_processor_costs): New fields int_load, int_store,
2048 fp_move, fp_load and fp_store
2049 (REGISTER_MOVE_COST): Fix comment, calculate exactly the cost of
2050 fp->int moves
2051 (MEMORY_MOVE_COST): New macro.
2052 * i386.c (386_cost): Define new fields.
2053 (i486_cost): Likewise.
2054 (pentium_cost): Likewise.
2055 (pentiumpro_cost): Likewise.
2056 (k6_cost): Likewise.
2057
2058 Fri Nov 19 11:11:55 1999 Greg McGary <gkm@gnu.org>
2059 Geoffrey Keating <geoffk@cygnus.com>
2060
2061 * config/m68k/m68kelf.h: Suppress '/* within comment' warning.
2062
2063 * config/m68k/m68k.h (MASK_PCREL): Don't use same value as
2064 MASK_ALIGN_INT.
2065
2066 * config/m68k/m68k.h (MASK_NO_STRICT_ALIGNMENT): New macro.
2067 (TARGET_STRICT_ALIGNMENT): New macro.
2068 (TARGET_SWITCHES): Add "strict-align" and "no-strict-align".
2069 (STRICT_ALIGNMENT): Depend on TARGET_STRICT_ALIGNMENT.
2070 * invoke.texi (M680x0 Options): Document -mstrict-align.
2071
2072 Thu Nov 18 11:10:03 1999 Jan Hubicka <hubicka@freesoft.cz>
2073 Richard Henderson <rth@cygnus.com>
2074
2075 * i386-protos.h (split_xf, ix86_split_movdi): Remove.
2076 (ix86_split_long_move): Declare.
2077 * i386.c (split_xf, ix86_split_movdi): Remove.
2078 (ix86_split_to_parts, ix86_split_long_move): New.
2079 * i386.md (dimode move splitters): Use ix86_split_long_move.
2080 (dfmode move splitters): Likewise.
2081 (xfmode move splitters): Likewise.
2082 (movsf_1): Allow F->r.
2083 (movdf_1, movxf_1): Allow F->ro.
2084
2085 1999-11-17 Mark Mitchell <mark@codesourcery.com>
2086
2087 * except.h (struct eh_entry): Add goto_entry_p.
2088 (eh_region_from_symbol): Remove prototype.
2089 * except.c (find_func_region_from_symbol): New function.
2090 (emit_cleanup_handler): Likewise.
2091 (eh_region_from_symbol): Make it static.
2092 (add_new_handler): Verify the argument.
2093 (find_func_region): Update comment.
2094 (expand_eh_region_end): Expand handlers here, rater than waiting
2095 until expand_leftover_cleanups or start_all_catch.
2096 (expand_leftover_cleanups): Don't expand here.
2097 (expand_start_all_catch): Or here.
2098 (expand_rethrow): Check the return value from find_func_region.
2099 * function.c (expand_function_end): Emit the catch_clauses.
2100
2101 1999-11-18 Gavin Romig-Koch <gavin@cygnus.com>
2102
2103 * integrate.c (expand_inline_function): Add necessary check for NULL.
2104
2105 1999-11-18 Nick Clifton <nickc@cygnus.com>
2106
2107 * toplev.c (main): Correctly detect an unrecognised option.
2108
2109 * cppinit.c (cpp_handle_option): Do not claim to have consumed
2110 a -f option if it has not been recognised.
2111
2112 Thu Nov 18 00:59:11 1999 Michael Gschwind <mikeg@alagoas.watson.ibm.com>
2113
2114 * basic-block.h (update_life_extent): Remove trailing comma on
2115 enumeration type list.
2116
2117 1999-11-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2118
2119 * varasm.c (output_constructor) Solved problem with long long
2120 bitfields. Corrected calculating this_time and shift. Also
2121 corrected calculating mask when BITS_PER_UNIT == 32 (c4x).
2122
2123 Wed Nov 17 23:46:14 1999 Jeffrey A Law (law@cygnus.com)
2124
2125 * flow.c (split_edge): Take looping structure into account when
2126 determining where to put the new block note.
2127
2128 Wed Nov 17 20:42:43 1999 Jeff Holcomb <jeffh@cygnus.com>
2129
2130 * Makefile.in (ggc-none.o): Provide host specific version if
2131 needed.
2132
2133 Wed Nov 17 16:51:23 1999 Richard Henderson <rth@cygnus.com>
2134
2135 * cse.c (delete_trivially_dead_insns): Identify no-op insns
2136 containing subregs too.
2137
2138 Wed Nov 17 17:39:48 MST 1999 Diego Novillo <dnovillo@cygnus.com>
2139
2140 * invoke.texi: Add documentation for -muninit-const-in-rodata.
2141 * config/mips/mips.h (MASK_UNINIT_CONST_IN_RODATA): Define.
2142 (TARGET_UNINIT_CONST_IN_RODATA): Define.
2143 (text_section): Add switches -munint-const-in-rodata and
2144 -mno-uninit-const-in-rodata.
2145 (ASM_OUTPUT_COMMON): Remove.
2146 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. Check if uninitialized
2147 const objects should be placed in read-only data. Otherwise declare
2148 them in common.
2149
2150 Wed Nov 17 16:38:32 1999 Richard Henderson <rth@cygnus.com>
2151
2152 * jump.c (jump_optimize_1): Revert last change.
2153
2154 Wed Nov 17 15:18:30 1999 Richard Henderson <rth@cygnus.com>
2155
2156 * jump.c (jump_optimize_1): Don't try to duplicate the loop exit
2157 test if optimizing for size.
2158
2159 1999-11-17 Mark Mitchell <mark@codesourcery.com>
2160
2161 * Makefile.in (toplev.o): Depend on except.h.
2162 (dwarf2out.o,loop.o,flow.o,haifa-sched.o): Likewise.
2163
2164 Mon Nov 15 22:45:39 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
2165
2166 * i386.md (divmodsi4): Rewrite to expander.
2167 (*divmodsi4_nocltd): New.
2168 (*divmodsi4_cltd): New.
2169 (divmodsi4 splitter): Handle the case when input comes in edx.
2170 (udivmodhi4): Do not use constraints in exander.
2171 (ashrsi3_31): Conditionize by TARGET_USE_CLTD.
2172
2173 1999-11-17 Jason Merrill <jason@yorick.cygnus.com>
2174
2175 * dwarf2out.c (push_decl_scope): Still use decl_scope_depth - 1
2176 for the common case.
2177
2178 1999-11-16 Jakub Jelinek <jakub@redhat.com>
2179
2180 * explow.c (hard_function_value): Add outgoing argument.
2181 * expr.h (hard_function_value): Declare it.
2182 * calls.c (expand_call, emit_library_call_value): Update callers.
2183 * function.c (aggregate_value_p): Ditto.
2184 (diddle_return_value): Must look at the outgoing registers
2185 on archs with register windows.
2186
2187 Mon Nov 15 20:46:45 1999 Richard Henderson <rth@cygnus.com>
2188
2189 * alpha.c (alpha_build_va_list): Use make_lang_type and
2190 initialize TYPE_NAME for the va_list record.
2191
2192 * flow.c (calculate_global_regs_live): Zero bb->aux to begin.
2193
2194 * ggc-common.c (ggc_print_statistics): Cast size_t to unsigned long
2195 for printing.
2196 * ggc.h (struct ggc_statistics): Rearrange elements for better
2197 packing on 64-bit hosts.
2198 * lcm.c (compute_laterin): Store a size_t not an int in bb->aux.
2199 (compute_nearerout): Likewise.
2200
2201 Tue Nov 16 14:37:52 1999 Geoffrey Keating <geoffk@cygnus.com>
2202
2203 * config/rs6000/rs6000.c (first_reg_to_save): Save
2204 PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
2205
2206 1999-11-15 Jason Merrill <jason@casey.cygnus.com>
2207
2208 * dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table
2209 notion of nesting to find the DIE for a type or function.
2210 DIEs can go in limbo even if we got a context_die.
2211 (push_decl_scope): Our context doesn't need to be in decl_scope_table.
2212 (gen_struct_or_union_type_die): Don't use TREE_PERMANENT to test
2213 for local type.
2214 (gen_decl_die): Ignore NAMESPACE_DECLs for now.
2215 (gen_type_die): Writing out the context doesn't cause member class
2216 template instantiations to be written out as well.
2217
2218 Mon Nov 15 15:33:18 1999 Richard Henderson <rth@cygnus.com>
2219
2220 * rs6000.h (ASM_OUTPUT_DEF): New.
2221 Based on proposed addition from David Edelsohn.
2222
2223 1999-11-15 Robert Lipe <RobertLipe@usa.net>
2224 Bruce Korb <autogen@linuxbox.com>
2225
2226 * fixinc/inclhack.def
2227 (AAB_svr4_replace_byteorder): added. Takes advantage of GCC features
2228 (unixware7_byteorder_fix): added. Removes conflicts for new defs
2229 in net/inet.h.
2230 (svr5_mach_defines): added. Like svr4_mach_defines, with new syntax
2231 (svr4_endian): enabled with SVR5
2232 (svr4_mkdev): simplified syntax and enabled with SVR5
2233
2234 Sun Nov 14 18:49:37 1999 David O'Brien <obrien@FreeBSD.org>
2235
2236 * configure.in: Handle libgcc2 threads support on FreeBSD platforms.
2237 * configure: Rebuilt.
2238 * config/t-freebsd-thread: New file.
2239
2240 Sun Nov 14 23:11:05 1999 Jeffrey A Law (law@cygnus.com)
2241
2242 * i386.c (ix86_decompose_address): Verify the base is a REG
2243 before trying to examine its register number.
2244
2245 * basic-block.h: Remove all #defines and prototypes related to
2246 integer lists.
2247 (free_bb_mem, compute_preds_succs): Remove prototype.
2248 * rtl.h (free_bb_mem): Remove prototype.
2249 * flow.c (alloc_int_list_node); Remove function.
2250 (add_inst_list_node, free_int_list, add_pred_succ): Likewise.
2251 (compute_preds_succs, free_bb_mem): Likewise.
2252 * gcse.c (gcse_main): Do not call free_bb_mem anymore.
2253 * toplev.c (rest_of_compilation): Likewise.
2254 * haifa-sched.c (build_control_flow): Use flow generated edge
2255 list to build the haifa specific edge list.
2256 (find_rgns): Use new CFG data structures instead of pred/succ lists.
2257 (schedule_insns): Do not build pred/succ lists anymore. Instead
2258 build the edge table.
2259
2260 * basic-block.h (dump_bb_data): Remove declaration.
2261 * flow.c (dump_bb_data): Remove function.
2262 * sbitmap.c (sbitmap_intersect_of_predsucc): Delete function.
2263 (sbitmap_union_of_predsucc): Likewise.
2264
2265 * gcse.c (delete_null_pointer_checks_1): Kill unused s_preds
2266 argument. All callers changed.
2267 (delete_null_pointer_checks_1): No longer need to compute the
2268 pred/succ lists.
2269
2270 * gcse.c (pre_expr_reaches_here_p): Kill CHECK_PRE_COM argument.
2271 All callers changed.
2272 (pre_expr_reaches_here_p_work): Likewise.
2273 (pre_edge_insert): No longer call pre_expr_reaches_here_p.
2274 * lcm.c (compute_laterin): Fix initialization of LATER.
2275 (compute_nearerout): Similarly for NEARER.
2276
2277 Sun Nov 14 12:41:57 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2278
2279 * cse.c (set_nonvarying_address_components): Delete unused function.
2280 (refers_to_p): Likewise.
2281
2282 Fri Nov 12 20:53:22 1999 Jeffrey A Law (law@cygnus.com)
2283
2284 * function.c (diddle_return_value): Set REG_FUNCTION_VALUE_P as
2285 needed.
2286
2287 Sat Nov 13 16:20:09 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2288
2289 * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Wrap macro
2290 definition in do while (0).
2291
2292 Fri Nov 12 16:26:25 1999 Jim Wilson <wilson@cygnus.com>
2293
2294 * stmt.c (pushcase, pushcase_range): Partially revert Oct 28 change.
2295
2296 Fri Nov 12 12:43:49 1999 Richard Henderson <rth@cygnus.com>
2297
2298 * unroll.c (unroll_loop): Make temp an unsigned HOST_WIDE_INT.
2299
2300 Fri Nov 12 15:14:19 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
2301
2302 * i960.h (CAN_DEBUG_WITHOUT_FP): Don't define it.
2303 (FRAME_POINTER_REQUIRED): Don't worry about nonlocal goto.
2304 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
2305 (INITIAL_FRAME_POINTER_OFFSET): Remove it.
2306
2307 * i960.c (i960_function_prologue): Don't allocate space for g8-g11
2308 saved on the stack. Output more accurate stack frame statistics
2309 into assembler file.
2310
2311 1999-11-12 11:47 -0800 Zack Weinberg <zack@bitmover.com>
2312
2313 * genextract.c (record_insn_name): New function.
2314 (get_insn_name): No longer a stub.
2315 (main): Call record_insn_name for each insn. After each label
2316 written, print the insn name in a comment.
2317
2318 Fri Nov 12 13:45:02 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2319
2320 * output.h (const_section, init_section, fini_section): Add
2321 prototypes.
2322
2323 * alpha/elf.h (const_section): Delete declaration.
2324
2325 * svr4.h (const_section): Likewise.
2326
2327 Fri Nov 12 08:54:22 1999 Mark Mitchell <mark@codesourcery.com>
2328
2329 * tree.h (SAVE_EXPR_PERSISTENT_P): New macro.
2330 * tree.c (array_type_nelts): Don't handle SAVE_EXPRs specially.
2331 (unsave_expr_now): Don't unsave SAVE_EXPR_PERSISTENT_P
2332 expressions.
2333 * stor-layout.c (variable_size): Set SAVE_EXPR_PERSISTENT_P on
2334 variable-sized array bounds.
2335
2336 Fri Nov 12 08:04:45 1999 Catherine Moore <clm@cygnus.com>
2337
2338 * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Use
2339 ASM_OUTPUT_LABEL.
2340
2341 Fri Nov 12 13:31:54 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2342
2343 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Treat QImode
2344 addresses the same way GO_IF_LEGITIMATE_INDEX does.
2345
2346 Fri Nov 12 12:36:04 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2347
2348 * cse.c (hash_arg_in_struct): Delete.
2349 (struct table_elt): Delete elt in_struct.
2350 (struct set): Delete elt src_in_struct.
2351 (merge_equiv_classes): Don't set either hash_arg_in_struct or
2352 the corresponding in_struct elts.
2353 (canon_hash): Likewise.
2354 (safe_hash): Likewise.
2355 (find_best_addr): Likewise.
2356 (record_jump_cond): Likewise.
2357 (cse_insn): Likewise.
2358
2359 Thu Nov 11 19:45:24 1999 Jim Wilson <wilson@cygnus.com>
2360
2361 * loop.c (invariant_p, case MEM): Put MEM_VOLATILE_P check back.
2362
2363 * dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large
2364 unsigned types.
2365
2366 Thu Nov 11 18:54:24 1999 Jeffrey A Law (law@cygnus.com)
2367
2368 * function.c (diddle_return_value): Put back check that the DECL_RTL
2369 for the function is a register.
2370
2371 * function.c (diddle_return_value): Use hard_function_value to
2372 get an rtx suitable for use in the USE/CLOBBER insn.
2373
2374 * global.c (global_conflicts): Update comments.
2375 (record_conflicts): No need to record conflicts between pseudos here.
2376
2377 1999-11-11 Bruce Korb <autogen@linuxbox.com>
2378
2379 * fixinc/fixincl.c: Added verbose levels for status messages
2380
2381 Thu Nov 11 13:23:04 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2382
2383 * jump.c (jump_optimize_1): Avoid passing an rtx that is not an
2384 operand as argument to expand_and or expand_binop.
2385
2386 Thu Nov 11 02:21:16 1999 Rodney Brown <RodneyBrown@pmsc.com>
2387
2388 * xcoffout.c (xcoffout_source_file): Change ggc_add_root to
2389 gcc_add_string_root.
2390
2391 Wed Nov 10 21:24:19 1999 Jason Eckhardt <jle@cygnus.com>
2392
2393 * config/pa/pa.h (MASK_RETURN_ADDR): Change 0xfffffffc to -4.
2394
2395 Wed Nov 10 15:56:16 1999 Jeffrey A Law (law@cygnus.com)
2396
2397 * flow.c (compute_flow_dominators): Initially put all blocks on
2398 the worklist.
2399 * lcm.c (compute_antinout_edge, compute_available): Similarly.
2400 * gcse.c (compute_cprop_avinout): Remove.
2401 (compute_cprop_data): Use compute_available.
2402 (delete_null_pointer_checks_1): Use compute_available.
2403
2404 * basic-block.h (compute_available): Returns a void now.
2405 * gcse.c (one_classic_gcse_pass): Do not expect compute_available
2406 to return a value anymore.
2407 * lcm.c (compute_available, compute_antinout_edge): Revamp to use
2408 worklists. Fix boundary cases. Compute maximal solutions.
2409 (compute_laterin, compute_nearerout): Similarly.
2410
2411 * dwarf2out.c (add_AT_location_description): Allow
2412 (mem (plus (pseudo) (...)) too.
2413
2414 Wed Nov 10 10:52:42 1999 Tom Tromey <tromey@cygnus.com>
2415
2416 * gcc.c (do_spec_1): Support text between `%u' and `%O'.
2417
2418 Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be>
2419 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2420
2421 * cppinit.c: Test `GCC_VERSION', not `HAVE_GCC_VERSION'.
2422
2423 * gansidecl.h: Likewise.
2424
2425 * rtl.c: Likewise.
2426
2427 * rtl.h: Likewise.
2428
2429 * toplev.h: Likewise.
2430
2431 * tree.c: Likewise.
2432
2433 * tree.h: Likewise.
2434
2435 * varray.c: Likewise.
2436
2437 * varray.h: Likewise.
2438
2439 Wed Nov 10 10:57:22 1999 Clinton Popetz <cpopetz@cygnus.com>
2440
2441 * gcov.c (struct arcdata): Add hits and total, remove prob.
2442 (output_branch_counts): New.
2443 (process_args): Set output_branch_counts if -c.
2444 (calculate_branch_probs): Store hits and total instead of
2445 percentage.
2446 (output_data): Emit counts if output_branch_counts is true.
2447 * gcov.texi (Invoking Gcov): Document -c switch..
2448
2449 Wed Nov 10 01:10:41 1999 Philippe De Muyter <phdm@macqel.be>
2450
2451 * genoutput.c (output_insn_data): Cast `INSN_OUTPUT_FORMAT_MULTI' and
2452 `INSN_OUTPUT_FORMAT_FUNCTION' to `PTR'-type.
2453
2454 Wed Nov 10 00:51:41 1999 Hans-Peter Nilsson <hp@axis.se>
2455
2456 * invoke.texi (C Dialect Options): Add missing builtins from
2457 c-common.c to list.
2458 * extend.texi (Other Builtins): Copy to this list.
2459
2460 Wed Nov 10 04:58:09 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2461
2462 * Makefile.in (recog.o): Use BASIC_BLOCK_H macro.
2463 (print-rtl.o, $(HOST_PREFIX_1)print-rtl.o): Likewise. Remove
2464 redundant bitmap.h.
2465
2466 Wed Nov 10 00:02:53 1999 Jeffrey A Law (law@cygnus.com)
2467
2468 * flow.c (compute_flow_dominators): No longer treat basic block 0
2469 or (n_basic_blocks - 1) specially. Clear the AUX field before
2470 starting computation of doms/pdoms. Fix initial state for pdoms.
2471
2472 Wed Nov 10 03:58:08 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2473
2474 * Makefile.in ($(HOST_PREFIX_1)rtl.o): Update dependencies to
2475 match rtl.o's: added ggc.h and toplev.h
2476 ($(HOST_PREFIX_1)print-rtl.o): Likewise: added system.h.
2477 ($(HOST_PREFIX_1)rtlanal.o): Likewise: added system.h.
2478 ($(HOST_PREFIX_1)obstack.o): Likewise: added $(CONFIG_H).
2479
2480 Tue Nov 9 10:30:08 1999 Tom Tromey <tromey@cygnus.com>
2481
2482 * config/i386/xm-djgpp.h (HAVE_DOS_BASED_FILE_SYSTEM): Renamed
2483 from HAVE_DOS_BASED_FILESYSTEM.
2484 * gcc.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM, not
2485 HAVE_DOS_BASED_FILESYSTEM.
2486 (main): Likewise.
2487 (split_directories): Only special-case DOS file names if
2488 HAVE_DOS_BASED_FILE_SYSTEM is defined. Use IS_DIR_SEPARATOR
2489 instead of explicit tests. Conditionalize on !VMS.
2490 (make_relative_prefix): Use IS_DIR_SEPARATOR instead of explicit
2491 tests. Conditionalize on !VMS.
2492 (process_command): Only use make_relative_prefix if !VMS.
2493 (free_split_directories): Conditionalize on !VMS.
2494 (DIR_UP): Conditionalize on !VMS.
2495
2496 Wed Jun 9 16:57:11 1999 Mumit Khan <khan@xraylith.wisc.edu>
2497
2498 * gcc.c (STANDARD_BINDIR_PREFIX): Provide default.
2499
2500 Fri Feb 5 14:22:01 1999 Mumit Khan <khan@xraylith.wisc.edu>
2501
2502 * gcc.c (make_relative_prefix): Handle the HAVE_EXECUTABLE_SUFFIX
2503 case.
2504
2505 Mon Nov 8 14:16:57 1999 Michael Meissner <meissner@cygnus.com>
2506
2507 * invoke.texi (Environment Variables): Document relative path
2508 lookup.
2509 * gcc.c (DIR_UP): If not defined, define as "..".
2510 (standard_bindir_prefix): New static, holds target location to
2511 install binaries.
2512 (split_directories): New function to split a filename into
2513 component directories.
2514 (free_split_directories): New function, release memory allocated
2515 by split_directories.
2516 (make_relative_prefix): New function, make a relative pathname if
2517 the compiler is not in the expected location.
2518 (process_command): If GCC_EXEC_PREFIX was not specified, see if we
2519 can figure out an appropriate prefix from argv[0].
2520 * Makefile.in (DRIVER_DEFINES): Use unlibsubdir in definition of
2521 STANDARD_STARTFILE_PREFIX and TOOLDIR_BASE_PREFIX. Define
2522 STANDARD_BINDIR_PREFIX.
2523
2524 Wed Nov 10 11:47:54 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2525
2526 * config/c4x/c4x-protos.h: New file. Prototypes for functions defined
2527 in c4x.c.
2528 * config/c4x/c4x.h: Moved prototypes to c4x.h.
2529 * config/c4x/c4x.c (c4x_preferred_reload_class, c4x_limit_reload_class,
2530 c4x_secondary_memory_needed) Delete.
2531 (fp_zero_operand): Add mode argument.
2532
2533 Thu Nov 4 15:52:35 1999 Andrew Haley <aph@cygnus.com>
2534
2535 * reload1.c (reload_reg_free_for_value_p): Don't use a register
2536 that is in reload_reg_used.
2537
2538 Tue Nov 9 16:43:00 1999 Nick Clifton <nickc@cygnus.com>
2539
2540 * config/arm/arm-protos.h: New file: Prototypes for functions
2541 defined in arm.c and pe.c.
2542 * config/arm/arm.h: Fix compile time warnings.
2543 * config/arm/arm.c: Fix compile time warnings.
2544 * config/arm/pe.h: Fix compile time warnings.
2545 * config/arm/aout.h: Fix compile time warnings.
2546
2547 Tue Nov 9 14:55:44 1999 Nick Clifton <nickc@cygnus.com>
2548
2549 * config/m32r/m32r-protos.h: New file: Prototypes for functions
2550 defined in m32r.c
2551
2552 * config/m32r/m32r.h: Move prototypes to m32r-protos.h
2553 Add support for subtargets.
2554 Add prototypes for new predicates.
2555 Add scheduling macros.
2556
2557 * config/m32r/m32r.c: Fix compile time warnings.
2558 (int8_operand): New predicate function.
2559 (reg_or_cmp_int16_operand): New predicate function.
2560 (extend_operand): New predicate function.
2561 (m32r_adjust_code): New scheduling function.
2562 (m32r_adjust_priorty): New scheduling function.
2563 (m32r_sched_init): New scheduling function.
2564 (m32r_sched_reorder): New scheduling function.
2565 (m32r_sched_variable_issue): New scheduling function.
2566 (direct_return): New codegen function.
2567 (m32r_not_same_reg): New rtl testsing function.
2568
2569 * config/m32r/m32r.md: Fix compile time warnings.
2570 Add support for pre decrement and post increment memory
2571 references.
2572 Add S<cc> patterns.
2573 Add fabs patterns.
2574
2575 Mon Nov 8 22:20:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2576
2577 * global.c (EXECUTE_IF_CONFLICT): Don't define.
2578 (prune_preferences): Use EXECUTE_IF_SET_IN_ALLOCNO_SET instead.
2579 (find_reg): Likewise.
2580
2581 Mon Nov 8 13:16:46 1999 Jason Eckhardt <jle@cygnus.com>
2582
2583 * config/pa/pa.md (fmpynfadd,{sgl,dbl} insns): Use %fr0 rather than 0
2584 to avoid assembler errors.
2585
2586 Mon Nov 8 15:38:41 1999 Nick Clifton <nickc@cygnus.com>
2587
2588 * config/v850/v850-protos.h: New file: Prototypes for functions
2589 defined in v850.c
2590 * config/v850/v850.h: Move prototypes to v850-protos.h
2591 * config/v850/v850.c: Move prototypes to v850-protos.h
2592 * config/v850/v850.md: Fix compile time warnings.
2593
2594 * config/fr30/fr30-protos.h: New file: Prototypes for functions
2595 defined in fr30.c
2596 * config/fr30/fr30.h: Move prototypes to fr30-protos.h
2597 * config/fr30/fr30.c: Fix compile time warnings.
2598 * config/fr30/fr30.md: Fix compile time warnings.
2599
2600 Mon Nov 8 07:25:37 1999 Mark Mitchell <mark@codesourcery.com>
2601
2602 * tree.h (get_containing_scope): Declare it.
2603 * tree.c (get_containing_scope): New fucntion.
2604 (decl_function_context): Use it.
2605 * toplev.c (rest_of_compilation): Use get_containing_scope.
2606
2607 aMon Nov 8 03:03:07 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2608
2609 * Makefile.in (rtl.o): Depend on toplev.h.
2610
2611 Sun Nov 7 20:55:14 1999 Mark Mitchell <mark@codesourcery.com>
2612
2613 * cse.c (delete_trivially_dead_insns): Replace alloca with
2614 xmalloc/xcalloc.
2615 * except.c (update_rethrow_references): Likewise.
2616 (init_eh_nesting_info): Likewise.
2617 * function.c (identify_blocks): Likewise.
2618 * gcse.c (dump_hash_table): Likewise.
2619 * graph.c (print_rtl_graph_with_bb): Likewise.
2620 * loop.c (combine_movables): Likewise.
2621 (move_movables): Likewise.
2622 (count_loop_regs_set): Likewise.
2623 (strength_reduce): Likewise.
2624 * profile.c (compute_branch_probabilities): New function, split
2625 out from ...
2626 (branch_prob): Here. Replace alloca with xmalloc/xcalloc.
2627 * regclass.c (regclass): Likewise.
2628 * regmove.c (regmove_optimize): Likewise.
2629 * toplev.c (compile_file): Likewise.
2630 (main): Don't mess with the stack rlimit.
2631
2632 Sun Nov 7 19:41:17 1999 Catherine Moore <clm@cygnus.com>
2633
2634 * config/elfos.h (ASM_DECLARE_FUNCTION_NAME): Conditionally define.
2635 (ASM_DECLARE_FUNCTION_SIZE): Conditionally define.
2636
2637 Sun Nov 7 10:23:28 1999 Mark P. Mitchell <mark@codesourcery.com>
2638
2639 * integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns.
2640
2641 Sun Nov 7 02:58:48 1999 Jeffrey A Law (law@cygnus.com)
2642
2643 * global.c (EXECUTE_IF_CONFLICT): Undo Robert's change.
2644 (EXECUTE_IF_SET_IN_ALLOCNO_SET): Put curleys around CODE in
2645 macro expansion.
2646
2647 Sat Nov 6 23:48:30 1999 Robert Lipe (robertlipe@usa.net)
2648
2649 * global.c (EXECUTE_IF_CONFLICT): Correct quoting typo.
2650
2651 Sat Nov 6 17:34:39 1999 Jeffrey A Law (law@cygnus.com)
2652
2653 * gcse.c (post_dominators): Kill.
2654 (alloc_code_hoist_mem, free_code_hoist_mem); Kill post_dominators.
2655 (compute_code_hoist_data): Use compute_flow_dominators. Do not
2656 pass in a pdom array since we do not need pdoms.
2657 * haifa-sched.c (schedule_insns): Similarly.
2658 * flow.c (compute_dominators): Remove dead function.
2659 (compute_flow_dominators): Do not compute doms or pdoms if the
2660 caller does not request them. Split up loop to build doms and
2661 pdoms. Use a worklist to compute doms and pdoms.
2662 * basic-block.h (compute_dominators): Remove prototype.
2663
2664 Sat Nov 6 11:38:39 1999 Richard Henderson <rth@cygnus.com>
2665
2666 * haifa-sched.c (struct haifa_insn_data, h_i_d): New.
2667 (insn_luid, insn_priority, insn_costs, insn_units): Remove.
2668 (insn_reg_weight, insn_depend, insn_dep_count): Remove.
2669 (insn_blockage, insn_ref_count, line_note, insn_tick): Remove.
2670 (cant_move, fed_by_spec_load, is_load_insn): Remove.
2671 (schedule_region): Remove unused variable.
2672 (schedule_insns): Allocate h_i_d, and not all the separate arrays.
2673
2674 Sat Nov 6 10:00:34 1999 Mark Mitchell <mark@codesourcery.com>
2675
2676 * local-alloc.c (local_alloc): Use xmalloc/xcalloc, not alloca.
2677 (update_equiv_regs): Likewise.
2678 (block_alloc): Likewise.
2679 * reg-stack.c (reg_to_stack): Likewise.
2680 (convert_regs_2): Likewise.
2681 * reload1.c (reload_as_needed): Likewise.
2682
2683 Sat Nov 6 09:57:59 1999 Mark Mitchell <mark@codesourcery.com>
2684
2685 * Makefile.in (dbxout.o): Depend on ggc.h.
2686 (dwarf2out.o): Likewise.
2687 (xcoffout.o): Likewise.
2688 * dbxout.c: Include ggc.h.
2689 (dbxout_init): Register lastfile as a root.
2690 * dwarf2out.c: Include ggc.h.
2691 (dwarf2out_line): Register lastfile as a root.
2692 * xcoffout.c: Include ggc.h.
2693 (xcoffout_source_line): Register xcoff_lastfile as a root.
2694
2695 Sat Nov 6 09:52:09 1999 Richard Henderson <rth@cygnus.com>
2696
2697 * i386.md (movdf_1, movxf_1): Earlyclobber general regs destination.
2698
2699 Sat Nov 6 07:48:59 1999 Catherine Moore <clm@cygnus.com>
2700
2701 * config/svr4.h (ASM_DECLARE_FUNCTION): Check if already
2702 defined.
2703 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
2704
2705 Fri Nov 5 18:33:39 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2706
2707 * global.c (EXECUTE_IF_SET_IN_ALLOCNO_SET): New macro.
2708 (EXECUTE_IF_CONFLICT): Likewise.
2709 (ALLOCNO_LIVE_P): Avoid signed division.
2710 (SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Likewise.
2711 (prune_preferences, find_reg): Use EXECUTE_IF_CONFLICT.
2712 (record_one_conflict): Use EXECUTE_IF_SET_IN_ALLOCNO_SET.
2713
2714 Fri Nov 5 12:04:02 1999 Richard Henderson <rth@cygnus.com>
2715
2716 * haifa-sched.c (schedule_block): Don't crash if there's no
2717 next insn for an interblock movement.
2718 (add_branch_dependences): Don't allow clobber insns to move either.
2719
2720 Fri Nov 5 10:18:11 1999 Richard Henderson <rth@cygnus.com>
2721
2722 * i386.c (split_xf): New.
2723 * i386-protos.h: Declare it.
2724 * i386.md (movxf_1): Add general regs alternatives.
2725 (movxf_1+1): New splitter for same.
2726
2727 Fri Nov 5 12:05:52 1999 Nick Clifton <nickc@cygnus.com>
2728
2729 * function.c (purge_addressof_1): Add missing return values.
2730
2731 Fri Nov 5 10:07:25 1999 Nick Clifton <nickc@cygnus.com>
2732
2733 * function.c (is_addressof): New function. Returns true if
2734 the given piece of RTL is an ADDRESSOF.
2735 (purge_addressof_1): Make boolean. Return false if the
2736 ADDRESSOFs could not be purged.
2737 (purge_addressof): If ADDRESSOFs could not be purged from the
2738 notes attached to an insn, remove the offending note(s),
2739 unless they are attached to a libcall.
2740
2741 1999-11-05 Andreas Jaeger <aj@suse.de>
2742
2743 * genoutput.c (null_operand =): Initialize all fields.
2744
2745 * errors.h: Add extern to prototypes.
2746
2747 Fri Nov 5 01:44:09 1999 Jeffrey A Law (law@cygnus.com)
2748
2749 * configure.in (m68k-next-nextstep4): Handle Openstep 4.2.
2750 * configure: Rebuilt.
2751
2752 Fri Nov 5 01:24:37 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2753
2754 * global.c (CONFLICTP, SET_CONFLICT): Avoid signed division.
2755 (mirror_conflicts): New function.
2756 (global_alloc): Call it.
2757 (expand_preferences): Remove redundant CONFLICTP test.
2758 (find_reg, dump_conflicts): Likewise.
2759 (prune_preferences): Process conflicts one word at a time.
2760
2761 Fri Nov 5 01:05:21 1999 Richard Henderson <rth@cygnus.com>
2762
2763 * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_BITMAP
2764 instead of an explicit loop.
2765
2766 Thu Nov 4 23:07:14 1999 Jim Wilson <wilson@cygnus.com>
2767
2768 * cse.c (cse_insn): Revert Oct 31 change. When computing src_elt,
2769 if REG_RETVAL check succeeds, then put classp in src_elt.
2770
2771 Thu Nov 4 23:48:14 1999 Jeffrey A Law (law@cygnus.com)
2772
2773 * function.c (pad_to_arg_alignment): Only update argument_pad
2774 if the argument's alignment is greater than STACK_BOUNDARY.
2775
2776 Thu Nov 4 16:44:53 1999 Richard Henderson <rth@cygnus.com>
2777
2778 * bitmap.h (BITMAP_XFREE): New.
2779 * flow.c (life_analysis): Use it.
2780 (life_analysis_1): Free blocks.
2781
2782 * combine.c (undo_commit): New.
2783 (try_combine): Use it. Don't zap undobuf.undos.
2784 (combine_instructions): Don't zap undobuf.undos; free the
2785 undobuf.frees list.
2786
2787 * local-alloc.c (local_alloc): Free qty_phys_num_sugg.
2788
2789 * stmt.c (cost_table_): New.
2790 (estimate_case_costs): Use it instead of xmalloc.
2791
2792 * toplev.c (compile_file): Reuse dumpname memory instead
2793 of strdup'ing it.
2794
2795 Thu Nov 4 16:36:44 1999 Richard Henderson <rth@cygnus.com>
2796
2797 * reg-stack.c (convert_regs_1): Initialize target_stack->top
2798 after verifying an EH edge.
2799
2800 * haifa-sched.c (init_rgn_data_dependences): Correctly
2801 size bb_pending_lists_length when zeroing.
2802
2803 Thu Nov 4 16:36:36 1999 Richard Henderson <rth@cygnus.com>
2804
2805 * function.c (diddle_return_value): New.
2806 (expand_function_end): Use it.
2807 * stmt.c (expand_null_return): Likewise.
2808 (expand_value_return): Likewise.
2809
2810 * reg-stack.c (subst_stack_regs_pat): Handle clobbers at top-level.
2811
2812 * reload1.c (reload): Don't remove return value clobbers.
2813
2814 Thu Nov 4 13:33:46 1999 Richard Henderson <rth@cygnus.com>
2815
2816 * rtl.c (read_rtx): Use fatal_with_file_and_line not fatal.
2817
2818 Thu Nov 4 12:49:52 1999 Richard Henderson <rth@cygnus.com>
2819
2820 * cse.c (cse_main): Use xmalloc, not alloca.
2821 (cse_basic_block): Likewise.
2822 * local-alloc.c (local_alloc): Likewise.
2823
2824 Thu Nov 4 14:22:12 1999 David Billinghurst <David.Billinghurst@riotinto.com.au>
2825 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2826
2827 * rtl.c: Include toplev.h.
2828 (fatal): Remove declaration.
2829
2830 Thu Nov 4 06:39:47 1999 Jeffrey A Law (law@cygnus.com)
2831
2832 * haifa-sched.c (schedule_block): Fix thinko.
2833
2834 1999-11-03 James McKelvey <mckelvey@fafnir.com>
2835
2836 * fixinc/fixincl.c(create_file): Allow for systems that do not have
2837 S_IR* defined values
2838
2839 1999-11-03 Philippe De Muyter <phdm@macqel.be>
2840
2841 * fixlib.c (load_file_data): Do not call `realloc' with a NULL pointer;
2842 call `malloc' instead.
2843
2844 Wed Nov 3 23:05:14 1999 Mark Mitchell <mark@codesourcery.com>
2845
2846 * flags.h (flag_renumber_insns): Declare.
2847 * emit-rtl.c (renumber_insns): Check flag_renumber_insns. Print
2848 renumbering table.
2849 * rtl.h (renumber_insns): Change prototype.
2850 * toplev.c (flag_renumber_insns): Define.
2851 (rest_of_compilation): Pass rtl_dump_file to flag_renumber_insns.
2852
2853 Wed Nov 3 15:11:27 1999 David S. Miller <davem@redhat.com>
2854
2855 * config/sparc/sparc.md: Remove insn type fpsqrt, add fpsqrts
2856 and fpsqrtd. Use them and create fdiv function unit to more
2857 accurately represent fpu sqrt pipeline semantics on UltraSparc.
2858 * config/sparc/sparc.c: Account for fpsqrt{s,d} changes.
2859
2860 Wed Nov 3 15:11:27 1999 Matteo Frigo <athena@fftw.org>
2861
2862 * config/sparc/sparc.md: Adjust FADD/FMUL result latencies to
2863 3 on UltraSparc.
2864 * config/sparc/sparc.c (ultra_schedule_insn): Insert launched
2865 insn into ready list, do not use just a raw swap.
2866
2867 Wed Nov 3 14:51:59 1999 Mark P. Mitchell <mark@codesourcery.com>
2868
2869 * rtl.h (renumber_insns): New function.
2870 (remove_unnecessary_notes): Likewise.
2871 * emit-rtl.c (renumber_insns): Define.
2872 (remove_unncessary_notes): Likewise.
2873 * toplev.c (rest_of_compilation): Remove dead code.
2874 Use renumber_insns and remove_unncessary_notes.
2875
2876 * gcse.c (struct null_pointer_info): New type.
2877 (get_bitmap_width): New function.
2878 (current_block): Remove.
2879 (nonnull_local): Likewise.
2880 (nonnull_killed): Likewise.
2881 (invalidate_nonnull_info): Take a null_pointer_info as input.
2882 (delete_null_pointer_checks_1): New function.
2883 (delete_null_pointer_checks): Use it.
2884
2885 * haifa-sched.c (find_rgns): Replace uses of alloca with xmalloc.
2886 (split_edges): Likewise.
2887 (schedule_block): Likewise.
2888 (compute_block_backward_dependencies): Likewise.
2889 (schedule_region): Likewise.
2890 (schedule_insns): Likewise.
2891
2892 Wed Nov 3 15:40:23 1999 Catherine Moore <clm@cygnus.com>
2893
2894 * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Provide default.
2895 * emit-rtl.c (gen_label_rtx): Support LABEL_ALTERNATE_NAME.
2896 * final.c (final_scan_insn): Emit LABEL_ALTERNATE_NAME.
2897 * ggc-common.c (ggc_mark_rtx_children): Mark LABEL_ALTERNATE_NAME.
2898 * jump.c (delete_unreferenced_labels): Don't delete if
2899 LABEL_ALTERNATE_NAME is set.
2900 * print-rtl.c (print_rtx): Dump alternate name.
2901 * rtl.def (CODE_LABEL): Change format to "iuuis00s".
2902 * rtl.h (LABEL_ALTERNATE_NAME): Define.
2903 * rtl.texi (LABEL_ALTERNATE_NAME): Document.
2904 * tm.texi (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Document.
2905
2906 Wed Nov 3 15:39:19 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2907
2908 * fix-header.c (recognized_extern, recognized_function): Constify
2909 a char*.
2910
2911 * lcm.c (compute_laterin): Remove unused variable `temp_bitmap'.
2912 (pre_edge_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
2913 (compute_available): Remove unused variable `last'.
2914 (compute_nearerout): Remove unused variable `temp_bitmap'.
2915 (pre_edge_rev_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
2916 Remove unused variable `x'.
2917
2918 * scan.h (recognized_function, recognized_extern): Constify a
2919 char*.
2920
2921 * simplify-rtx.c (simplify_rtx): Remove unused variable `new'.
2922
2923 Wed Nov 3 10:40:53 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2924
2925 * varasm.c (decode_rtx_const): Use XSTR to access the string
2926 of a SYMBOL_REF.
2927
2928 Wed Nov 3 10:10:58 1999 Richard Henderson <rth@cygnus.com>
2929
2930 * c-decl.c (duplicate_decls): Copy DECL_MODE too.
2931
2932 Wed Nov 3 12:12:59 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2933
2934 * reload1.c (eliminate_regs_in_insn): If copying insn, also copy notes.
2935
2936 Wed Nov 3 03:26:28 1999 Jeffrey A Law (law@cygnus.com)
2937
2938 * pa.c (ireg_operand): New function.
2939 * pa.h (PREDICATE_CODES): Handle ireg_operand.
2940 * pa.md (parallel_addb, parallel_movb): Use ireg_operand.
2941 Fix out of date comment.
2942
2943 * pa.md (negdi2): Turn into expander + anonymous pattern.
2944
2945 * reload.c (find_reloads): Fix typos in recent change.
2946
2947 * dwarf2out.c: Do not include ctype.h.
2948
2949 Tue Nov 2 21:53:44 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2950
2951 * regclass.c (record_reg_classes): Always use may_move_cost when
2952 seeing how operand fits with various register classes.
2953
2954 Tue Nov 2 15:38:17 1999 Richard Henderson <rth@cygnus.com>
2955
2956 * resource.c: Revert Oct 26 20:42 and Oct 27 00:56 changes.
2957 * toplev.c: Revert Nov 1 13:22 change.
2958
2959 Tue Nov 2 14:21:37 1999 Jason Eckhardt <jle@cygnus.com>
2960
2961 * config/pa/pa.md (height reduction patterns): Add checks for
2962 overlapping operands to avoid semantic-destroying splits for
2963 height reduction patterns.
2964
2965 Tue Nov 2 15:27:31 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2966
2967 * configure.in (m68k-hp-hpux*, xm_alloca.h): The underscore should
2968 have been an hyphen, fixed.
2969 * configure: Rebuilt.
2970
2971 Tue Nov 2 17:04:36 1999 Nick Clifton <nickc@cygnus.com>
2972
2973 * config/arm/tpe.h: Add prototypes for exported functions.
2974 * config/arm/pe.c: Fix compile time warnings.
2975 * config/arm/semi.h: Fix compile time warnings.
2976 * config/arm/arm.c: Fix compile time warnings.
2977 * config/arm/arm.h: Fix compile time warnings.
2978 * config/arm/arm.md: Fix compile time warnings.
2979 * config/arm/thumb.c: Fix compile time warnings.
2980 * config/arm/thumb.h: Fix compile time warnings.
2981 * config/arm/thumb.md: Fix compile time warnings.
2982
2983 Tue Nov 2 04:10:24 1999 Jan Hubicka <hubicka@freesoft.cz>
2984
2985 * jump.c (jump_optimize_1): Swap the incscc and the conditional mode
2986 detection code
2987
2988 * unroll.c (unroll_loop): Remove LOOP notes when loop is
2989 completely unrolled.
2990
2991 Tue Nov 2 16:57:22 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2992
2993 * cse.c (simplify_plus_minus, check_fold_const): Delete declarations.
2994
2995 Tue Nov 2 09:43:00 1999 Catherine Moore <clm@cygnus.com>
2996
2997 * Makefile.in (genattrtab): Don't use (HOST_RTLANAL).
2998 * rtl.h (rtx_equal_p): Move prototype.
2999 * rtl.c (rtx_equal_function_value_matters): Move from
3000 rtlanal.c
3001 (rtx_equal_p): Likewise.
3002 * rtlanal.c (rtx_equal_function_value_matters): Delete.
3003 (rtx_equal_p): Likewise.
3004
3005 Mon Nov 1 23:21:17 1999 Jason Merrill <jason@yorick.cygnus.com>
3006
3007 * libgcc2.c (__do_global_dtors): Only do EH frame stuff if
3008 ! HAS_INIT_SECTION.
3009
3010 Mon Nov 1 23:37:38 1999 Jeffrey A Law (law@cygnus.com)
3011
3012 * gcc.1 (PA options): Remove obsolete -mshared-libs options.
3013
3014 * pa.h (ADDR_VEC_ALIGN): Define.
3015
3016 * jump.c (jump_optimize_1): Also move LOOP_VTOP and LOOP_CONT
3017 notes when presented with "if (foo) break; end_of_loop" and
3018 the break sequence gets moved out of the loop.
3019
3020 * unroll.c (unroll_loop): Allocate memory for MAP using xcalloc.
3021 Remove explicit zero initializations of entries within MAP.
3022
3023 Mon Nov 1 18:09:14 1999 Richard Henderson <rth@cygnus.com>
3024
3025 * reg-stack.c (convert_regs_1): Handle EH edges specially.
3026
3027 Mon Nov 1 15:41:01 1999 Mark P. Mitchell <mark@codesourcery.com>
3028
3029 * bitmap.h (BITMAP_XMALLOC): New macro.
3030 * flow.c (CLEAN_ALLOCA): Remove.
3031 (delete_unreachable_blocks): Use xmalloc/xcalloc instead of alloca.
3032 (life_analysis): Likewise.
3033 (update_life_info): Don't use CLEAN_ALLOCA.
3034 (life_analysis_1): Use xmalloc/xcalloc instead of alloca.
3035 (calculate_global_regs_live): Likewise.
3036 (print_rtl_with_bb): Likewise.
3037 (verify_flow_info): Likewise.
3038 * global.c (global_alloc): Likewise.
3039 (global_conflicts): Likewise.
3040 * integrate.c (save_for_inline_nocopy): Likewise.
3041 (expand_inline_function): Likewise.
3042 * jump.c (jump_optimize_1): Likewise.
3043 (duplicate_loop_exit_test): Likewise.
3044 (thread_jumps): Likewise.
3045 * loop.c (loop_optimize): Likewise.
3046 (combine_givs): Likewise.
3047 (recombine_givs): Likewise.
3048 * reorg.c (dbr_schedule): Likewise.
3049 * unroll.c (unroll_loop): Likewise.
3050
3051 * combine.c (combine_instructions): Use xmalloc instead of alloca.
3052
3053 Mon Nov 1 13:22:30 1999 Richard Henderson <rth@cygnus.com>
3054
3055 * toplev.c (rest_of_compilation): Don't optimize the CFG
3056 when rebuilding, just before dbr.
3057
3058 Mon Nov 1 14:35:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3059
3060 * output.h (assemble_end_function, assemble_destructor,
3061 assemble_constructor, assemble_gc_entry, assemble_global,
3062 assemble_label, output_constant_pool) Constify a char*.
3063
3064 * varasm.c (assemble_destructor, assemble_constructor,
3065 assemble_gc_entry, assemble_end_function, assemble_global,
3066 assemble_label, output_constant_pool): Likewise.
3067
3068 Mon Nov 1 14:22:51 1999 Nick Clifton <nickc@cygnus.com>
3069
3070 * config/arm/thumb.c (thumb_expand_prologue): Add comments
3071 explaining what is goin on in this function.
3072
3073 Mon Nov 1 08:03:15 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3074
3075 * regclass.c (record_reg_classes): In matching case, recompute
3076 costs since the direction of movement is different.
3077
3078 Sun Oct 31 21:59:34 MST 1999 Diego Novillo <dnovillo@cygnus.com>
3079
3080 * resource.c (mark_target_live_regs): For unconditional branches,
3081 the resources found at the branch target should be added to the
3082 resources found so far, not intersected.
3083
3084 Sun Oct 31 15:48:49 1999 Philippe De Muyter <phdm@macqel.be>
3085
3086 * fixinc/fixtests.c, fixinc/fixfixes.c : Keep `#' in first column for
3087 old cpp's.
3088 * fixinc/fixincl.c (fcntl.h) : Do not include this file twice.
3089 (sys/mman.h): Include this file only if #HAVE_MMAP.
3090 (run_compiles): Initialize `esac_fmt' with one old KR string, not
3091 with automatically concatenated ANSI strings.
3092
3093 Sun Oct 31 23:57:07 1999 Mark Mitchell <mark@codesourcery.com>
3094
3095 * ggc-page.c (struct page_entry): Remove save_num_free_objects.
3096 (DIV_ROUND_UP): Robustify.
3097 (ggc_recalculate_in_use_p): New function.
3098 (release_pages): Don't inline it.
3099 (ggc_alloc_obj): Don't refuse to allocate objects on pages for
3100 outer contexts.
3101 (ggc_pop_context): Use ggc_recalculate_in_use_p.
3102 (clear_marks): Always save in_use_p.
3103 (sweep_pages): Use ggc_recalculate_in_use_p.
3104 (ggc_page_print_statistics): Avoid signed/unsigned comparisons.
3105 Release pages before counting statistics.
3106
3107 Sun Oct 31 23:42:37 1999 Mark Mitchell <mark@codesourcery.com>
3108
3109 * toplev.c (rest_of_compilation): Fix thinko in this change:
3110
3111 Fri Oct 29 15:25:07 1999 Arnaud Charlet <charlet@ACT-Europe.FR>
3112
3113 (rest_of_compilation): If inside an inlined external function,
3114 pretend we are just being declared.
3115
3116 Sun Oct 31 23:03:25 1999 Jeffrey A Law (law@cygnus.com)
3117
3118 * flow.c (calculate_global_regs_live): Fix thinko.
3119
3120 * integrate.c (expand_inline_function): Fix bugs in previous
3121 change from Oct 28, 1999.
3122
3123 Sun Oct 31 20:27:45 1999 Mark Mitchell <mark@codesourcery.com>
3124
3125 * stmt.c (expand_value_return): Fix typo in this change:
3126
3127 Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3128 (expand_value_return): Correctly convert VAL when promoting function
3129 return; support RETURN_REG being a PARALLEL.
3130
3131 Sun Oct 31 20:25:42 1999 Mark P. Mitchell <mark@codesourcery.com>
3132
3133 * expr.c (readonly_fields_p): Ignore everything except FIELD_DECLs.
3134
3135 Sun Oct 31 20:42:17 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3136
3137 * hard-reg-set.h (reg_names): Constify a char*.
3138
3139 * regclass.c (reg_names): Likewise.
3140
3141 * regs.h (reg_names): Likewise
3142
3143 * a29k/a29k.c (reg_names): Delete declaration.
3144
3145 * a29k/a29k.h (CONDITIONAL_REGISTER_USAGE): Constify a char*.
3146
3147 * arc/arc.c (arc_save_restore, arc_output_function_prologue,
3148 arc_output_function_epilogue): Likewise.
3149
3150 * elxsi/elxsi.c (reg_names): Likewise.
3151
3152 * gmicro/gmicro.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
3153
3154 * m32r/m32r.c (m32r_output_function_epilogue, emit_cond_move):
3155 Likewise.
3156
3157 * m88k/m88k.c (output_function_profiler): Likewise.
3158
3159 * sparc/sparc.c (sparc_flat_output_function_prologue,
3160 sparc_flat_output_function_epilogue): Likewise.
3161
3162 Sun Oct 31 13:32:15 CET 1999 Marc Lehmann <pcg@goof.com>
3163
3164 * toplev.c (rest_of_compilation): Seperate the setjmp/vfork clobber
3165 warning from -Wuninitialized and put it under -W.
3166 * function.c (uninitialized_vars_warning): Warn only when the
3167 corresponding flag is set.
3168
3169 Sun Oct 31 01:53:30 1999 Jeffrey A Law (law@cygnus.com)
3170
3171 * cse.c (cse_insn): If an insn has only a single set, SRC_EQV
3172 is nonzero and the single set does not have an elt, then assign
3173 it an elt.
3174
3175 * simplify-rtx.c: New file.
3176 * Makefile.in (OBJS): Add simplify-rtx.o
3177 (simplify-rtx.o): Add dependencies.
3178 * rtl.h (simplify_gen_binary, simplify_rtx): Add prototypes.
3179 * cse.c: Use simplify_gen_binary intead of cse_gen_binary.
3180 (cse_gen_binary, simplify_unary_operation): Delete.
3181 (simplify_binary_operation, simplify_plus_minus): Likewise.
3182 (check_fold_consts, simplify_relation_operation): Likewise.
3183 (simplify_ternary_operation): Likewise.
3184 (delete_trivially_dead_insns): Simplify the contents of the
3185 REG_EQUAL note before trying to substitute it into the source
3186 of the reg-reg copy at the end of a libcall sequence.
3187
3188 * combine.c (combine_simplify_rtx): Renamed from simplify_rtx. All
3189 references/callers changed.
3190
3191 * mn10200.c (mn10200_va_arg): Force the return value into a
3192 register.
3193
3194 * fr30.h (EXTRA_CC_NAMES): Remove obsolete macro.
3195
3196 * cccp.c (macroexpand): Avoid out of range accesses for omitted
3197 arguments.
3198
3199 Sat Oct 30 22:42:50 1999 Stephen L Moshier <moshier@mediaone.net>
3200
3201 * c-lex.c (yylex): Accept 'f' in mantissa of hex float constant.
3202
3203 Sat Oct 30 22:19:26 1999 Jeffrey A Law (law@cygnus.com)
3204
3205 * fold-const.c (fold): Fix thinko when optimizing comparisons
3206 against -0.0.
3207
3208 Sat Oct 30 21:32:17 1999 David Starner <dstarner98@aasaa.ofe.org>
3209
3210 * gcc.texi (Passes): Update front-end files to their current
3211 location.
3212
3213 Sat Oct 30 14:41:40 1999 Richard Henderson <rth@cygnus.com>
3214
3215 * alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Call secondary_reload_class.
3216 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
3217 (PREDICATE_CODES): Add addition_operation.
3218 * alpha-protos.h (addition_operation): Declare.
3219 (secondary_reload_class): Likewise.
3220 * alpha.c (addition_operation): New.
3221 (secondary_reload_class): New, from old SECONDARY_INPUT_RELOAD_CLASS.
3222 * alpha.md (adddi3): Turn into expander.
3223 (*lda, *adddi_2): New.
3224 (movsf, movdf patterns): Don't preference integer regs.
3225 (movsi, movdi patterns): Don't preference fp regs.
3226
3227 Sat Oct 30 14:38:22 1999 Richard Henderson <rth@cygnus.com>
3228
3229 * genrecog.c (write_switch): Check for duplicate CODE cases.
3230
3231 Sat Oct 30 14:31:48 1999 Richard Henderson <rth@cygnus.com>
3232
3233 * ggc-common.c: Update pre-function commentary.
3234 * ggc-page.c: Likewise.
3235 (poison): Remove.
3236 (poison_pages): Use memset directly.
3237 (ggc_alloc_obj): Likewise. Use a different pattern than poison_pages.
3238 (ggc_collect): Poison before sweeping.
3239 * ggc-simple.c: Update pre-function commentary.
3240 (ggc_alloc_obj): Poison non-zeroed memory.
3241
3242 Sat Oct 30 14:28:52 1999 Mark Mitchell <mark@codesourcery.com>
3243
3244 * ggc-common.c (ggc_print_statistics): Make arguments to fprintf
3245 match format string, even on 64-bit hosts.
3246 * gcc-page.c (ggc_page_print_statistics): Likewise.
3247
3248 Sat Oct 30 14:38:04 1999 Catherine Moore <clm@cygnus.com>
3249
3250 * config/i386/i386.c (ix86_cpu): Revert last patch.
3251 * config/i386/i386.h (ix86_cpu): Ditto.
3252
3253 Fri Oct 29 17:00:42 1999 Jim Wilson <wilson@cygnus.com>
3254
3255 * stor-layout.c (layout_type): When compute TYPE_SIZE_UNIT from
3256 TYPE_SIZE, convert type of result to sizetype.
3257
3258 Fri Oct 29 14:34:17 1999 Richard Henderson <rth@cygnus.com>
3259
3260 * flow.c (count_or_remove_death_notes): Equate NULL with the
3261 universal set.
3262
3263 * jump.c, reg-stack.c, toplev.c: Revert Oct 27 change.
3264 * toplev.c (rest_of_compilation): Rebuild CFG immediately before
3265 dbr_schedule.
3266
3267 * i386.c (pic_label_no): Delete.
3268 (ix86_attr_length_default): Don't use single_set to peek
3269 inside a parallel.
3270
3271 * recog.c (peephole2_optimize): Allow recog_next_insn to index
3272 the first insn after bb->end.
3273 * i386.md (push mem peeps): Scratch is live after evaluation
3274 of the memory.
3275 (cmp mem peep): Similarly.
3276
3277 Fri Oct 29 11:50:11 1999 Catherine Moore <clm@cygnus.com>
3278
3279 * calls.c (emit_library_call_value): Fix declaration of alignment_pad.
3280 * function.c (pad_to_arg_alignment): Add missing braces.
3281
3282 Fri Oct 29 13:53:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3283
3284 * alpha/alpha-protos.h (literal_section): Add prototype.
3285 (alpha_need_linkage, alpha_start_function,alpha_end_function):
3286 Constify a char*.
3287
3288 * alpha/alpha.c (alpha_ra_ever_killed, set_frame_related_p): Add
3289 prototype.
3290 (alpha_start_function, alpha_end_function, float_strings,
3291 alpha_need_linkage): Constify a char*
3292
3293 * alpha/alpha.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_MI_THUNK): Likewise.
3294
3295 * alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
3296
3297 * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
3298
3299 * alpha/vms.h (ASM_OUTPUT_SECTION_NAME): Likewise.
3300
3301 Fri Oct 29 13:49:39 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3302
3303 * flow.c (debug_flow_info): Add prototype.
3304
3305 * gcc.c (main): Likewise.
3306
3307 * gcse.c (expr_reaches_here_p_work, pre_expr_reaches_here_p_work):
3308 Likewise.
3309
3310 * reload1.c (failed_reload, set_reload_reg): Likewise.
3311
3312 * mips-tfile.c (main): Likewise.
3313 (pfatal_with_name, fancy_abort, botch, fatal, catch_signal): Mark
3314 with ATTRIBUTE_NORETURN.
3315
3316 Fri Oct 29 18:16:03 1999 Andrew Haley <aph@cygnus.com>
3317
3318 * config/i386/i386.h (ENCODE_SECTION_INFO): Don't do anything if
3319 DECL is not a memory ref.
3320
3321 Fri Oct 29 09:05:34 1999 Catherine Moore <clm@cygnus.com>
3322
3323 * config/i386/i386.h (ix86_cpu): Remove extern attribute.
3324 * config/i386/i386.c (ix86_cpu): Add extern attribute.
3325
3326 Fri Oct 29 16:30:04 1999 Andrew Haley <aph@cygnus.com>
3327
3328 * config/mips/elf.h: remove NAME__MAIN and SYMBOL__MAIN.
3329 * config/mips/elf64.h: ditto.
3330
3331 Fri Oct 29 08:03:57 1999 Catherine Moore <clm@cygnus.com>
3332
3333 * expr.c (emit_push_insn): New argument alignment_pad.
3334 Update all callers. Adjust stack pointer based on alignment pad.
3335 * function.c (pad_to_arg_alignment): New argument alignment_pad.
3336 Update all callers. Track alignment_pad if boundary > PARM_BOUNDARY.
3337 (locate_and_pad_parm): New argument alignment_pad. Update all
3338 callers.
3339 * expr.h (emit_push_insn): Update prototype.
3340 (locate_and_pad_parm): Update prototype.
3341 * calls.c (arg_data): Add new field alignment_pad.
3342 (initialize_argument_information): Initialize alignment_pad.
3343
3344 Fri Oct 29 02:51:35 1999 Mark Mitchell <mark@codesourcery.com>
3345
3346 * except.c (free_eh_nesting_info): Free the info itself.
3347 * function.c (free_after_compilation): Don't free NULL.
3348 * gcse.c (alloc_pre_mem): Free the temp_bitmap, too.
3349 (pre_edge_insert): Free inserted.
3350 * stmt.c (free_stmt_status): Don't free NULL.
3351
3352 Fri Oct 29 15:25:07 1999 Arnaud Charlet <charlet@ACT-Europe.FR>
3353
3354 * gcov.c (DIR_SEPARATOR): Provide default.
3355 (output_data): Add test for MS-DOS format absolute filename.
3356 (fancy_abort): Correct program name.
3357 (open_files): Open all files in binary mode.
3358 * libgcc2.c (__bb_exit_func): Likewise.
3359
3360 * profile.c (init_branch_prob): Specify binary when opening files.
3361
3362 * flags.h (flag_unwind_tables): New decl.
3363 * toplev.c (flag_unwind_table): New definition.
3364 (f_options): Add -funwind-tables.
3365 (decode_g_option): Clarify warning when unknown -g option is given.
3366 (rest_of_compilation): If inside an inlined external function,
3367 pretend we are just being declared.
3368
3369 * dwarf2out.c (dwarf2out_do_frame): Check -funwind_tables.
3370 (dwarf2out_frame_finish): Likewise.
3371
3372 Fri Oct 29 07:44:26 1999 Vasco Pedro <vp@di.fct.unl.pt>
3373
3374 * fold-const.c (merge_ranges): If not in0, but in1, handle
3375 upper bounds equal like subset case.
3376
3377 Thu Oct 28 19:22:24 1999 Douglas Rupp <rupp@gnat.com>
3378
3379 * dbxout.c (dbxout_parms): Generate a second stabs line for parameters
3380 passed in a register but moved to the stack.
3381
3382 Thu Oct 28 19:12:57 1999 Sam Tardieu <tardieu@act-europe.fr>
3383
3384 * gcc.c (pass_exit_codes, greatest_status): New variables.
3385 (struct option_map): Add entry for "--pass-exit-codes".
3386 (execute): Update greatest_status if error.
3387 (display_help): Add documentation for -pass-exit-codes.
3388 (process_command): Handle -pass-exit-codes.
3389 (main): Look at pass_exit_codes and greatest_status on call to exit.
3390
3391 Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3392
3393 * reload.c (find_reloads): Refine test for no input reload
3394 case to not includes reloads emitted after insn.
3395
3396 * function.c (find_temp_slots_from_address): Handle sum involving
3397 a register that points to a temp slot.
3398 (update_temp_slot_address): Make recursive call if both old and
3399 new are PLUS with a common operand.
3400 * calls.c (expand_call): Mark temp slot for result as having
3401 address taken.
3402
3403 * rtlanal.c (reg_referenced_p, case IF_THEN_ELSE): New case.
3404
3405 * gcc.c (process_command): Add standard_exec_prefix with "GCC"
3406 component as well as "BINUTILS".
3407
3408 * integrate.h (copy_rtx_and_substitute): New arg, FOR_LHS.
3409 * integrate.c (copy_rtx_and_substitute): Likewise.
3410 (expand_inline_function, integrate_parm_decls, integrate_decl_tree):
3411 All callers changed.
3412 * unroll.c (inital_reg_note_copy, copy_loop_body): Likewise.
3413
3414 * dbxout.c (dbxout_type, case INTEGER_TYPE_NODE): If can use
3415 gdb extensions, write size of type; also be more consistent
3416 in using references when this is a subtype.
3417
3418 * pa.md (extv, extzv, insv): Use define_expand to reject constant
3419 that is out of range.
3420
3421 * loop.c (unknown_constant_address_altered): New variable.
3422 (prescan_loop): Initialize it.
3423 (note_addr_stored): Set it for RTX_UNCHANGING_P MEM.
3424 (invariant_p, case MEM): Remove handling for volatile and readonly;
3425 check new variable if readonly.
3426 (check_dbra_loop): Chdeck unknown_constant_address_altered.
3427
3428 * cse.c (canon_hash, case MEM): Do not record if BLKmode.
3429 (addr_affects_sp_p): Removed from note_mem_written and only
3430 define #ifdef AUTO_INC_DEC.
3431
3432 * alpha.c (input_operand, case ADDRESSOF): Treat as REG.
3433
3434 * regclass.c (record_reg_classes): Properly handle register move
3435 directions.
3436
3437 * varasm.c (initializer_constant_valid_p, case MINUS_EXPR):
3438 Don't think valid if both operands are invalid.
3439 (struct constant_descriptor): New field RTL.
3440 (mark_const_hash_entry): Mark it.
3441 (record_constant{,_rtx}): Initialize it.
3442 (output_constant_def): Allocate RTL in permanent obstack and
3443 save in table.
3444 ({record,compare}_constant_1): Modes must match for
3445 CONSTRUCTOR of ARRAY_TYPE.
3446
3447 * c-common.h (initializer_constant_valid_p): Delete decl from here.
3448 * output.h (initializer_constant_valid_p): Move decl to here.
3449 * c-common.c (initializer_constant_valid_p): Delete function from here.
3450 * varasm.c (initializer_constant_valid_p): Move function to here.
3451
3452 * tree.h (STRIP_SIGN_NOPS): New macro.
3453 * fold-const.c (optimize_minmax_comparison): New function.
3454 (invert_truthvalue, case WITH_RECORD_EXPR): New case.
3455 (fold): Use STRIP_SIGN_NOPS instead of STRIP_TYPE_NOPS.
3456 (fold, case EQ_EXPR): Call optimize_minmax_comparison and add
3457 cases with ABS_EXPR, NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR, and
3458 widening conversions.
3459 (fold, case LE_EXPR): Rework changing unsigned to signed comparisons
3460 to look at size of mode, not precision of type; also add missing cases.
3461 (optimize_bit_field_compare, decode_field_reference): Don't try to
3462 optimize COMPONENT_REF of a PLACEHOLDER_EXPR.
3463
3464 * dwarf2out.c (ctype.h): Include.
3465 (dwarf2out_set_demangle_name_func): New function.
3466 (size_of_line_info): Deleted.
3467 (output_line_info): Compute size of line info table from difference
3468 of labels.
3469 (base_type_die, add_name_attribute): Call demangle function, if any.
3470 (field_byte_offset): Use bits per word for variable length fields.
3471 (gen_array_type_die): Add array name.
3472 (gen_subprogram_die): Ignore DECL_INLINE if -fno-inline.
3473 (dwarf2out_add_library_unit_info): New function.
3474
3475 * explow.c (set_stack_check_libfunc): New function.
3476 (stack_check_libfunc): New static variable.
3477 (probe_stack_range): Allow front-end to set up a libfunc to call.
3478
3479 * combine.c (simplify_comparison): When making comparison in wider
3480 mode, check for having commuted an AND and a SUBREG.
3481 (contains_muldiv): New function.
3482 (try_combine): Call it when dividing a PARALLEL.
3483 (simplify_rtx, case TRUNCATE): Don't remove for umulsi3_highpart.
3484 (simplify_comparison, case ASHIFTRT): Recognize sign-extension of
3485 a PLUS.
3486 (record_value_for_reg): If TEM is a binary operation with two CLOBBERs,
3487 use one of the CLOBBERs instead.
3488 (if_then_else_cond): If comparing against zero, just return thing
3489 being compared.
3490
3491 * optabs.c (expand_abs): If machine has MAX, ABS (x) is MAX (x, -x).
3492 Don't generate shifts and subtract if have conditional arithmetic.
3493
3494 * rtl.h (delete_barrier): New declaration.
3495 * jump.c (jump_optimize): Set up to handle conditional call.
3496 In conditional arithmetic case, handle CALL_INSN followed by a BARRIER.
3497 (delete_barrier): New function.
3498
3499 * rtl.c (read_rtx): Call fatal if bad RTL code; check for bad mode.
3500
3501 * recog.c (nonmemory_operand): Accept ADDRESSOF.
3502
3503 * tree.c (build_type_attribute_variant): Push to obstack of
3504 ttype around type_hash_canon call.
3505
3506 * expr.c (placeholder_list): Move decl to file scope.
3507 (expand_expr): Don't force access to volatile just because its
3508 address is taken.
3509 If ignoring reference operations, just expand the operands.
3510 (expand_expr, case COMPONENT_REF): Propagate
3511 EXPAND_CONST_ADDRESS to recursive call when expanding inner.
3512 Refine test for using bitfield operations vs pointer punning.
3513 (expand_expr, case CONVERT_EXPR): If converting to
3514 BLKmode UNION_TYPE from BLKmode, just return inner object.
3515 Use proper mode in store_field call.
3516 Properly set sizes of object to store and total size in store_field
3517 call for convert to union.
3518 (expand_expr, case ARRAY_REF): If OP0 is in a register, put it in
3519 memory (like for ADDR_EXPR). Also, don't put constant in register if
3520 we'll want it in memory.
3521 (readonly_fields_p): New function.
3522 (expand_expr, case INDIRECT_REF): Call it if LHS.
3523 (expand_assignment): Handle a RESULT_DECL where
3524 DECL_RTL is a PARALLEL.
3525 (do_jump, case WITH_RECORD_EXPR): New case.
3526 (get_inner_reference): Always go inside a CONVERT_EXPR
3527 and NOP_EXPR if both modes are the same.
3528 (store_field): Use bitfield operations if size of bitsize is not same
3529 as size of RHS's type.
3530 Check for bitpos not a multiple of alignment in BLKmode case.
3531 Do block move in largest possible alignment.
3532 (store_constructor): Set BITSIZE to -1 for variable size and properly
3533 in case of array of BLKmode.
3534 (expand_expr_unaligned): New function.
3535 (do_compare_and_jump): Call it.
3536
3537 * mips/iris5.h (SWITCHES_NEED_SPACES): New macro.
3538 * collect2.c (main): Only allow -ofoo if SWITCHES_NEED_SPACES
3539 does not include 'o'.
3540
3541 * function.c (instantiate_virtual_regs_1, case SET): Handle case where
3542 both SET_DEST and SET_SRC reference a virtual register.
3543 (gen_mem_addressof): Copy RTX_UNCHANGING_P from new REG to old REG.
3544
3545 * integrate.c (expand_inline_function): Handle case of setting
3546 virtual stack vars register (from built in setjmp); when parameter
3547 lives in memory, expand virtual_{stack_vars,incoming_args}_rtx early.
3548 (subst_constant): Add new parm, MEMONLY.
3549 (expand_inline_function, integrate_parm_decls): Pass new parm.
3550 (integrate_decl_tree): Likewise.
3551 (copy_rtx_and_substitute, case MEM): Do copy RTX_UNCHANGING_P.
3552 (try_constants): Call subst_constants twice, with MEMONLY 0 and 1.
3553 (copy_rtx_and_substitute, case SET): Add explicit calls to
3554 copy_rtx_and_substitute for both sides.
3555
3556 * stmt.c (expand_asm_operands): Don't use TREE_STRING_LENGTH for
3557 constraints.
3558 (pushcase{,_range}): Convert to NOMINAL_TYPE after checking for
3559 within INDEX_TYPE, instead of before.
3560 (fixup_gotos): Use f->target_rtl, not the next insn,
3561 since latter may be from a later fixup.
3562 (expand_value_return): Correctly convert VAL when promoting function
3563 return; support RETURN_REG being a PARALLEL.
3564 (expand_return): When checking for result in regs and having
3565 cleanup, consider PARALLEL in DECL_RTL as being in regs.
3566
3567 1999-10-28 21:27 -0700 Zack Weinberg <zack@bitmover.com>
3568
3569 * cpplib.h (struct cpp_buffer: fname, nominal_fname,
3570 last_nominal_fname): Mark const.
3571 (struct include_hash: name, nshort, control_macro): Mark
3572 const.
3573 (struct macrodef: symnam): Mark const.
3574 (struct if_stack: fname): Mark const.
3575 (is_idchar, is_idstart, is_hor_space, trigraph_table): Delete.
3576 (IStable): New character-syntax array which encompasses all
3577 the old is_foo arrays.
3578 (is_idchar, is_numchar, is_idstart, is_numstart, is_hspace,
3579 is_space): New macros for interrogating IStable.
3580 (check_macro_name): Kill last argument. All callers changed.
3581
3582 * cppinit.c (initialize_char_syntax): Delete.
3583 (is_idchar, is_idstart, is_hor_space, is_space,
3584 trigraph_table): Delete.
3585 (IStable): New. Initialize with clever macros to avoid
3586 information duplication.
3587 (builtin_array): Table of builtins to get rid of explicit list
3588 in initialize_builtins.
3589 (initialize_builtins): Use builtins_array.
3590 (cpp_start_read): Call init_IStable, and set IStable['$'] if
3591 opts->dollars_in_ident.
3592
3593 * cppexp.c: Change all refs to is_xyz[] arrays to use new
3594 is_xyz() macros.
3595 (cpp_parse_expr): Avoid 'format string is not constant'
3596 warning. Use ISGRAPH to identify printable chars.
3597 * cppfiles.c: Change all refs to is_xyz[] arrays to use new
3598 is_xyz() macros.
3599 (read_and_prescan): Map trigraphs to chars with open-coded
3600 if-else-if-... sequence, not a lookup table.
3601 * cpphash.c: Change all refs to is_xyz[] arrays to use new
3602 is_xyz() macros.
3603 * cpplib.c: Change all refs to is_xyz[] arrays to use new
3604 is_xyz() macros. Kill SKIP_ALL_WHITE_SPACE (unused).
3605 (check_macro_name): Remove ability to report an invalid
3606 assertion name, which is never used.
3607 (do_line): Constify a couple of char *'s.
3608 * cppmain.c (main): Call cpp_cleanup before returning.
3609
3610 Thu Oct 28 21:16:35 1999 Mark Mitchell <mark@codesourcery.com>
3611
3612 * ggc.h (struct ggc_statistics): New type.
3613 (ggc_get_size): New function.
3614 (ggc_print_statistics): Likewise.
3615 * ggc-common.c (ggc_stats): New variable.
3616 (ggc_mark_rtx_children): Keep statistics.
3617 (ggc_mark_tree_children): Likewise.
3618 (ggc_print_statistics): New function.
3619 * ggc-page.c (struct globals): Add bytes_mapped field.
3620 (alloc_anon): Update it.
3621 (release_pages): Likewise.
3622 (ggc_get_size): New function.
3623 (ggc_page_print_statistics): New function.
3624 * ggc-simple.c (ggc_get_size): New function.
3625
3626 Fri Oct 29 06:32:44 1999 Geoffrey Keating <geoffk@cygnus.com>
3627
3628 * flow.c (propagate_block): When the last reference to a label
3629 before an ADDR_VEC is deleted because the reference is a dead
3630 store, delete the ADDR_VEC.
3631
3632 Thu Oct 28 12:28:50 1999 Richard Henderson <rth@cygnus.com>
3633
3634 * resource.c (find_free_register): Don't use the frame pointer
3635 if frame_pointer_needed.
3636
3637 Thu Oct 28 10:02:00 1999 Jim Wilson <wilson@cygnus.com>
3638
3639 * config/mips/mips.c (mips_va_arg): Delete gen_jump as emit_jump arg.
3640 (function_arg_pass_by_reference): Check for a NULL pointer in cum.
3641
3642 * config/i960/i960.c (i960_va_start): New locals base, num.
3643 Use INDIRECT_REF instead of ARRAY_REF on valist.
3644 (i960_va_arg): Use INDIRECT_REF instead of ARRAY_REF on valist.
3645
3646 Thu Oct 28 09:45:48 1999 Mark Mitchell <mark@codesourcery.com>
3647
3648 * gcse.c (delete_null_pointer_checks): Fix typo in previous change.
3649
3650 Thu Oct 28 03:37:50 1999 Peter Gerwinski <peter@gerwinski.de>
3651
3652 * tree.def (PLACEHOLDER_EXPR): Update comments.
3653
3654 Thu Oct 28 06:47:32 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3655
3656 * c-common.c (check_format_info): Avoid non-literal format string
3657 warnings when `first_arg_num' is zero.
3658
3659 Thu Oct 28 12:28:48 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3660
3661 * rtl.texi: Delete explicit Prev, Up and Next entries in "@node"s.
3662
3663 Thu Oct 28 11:05:13 1999 Richard Earnshaw <rearnsha@arm.com>
3664
3665 * arm.md (casesi_insn): Add a clobber of the condition code
3666 register.
3667
3668 Mon Oct 18 21:16:06 1999 Fred Fish <fnf@be.com>
3669
3670 * tm.texi (CC1PLUS_SPEC): Make it clear in the docs that CC1_SPEC is
3671 used by both cc1 and cc1plus.
3672
3673 Thu Oct 28 10:00:48 1999 Nick Clifton <nickc@cygnus.com>
3674
3675 * config/arm/arm.c: Initialise arm_structure_size_boundary to
3676 DEFAULT_STRUCTURE_SIZE_BOUNDARY.
3677 * config/arm/arm.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define
3678 to the value 32 if it has not already been defined.
3679 * config/arm/netbsd.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY):
3680 Override definition in arm.h with a value of 8.
3681
3682 Thu Oct 28 03:12:02 1999 David Starner <dstarner98@aasaa.ofe.org>
3683
3684 * c-pragma.c (push_alignment): Don't check the return value
3685 of xmalloc.
3686
3687 Thu Oct 28 03:08:38 1999 Matteo Frigo <athena@fftw.org>
3688
3689 * sparc.h (ADJUST_COST): Fix thinko.
3690
3691 Thu Oct 28 02:44:03 1999 Glen Nakamura <glen.nakamura@usa.net>
3692
3693 * cccp.c (rescan): Fixed obp pointer handling around call to
3694 check_expand subroutine.
3695
3696 Thu Oct 28 02:15:22 1999 Jeffrey A Law (law@cygnus.com)
3697
3698 * gcse.c (delete_null_pointer_checks): Only record non-null info
3699 for pseudos when examining stores.
3700
3701 * arm.md (adddi3, adddi_sesidi_di, adddi_sesidi_di): Add
3702 splitters for these patterns. Use "#" for output templates.
3703 (addsi3_carryin_shift): New pattern.
3704
3705 Thu Oct 28 10:20:02 1999 Geoffrey Keating <geoffk@cygnus.com>
3706
3707 * config/rs6000/rs6000.md (movsf): Don't convert a SUBREG
3708 of the function return register into a plain REG until
3709 after function inlining is done.
3710
3711 Wed Oct 27 15:21:46 1999 Richard Henderson <rth@cygnus.com>
3712
3713 * jump.c (jump_optimize_1): If we did cross-jumping, and
3714 the data will matter, rebuild the CFG.
3715 * reg-stack.c (reg_to_stack): Only (re)build the CFG if
3716 not optimizing. Don't run shorten_branches.
3717 * toplev.c (rest_of_compilation): Run shorten_branches after
3718 reg_to_stack.
3719
3720 Wed Oct 27 12:33:40 1999 Mark Mitchell <mark@codesourcery.com>
3721
3722 * rtl.h (note_stores): Add additional paramter.
3723 * rtlanal.c (reg_set_p_1): Take additional paramter.
3724 (reg_set_last_1): Likewise.
3725 (reg_set_p): Adjust call to note_stores.
3726 (reg_set_last): Likewise.
3727 (note_stores): Pass data parameter to worker function.
3728 * alias.c (record_set): Take additional parameter.
3729 (init_alias_analysis): Pass it.
3730 * caller-save.c (mark_set_regs): Take additional parameter.
3731 (save_call_clobbered_regs): Pass NULL to note_stores.
3732 * combine.c (set_nonzero_bits_and_sign_copies): Take additional
3733 parameter.
3734 (record_dead_and_set_regs_1): Likewise.
3735 (reg_dead_at_p_1): Likewise.
3736 (combine_instructions): Adjust calls to note_stores.
3737 (try_combine): Likewise.
3738 (record_dead_insn): Remove.
3739 (record_dead_and_set_regs): Adjust calls to note_stores.
3740 (reg_dead_at_p): Likewise.
3741 * cse.c (invalidate_skipped_set): Take additional parameter.
3742 (cse_check_loop_start): Likewise.
3743 (cse_check_loop_start_value): Remove.
3744 (cse_set_around_loop): Adjust calls to note_stores.
3745 * flow.c (notice_stack_pointer_modification): Take additional
3746 parameter. Remove duplicate declaration.
3747 (record_volatile_insns): Adjust calls to note_stores.
3748 * gcse.c (record_set_info): Take additional parameter.
3749 (record_last_set_info): Likewise.
3750 (invalidate_nonnull_info): Likewise.
3751 (record_set_insn): Remove.
3752 (compute_sets): Adjust calls to note_stores.
3753 (last_set_insn): Remove.
3754 (compute_hash_table): Adjust calls to note_stores.
3755 (insert_insn_end_bb): Likewise.
3756 (delete_null_pointer_checks): Likewise.
3757 * global.c (mark_reg_store): Take additional parameter.
3758 (mark_reg_clobber): Likewise.
3759 (reg_becomes_live): Likewise.
3760 (global_conflicts): Adjust calls to note_stores.
3761 (build_insn_chain): Likewise.
3762 * integrate.c (note_modified_parmregs): Take additional parameter.
3763 (mark_stores): Likewise. Make it static.
3764 (save_for_inline_nocopy): Adjust calls to note_stores.
3765 (try_constants): Likewise.
3766 * integrate.h (mark_stores): Remove declaration.
3767 * jump.c (mark_modified_reg): Take additional parameter.
3768 (thread_jumps): Adjust calls to note_stores.
3769 * local-alloc.c (validate_equiv_mem_from_store): Take additional
3770 parameter.
3771 (no_equiv): Likewise.
3772 (reg_is_set): Likewise.
3773 (validate_equiv_mem): Adjust calls to note_stores.
3774 (update_equiv_regs): Likewise.
3775 (block_alloc): Likewise.
3776 * loop.c (note_set_pseudo_multiple_uses_retval): Remove.
3777 (note_addr_stored): Take additional parameter.
3778 (note_set_pseudo_multiple_uses): Likewise.
3779 (record_initial): Likewise.
3780 (prescan_loop): Adjust calls to note_stores.
3781 (strength_reduce): Likewise.
3782 (check_dbra_loop): Likewise.
3783 * regmove.c (flags_set_1): Take additional paramter.
3784 (mark_flags_life_zones): Adjust calls to note_stores.
3785 * reload1.c (mark_not_eliminable): Take additional parameter.
3786 (forget_old_reloads_1): Likewise.
3787 (reload_cse_invalidate_rtx): Likewise.
3788 (reload_cse_check_clobber): Likewise.
3789 (reload_combine_note_store): Likewise.
3790 (move2add_note_store): Likewise.
3791 (reload): Adjust calls to note_stores.
3792 (reload_as_needed): Likewise.
3793 (emit_reload_insns): Likewise.
3794 (reload_cse_regs_1): Likewise.
3795 (reload_cse_record_set): Adjust calls to reload_cse_invalidate_rtx.
3796 (reload_combine): Adjust calls to note_stores.
3797 * resource.c (update_live_status): Take additional paramter.
3798 (mark_target_live_regs): Adjust calls to note_stores.
3799 * stupid.c (find_clobbered_regs): Take additional parameter.
3800 (stupid_life_analysis): Adjust calls to note_stores.
3801
3802 Wed Oct 27 19:26:12 1999 Nick Clifton <nickc@cygnus.com>
3803
3804 * config/arm/coff.h (STRUCTURE_SIZE_BOUNDARY): Delete
3805 definition.
3806
3807 * config/arm/elf.h (STRUCTURE_SIZE_BOUNDARY): Delete
3808 definition.
3809
3810 * config/arm/arm.h (STRUCTURE_SIZE_BOUNDARY): Define in terms
3811 of the variable arm_structure_size_boundary.
3812
3813 Wed Oct 27 02:05:58 1999 Mark P. Mitchell <mark@codesourcery.com>
3814
3815 * alias.c (init_alias_analysis): Allocate reg_known_value and
3816 reg_known_equiv_p on the heap. Likewise for new_reg_base_value
3817 and reg_seen.
3818 (end_alias_analysis): Free reg_known_value and reg_known_equiv_p.
3819 * cse.c (cse_main): Call end_alias_analysis.
3820 * haifa-sched.c (schedule_insns): Likewise.
3821 * local-alloc. (update_equiv_regs): Likewise.
3822 * reload1.c (reload_cse_regs): Likewise.
3823
3824 Wed Oct 27 01:49:17 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3825
3826 * sparc/sparc.c (sparc_override_options): Clear MASK_FPU_SET.
3827 * sparc/sparc.h (TARGET_SWITCHES): Add "fpu" entry for reverse
3828 mapping from MASK_FPU.
3829
3830 Wed Oct 27 01:42:26 1999 Scott Christley <scottc@net-community.com>
3831
3832 * sparc.md (call): Don't bound structure return size to 0xfff.
3833
3834 Wed Oct 27 00:56:59 1999 Richard Henderson <rth@cygnus.com>
3835
3836 * resource.c (mark_target_live_regs): Check that the target
3837 insn wasn't created after compute_bb_for_insn.
3838
3839 Tue Oct 26 23:15:03 1999 Mark Mitchell <mark@codesourcery.com>
3840
3841 * ggc-page.c (poison_pages): Don't be overzealous.
3842
3843 Tue Oct 26 23:29:18 1999 Jeffrey A Law (law@cygnus.com)
3844
3845 * alias.c: Update comments for ADDRESS.
3846 (nonlocal_reference_p): Look inside the ADDRESS to determine if
3847 it is a local memory reference.
3848
3849 * c-typeck.c (build_function_call): Check that the built-in
3850 function is of class BUILT_IN_NORMAL before trying to recongize
3851 it as BUILT_IN_ABS.
3852 * calls.c (calls_function_1): Similarly for BUILT_IN_ALLOCA.
3853 * stmt.c (expand_end_cae): Similarly for BUILT_IN_CLASSIFY_TYPE.
3854
3855 Wed Oct 27 00:14:13 1999 Robert Lipe <robertlipe@usa.net>
3856
3857 * gcse.c (expr_reaches_here_p): Use xcalloc and explit free instead
3858 of alloca.
3859 (pre_gcse): Likewise.
3860 (hoist_expr_reaches_here_p): Likewise.
3861 (hoist_code): Likewise.
3862 (pre_expr_reaches_here_p): Replace alloca with xcalloc. Move core
3863 code to ...
3864 (pre_expr_reaches_here_p_work): ... here.
3865 (expr_reaches_here_p): Replace alloca with xcalloc. Move core
3866 code to ...
3867 (expr_reaches_here_p_work): ... here.
3868
3869 Tue Oct 26 20:42:45 1999 Richard Henderson <rth@cygnus.com>
3870
3871 * resource.c (find_basic_block): Delete.
3872 (mark_target_live_regs, incr_ticks_for_insn): Use BLOCK_NUM instead.
3873 (init_resource_info): Call compute_bb_for_insn.
3874
3875 Tue Oct 26 20:21:02 1999 Richard Henderson <rth@cygnus.com>
3876
3877 * flow.c (merge_blocks_move_predecessor_nojumps): Cope
3878 with already adjacent blocks, but no fallthru.
3879 (merge_blocks_move_successor_nojumps): Simplify.
3880 (debug_flow_info): New.
3881
3882 * toplev.c (rest_of_compilation): Open jump1 dump file before
3883 jump and close after, as opposed to just using dump_rtl.
3884
3885 Wed Oct 27 03:09:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
3886
3887 * reload.h (earlyclobber_operand_p): Declare.
3888 * reload.c (earlyclobber_operand_p): Don't declare. No longer static.
3889 * reload1.c (reload_reg_free_for_value_p): RELOAD_OTHER reloads with
3890 an earlyclobbered output conflict with RELOAD_INPUT reloads - handle
3891 case where the RELOAD_OTHER reload is new. Use earlyclobber_operand_p.
3892
3893 Tue Oct 26 18:23:38 1999 Jan Hubicka <hubicka@freesoft.cz>
3894 Richard Henderson <rth@cygnus.com>
3895
3896 * emit-rtl.c (emit_block_insn_before): New.
3897 (emit_block_insn_after): New.
3898 * basic-block.h: Declare them.
3899
3900 * bitmap.h: Protect from multiple inclusion.
3901
3902 * recog.c (scratch_operand): Handle VOIDmode correctly.
3903
3904 * rtl.h (JUMP_CROSS_JUMP_DEATH_MATTERS): New.
3905
3906 * builtins.c (expand_builtin_apply_args_1): Remove STACK_REGS hack.
3907 * function.c (assign_parms): Likewise.
3908 * global.c (global_conflicts): Clarify STACK_REGS commentary.
3909
3910 * reg-stack.c (max_uid): Remove.
3911 (blocks, block_begin, block_end, block_drops_in): Remove.
3912 (block_stack_in, block_out_reg_set, block_number): Remove.
3913 (struct block_info_def, BLOCK_INFO): New.
3914 (enum emit_where): New.
3915 (current_block): New.
3916 (BLOCK_NUM): Remove.
3917 (mark_regs_pat, record_label_references): Remove.
3918 (record_reg_life_pat, record_reg_life, find_blocks): Remove.
3919 (nan): New.
3920 (goto_block_pat, print_blocks, dump_stack_info): Remove.
3921 (reg_to_stack): Simplified test for existance of fp code. Use
3922 flow.c code. Call shorten_branches after cross-jump opt.
3923 (check_asm_stack_operands): Renamed from record_asm_reg_life.
3924 Return false if the asm doesn't use stack regs. Don't do life
3925 analysis on the asm.
3926 (emit_pop_insn): Replace function pointer arg `when' with
3927 enum `where'. Update all callers.
3928 (change_stack): Likewise. Update basic block end.
3929 (emit_swap_insn): Use current_block->head to limit reverse search
3930 for start of block. Use emit_block_insn_after.
3931 (subst_stack_regs_pat): Handle USE and CLOBBER patterns.
3932 (subst_asm_stack_regs): Use check_asm_stack_operands. Use direct
3933 structure assignment instead of bcopy.
3934 (print_stack): New.
3935 (convert_regs_entry, convert_regs_exit): New.
3936 (convert_regs_1, convert_regs_2): Split out from convert_regs.
3937 Work on basic blocks and the CFG.
3938 (convert_regs): Use them.
3939
3940 * i386.c (output_fix_trunc): Remove code for DImode input operand
3941 not at top-of-stack.
3942 * i386.c (fix_truncdfdi2, fix_truncsfdi2): Use scratch with
3943 appropriate mode.
3944 (fix_truncdi_1): Allow any mode scratch.
3945
3946 Tue Oct 26 13:30:35 1999 Richard Henderson <rth@cygnus.com>
3947
3948 * alpha.h (TARGET_MEM_FUNCTIONS): Define here.
3949 * linux.h, netbsd.h, vms.h: Not here.
3950
3951 1999-10-26 Gavin Romig-Koch <gavin@cygnus.com>
3952
3953 * config/mips/mips.h (ISA_HAS_64BIT_REGS,ISA_HAS_BRANCHLIKELY,
3954 ISA_HAS_FP4,ISA_HAS_CONDMOVE): New.
3955 (GENERATE_BRANCHLIKELY,HAVE_SQRT_P,
3956 CONDITIONAL_REGISTER_USEAGE): Use them.
3957 * config/mips/mips.c (mips_move_1word,mips_move_2words,
3958 gen_conditional_branch,override_options) : Use them.
3959 * config/mips/mips.md : Use them.
3960
3961 Tue Oct 26 13:09:23 1999 Richard Henderson <rth@cygnus.com>
3962
3963 * i386.md (zero_extendqihi2): Use SImode register name with andl.
3964
3965 Tue Oct 26 12:35:38 1999 Richard Henderson <rth@cygnus.com>
3966
3967 * integrate.c (function_cannot_inline_p): Don't allow inlining
3968 if setjmp is used.
3969
3970 Tue Oct 26 14:10:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3971
3972 * c-parse.in (cast_expr): Constify.
3973
3974 * cccp.c (special_symbol): Likewise.
3975
3976 * cse.c (hash_cse_reg_info, cse_reg_info_equal_p): Likewise.
3977
3978 * dwarf2out.c (base_type_die): Likewise.
3979
3980 * global.c (allocno_compare): Likewise.
3981
3982 * local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
3983
3984 * regclass.c (fix_register): Likewise.
3985
3986 * rtl.h (fix_register): Likewise.
3987
3988 * stupid.c (stupid_reg_compare): Likewise.
3989
3990 * toplev.c (decode_f_option): Likewise.
3991
3992 * tree.c (build_complex_type): Likewise.
3993
3994 Tue Oct 26 18:35:25 1999 Richard Earnshaw <rearnsha@arm.com>
3995
3996 * output.h: Don't unnecessarily conditionalize prototypes on TREE_CODE.
3997
3998 Tue Oct 26 15:42:56 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3999
4000 * reload.c (find_reloads): Compute mode and nregs fields of all
4001 reloads.
4002 * reload1.c (calculate_needs_all_insns): Simplify a bit.
4003 (calculate_needs): Use precomputed mode/nregs values.
4004 (allocate_reload_reg): Likewise.
4005 Break out two...
4006 (failed_reload, set_reload_reg): ... new functions.
4007 (choose_reload_regs_init): New function, mostly broken out from...
4008 (choose_reload_regs): ... here. Lose all the save_xxx nonsense.
4009 Also lose one #if 0 block.
4010
4011 Tue Oct 26 02:48:32 1999 Marc Espie <espie@cvs.openbsd.org>
4012
4013 * Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET): Fix target name
4014 substitution.
4015
4016 Tue Oct 26 01:27:32 1999 Mark Mitchell <mark@codesourcery.com>
4017
4018 * tree.h (BLOCK_TYPE_TAGS): Remove.
4019 (BLOCK_END_NOTE): Likewise.
4020 (BLOCK_LIVE_RANGE_FLAG): Likewise.
4021 (BLOCK_LIVE_RANGE_START): Likewise.
4022 (BLOCK_LIVE_RANGE_END): Likewise.
4023 (tree_block): Remove live_range_flag, live_range_var_flag, and
4024 type_tags. Remove end_note, live_range_start, and live_range_end.
4025 (remember_end_note): Remove prototype.
4026 * tree.c (build_block): Don't set BLOCK_TYPE_TAGS.
4027 * c-decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
4028 remember_end_note.
4029 * ggc-common.c (ggc_mark_tree_children): Don't mark
4030 BLOCK_TYPE_TAGS or BLOCK_END_NOTE.
4031 * integrate.c (adjust_copied_decl_tree): Remove.
4032 * print-tree.c (print_node): Don't print BLOCK_TYPE_TAGS.
4033 * stmt.c (last_block_end_note): Remove.
4034 (init_stmt): Don't add a GC root for it.
4035 (expand_fixup): Don't set it.
4036 (remember_end_note): Remove.
4037 (expand_end_bindings): Don't set last_block_end_note.
4038
4039 Tue Oct 26 00:41:54 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4040
4041 * reload1.c (reload_reg_free_for_value_p): Show
4042 RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
4043 reloads.
4044
4045 Mon Oct 25 23:54:45 1999 Geoff Keating <geoffk@cygnus.com>
4046
4047 * expmed.c (extract_bit_field): Allow for the case of non-integer
4048 objects that are smaller than a word (like SFmode on a 64-bit
4049 machine).
4050
4051 * loop.c (basic_induction_var): A non-integer variable which is
4052 being set by a paradoxical subreg is probably not a biv.
4053
4054 1999-10-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4055
4056 * prefix.c (translate_name) Check for empty prefix string.
4057
4058 Mon Oct 25 23:10:45 1999 Andreas Schwab <schwab@suse.de>
4059
4060 * Makefile.in (CPP_CROSS_NAME): New variable.
4061 (install-cpp): Use it instead of CPP_INSTALL_NAME for the cross
4062 xcpp.
4063 (uninstall-cpp): Use CPP_INSTALL_NAME and CPP_CROSS_NAME for the
4064 names of the files to be uninstalled.
4065
4066 Mon Oct 25 23:03:09 1999 Jeffrey A Law (law@cygnus.com)
4067
4068 * collect2.c (IS_DIR_SEPARATOR): Define.
4069 (prefix_from_string): Use IS_DIR_SEPARATOR and DIR_SEPARATOR.
4070
4071 * som.h (ASM_DECLARE_FUNCTION_NAME): Set PRIV_LEV for static
4072 functions too.
4073
4074 * haifa-sched.c (add_dependence): Update the true dependency
4075 cache the first time we add a true dependence to the LOG_LINKS chain.
4076
4077 Mon Oct 25 22:27:40 1999 Jim Kingdon <http://developer.redhat.com/>
4078
4079 * fold-const.c (fold): Fix comment.
4080
4081 Mon Oct 25 22:49:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4082
4083 * dbxout.c (lastfile, cwd, dbxout_type_method_1,
4084 dbxout_symbol_location, dbxout_symbol_name, dbxout_init,
4085 dbxout_start_new_source_file, dbxout_source_file,
4086 dbxout_source_line, dbxout_finish, dbxout_type_fields,
4087 dbxout_type_methods, dbxout_symbol, dbxout_prepare_symbol):
4088 Constify a char*.
4089 (dbxout_types, dbxout_args, dbxout_symbol): Delete prototypes.
4090 (dbxout_symbol): Mark parameter `local' with ATTRIBUTE_UNUSED.
4091 (dbxout_block): Initialize variable `blocknum'.
4092
4093 * dbxout.h (dbxout_init, dbxout_finish,
4094 dbxout_start_new_source_file, dbxout_source_file, dbxout_types,
4095 dbxout_args, dbxout_source_line): Constify a char*.
4096
4097 * dwarfout.c (dwarf_tag_name, dwarf_attr_name,
4098 dwarf_stack_op_name, dwarf_typemod_name, dwarf_fmt_byte_name,
4099 dwarf_fund_type_name, name_attribute, stmt_list_attribute,
4100 low_pc_attribute, high_pc_attribute, body_begin_attribute,
4101 body_end_attribute, comp_dir_attribute, sf_names_attribute,
4102 src_info_attribute, mac_info_attribute, producer_attribute,
4103 lookup_filename, generate_macinfo_entry, fundamental_type_code,
4104 dwarfout_line, dwarfout_start_new_source_file, dwarfout_define,
4105 dwarfout_undef): Constify a char*.
4106 (add_incomplete_type, retry_incomplete_types): Add prototypes.
4107
4108 * dwarfout.h (dwarfout_define, dwarfout_undef,
4109 dwarfout_start_new_source_file, dwarfout_line): Constify a char*.
4110
4111 1999-10-25 Gavin Romig-Koch <gavin@cygnus.com>
4112
4113 * config/mips/mips.h (MIPS_ISA_DEFAULT): Insure it's defined.
4114 (MULTILIB_ISA_DEFAULT): New.
4115 (MULTILIB_DEFAULTS): Use it.
4116 * config/mips/mips.c (): Remove the now unnecessary definition
4117 of MIPS_ISA_DEFAULT.
4118 * config/mips/elf64.h (MULTILIB_DEFAULTS): Remove the now
4119 unnecessary definition.
4120
4121 Mon Oct 25 22:08:35 1999 Richard Earnshaw (rearnsha@arm.com)
4122
4123 * arm.md (pic_load_addr): Add constraints to operand 1.
4124
4125 1999-10-25 Bruce Korb <autogen@linuxbox.com>
4126
4127 * fixinc/genfixes: Provide a means for specifying -D options to
4128 AutoGen
4129
4130 Mon Oct 25 00:42:35 1999 Jeffrey A Law (law@cygnus.com)
4131
4132 * arm.c (arm_override_options): Correct initialization of
4133 arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
4134 arm_is_strong, and arm_is_6_or_7.
4135
4136 * loop.c (note_set_pseudo_multiple_uses_retval): New variable.
4137 (note_set_pseudo_multiple_uses): New function.
4138 (check_dbra_loop): Use not_set_pseudo_multiple_uses to determine
4139 if a pseudo set in the loop exit is used elsewhere.
4140
4141 Sun Oct 24 20:52:40 1999 Mark Mitchell <mark@codesourcery.com>
4142
4143 * i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
4144
4145 Sun Oct 24 21:02:46 1999 Richard Henderson <rth@cygnus.com>
4146
4147 * i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
4148 a single load-address pattern.
4149
4150 Sun Oct 24 19:33:24 1999 Mark P. Mitchell <mark@codesourcery.com>
4151
4152 * haifa-sched.c (schedule_insns): Don't assign LUIDs differently
4153 depending on whether or not line-number notes are present.
4154
4155 Sun Oct 24 20:29:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4156
4157 * cccp.c (progname, file_buf, default_include, include_file,
4158 macrodef, definition, hashval, wchar_type, user_label_prefix,
4159 directive, out_fname, if_stack, safe_write, index0, get_lintcmd,
4160 expand_to_temp_buffer, is_system_include, base_name,
4161 absolute_filename, read_name_map, open_include_file,
4162 record_control_macro, check_precompiled, check_preconditions,
4163 pcfinclude, pass_thru_directive, create_definition,
4164 check_macro_name, comp_def_part, collect_expansion,
4165 check_assertion, read_token_list, assertion_install,
4166 assertion_lookup, eval_if_expression, conditional_skip,
4167 validate_else, skip_quoted_string, quote_string, macarg1,
4168 error_from_errno, install, lookup, hashf, dump_defn_1,
4169 perror_with_name, pfatal_with_name, main, trigraph_pcp,
4170 check_white_space, rescan, handle_directive, monthnames,
4171 special_symbol, do_include, remap_include_file, write_output,
4172 arglist, do_assert, do_unassert, do_line, do_error, do_once,
4173 do_ident, do_sccs, do_xifdef, skip_if_group,
4174 output_line_directive, macroexpand, macarg, change_newlines,
4175 initialize_builtins, make_definition): Constify a char*.
4176
4177 * pcp.h (stringdef): Likewise.
4178
4179 Sun Oct 24 13:29:28 1999 Richard Henderson <rth@cygnus.com>
4180
4181 * unroll.c (copy_loop_body): Examine SET_DEST of single_set
4182 not of pattern.
4183
4184 Sun Oct 24 13:14:20 1999 Graham <grahams@rcp.co.uk>
4185 Richard Henderson <rth@cygnus.com>
4186
4187 * alias.c: Include ggc.h.
4188 (reg_base_value, new_reg_base_value, reg_base_value_size): Make static.
4189 (record_set): Verify enough room in reg_base_value.
4190 (init_alias_analysis): Allocate reg_base_value with xcalloc.
4191 Register it as a GC root.
4192 (end_alias_analysis): Free reg_base_value. Remove it as a GC root.
4193 * Makefile.in (alias.o): Depend on ggc.h.
4194
4195 * unroll.c (unroll_loop): Verify the insn before a barrier
4196 is a JUMP_INSN before checking JUMP_LABEL.
4197
4198 Sun Oct 24 15:46:44 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4199
4200 * mips/bsd-5.h (ASM_OUTPUT_ASCII): Constify a char*.
4201 * mips/iris4.h (ASM_OUTPUT_ASCII): Likewise.
4202 * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
4203 * mips/mips.h (ASM_OUTPUT_ASCII): Likewise.
4204 * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
4205 * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
4206
4207 Sun Oct 24 15:35:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4208
4209 * output.h (ctors_section, dtors_section, bss_section): Prototype.
4210
4211 * alpha/alpha-interix.h (text_section): Delete prototype.
4212 * alpha/elf.h (text_section): Likewise.
4213 * arm/linux-elf.h (text_section): Likewise.
4214 * arm/linux-telf.h (text_section): Likewise.
4215 * c4x/c4x.h (text_section): Likewise.
4216 * dsp16xx/dsp16xx.h (bss_section): Likewise.
4217 * elfos.h (text_section): Likewise.
4218 * i386/aix386ng.h (text_section): Likewise.
4219 * i386/i386-interix.h (text_section): Likewise.
4220 * i386/sco5.h (text_section): Likewise.
4221 * i386/svr3gas.h (text_section): Likewise.
4222 * nextstep.h (text_section): Likewise.
4223 * psos.h (text_section): Likewise.
4224 * ptx4.h (text_section): Likewise.
4225 * svr3.h (text_section): Likewise.
4226 * svr4.h (text_section, ctors_section, dtors_section): Likewise.
4227
4228 Sun Oct 24 15:20:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4229
4230 * final.c (peephole): Delete prototype.
4231
4232 * gcse.c (process_insert_insn, pre_edge_insert): Add prototypes.
4233 (pre_insert_copies): Remove unused variable `bb'.
4234
4235 * genrecog.c (debug_decision_0, debug_decision_list, main): Add
4236 prototypes.
4237
4238 * output.h (peephole): Add prototype.
4239
4240 Sun Oct 24 11:35:30 1999 Mark P. Mitchell <mark@codesourcery.com>
4241
4242 * config/mips/iris6.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Define to
4243 -O0.
4244
4245 Sat Oct 23 21:13:00 1999 Mark Mitchell <mark@codesourcery.com>
4246
4247 * integrate.c (integrate_decl_tree): Tweak setting of DECL_CONTEXT
4248 for inlined declarations.
4249
4250 Fri Oct 22 18:05:43 1999 Jeffrey A Law (law@cygnus.com)
4251
4252 * arm.c (logical_binary_operator): New fucntion.
4253 * arm.h (logical_binary_operator): Declare it.
4254 (PREDICATE_CODES): Handle logical_binary_operator.
4255 * arm.md (anddi3, anddi_zesidi_di, anddi_sesdi_di): Use "#" for
4256 output constraints. Add appropriate splitters.
4257 (anddi_notdi_di, anddi_notzesidi_di, anddi_notsesidi_di): Likewise.
4258 (iordi3, iordi_zesidi_di, iordi_sesidi_di): Likewise.
4259 (xordi3, xordi_zesidi_di, xordi_sesidi_di): Likewise.
4260
4261 Fri Oct 22 23:46:50 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4262
4263 * genoutput.c (struct operand_data): New elt eliminable.
4264 (output_operand_data): Write it.
4265 (scan_operands): Set it for MATCH_OPERAND, clear for other matchers.
4266 (compare_operands): Take it into account.
4267 * recog.h (struct insn_operand_data): New elt eliminable.
4268 * reload1.c (check_eliminable_occurrences, elimination_effects): New
4269 functions.
4270 (old_asm_operands_vec, new_asm_operands_vec): Delete.
4271 (eliminate_regs): Move code that detects changes to elimination
4272 target regs into new function elimination_effects.
4273 Delete one #if 0 block.
4274 Abort for USE, CLOBBER, ASM_OPERANDS and SET.
4275 (eliminate_regs_in_insn): Return immediately for USEs, CLOBBERs,
4276 ADDR_VECs, ADDR_DIFF_VECs and ASM_INPUTs.
4277 Only call eliminate_regs for real operands of the insn, not for parts
4278 of its structure or parts matched by things like match_operator.
4279 Use elimination_effects and check_eliminable_occurrences. Use
4280 copy_insn to duplicate the pattern when not in the final pass.
4281
4282 Fri Oct 22 09:03:44 1999 Mark Mitchell <mark@codesourcery.com>
4283
4284 * i386.md: Add missing `y' modifiers to uses of fst, fstp, fld,
4285 and fld.
4286
4287 1999-10-22 Bruce Korb <autogen@linuxbox.com>
4288
4289 * fixinc/README: document the "mach" machine matching test
4290 * fixinc/fixfixes.c: Implement the #else/#endif label fix
4291 * fixinc/fixtests.c: Implement the #else/#endif label test
4292 * fixinc/inclhack.def: utilize these tests and fixes
4293 * fixinc/inclhack.sh: regen
4294 * fixinc/fixincl.x: regen
4295 * fixinc/fixincl.sh: regen
4296
4297 Thu Oct 21 20:37:19 1999 Jeffrey A Law (law@cygnus.com)
4298
4299 * Makefile.in (cse.o): Depend on hashtab.h, not splay-tree.h. Also
4300 depend on ggc.h.
4301
4302 Thu Oct 21 20:30:19 1999 Matthias Klose <doko@debian.org>
4303
4304 * gcc.1: Document exit codes.
4305
4306 Thu Oct 21 12:49:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4307
4308 * calls.c: Include tm_p.h later, so everything we need is defined.
4309 * expr.c: Likewise.
4310 * function.c: Likewise.
4311
4312 * except.c: Include tm_p.h.
4313
4314 * sparc.c: Likewise.
4315 (dwarf2out_cfi_label): Don't prototype.
4316 (check_return_regs, epilogue_renumber,
4317 ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
4318 ultra_find_type, ultra_build_types_avail, ultra_flush_pipeline,
4319 ultra_rescan_pipeline_state, set_extends, ultra_code_from_mask,
4320 ultra_schedule_insn): Add static prototype.
4321 (data_segment_operand, text_segment_operand): Call itself with the
4322 proper number of arguments.
4323 (sparc_flat_save_restore, sparc_v8plus_shift): Constify a char*.
4324
4325 * sparc.h: Move all declarations to sparc-protos.h.
4326 (SELECT_RTX_SECTION): Pass a missing MODE argument to
4327 symbolic_operand.
4328
4329 * sparc/sysv4.h (SELECT_RTX_SECTION): Likewise.
4330
4331 * config/svr4.h (text_section, ctors_section, dtors_section): Add
4332 Prototypes.
4333 (ASM_OUTPUT_SECTION_NAME, UNIQUE_SECTION,
4334 ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
4335 ASM_OUTPUT_ASCII): Constify a char*.
4336
4337 * sparc-protos.h: New file for sparc prototypes.
4338
4339 Thu Oct 21 12:23:40 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4340
4341 * function.c (record_insns, contains): Always declare and define.
4342 (record_insns): Mark with ATTRIBUTE_UNUSED.
4343
4344 Thu Oct 21 13:03:49 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
4345
4346 * config/arm/telf.h (ASM_OUTPUT_SECTION_NAME): Add %nobits option
4347 to .section when outputting a .bss section to deal with multiple
4348 .bss input sections (as happens with -fdata-sections)
4349 Also output %progbits, not @progbits so the assembler doesn't treat as
4350 a comment.
4351 * config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Likewise
4352
4353 * config/arm/lib1funcs.asm (_call_via_rX): Allow compilation of
4354 thumb parts even when building with non-thumb CPUs, by forcing
4355 thumb mode.
4356
4357 Wed Oct 20 22:57:58 1999 Jeffrey A Law (law@cygnus.com)
4358
4359 * sparc.md (movsf_const_intreg): If splitting, length must be > 1.
4360 (movdf_const_intreg_sp64): Similarly.
4361
4362 * local-alloc.c (update_equiv_regs): Check the correct insn
4363 for pre-existing REG_EQUIV notes.
4364
4365 Wed Oct 20 20:41:46 1999 Mark Mitchell <mark@codesourcery.com>
4366
4367 * cse.c (cse_end_of_basic_block): Don't return the end of a basic
4368 block reached by a branch if we're not going to actually process
4369 this block.
4370
4371 Wed Oct 20 15:18:42 1999 Jim Wilson <wilson@cygnus.com>
4372
4373 * integrate.c (integrate_decl_tree): Set DECL_CONTEXT to 0 if this is
4374 a local extern function declaration.
4375
4376 Wed Oct 20 13:56:01 1999 Richard Henderson <rth@cygnus.com>
4377
4378 * i386.c (ix86_expand_prologue): Properly wrap USE around
4379 reg for CALL_INSN_FUNCTION_USAGE.
4380
4381 Thu Oct 14 18:51:37 1999 Andrew Haley <aph@cygnus.com>
4382
4383 * config/mips/mips.md (movdf_internal1a): Allow floating-point
4384 move between GP_REGs.
4385
4386 Wed Oct 20 15:36:11 1999 Andrew Haley <aph@cygnus.com>
4387
4388 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of
4389 the mode size when finding out if an offset is legal.
4390
4391 Wed Oct 20 06:26:58 1999 Richard Henderson <rth@cygnus.com>
4392
4393 * basic-block.h (PROP_*): Move constants from ...
4394 * flow.c: ... here.
4395 (compute_bb_for_insn): Free the array before reallocating.
4396 (update_life_info): New arg PROP_FLAGS; pass on to propagate_block.
4397 (allocate_reg_life_data): Reset all reg variables collected by
4398 propagate_block.
4399 (get_block_head_tail): Don't convert from bb to block.
4400 (get_bb_head_tail): New. Update all callers of get_block_head_tail.
4401 (find_insn_reg_weight): Take block not bb.
4402 (schedule_block): Don't set block num for moved insns.
4403 (schedule_region): Don't update_life_info or find_insn_reg_weight.
4404 (schedule_insns): Do it here instead.
4405 * combine.c (combine_instructions): Invoke compute_bb_for_insn
4406 before update_life_info.
4407 * recog.c (split_all_insns, peephole2_optimize): Update for
4408 new arg to update_life_info.
4409 * rtlanal.c (remove_note): Cope with NULL note.
4410 * toplev.c (rest_of_compilation): Don't invoke recompute_reg_usage
4411 if we did sched1.
4412
4413 Wed Oct 20 10:46:41 1999 Richard Earnshaw (rearnsha@arm.com)
4414
4415 * jump.c (jump_optimize_1): More accurately detect casesi insns.
4416
4417 * flow.c (merge_blocks_move_predecessor_nojumps): Re-order the basic
4418 block records so that merge_blocks_nomove will clean up correctly.
4419 (split_edge): Handle casesi insns.
4420
4421 * gcc-page.c: Try MAP_ANON if we don't have MAP_ANONYMOUS.
4422
4423 Tue Oct 19 23:43:50 1999 Jeffrey A Law (law@cygnus.com)
4424
4425 * pa.md (call, call_value): Do not emit a blockage after restoring
4426 the PIC register.
4427
4428 Tue Oct 19 17:22:39 1999 Mark Mitchell <mark@codesourcery.com>
4429
4430 * c-typeck.c (c_expand_asm_operands): Fix typo.
4431
4432 Tue Oct 19 18:42:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4433
4434 * arm.c (fpu_rhs_operand): Verify modes.
4435 (fpu_add_operand): Likewise.
4436 (di_operand): Likewise.
4437 (soft_df_operand): Likewise.
4438
4439 Tue Oct 19 15:26:11 1999 Richard Earnshaw (rearnsha@arm.com)
4440
4441 * arm.c (arm_return_in_memory): APCS rules state that the elements
4442 of a structure returned in a register must be 'integer-like'.
4443
4444 1999-10-19 Bruce Korb <autogen@linuxbox.com>
4445
4446 * fixinc/Makefile.in: Change the generation rules to run `genfixes'
4447 in the source tree when the generated targets are out of date
4448 * fixinc/genfixes: Alter it to run individual fixes for make.
4449 * fixinc/README: rewrite
4450 * fixinc/inclhack.def: moved initial comments to README
4451
4452 Tue Oct 19 14:01:34 1999 Nick Clifton <nickc@cygnus.com>
4453
4454 * toplev.c (main): Do not generate an error message if an
4455 unrecognised command line switch is recognisable by another
4456 language. If extra_warnings are enabled, then generate a
4457 warning message instead.
4458
4459 Tue Oct 19 11:41:12 1999 Mumit Khan <khan@xraylith.wisc.edu>
4460
4461 * c-pragma.h (PRAGMA_INSERT_ATTRIBUTES): Delete macro.
4462 (insert_pack_attributes): Delete prototype.
4463
4464 * c-pragma.c (default_alignment): New static variable.
4465 (push_alignment): Initialize to current effective alignment.
4466 (pop_alignment): Use to set new alignment.
4467 (insert_pack_attributes): Delete function.
4468 (handle_pragma_token): Set default_alignment as well each time
4469 a #pragma pack(<n>) is encountered.
4470
4471 Tue Oct 19 02:03:00 1999 Jeffrey A Law (law@cygnus.com)
4472
4473 * reg-stack.c (stack_result): Aggregates are not returned in
4474 stack registers.
4475
4476 Tue Oct 19 01:26:48 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
4477
4478 * fold-const.c (fold): Fix thinko in x+(-0) -> x transformation.
4479
4480 Mon Oct 18 15:19:41 1999 Richard Henderson <rth@cygnus.com>
4481
4482 * basic-block.h (set_block_num): Declare.
4483 * flow.c (update_life_info): Don't call compute_bb_for_insn
4484 or free_basic_block_vars.
4485 * haifa-sched.c (remove_dependence): Conditionalize on HAVE_cc0.
4486 (insn_orig_block): Remove.
4487 (INSN_BLOCK): Remove. Update all callers to use BLOCK_NUM.
4488 (schedule_block): Keep BLOCK_NUM up-to-date.
4489 (schedule_insns): Use compute_bb_for_insn.
4490 * recog.c (split_all_insns): Likewise.
4491 (peephole2_optimize): Likewise.
4492
4493 Mon Oct 18 18:50:51 1999 Andreas Schwab <schwab@suse.de>
4494
4495 * config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
4496 if the pic register is used.
4497
4498 Mon Oct 18 02:38:46 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4499
4500 * c-decl.c (pushdecl): Use TYPE_CONTEXT rather than TREE_PERMANENT.
4501 (finish_decl): Duplicate test for TREE_ASM_WRITTEN in else branch of
4502 if that tests TREE_PERMANENT.
4503
4504 Mon Oct 18 01:41:35 1999 Jeffrey A Law (law@cygnus.com)
4505
4506 * cse.c (invalidate_for_call): Do not remove memory references from
4507 the table here. It's handled elsewhere.
4508
4509 * haifa-sched.c (add_dependence): Protect references to the
4510 true dependency cache with #ifdef INSN_SCHEDULING.
4511 (remove_dependence): Similarly.
4512
4513 * mn10200.md (outline_epilogue_jump): Embed a (return) to indicate
4514 to the cfg code that this is a return instruction.
4515 * mn10300.md (return_internal): Similarly.
4516
4517 * combine.c (get_last_value): If the last set of a register
4518 is after subst_low_cuid, then we can not use it to determine
4519 the register's last value.
4520
4521 Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
4522
4523 * Makefile.in: Back out previous change.
4524
4525 Sun Oct 17 15:22:50 1999 Jeffrey A Law (law@cygnus.com)
4526
4527 * pa.c (move_operand): Reject (lo_sum (reg) (unspec ...)).
4528
4529 * haifa-sched.c (add_dependence): Only check/update the cache
4530 if it exists.
4531 (remove_dependence): Likewise.
4532 (schedule_insns): Only create the true_dependency_cache if the
4533 average number of instructions in a basic block is very large.
4534
4535 Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
4536
4537 * Makefile.in (ggc-common.o): Depend on genrtl.h.
4538 (ggc-simple.o): Likewise.
4539 (ggc-page.o): Likewise.
4540
4541 Sun Oct 17 02:09:50 1999 Andrew MacLeod <amacleod@cygnus.com>
4542
4543 * basic-block.h (pre_edge_lcm, pre_edge_rev_lcm, compute_available):
4544 Prototype for exported functions.
4545 (pre_lcm, pre_rev_lcm): Remove prototypes.
4546 * gcse.c (compute_ae_kill): Add ae_gen and ae_kill as parameters.
4547 (compute_available): Move to lcm.c, and change parameter order.
4548 (one_classic_gcse_pass): Call compute_ae_kill with parameters.
4549 (pre_insert, s_preds, s_succs, num_preds, num_succs): Delete.
4550 (gcse_main): No longer call compute_preds_succs. Rebuild the
4551 set table after reach pre pass.
4552 (pre_insert_map, pre_delete_map, edge_list): New.
4553 (alloc_pre_mem): Allocate edge vectors.
4554 (free_pre_mem): Delete edge vectors.
4555 (compute_pre_data): Call new edge based lcm routines.
4556 (process_insert_insn): New function.
4557 (insert_insn_end_bb): Use it.
4558 (pre_edge_insert): New function.
4559 (pre_insert_copy_insn): Formatting fixes. Update BLOCK_END as
4560 needed.
4561 (pre_insert_copies): Revamp using new edge based lcm outputs.
4562 (pre_delete): Likewise.
4563 (one_pre_gcse_pass): Insert & remove fake edges to the exit
4564 block.
4565 (compute_code_hoist_vbeinout): New new edge based routines.
4566 * lcm.c: Remove all the old LCM functions. Replace with new ones
4567 that work with the new cfg datastructures and work with edges
4568 instead of blocks.
4569
4570 Sun Oct 17 00:44:17 1999 Bernd Schmidt <bernds@cygnus.co.uk>
4571
4572 * reload.h (struct reload): Add new fields "mode" and "nregs".
4573 * reload1.c: Change all occurrences of reload_mode and reload_nregs
4574 to reference the "mode" and "nregs" field within struct reload.
4575
4576 Sat Oct 16 21:50:28 1999 Jeffrey A Law (law@cygnus.com)
4577
4578 * haifa-sched.c (true_dependency_cache): New.
4579 (add_dependence): Use the true dependency cache to avoid expensive
4580 walks down the LOG_LINKS dependency list. Add entries to the
4581 cache as necessary.
4582 (remove_dependence): Remove entries from the true dependency cache
4583 as needed.
4584 (schedule_insns): Allocate and initialize and free the true
4585 dependency cache.
4586
4587 * haifa-sched.c (schedule_insns): Do not remove inter-block
4588 dependencies anymore.
4589
4590 Sat Oct 16 11:19:52 1999 Richard Henderson <rth@cygnus.com>
4591
4592 * i386/t-cygwin (winnt.o): Depend on RTL_H and TREE_H.
4593 * i386/t-winnt: Likewise.
4594
4595 Sat Oct 16 11:11:54 1999 Richard Henderson <rth@cygnus.com>
4596
4597 * ggc-page.c (init_ggc): Work around SunOS unaligned mmap bug.
4598
4599 1999-10-16 Manfred Hollstein <mhollstein@cygnus.com>
4600
4601 * Makefile.in (LANGUAGES): Omit "proto".
4602 (clean): Remove stale comment about removing unprotoize.c.
4603
4604 Sat Oct 16 11:29:14 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4605
4606 * protoize.c (safe_read, safe_write): Avoid the gcc extension of
4607 using arithmetic on void pointers.
4608
4609 Sat Oct 16 02:48:22 1999 Jeffrey A Law (law@cygnus.com)
4610
4611 * haifa-sched.c (compute_block_forward_dependencies): Only check
4612 for notes, deleted insns and duplicates if ENABLE_CHECKING is defined.
4613
4614 Sat Oct 16 00:07:01 1999 Richard Henderson <rth@cygnus.com>
4615
4616 * gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
4617 (expr_equiv_p): Reject memories with different alias sets.
4618
4619 Fri Oct 15 15:17:29 1999 Greg McGary <gkm@gnu.org>
4620
4621 * flags.h (flag_bounds_check, flag_bounded_pointers): New extern decls.
4622 * toplev.c (flag_bounds_check, flag_bounded_pointers): New flags.
4623 (f_options): Add "bounded-pointers" and "bounds-check" entries.
4624 * c-lang.c (lang_init_options): Set flag_bounds_check as "unspecified".
4625 (lang_init): Set default for flag_bounds_check if still "unspecified".
4626
4627 Sat Oct 16 13:42:29 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4628
4629 * config/c4x/c4x.md (HF mode patterns): Add missing modes.
4630
4631 Sat Oct 16 13:37:46 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4632
4633 * config/c4x/c4x.md (movstrqi_small): Utilise parallel move
4634 instructions.
4635
4636 Sat Oct 16 13:26:47 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4637
4638 * config/c4x/c4x.md (*db_noclobber,
4639 *decrement_and_branch_until_zero_noclobber): New patterns and
4640 associated splitters.
4641
4642 Sat Oct 16 13:13:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4643
4644 * config/c4x/c4x.md (parallel instruction patterns): Rework
4645 constraints to keep reload happy.
4646
4647 Sat Oct 16 13:03:16 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4648
4649 * config/c4x/c4x.md (*absqi2_noclobber, *negqi2_noclobber,
4650 *one_cmplqi2_noclobber, *subqi3_noclobber, *andqi3_255_noclobber,
4651 *andqi3_65535_noclobber, *andnqi3_noclobber, *xorqi3_noclobber):
4652 Add new patterns and associated post-reload splitters.
4653
4654 Sat Oct 16 12:42:12 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4655
4656 * config/c4x/c4x.c (c4x_emit_libcall): Use ggc_alloc_string.
4657
4658 Sat Oct 16 12:34:44 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4659
4660 * config/c4x/c4x.c (c4x_rptb_insert): Emit rpts_top pattern
4661 if appropriate.
4662 * config/c4x/c4x.md (rpts_top): New pattern and splitter.
4663
4664 Sat Oct 16 12:26:30 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4665
4666 * config/c4x/c4x.c (src_operand): Check SYMBOL_REF and LABEL_REF
4667 memory mode.
4668
4669 Fri Oct 15 17:02:09 1999 Jeffrey A Law (law@cygnus.com)
4670
4671 * pa.c (move_operand): Rely on memory_address_p to determine the
4672 validity of non-indexed memory addresses.
4673 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow LO_SUM with a symbolic
4674 operand in DFmode and SFmode when generating PA2.0 code.
4675
4676 Fri Oct 15 14:25:19 1999 Richard Henderson <rth@cygnus.com>
4677
4678 * print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF.
4679
4680 Fri Oct 15 13:48:45 1999 Richard Henderson <rth@cygnus.com>
4681
4682 * mips.c (function_prologue): Fix argument types.
4683 * mips.md (casesi): Use emit_jump_insn for casesi_internal.
4684 (casesi_internal): Write to the scratch register.
4685
4686 1999-10-15 11:16 -0700 Zack Weinberg <zack@bitmover.com>
4687
4688 * cppexp.c (cpp_parse_escape): Make static. Change second arg
4689 to U_CHAR **.
4690 (parse_charconst): Delete unnecessary cast when calling
4691 cpp_parse_escape.
4692 (cpplib.h): Kill prototype of cpp_parse_escape.
4693
4694 Fri Oct 15 11:02:46 1999 Richard Henderson <rth@cygnus.com>
4695
4696 Based on patch from Michael Gschwind <mikeg@watson.ibm.com>:
4697 * unroll.c (unroll_loop): Cast return value of alloca.
4698 * i370/i370.c: Include function.h and toplev.h.
4699 (i370_label_scan): Remove c++ commented abort.
4700 * i370/i370.h (HANDLE_PRAGMA): Takes three arguments.
4701 (ASM_OUTPUT_LABELREF): Fix TOUPPER/else broken 16 Sept.
4702 * i370/xm-i370.h (HOST_BITS_PER_LONGLONG): Define.
4703 * i370/xm-mvs.h, i370/xm-oe.h: Likewise.
4704
4705 Fri Oct 15 03:01:01 1999 Loren Rittle <ljrittle@acm.org>
4706
4707 * config/t-freebsd: Do not override USER_H.
4708 * ginclude/stddef.h: Generalize check for _MACHINE_ANSI_H_.
4709
4710 Fri Oct 15 02:37:28 1999 Alastair J. Houghton <ajh8@doc.ic.ac.uk>
4711 Mumit Khan <khan@xraylith.wisc.edu>
4712
4713 * c-parse.in (component_decl): Support anonymous struct/union.
4714 (%expect): Update.
4715 * c-parse.y: Regenerate.
4716 * c-parse.c: Likewise.
4717 * objc/objc-parse.y: Likewise.
4718 * objc/objc-parse.c: Likewise.
4719 * c-decl.c (finish_struct): Don't sort the fields.
4720 (field_decl_cmp): Delete unused function.
4721
4722 Fri Oct 15 01:20:52 1999 Richard Henderson <rth@cygnus.com>
4723
4724 * sparc.md (movsf_const_intreg): Revert last constraint change.
4725 (movdf_const_intreg_sp32): Likewise.
4726
4727 Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com>
4728
4729 * cse.c: Include hashtab.h instead of splay-tree.h
4730 (struct cse_reg_info): No longer use variant union. Add new
4731 field "regno". All references changed to avoid union.
4732 (cse_reg_info_used_list, cse_reg_info_used_list_end): New variables.
4733 (free_cse_reg_info): Remove.
4734 (hash_cse_reg_info, cse_reg_info_equal_p): New functions.
4735 (get_cse_reg_info): Revamp to use expandable hash tables instead
4736 of splay trees. Initialize new fields in cse_reg_info structure.
4737 (new_basic_block): Similarly.
4738
4739 Thu Oct 14 23:51:56 1999 Richard Henderson <rth@cygnus.com>
4740
4741 * genrecog.c (message_with_line): Prototype.
4742 (validate_pattern): Pass along the set for the dest, not a flag.
4743 Fix non-lvalue message. Don't warn for VOIDmode SET_DEST of CALL.
4744 Check for PC/CC0 as sources.
4745 (nodes_identical): Check for children position match before
4746 allowing the combination.
4747
4748 * rtl.c (read_rtx): Track line number across \\\n.
4749
4750 Thu Oct 14 23:50:25 1999 Richard Henderson <rth@cygnus.com>
4751
4752 * mips.h (SPECIAL_MODE_PREDICATES): New.
4753 * mips.md (*) Use nonimmediate_operand not general_operand for outputs.
4754 (movdi+1, movsi+1): Add output reload constraint.
4755 (casesi_internal): Likewise. Fix commentary.
4756 (return_internal): Use pmode_register_operand.
4757
4758 Thu Oct 14 23:19:34 1999 Richard Henderson <rth@cygnus.com>
4759
4760 * 1750a.md (movstrqi): Add missing output reload constraint.
4761 (call_value): Likewise.
4762 * a29k.md (cpxxx patterns): Add missing match_operator mode.
4763 (jmpfdec): Add missing inout reload constraint.
4764 * elxsi.md (addsi patterns): Add missing output reload constraint.
4765 (move from sp): Use @ alternates.
4766 (call_value): No constraint on output.
4767 * fr30.md (movsi_pop): Add missing output reload constraint.
4768 (movsf_constant_store): Likewise.
4769 (splits): Remove constraints.
4770 (subsi3): Add missing mode.
4771 * i370.md (cmpstrsi+1): Add missing output reload constraint.
4772 (call_value): Likewise.
4773 * i960.md (cmpinc/cmpdec patterns): Add inout reload constraints.
4774 * m32r.h (PREDICATE_CODES): Add seth_add3_operand.
4775 * m32r.md (movsicc_internal): Add output reload constraint.
4776 (movstrsi_internal): Add inout reload constraints.
4777 * m88k.h (reg_names): Don't declare.
4778 (SPECIAL_MODE_PREDICATES): New.
4779 * m88k.md (*): Use register_operand not reg_or_0_operand
4780 on destinations.
4781 * mn10200.h (PREDICATE_CODES): New.
4782 * ns32k.md (ffs pattern): Add output reload constraint.
4783 * pdp11.md (sob pattern): Add inout reload constraint.
4784 * sh.md (splits): Remove constraints.
4785 (indirect_jump_scratch, fpu_switch): Add output reload constraint.
4786 * v850.md (pattern_is_ok_for_epilogue): Likewise.
4787 * vax.md (jgequ pattern): Add inout reload constraint.
4788
4789 Fri Oct 15 00:05:00 1999 Jeffrey A Law (law@cygnus.com)
4790
4791 * configure.in (djgpp): Revert previous patch.
4792 * configure: Rebuit.
4793 * config/i386/djgpp.h: Revert previous patch.
4794
4795 Fri Oct 15 00:00:24 1999 Loren J. Rittle <ljrittle@acm.org>
4796
4797 * fixinc/inclhack.def: Restore patch lost during last merge of
4798 "no_bogosity" branch.
4799 * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
4800
4801 Thu Oct 14 23:57:56 1999 Gavin Romig-Koch <gavin@cygnus.com>
4802
4803 * fixincludes: Add a HPUX 11 fix for inttypes.h.
4804 * fixinc/inclhack.def: Same.
4805 * fixinc/inclhack.sh, fixinc/fixincl.sh, fixinc/fixincl.x: Regenerate.
4806
4807 Thu Oct 14 22:51:55 1999 Richard Henderson <rth@cygnus.com>
4808
4809 * alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Accept ADDRESSOF
4810 as the base of a PLUS.
4811
4812 Fri Oct 15 18:36:07 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4813
4814 * config/c4x/c4x.md: Define mode for remaining unspec operators.
4815 * config/c4x/c4x.c (dst_operand): Use nonimmediate_operand.
4816
4817 Thu Oct 14 22:14:23 1999 Richard Henderson <rth@cygnus.com>
4818
4819 * pa.md (post_stw+1): Use pmode_register_operand.
4820 (dcacheflush, icacheflush): Likewise.
4821
4822 * i386.md (movstricthi_1): Allow r/r.
4823
4824 Thu Oct 14 19:44:08 1999 Jan Hubicka <hubicka@freesoft.cz>
4825
4826 * fold-const.c (fold): Convert (or (not arg0) (not arg1))
4827 to (not (and (arg0) (arg1))). Similary for and.
4828
4829 * fold-const.c (fold): Move bit_rotate code to the EXPR_PLUS case,
4830 fallthrough to associate code.
4831 Convert XOR to OR in code like (a&c1)^(a&c2) where c1 and c2 don't have
4832 bits in common.
4833
4834 * combine.c (simplify_logical): Convert XOR to IOR if operands have
4835 no bits in common; remove XOR to ROTATE conversion.
4836
4837 Fri Oct 15 17:40:11 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4838
4839 * config/c4x/c4x.h (c4x_va_start, c4x_va_arg): Declare.
4840
4841 Fri Oct 15 17:27:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4842
4843 * config/c4x/c4x.c (dst_operand): New.
4844 (PREDICATE_CODES): Update.
4845 * config/c4x/c4x.h (dst_operand): Declare it.
4846 * config/c4x/c4x.md: Define mode for each unspec usage.
4847 (move patterns): Use dst_operand predicate instead of src_operand.
4848 (movqi_update, movqf_update): Delete.
4849
4850 Thu Oct 14 18:48:54 1999 Richard Henderson <rth@cygnus.com>
4851
4852 * recog.c (pmode_register_operand): New.
4853 * recog.h: Declare it.
4854 * genrecog.c (pred_codes): Likewise.
4855 (special_mode_pred_table): Likewise.
4856 (validate_pattern): Don't warn no mode for address_operand.
4857
4858 * print-rtl.c (print_rtx) [LABEL_REF]: Only do full subexpression
4859 if the operand is not insn-like.
4860
4861 Thu Oct 14 19:38:42 1999 Jeffrey A Law (law@cygnus.com)
4862 Sylvian Pion <Sylvain.Pion@sophia.inria.fr>
4863
4864 * fold-const.c (fold): Handle more simplifications allowed by IEEE.
4865
4866 Thu Oct 14 17:30:14 1999 Richard Henderson <rth@cygnus.com>
4867
4868 * sparc.md (*): Use {nonimmediate,register}_operand as appropriate
4869 instead of general_operand in a SET_DEST. Use const_double_operand
4870 instead of an explicit test against CONST_DOUBLE.
4871 (movsf_const_lo): Add missing register mode.
4872 (goto_handler_and_restore): Add auxiliary test for Pmode.
4873 (flush): Adjust to use address_operand.
4874 (return_sf_no_fpu): Add missing output constraint.
4875
4876 Thu Oct 14 17:21:26 1999 Richard Henderson <rth@cygnus.com>
4877
4878 * rs6000.md (call_value_indirect_aix32): Use wildcard match_operand
4879 for call return value.
4880 (call_value_indirect_aix64, call_value_indirect_nt): Likewise.
4881
4882 Thu Oct 14 13:54:25 1999 Jason Merrill <jason@yorick.cygnus.com>
4883
4884 * toplev.c (main): Only warn about options for other languages.
4885 * collect2.c (main): Pass -w to sub-gcc.
4886
4887 Thu Oct 14 16:27:50 1999 Richard Henderson <rth@cygnus.com>
4888
4889 * flow.c (propagate_block): Add call-clobbered registers to
4890 significant too.
4891
4892 * flow.c (propagate_block): Use free_EXPR_LIST_list instead of
4893 zapping mem_set_list.
4894 (invalidate_mems_from_autoinc): Use free_EXPR_LIST_node.
4895 (mark_set_1, mark_used_regs): Likewise.
4896
4897 Thu Oct 14 10:51:49 1999 Richard Henderson <rth@cygnus.com>
4898
4899 * m68k.md (zero_extendsidi2): Add missing output reload constraint.
4900
4901 Wed Oct 13 00:09:18 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4902
4903 * invoke.texi: Label -Wbad-function-cast, -Wmissing-prototypes,
4904 -Wnested-externs, -Wstrict-prototypes, and -Wtraditional as C only
4905 options. Also add a new item "C-only Warning Options" to the
4906 option summary.
4907
4908 1999-10-14 Gavin Romig-Koch <gavin@cygnus.com>
4909
4910 * libgcc2.c (__do_global_dtors): Protect __deregister_frame_info
4911 from multiple calls.
4912
4913 Thu Oct 14 04:54:54 1999 Richard Henderson <rth@cygnus.com>
4914
4915 * i386.md (call value patterns): Move to the end of the file.
4916 (prologue_set_got, prologue_get_pc): Use register_operand for op 0.
4917
4918 1999-10-14 Mark Elbrecht <snowball3@bigfoot.com>
4919
4920 * configure.in (djgpp configuration): Define extra_objects..
4921 * configure: Rebuilt.
4922 * config/i386/djgpp.h (CTORS_SECTION_ASM_OP): Define.
4923 (DTORS_SECTION_ASM_OP): Define.
4924 (INIT_SECTION_ASM_OP): Define.
4925 (FINI_SECTION_ASM_OP): Define.
4926 (DATA_SECTION_ASM_OP): Define.
4927 (TEXT_SECTION_ASM_OP): Define.
4928 (EH_FRAME_SECTION_ASM_OP): Define.
4929 (LINK_COMMAND_SPEC): Remove -Tdjgpp.djl.
4930 (STARTFILE_SPEC): Add crtbegin.o.
4931 (ENDFILE_SPEC): Define and add crtend.o. Move argument -Tdjgpp.djl
4932 to here from LINK_COMMAND_SPEC.
4933 (DO_GLOBAL_CTORS_BODY): Define.
4934 (CRTSTUFF_USE_FINI_SECTION): Define
4935 (HAS_INIT_SECTION): Delete.
4936
4937 Thu Oct 14 05:08:14 1999 Andreas Schwab <schwab@suse.de>
4938
4939 * Makefile.in (all.cross): Depend on xcpp$(exeext).
4940
4941 Thu Oct 14 04:00:40 1999 Richard Henderson <rth@cygnus.com>
4942
4943 * pa.h (PREDICATE_CODES): New.
4944
4945 * genrecog.c (validate_pattern): Condense the destination
4946 non-lvalue message.
4947
4948 Thu Oct 14 03:23:08 1999 Richard Henderson <rth@cygnus.com>
4949
4950 * alpha.md (call-1): Supply missing mode for operator.
4951 (*): Add missing output reload constraints. Remove constraints
4952 from define_splits.
4953
4954 * i386.h (SPECIAL_MODE_PREDICATES): New.
4955 * i386.md (movstricthi_1): Use nonimmediate_operand for op 0.
4956 (movqi_1, movdi_1, movdi_2, some splits): Likewise.
4957 (addsi_lea_3): Add missing mode for op 3.
4958 (prologue_set_got, prologue_get_pc): Add missing modes.
4959 (*) Add missing output reload constraints.
4960
4961 Thu Oct 14 03:59:57 1999 Stephane Carrez <stcarrez@worldnet.fr>
4962
4963 * stor-layout.c (layout_union): Use HOST_WIDE_INT for const_size;
4964 check for member bit-size overflow and use var_size if it occurs.
4965 (layout_record): Use bitsize_int() to define the type size in bits.
4966 Likewise for computation and assignment to DECL_FIELD_BITPOS.
4967 (layout_decl): Likewise when assigning to DECL_SIZE.
4968
4969 Thu Oct 14 02:57:05 1999 Richard Henderson <rth@cygnus.com>
4970
4971 * genrecog.c (validate_pattern): Typo last change. Verify
4972 that output operands have output reloads.
4973
4974 Thu Oct 14 01:49:54 1999 Richard Henderson <rth@cygnus.com>
4975
4976 * genrecog.c (special_mode_pred_table): New.
4977 (NUM_SPECIAL_MODE_PREDS): New.
4978 (find_operand): New.
4979 (validate_pattern): New argument `insn'. Warn for assignment to
4980 any predicate accepting non-lvalues. Conditionaly warn for
4981 match_operand without a mode. Try much harder to match source
4982 and destination modes on a set.
4983 * tm.texi (SPECIAL_MODE_PREDICATES): Document.
4984
4985 Thu Oct 14 02:54:13 1999 Jeffrey A Law (law@cygnus.com)
4986
4987 * fold-const.c (fold): Detect rotates built from BIT_XOR_EXPRs.
4988
4989 Thu Oct 14 02:18:19 1999 Marc Espie <espie@cvs.openbsd.org>
4990
4991 * combine.c (simplify_logical): Recognize xor pattern that encodes
4992 rotation.
4993
4994 Wed Oct 13 23:23:45 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4995
4996 * rs6000.c (expand_block_move): Use INTVAL, not XINT to access
4997 alignment.
4998
4999 Wed Oct 13 21:47:18 1999 Richard Henderson <rth@cygnus.com>
5000
5001 * ggc-page.c (MAP_FAILED): Provide default.
5002
5003 Wed Oct 13 21:41:59 1999 Richard Henderson <rth@cygnus.com>
5004
5005 * sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
5006 * sparc.h (PREDICATE_CODES): Update.
5007
5008 Wed Oct 13 21:18:17 1999 Richard Henderson <rth@cygnus.com>
5009
5010 * alpha.c (some_ni_operand): New.
5011 * alpha-protos.h: Declare it.
5012 * alpha.h (PREDICATE_CODES): Update.
5013 * alpha.md (sXaddq reload insns): Use some_ni_operand
5014 for SET_DEST instead of some_operand.
5015
5016 Wed Oct 13 21:04:45 1999 Richard Henderson <rth@cygnus.com>
5017 Jim Wilson <wilson@cygnus.com>
5018
5019 * genrecog.c (maybe_both_true_2): Don't compare modes of
5020 two DT_pred tests.
5021 (process_tree): Elide peephole2_insns. Invoke simplify_tests
5022 after find_afterward.
5023 (debug_decision_1): Dump next and afterward codes.
5024
5025 Wed Oct 13 20:35:16 1999 Richard Henderson <rth@cygnus.com>
5026
5027 * rtl.c (dump_and_abort): Remove.
5028 (fatal_with_file_and_line): New.
5029 (fatal_expected_char): New.
5030 (read_rtx_lineno, read_rtx_filename): New.
5031 (read_skip_spaces): Track line number.
5032 (read_name): Use fatal_with_file_and_line.
5033 (read_rtx): Use fatal_expected_char. Track line number.
5034 * rtl.h (read_rtx_filename, read_rtx_lineno): Declare.
5035
5036 * print-rtl.c (print_rtx): Don't special case LABEL_REF argument
5037 if it isn't a CODE_LABEL.
5038
5039 * genattr.c (main): Set read_rtx_filename.
5040 * genattrtab.c (main): Likewise.
5041 * gencodes.c (main): Likewise.
5042 * genconfig.c (main): Likewise.
5043 * genemit.c (main): Likewise.
5044 * genextract.c (main): Likewise.
5045 * genflags.c (main): Likewise.
5046 * genopinit.c (main): Likewise.
5047 * genoutput.c (main): Likewise.
5048 * genpeep.c (main): Likewise.
5049
5050 * genrecog.c (decision_test.u.insn): Add `lineno'.
5051 (pattern_lineno, error_count): New variables.
5052 (message_with_line): New.
5053 (add_to_sequence): Break out checking code to ...
5054 (validate_pattern): ... here. Detect SET_DEST matching CONST_INT.
5055 (merge_insn): Use message_with_line.
5056 (make_insn_sequence): Use validate_pattern. Record insn lineno.
5057 (main): Set read_rtx_filename, pattern_lineno. Exit early on error.
5058
5059 Wed Oct 13 22:01:35 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
5060
5061 * expr.c (store_constructor): Clear union if constructor is empty.
5062
5063 Wed Oct 13 15:19:04 1999 Jim Wilson <wilson@cygnus.com>
5064
5065 * config/rs6000/sysv4.h (CC1_SPEC): Fix errors from Jan 19 change.
5066 Add !endian checks. Change %{...} to %(...).
5067
5068 Wed Oct 13 13:30:34 1999 Richard Henderson <rth@cygnus.com>
5069
5070 * i386.md (*addsi3_cc): Renamed from addcsi3.
5071 (*addsi3_carry): Renamed from addxsi3.
5072 (*subsi3_cc): Renamed from subcsi3.
5073 (*subsi3_carry): Renamed from subxsi3.
5074 (*xorqi_cc_1): Renamed from xorcqi_1.
5075 (xorqi_cc_ext_1): Renamed from xorcqi_ext_1.
5076 * i386.c (ix86_expand_fp_compare): Update for xorqi_cc_ext_1.
5077
5078 Wed Oct 13 13:10:46 1999 Richard Henderson <rth@cygnus.com>
5079
5080 * Makefile.in (ggc-common.o): Depend on RTL_H not RTL_BASE_H.
5081 (ggc-simple.o, ggc-page.o, ggc-none.o, ggc-callbacks.o): Likewise.
5082
5083 1999-10-13 Brendan Kehoe <brendan@cygnus.com>
5084
5085 * regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we
5086 climb up the chain of insns.
5087
5088 Wed Oct 13 10:20:58 1999 Richard Henderson <rth@cygnus.com>
5089
5090 * genrecog.c (write_subroutine): Careful for null trees.
5091 (process_tree): Don't elide empty functions.
5092
5093 Wed Oct 13 10:07:54 1999 Richard Henderson <rth@cygnus.com>
5094
5095 * Makefile.in (genrtl.o): Depend on ggc.h.
5096 * configure.in (valloc): Probe for it.
5097 (with-gc): Use ggc-page if valloc present.
5098 * ggc-common.c (ggc_mark_rtx_children): Use ggc_mark_if_gcable.
5099 (ggc_mark_rtvec_children): New from corpse of ggc_mark_rtvec.
5100 (ggc_alloc_string): Moved from ggc-page.c.
5101 * ggc-none.c (ggc_alloc_obj): New.
5102 (ggc_alloc_rtx, ggc_alloc_rtvec): Remove.
5103 * ggc-page.c (sys/mman.h): Only include if HAVE_MMAP.
5104 (struct globals): Likewise for dev_zero_fd.
5105 (init_ggc): Likewise for it's initialization.
5106 (ggc_allocated_p): Move careful dereference from ...
5107 (ggc_lookup_page_table): ... here. Delete.
5108 (lookup_page_table_entry): Don't use ggc_lookup_page_table.
5109 (alloc_anon): Use valloc if no mmap.
5110 (release_pages): Use free if using valloc.
5111 (ggc_alloc_obj): Renamed from alloc_obj.
5112 (ggc_set_mark): Renamed from mark_obj.
5113 (ggc_mark_if_gcable): Renamed from ggc_mark_string_if_gcable.
5114 (ggc_alloc_rtx, ggc_alloc_rtvec): Delete.
5115 (ggc_alloc_tree, ggc_alloc_string, ggc_alloc): Delete.
5116 (ggc_set_mark_rtx, ggc_set_mark_rtvec): Delete.
5117 (ggc_set_mark_tree, ggc_mark_string, ggc_mark): Delete.
5118 (ggc_collect): Use fp printing instead of our own rounding.
5119 * ggc-simple.c (IS_MARKED, IGNORE_MARK): Delete.
5120 (GGC_STRING_MAGIC, GGC_STRING_MAGIC_MARK): Delete.
5121 (GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): Delete.
5122 (struct ggc_rtx, struct ggc_rtvec, struct ggc_tree): Delete.
5123 (struct ggc_string, struct ggc_any): Delete.
5124 (offsetof): Provide default definition.
5125 (GGC_BALANCE, GGC_ALWAYS_COLLECT, GGC_ALWAYS_VERIFY): New.
5126 (PTR_KEY): New.
5127 (struct ggc_mem): New, from corpse of ggc_any.
5128 (struct ggc_status): Delete.
5129 (ggc_chain, ggc_allocated_strings, ggc_strings_used): Delete.
5130 (n_rtxs_collected, n_vecs_collected, n_trees_collected): Delete.
5131 (n_strings_collected, n_anys_collected): Delete.
5132 (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Delete.
5133 (ggc_alloc_string, ggc_alloc): Delete.
5134 (ggc_free_rtx, ggc_free_rtvec, ggc_free_tree): Delete.
5135 (ggc_free_string, ggc_free_any): Delete.
5136 (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Delete.
5137 (ggc_compare_addresses, ggc_mark_string): Delete.
5138 (ggc_mark_string_if_gcable, ggc_mark): Delete.
5139 (search_data): Delete.
5140 (struct globals): New.
5141 (GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED): New.
5142 (tree_insert, tree_lookup): New.
5143 (ggc_alloc_obj, ggc_set_mark, ggc_mark_if_gcable): New.
5144 (clear_marks, sweep_objs): New.
5145 (ggc_collect): Gut. Use clear_marks, sweep_objs.
5146 (init_ggc): Set allocated_last_gc.
5147 (ggc_push_context): Gut. Use G.context.
5148 (ggc_pop_context): Likewise.
5149 (ggc_pop_context_1): New.
5150 (debug_ggc_tree): New.
5151 (debug_ggc_balance, tally_leaves): New.
5152 * ggc.h (ggc_mark_rtvec, ggc_mark_string, ggc_mark): Remove decl.
5153 (ggc_mark_string_if_gcable): Remove decl.
5154 (ggc_mark_rtx, ggc_mark_tree): Use ggc_set_mark.
5155 (ggc_mark_rtvec_children): New.
5156 (ggc_mark_rtvec, ggc_mark_string, ggc_mark): New.
5157 (ggc_mark_if_gcable): New decl.
5158 (ggc_alloc_rtx, ggc_alloc_rtvec): Remove decl.
5159 (ggc_alloc_tree, ggc_alloc): Likewise.
5160 (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Likewise.
5161 (ggc_alloc_obj): New decl.
5162 (ggc_alloc_rtx, ggc_alloc_rtvec): New macros.
5163 (ggc_alloc_tree, ggc_alloc): Likewise.
5164 (ggc_set_mark): New decl.
5165 * rtl.h (struct rtx_def): Remove gc_mark.
5166 (struct rtvec_def): Likewise.
5167 * tree.h (struct tree_common): Likewise.
5168
5169 Wed Oct 13 01:44:29 1999 Carol LePage <carolo@hal.com>
5170
5171 * configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines,
5172 float_format and thread_file definitions.
5173 * configure: Rebuilt.
5174
5175 Wed Oct 13 09:25:03 1999 Niels Möller <nisse@lysator.liu.se>
5176
5177 * extend.texi (Function Names): Document types of function names.
5178
5179 Wed Oct 13 00:45:04 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5180
5181 * reload1.c (reload_reg_free_for_value_p): RELOAD_OTHER reloads with
5182 an earlyclobbered output conflict with RELOAD_INPUT reloads.
5183
5184 Tue Oct 12 23:28:28 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
5185
5186 * sh.h (BOOL_TYPE_SIZE): Don't use INT_TYPE_SIZE / CHAR_TYPE_SIZE.
5187
5188 Tue Oct 12 23:19:32 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
5189
5190 * sh.h (REGISTER_MOVE_COST): Change PR_REG to PR_REGS.
5191
5192 Tue Oct 12 17:09:38 1999 David Edelsohn <edelsohn@gnu.org>
5193
5194 * collect2.c (main): Do prelimnary link on AIX if rflag.
5195
5196 Tue Oct 12 09:45:19 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
5197
5198 * config/rs6000/eabi-ctors.c (__do_global_ctors): Run through
5199 __CTOR_LIST__ in opposite order, which is the correct order for sorted
5200 constructors.
5201 (__do_global_dtors): similarly for __DTOR_LIST__.
5202
5203 Fri Oct 8 19:46:03 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
5204 Diego Novillo <dnovillo@cygnus.com>
5205
5206 * config/sh/sh.h (REGISTER_MOVE_COST): Handle moves from T_REGS to
5207 FPUL_REGS.
5208
5209 Tue Oct 12 07:38:41 1999 Bruce Korb <autogen@linuxbox.com>
5210
5211 * fixincl/*: Merged "no_bogosity" branch
5212 * fixincl/fixlib.h: protect against doubly defining t_bool
5213 * fixincl/server.h: protect against doubly defining t_bool
5214
5215 Mon Oct 11 20:18:41 1999 Jim Wilson <wilson@cygnus.com>
5216
5217 * genoutput.c: Include toplev.h.
5218
5219 Mon Oct 11 18:56:14 1999 Jim Wilson <wilson@cygnus.com>
5220
5221 * config/sparc/liteelf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
5222 Undef.
5223 * configure.in (sparclite-*-elf, sparc86x-*-elf): Don't use libgloss.h.
5224 * configure: Regenerate.
5225
5226 Mon Oct 11 16:07:49 1999 Richard Henderson <rth@cygnus.com>
5227
5228 * gcse.c (delete_null_pointer_checks): Returns void.
5229
5230 Mon Oct 11 20:31:51 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5231
5232 * rtl.c (copy_rtx): Don't use accessor macros to copy fields.
5233 * emit-rtl.c (copy_insn_1): Likewise.
5234
5235 Mon Oct 11 13:29:06 1999 Geoffrey Keating <geoffk@cygnus.com>
5236
5237 * config/mips/mips.c (mips_build_va_list): Correct
5238 TREE_CHAIN setting when hard-float.
5239 (mips_va_start): Use corrected setting.
5240 (mips_va_arg): Likewise. Also pass a tree to build of
5241 POSTINCREMENT_EXPR rather than a naked 'int'.
5242
5243 Sun Oct 10 18:27:27 1999 Mark Mitchell <mark@codesourcery.com>
5244
5245 * ggc.h (ggc_push_context): Fix comment.
5246 (ggc_pop_context): Likewise.
5247 (mark_string_if_gcable): Likewise.
5248 * ggc-common.c (ggc_mark_rtx_children): Use
5249 ggc_mark_string_if_gcable.
5250 * ggc-page.c (ggc_lookup_page_table): New function.
5251 (ggc_allocated_p): Likewise.
5252 (mark_obj): Fix formatting.
5253 (ggc_mark_string_if_gcable): New function.
5254 * ggc-simple.c (ggc_allocated_strings): New variable.
5255 (ggc_strings_used): Likewise.
5256 (ggc_compare_addresses): New function.
5257 (ggc_pop_context): Pop the `any' memory too.
5258 (ggc_mark_string_if_gcable): New function.
5259 (ggc_collect): Initialize and tear down ggc_allocated_strings.
5260
5261 Sun Oct 10 20:05:21 1999 David Edelsohn <edelsohn@gnu.org>
5262
5263 * rs6000.md (movstrsi_?reg): Use preferred rD/rS = r5 form.
5264 (scc patterns): Disable most SImode variants if TARGET_POWERPC64.
5265 * rs6000.c (expand_block_move): Match movstrsi_?reg register
5266 changes.
5267
5268 Sun Oct 10 16:37:01 1999 Richard Henderson <rth@cygnus.com>
5269
5270 * haifa-sched.c (sched_reg_n_calls_crossed): Delete.
5271 (sched_reg_live_length, sched_reg_basic_block): Delete.
5272 (current_block_num, bb_live_regs, old_live_regs): Delete.
5273 (dead_notes, struct sometimes): Delete.
5274 (sched_note_set, birthing_insn_p): Delete.
5275 (adjust_priority): Gut useless reg lifetime code.
5276 (create_reg_dead_note, attach_deaths): Delete.
5277 (attach_deaths_insn, new_sometimes_live): Delete.
5278 (finish_sometimes_live): Delete.
5279 (find_pre_sched_live, find_post_sched_live): Delete.
5280 (update_reg_usage): Delete.
5281 (find_insn_reg_weight): New, from corpse of find_pre_sched_live.
5282 (schedule_insns): Delete reg lifetime code.
5283 (sched_analyze): Use REG_SAVE_NOTE to stuff NOTE_INSN notes away.
5284 (unlink_other_notes): Adjust REG_NOTE commentary.
5285 (reemit_notes): Use REG_SAVE_NOTE.
5286 (schedule_block): Likewise.
5287 (schedule_region): Allocate bitmap of blocks in region. Use
5288 count_or_remove_death_notes. Use update_life_info.
5289
5290 * rtl.h (REG_SAVE_NOTE): New.
5291 * rtl.c (reg_note_name): Update.
5292
5293 Sun Oct 10 16:14:16 1999 Richard Henderson <rth@cygnus.com>
5294
5295 * combine.c (refresh_blocks, need_refresh): New.
5296 (combine_instructions): Allocate refresh_blocks. Invoke
5297 update_life_info if needed.
5298 (distribute_notes): Mark refresh_blocks instead of installing
5299 USE insns.
5300 * flow.c (update_life_info): Remove notes if GLOBAL_RM_NOTES.
5301 * basic_block.h (enum update_life_extent): Add GLOBAL_RM_NOTES.
5302
5303 * Makefile.in (recog.o): Depend on basic-block.h.
5304
5305 Sun Oct 10 12:03:21 1999 Richard Henderson <rth@cygnus.com>
5306
5307 * genrecog.c (add_to_sequence): Thinko last change: delete
5308 shadowing allow_const_int variable.
5309
5310 Sun Oct 10 08:40:00 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5311
5312 * cppinit.c: Use HAVE_GCC_VERSION instead of explicitly testing
5313 __GNUC__ and __GNUC_MINOR__.
5314
5315 * gansidecl.h: Likewise.
5316
5317 * rtl.c: Likewise.
5318
5319 * rtl.h: Likewise.
5320
5321 * toplev.h: Likewise.
5322
5323 * tree.c: Likewise.
5324
5325 * tree.h: Likewise.
5326
5327 * varray.c: Likewise.
5328
5329 * varray.h: Likewise.
5330
5331 Sun Oct 10 13:28:48 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5332
5333 * loop.c (find_and_verify_loops): When looking for a BARRIER, don't
5334 use one before a jump table.
5335
5336 * rtl.def (ADDRESS): Change documentation to match reality.
5337 * md.texi: Don't document it.
5338 * gmicro.md (load address pattern): Use 'p' constraint, delete use
5339 of ADDRESS rtx.
5340
5341 * emit-rtl.c (copy_insn_1): Make format_ptr a const char *.
5342
5343 Sun Oct 10 02:41:41 1999 Richard Henderson <rth@cygnus.com>
5344
5345 * genrecog.c (add_to_sequence): Move allow_const_int test outside
5346 known predicate block; default allow_const_int true.
5347 (debug_decision_list): New.
5348
5349 Sun Oct 10 00:43:08 1999 Richard Henderson <rth@cygnus.com>
5350
5351 * i386.h (CC1_SPEC): Typo -- use cc1_cpu.
5352
5353 Sat Oct 9 23:26:55 1999 Jeffrey A Law (law@cygnus.com)
5354
5355 * gcse.c (gcse_main): Avoid global optimizations if we have a
5356 large number of basic blocks and the ratio of edges to blocks
5357 is high.
5358 (delete_null_pointer_checks): Likewise.
5359
5360 Sat Oct 9 23:16:01 1999 Ken Raeburn <raeburn@mit.edu>
5361
5362 * c-common.c (check_format_info): Warn if format string isn't a
5363 string literal.
5364
5365 Sat Oct 9 23:04:02 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
5366
5367 * configure.in (arm*-*-*): Don't let autoconf remove brackets
5368 * configure: regenerate
5369
5370 Sat Oct 9 13:15:53 1999 Richard Henderson <rth@cygnus.com>
5371
5372 * alpha.md (extendsidi2): Turn into a splitter. Allow f/f.
5373 If TARGET_FIX, allow r/f. Remove cvtlq unspec pattern.
5374 (peepholes): Re-enable.
5375
5376 Sat Oct 9 12:18:16 1999 Richard Henderson <rth@cygnus.com>
5377
5378 * Makefile.in (flow.o): Depend on TREE_H.
5379 * basic-block.h (REG_SET_EQUAL_P): New.
5380 (XOR_REG_SET): New.
5381 (n_edges): Declare.
5382 (free_regset_vector): Remove declaration.
5383 (flow_delete_insn_chain): Declare.
5384 (enum update_life_extent): New.
5385 (update_life_info, count_or_remove_death_notes): Declare.
5386 * combine.c (distribute_notes) [REG_DEAD]: Stop search at bb->head.
5387 Verify register live at bb->global_live_at_start before adding USE.
5388 * flow.c (HAVE_epilogue, HAVE_prologue): Provide default.
5389 (CLEAN_ALLOCA): New.
5390 (n_edges): New.
5391 (PROP_*): New flags.
5392 (find_basic_blocks_1): Use alloc_EXPR_LIST.
5393 (clear_edges): Zero n_edges.
5394 (make_edge): Increment n_edges.
5395 (split_edge): Don't allocate bb->local_set. Increment n_edges.
5396 (flow_delete_insn_chain): Export.
5397 (delete_block): Decrement n_edges.
5398 (merge_blocks_nomove): Likewise.
5399 (life_analysis): Give life_analysis_1 PROP flags.
5400 (verify_wide_reg_1, verify_wide_reg): New.
5401 (verify_local_live_at_start): New.
5402 (update_life_info): Rewrite to call into propogate_block.
5403 (mark_reg): New.
5404 (mark_regs_live_at_end): After reload, if epilogue as rtl,
5405 always mark stack pointer. Conditionally mark PIC register.
5406 After reload, mark call-saved registers, return regsiters.
5407 (life_analysis_1): Accept PROP flags not remove_dead_code.
5408 Call mark_regs_live_at_end before zeroing regs_ever_live.
5409 Use calculate_global_regs_live. Copy global_live_at_end before
5410 calling final propagate_block. Zero reg_next_use on exit.
5411 (calculate_global_regs_live): New.
5412 (allocate_bb_life_data): Don't allocate bb->local_set.
5413 (init_regset_vector, free_regset_vector): Remove.
5414 (propagate_block): Accept FLAGS not FINAL or REMOVE_DEAD_CODE.
5415 Test flags before every operation. Warn if prologue/epilogue insn
5416 would have been deleted.
5417 (mark_set_regs, mark_set_1): Accept and use FLAGS.
5418 Use alloc_EXPR_LIST.
5419 (mark_used_regs): Accept and use FLAGS, not FINAL.
5420 Remove special handling for RETURN.
5421 (try_pre_increment): Use alloc_EXPR_LIST.
5422 (dump_flow_info): Dump n_edges.
5423 (unlink_insn_chain, split_hard_reg_notes): Remove.
5424 (maybe_add_dead_note, maybe_add_dead_note_use): Remove.
5425 (find_insn_with_note, new_insn_dead_notes): Remove.
5426 (update_n_sets, sets_reg_or_subreg_1, sets_reg_or_subreg): Remove.
5427 (maybe_remove_dead_notes, prepend_reg_notes): Remove.
5428 (replace_insns): Remove.
5429 (count_or_remove_death_notes): New.
5430 (verify_flow_info): Abort on error after all checks.
5431 (remove_edge): Decrement n_edges.
5432 (remove_fake_edges): Tweek format.
5433 * haifa-sched.c (schedule_insns): Use split_all_insns.
5434 * output.h (update_life_info): Remove declaration.
5435 * recog.c (split_all_insns): From the corpse of split_block_insns,
5436 do the whole function block by block. Use update_life_info.
5437 (recog_last_allowed_insn): New.
5438 (recog_next_insn): Mind it.
5439 (peephole2_optimize): Set it. Walk backwards through blocks.
5440 Use update_life_info.
5441 * rtl.h (update_flow_info, replace_insns): Remove declarations.
5442 (split_all_insns): Declare.
5443 * toplev.c (rest_of_compilation): Thread prologue before flow2.
5444 Use split_all_insns.
5445
5446 * i386.md (or -1 peep2s): Disable.
5447
5448 Fri Oct 8 17:49:08 1999 Richard Henderson <rth@cygnus.com>
5449
5450 * config/mips/mips.md (movstrsi+[123]) : Combine these into
5451 a single pattern. Scrap the 'd' versions as unnecessary.
5452
5453 * config/mips/mips.md (tablejump_internal3,tablejump_mips161,
5454 tablejump_mips162,tablejump_internal4): The operands to a
5455 label_ref must be VOIDmode.
5456
5457 Fri Oct 8 16:12:42 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5458
5459 * configure.in (c-mbchar): Append, don't overwrite, `extra_c_flags'.
5460
5461 Fri Oct 8 11:58:34 1999 Richard Henderson <rth@cygnus.com>
5462
5463 * mips.c (mips_va_arg) [EABI]: Return addr_rtx.
5464
5465 Fri Oct 8 11:58:34 1999 Richard Henderson <rth@cygnus.com>
5466
5467 * lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the
5468 cache every function if ggc_p.
5469
5470 Fri Oct 8 18:46:11 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5471
5472 * jump.c (duplicate_loop_exit_test): Use copy_insn/copy_insn_1
5473 instead of copy_rtx. Accept sequences that contain asm statements.
5474 * emit-rtl.c (copy_insn_1, copy_insn): New functions.
5475 (copy_insn_scratch_in, copy_insn_scratch_out, copy_insn_n_scratches,
5476 orig_asm_operands_vector, copy_asm_operands_vector,
5477 orig_asm_constraints_vecotr, copy_asm_constraints_vector): New static
5478 variables.
5479 * rtl.h (copy_insn, copy_insn_1): Declare.
5480
5481 Fri Oct 8 13:08:12 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5482
5483 * Makefile.in (insn-recog.o): Depend on hard-reg-set.h and resource.h.
5484
5485 * alpha.h (ASM_OUTPUT_MI_THUNK): Pass the correct number of
5486 arguments to `current_file_function_operand'.
5487
5488 * genrecog.c: Include hard-reg-set.h and resource.h in the
5489 generated output file.
5490
5491 * real.c: Include tm_p.h.
5492
5493 Fri Oct 8 18:46:11 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5494
5495 * i386.md (prologue_allocate_stack): Add '=' constraint letter on
5496 output operand.
5497
5498 Thu Oct 7 23:06:50 1999 Richard Henderson <rth@cygnus.com>
5499
5500 * rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber
5501 before the fctiwz insn.
5502
5503 Thu Oct 7 22:53:00 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5504 Mark Mitchell <mark@codesourcery.com>
5505
5506 * tree.c (make_lang_type_fn): New funtion pointer.
5507 (make_lang_type): Call it.
5508 * tree.h (make_lang_type): Declare.
5509 (make_lang_type_fn): Likewise.
5510 * rs6000.c (rs6000_build_va_list): Use make_lang_type.
5511
5512 Thu Oct 7 00:36:17 1999 Diego Novillo <dnovillo@cygnus.com>
5513
5514 * config/rs6000/rs6000.c (secondary_reload_class): For TARGET_ELF
5515 make sure that HIGH instructions are copied into BASE_REGS.
5516
5517 Thu Oct 7 17:02:34 1999 Jason Merrill <jason@yorick.cygnus.com>
5518
5519 * expr.c (expand_expr, TARGET_EXPR): Set TREE_USED sooner.
5520
5521 Thu Oct 7 17:01:58 1999 Greg McGary <gkm@gnu.org>
5522
5523 * c-decl.c (finish_struct): Use simpler method of
5524 removing elements of a singly-linked list.
5525
5526 Thu Oct 7 15:23:28 1999 Michael Meissner <meissner@cygnus.com>
5527
5528 * alpha.md (peephole2's): Comment out peephole2's that generate
5529 buggy code.
5530
5531 Thu Oct 7 12:00:53 1999 Richard Henderson <rth@cygnus.com>
5532
5533 * genrecog.c (add_to_sequence): Disable mode check for
5534 wildcard matches.
5535
5536 Thu Oct 7 20:14:16 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5537
5538 * ggc-simple.c (init_ggc): Set empty_string.
5539
5540 Thu Oct 7 01:13:15 1999 Richard Henderson <rth@cygnus.com>
5541
5542 * configure.in: Detect mmap. Add --with-gc=foo to select
5543 garbage collector; default to page if mmap available.
5544 * Makefile.in (GGC): Substitute.
5545
5546 Wed Oct 6 23:56:30 1999 Richard Henderson <rth@cygnus.com>
5547
5548 * c-decl.c (ggc_p): Enable.
5549
5550 Wed Oct 6 17:17:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5551
5552 * flow.c (verify_flow_info): Make it extern & unconditionally define.
5553
5554 1999-10-06 Brendan Kehoe <brendan@cygnus.com>
5555
5556 * sparc/sp86x-elf.h (SUBTARGET_SWITCHES): Add missing doc
5557 string for little-endian-data.
5558
5559 Wed Oct 6 16:10:35 1999 Michael Meissner <meissner@cygnus.com>
5560
5561 * varray.h (VARRAY_CHECK): Fix up appropriate revision check, in
5562 case somebody tries to compile --enable-checking code with gcc
5563 1.34 or such.
5564
5565 Wed Oct 6 12:22:50 1999 Richard Henderson <rth@cygnus.com>
5566
5567 * genrecog.c (add_to_sequence): Verify operand to label_ref is
5568 VOIDmode.
5569
5570 Wed Oct 6 10:21:15 1999 Richard Henderson <rth@cygnus.com>
5571
5572 * genconfig.c (main): Disable HAVE_conditional_arithmetic.
5573 * jump.c (jump_optimize_1): Document why.
5574
5575 Wed Oct 6 10:41:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5576
5577 * collect2.c (scan_prog_file, scan_libraries): Prototype function
5578 pointers and casts for `int_handler' and `quit_handler'.
5579
5580 * flow.c (verify_flow_info, split_hard_reg_notes,
5581 find_insn_with_note, sets_reg_or_subreg_1, prepend_reg_notes,
5582 remove_edge, remove_fake_successors): Add static prototypes.
5583 (verify_flow_info): Wrap with macro ENABLE_CHECKING.
5584 (mark_set_1): Initialize variable `regno'.
5585 (unlink_insn_chain): Likewise for variable `curr'.
5586 (remove_fake_edges): Remove unused variables `e', `tmp' and `last'.
5587
5588 * loop.c (strength_reduce): Initialize variable
5589 `unrolled_insn_copies'.
5590 (cmp_combine_givs_stats, cmp_recombine_givs_stats): Add static
5591 prototypes. Change these functions to take const PTR parameters
5592 to avoid prototype conflict when used as the comparson argument
5593 for qsort.
5594 (check_dbra_loop): Initialize variable `comparison_val'.
5595
5596 * reload.c (debug_reload_to_stream, debug_reload): Add prototypes.
5597 (get_secondary_mem): Mark parameter `x' with ATTRIBUTE_UNUSED.
5598 (find_valid_class): Initialize variable `best_class'.
5599 (find_reloads): Call memcpy, not bcopy.
5600
5601 * reload1.c (gen_mode_int, dump_needs): Add prototypes.
5602 (hard_reg_use_compare): Don't needlessly cast away const.
5603 (reload_reg_class_lower): Likewise.
5604 (choose_reload_regs): Initialize variable `regno'.
5605
5606 Tue Oct 5 16:34:12 1999 Paul Burchard <burchard@pobox.com>
5607
5608 * ggc-page.c (GGC_ALWAYS_COLLECT): Fix typo when undef'ing.
5609
5610 Tue Oct 5 16:14:40 1999 Michael Meissner <meissner@cygnus.com>
5611
5612 * libgcc1-test.c (toplevel): Include stddef.h to get size_t.
5613 ({,d}discard): Add forward declarations. Declare parameter as
5614 unused.
5615 (main_without_main): Explicitly declare return type to be int.
5616 (memcpy): Properly declare.
5617
5618 * libgcc2.c (toplevel): If inhibit_libc is defined and not
5619 building the trampoline support, declare malloc, free, and
5620 atexit.
5621 (__clear_cache): Mark arguments as potentially unused.
5622
5623 * frame.c (toplevel): If inhibit_libc is defined, declare
5624 malloc and free.
5625
5626 Tue Oct 5 12:00:32 1999 Richard Henderson <rth@cygnus.com>
5627
5628 * flow.c (make_edge): Accept an optional 2D bitmap in which
5629 to cache edge existence. Update all callers.
5630 (make_label_edge, make_eh_edge): Pass through the edge cache.
5631 (make_edges): Provide the cache.
5632
5633 Tue Oct 5 12:16:49 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5634
5635 * mbchar.c (literal_codeset, local_mbtowc, local_mblen): Constify
5636 a char*.
5637 (local_mbtowc): Change the type of variable `i' from int to size_t.
5638
5639 * mbchar.h (ISSJIS1, ISSJIS2): Use parens around && within ||.
5640 (local_mbtowc, local_mblen, literal_codeset): Constify a char*.
5641
5642 Tue Oct 5 11:34:52 1999 Michael Meissner <meissner@cygnus.com>
5643
5644 * ggc-common.c (toplevel): Reorder includes, so that ggc.h comes
5645 after other includes that define the appropriate types. Include
5646 tm_p.h for getting user prototypes.
5647 * ggc-callbacks.c (toplevel): Ditto.
5648 * ggc-none.c (toplevel): Ditto.
5649 * gcc-page.c (toplevel): Ditto.
5650 * ggc-simple.c (toplevel): Ditto.
5651
5652 Mon Oct 4 16:48:16 1999 Diego Novillo <dnovillo@cygnus.com>
5653 Jonathan Larmour <jlarmour@cygnus.co.uk>
5654
5655 * config/mips/mips.c (mips_move_2words): Split doubles if
5656 ISA >= 3, !TARGET_64BIT, and destination is not an FP register.
5657
5658 Mon Oct 4 21:47:31 1999 Richard Henderson <rth@cygnus.com>
5659
5660 * genrecog.c (struct decision_test): New.
5661 (struct decision): Remove test-related members, sort the rest by size.
5662 (IS_SPLIT): Simplify.
5663 (new_decision, new_decision_test): New.
5664 (add_to_sequence): Use them. No special handling for args of
5665 non-MATCH codes.
5666 (maybe_both_true): Renamed from not_both_true; return sense changed.
5667 (maybe_both_true_1, maybe_both_true_2): New. Broken out
5668 of maybe_both_true and adjusted for decision_test.
5669 (position_merit): Remove.
5670 (nodes_identical, nodes_identical_1): New, broken out of merge_trees.
5671 (merge_accept_insn): New, broken out of merge_trees.
5672 (merge_trees): Use them. No special case for c_test; no node
5673 splitting; use test type instead of position_merit.
5674 (factor_tests): New.
5675 (simplify_tests): New.
5676 (break_out_subroutines): Don't write code now.
5677 (find_afterward): New.
5678 (write_afterward, write_switch, write_cond): New.
5679 (write_action, is_unconditional): New.
5680 (write_node): New. Use them.
5681 (write_tree_1): Rewrite. Use the new functions above.
5682 (write_tree): Remove afterward processing.
5683 (write_subroutine): Simplify function variant emission.
5684 (write_subroutines): New.
5685 (same_codes, clear_codes): Remove.
5686 (same_modes, clear_modes): Remove.
5687 (write_header): New, broken out of main.
5688 (make_insn_sequence): Use new_decision and new_decision_test.
5689 (process_tree): New, broken out of main.
5690 (main): Adjust for merge_trees interface change.
5691 Don't #define operands in the output file.
5692 (record_insn_name): New, broken out of make_insn_sequence.
5693 (debug_decision_2, debug_decision_1, debug_decision_0): New.
5694 (debug_decision): New.
5695
5696 1999-10-04 21:58 -0700 Zack Weinberg <zack@bitmover.com>
5697
5698 * resource.c (find_free_register): Mark class_str argument const.
5699 * resource.h: Update prototype to match.
5700
5701 * i386.h (PREDICATE_CODES): Add entry for long_memory_operand.
5702 * i386.md: Give all anonymous insns names.
5703
5704 Mon Oct 4 21:12:02 1999 Jeffrey A Law (law@cygnus.com)
5705
5706 * flow.c (merge_blocks): Avoid assing BASIC_BLOCK for non-existent
5707 blocks.
5708
5709 Mon Oct 4 21:01:39 1999 Richard Henderson <rth@cygnus.com>
5710
5711 * toplev.c (dbr_sched_time): Unconditional.
5712 (peephole2_time): New.
5713 (compile_file): Add pass numbers to all of the dump file suffixes.
5714 Dump peephole2_time. Don't dump times for non-applicable passes.
5715 (rest_of_compilation): Add pass numbers to dump file suffixes.
5716 Conditionalize calls to the scheduler.
5717 * invoke.texi: Update.
5718
5719 Mon Oct 4 20:25:13 1999 Anthony Green <green@cygnus.com>
5720
5721 * flow.c (make_edges): Fix insn iteration.
5722 (find_basic_blocks): Assign NULL_RTX, not 0, to rtx.
5723 (find_basic_blocks_1): Fix spelling mistake.
5724
5725 Mon Oct 4 16:56:11 1999 Richard Henderson <rth@cygnus.com>
5726
5727 * tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that
5728 always have side-effects. Use memset not bzero.
5729 (make_node): Likewise.
5730
5731 Mon Oct 4 16:22:20 1999 Mark Mitchell <mark@codesourcery.com>
5732
5733 * stmt.c (expand_anon_union_decl): When any of the elements of the
5734 union is addressable, so is the entire union.
5735
5736 Mon Oct 4 11:38:33 1999 Richard Henderson <rth@cygnus.com>
5737
5738 * sbitmap.c (sbitmap_ones): Don't set too many bits.
5739
5740 * bitmap.h (enum bitmap_bits): Add BITMAP_XOR.
5741 * bitmap.c (bitmap_operation): Return true iff TO changed.
5742 (bitmap_equal_p): New.
5743 (bitmap_bit_p): Tidy arithmetic.
5744 (debug_bitmap_file): Likewise.
5745
5746 Mon Oct 4 11:28:37 1999 Richard Henderson <rth@cygnus.com>
5747
5748 * toplev.c (rest_of_compilation): Turn on cse_not_expected
5749 before cse2 instead of after.
5750
5751 Mon Oct 4 09:55:17 1999 Stan Cox <scox@cygnus.com>
5752
5753 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Let leasi/liadi handle large
5754 register offsets.
5755
5756 Mon Oct 4 08:54:12 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
5757
5758 * cppinit.c (is_idchar initializer): Loosen tests to accept
5759 gcc 2.>6 and >2.
5760
5761 Mon Oct 4 02:31:20 1999 Mark Mitchell <mark@codesourcery.com>
5762
5763 * mips.md: Define conditional move patterns for floating point
5764 operands and DI mode conditions.
5765
5766 Mon Oct 4 02:12:41 1999 Mark Mitchell <mark@codesourcery.com>
5767
5768 * tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
5769 always have side-effects.
5770
5771 Sun Oct 3 14:14:16 1999 Jeffrey A Law (law@cygnus.com)
5772
5773 * mn10200.c (asm_file_start): Fix typo.
5774
5775 * cppinit.c (is_idchar initializer): Tighten tests for when
5776 to put the table into initialized memory.
5777
5778 * ggc-none.c (ggc_alloc_rtvec): An rtvec is an array of rtx,
5779 not an array of rtunion.
5780 * gcc-page.c (ggc_alloc_rtvec): Similarly.
5781 * gcc-simple (ggc_free_rtvec): Similarly.
5782
5783 * genattrtab.c (simplify_cond): Make TESTS an array of rtxs, instead
5784 of rtunions.
5785
5786 * mbchar.h: Add missing #endif.
5787
5788 * t-fr30 (LIB2FUNCS_EXTRA): Remove definition.
5789 (FPBIT, DPBIT): Define.
5790
5791 Sun Oct 3 12:44:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5792
5793 * print-tree.c (print_node, indent_to): Remove redundant prototypes.
5794
5795 * profile.c (instrument_arcs, output_gcov_string,
5796 tablejump_entry_p): Add static prototypes.
5797 (output_gcov_string): Constify a char*.
5798
5799 * regmove.c (replacement_quality, fixup_match_2): Add static
5800 prototypes.
5801
5802 * resource.h (reg_dead_p): Add extern prototype.
5803
5804 * rtl.c (trim_filename): Add static prototype.
5805
5806 * scan-decls.c (skip_to_closing_brace): Likewise.
5807
5808 * stmt.c (expand_decl_cleanup_no_eh): Hide definition.
5809 (expand_end_case): Initialize variable `range'.
5810 (emit_case_nodes): Remove unused prototype `rtx_fn'.
5811
5812 * varasm.c (asm_emit_uninitialised): Add static prototype.
5813 (asm_emit_uninitialised, assemble_variable): Mark parameter with
5814 ATTRIBUTE_UNUSED.
5815
5816 Sun Oct 3 12:24:52 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5817
5818 * cpplib.c (if_directive_nameo): Add static prototype.
5819
5820 * cse.c (cse_insn): Remove unused variable `p'.
5821
5822 * except.c (create_rethrow_ref, push_entry,
5823 receive_exception_label, new_eh_region_entry, find_func_region,
5824 clear_function_eh_region, process_nestinfo): Add static prototypes.
5825 (get_reg_for_handler): Hide definition.
5826 (process_nestinfo): Initialize variable `extra_handlers'.
5827
5828 * expr.h (expand_builtin_longjmp): Add extern prototype.
5829
5830 * final.c (final_addr_vec_align, align_fuzz): Add static prototypes.
5831
5832 * function.c (prepare_function_start): Likewise.
5833 (pop_function_context_from): Mark parameter `context' with
5834 ATTRIBUTE_UNUSED.
5835 (push_temp_slots_for_block, flush_addressof): Hide definition.
5836
5837 * gcov.c (init_arc, reverse_arcs, create_program_flow_graph,
5838 solve_program_flow_graph, calculate_branch_probs,
5839 function_summary, main, fancy_abort): Add prototypes.
5840
5841 * gen-protos.c (add_hash, parse_fn_proto, main): Likewise.
5842 (add_hash): Constify a char*.
5843
5844 * ggc-common.c (ggc_mark_rtx_ptr, ggc_mark_tree_ptr,
5845 ggc_mark_tree_varray_ptr, ggc_mark_tree_hash_table_ptr,
5846 ggc_mark_string_ptr, ggc_mark_tree_hash_table_entry): Add prototypes.
5847
5848 * integrate.c (expand_inline_function_eh_labelmap): Likewise.
5849
5850 * lists.c (free_list, zap_lists): Likewise.
5851
5852 Sun Oct 3 12:05:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5853
5854 * alias.c (nonlocal_reference_p): Add static prototype.
5855
5856 * bitmap.c (bitmap_element_allocate): Prototype args in function
5857 pointer cast.
5858
5859 * builtins.c (stabilize_va_list): Add static prototype.
5860 (expand_builtin_va_arg): Constify a char*.
5861
5862 * c-lex.c (getch, put_back, extend_token_buffer_to,
5863 read_line_number, token_getch, token_put_back): Add static
5864 prototypes.
5865
5866 * c-parse.gperf (hash, is_reserved_word): Likewise.
5867
5868 * cccp.c (is_dir_separator): Likewise.
5869
5870 Sat Oct 2 16:07:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5871
5872 * graph.h: New file to prototype functions exported by graph.c.
5873
5874 * Makefile.in (graph.o, toplev.o): Depend on graph.h.
5875
5876 * graph.c: Include graph.h.
5877
5878 * toplev.c: Likewise. Remove redundant prototypes.
5879
5880 Sat Oct 2 11:28:33 1999 Krister Walfridsson <cato@df.lth.se>
5881
5882 * invoke.texi: Removed duplicated description for -Q.
5883
5884 Sat Oct 2 11:16:00 1999 Jim Kingdon <http://developer.redhat.com>
5885
5886 * extend.texi: Grammar fix in __extension__ text.
5887
5888 Sat Oct 2 11:06:31 1999 Richard Henderson <rth@cygnus.com>
5889
5890 * md.texi (define_peephole2): New section.
5891
5892 Sat Oct 2 10:57:56 1999 Jan Hubicka <hubicka@freesoft.cz>
5893
5894 * i386.md (mov?i patterns): Fix handling of TARGET_USE_MOV0
5895 (mov $-1 to or peepholer): Enable for pentium when optimizing for
5896 speed.
5897
5898 Sat Oct 2 10:55:25 1999 Jan Hubicka <hubicka@freesoft.cz>
5899
5900 * builtins.c (expand_builtin_strlen): Fix best mode searching loop.
5901
5902 Sat Oct 2 10:53:22 1999 Jan Hubicka <hubicka@freesoft.cz>
5903
5904 * i386.md (ffs expander): Emit Pentium friendly code for
5905 TARGET_PENTIUM.
5906
5907 Sat Oct 2 02:48:21 1999 Mark P. Mitchell <mark@codesourcery.com>
5908
5909 * tree.c (build): Don't look at TREE_SIDE_EFFECTS or TREE_RAISES
5910 for non-trees.
5911 (build1): Likewise.
5912
5913 Fri Oct 1 18:01:11 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5914
5915 * i386elf.h (TARGET_DEFAULT): Use symbolic constants.
5916
5917 Fri Oct 1 12:42:53 1999 Andreas Schwab <schwab@suse.de>
5918
5919 * config/m68k/m68k.c (use_return_insn): Return false if the pic
5920 register is in use.
5921
5922 Fri Oct 1 10:56:06 1999 Bernd Schmidt <bernds@cygnus.co.uk>
5923
5924 * md.texi (No Constraints): Delete section.
5925 * Makefile.in (genattrtab.o): Don't depend on "insn-config.h".
5926 * final.c (final_scan_insn): We always have register constraints.
5927 * genattrtab.c: Don't include "insn-config.h".
5928 (write_attr_case): We always have register constraints.
5929 * genconfig.c (register_constraint_flag): Delete.
5930 (walk_insn_part): Don't check whether we have register constraints.
5931 (main): Don't write out "#define REGISTER_CONSTRAINTS".
5932 * genoutput.c (have_constraints): Delete.
5933 (main): Don't set it.
5934 (output_operand_data): We always have constraints.
5935 (scan_operands): Likewise.
5936 (compare_operands): Likewise.
5937 * local-alloc.c (block_alloc): We always have constraints.
5938 (requires_inout): Always compile this function.
5939 * recog.c (extract_insn): We always have constraints.
5940 (constrain_operands, reg_fits_class_p): Always compile these
5941 functions.
5942 * recog.h (struct recog_data): Delete non-REGISTER_CONSTRAINTS
5943 fields.
5944 (struct insn_operand_data): Likewise.
5945 * regclass.c (regclass): We always have constraints.
5946 (record_reg_classes, copy_cost, record_address_regs,
5947 auto_inc_dec_reg_p): Always compile these functions.
5948 * regmove.c (regmove_optimize): We always have constraints.
5949 * reload.c (find_reloads): Likewise.
5950 * reload1.c (reload): Likewise.
5951 (reload_cse_simplify_operands): Likewise.
5952 * i860.c (output_delay_insn): Likewise.
5953
5954 Thu Sep 30 23:04:41 1999 Mark P. Mitchell <mark@codesourcery.com>
5955
5956 * iris6.h (BUILD_VA_LIST_TYPE): Define.
5957
5958 Thu Sep 30 18:44:50 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5959
5960 * rs6000.c (rs6000_build_va_list): Create a TYPE_DECL node
5961 for the va_list record.
5962
5963 Thu Sep 30 18:34:54 1999 Jan Hubicka <hubicka@freesoft.cz>
5964
5965 * i386.c (ix86_adjust_cost): Ignore false ebp dependencies in
5966 prologues.
5967
5968 Thu Sep 30 18:31:36 1999 Jan Hubicka <hubicka@freesoft.cz>
5969
5970 * alias.c: Include insn-flags.h.
5971 * Makefile.in (alias.o): Update.
5972
5973 Thu Sep 30 18:21:30 1999 Jan Hubicka <hubicka@freesoft.cz>
5974
5975 * i386.c (ix86_expand_int_movcc): Convert LEU and GTU comparisons
5976 to LTU and GEU. Handle more cases using sbb.
5977
5978 Thu Sep 30 18:18:39 1999 Jan Hubicka <hubicka@freesoft.cz>
5979
5980 * i386.md (truncatexfdf splitters): Do not use subreg.
5981 (fop XFmode patterns): Fix mode in operand testing.
5982
5983 Thu Sep 30 18:04:13 1999 Richard Henderson <rth@cygnus.com>
5984
5985 * jump.c (jump_optimize_1): Amend last change to test only the
5986 form of the operand, not the insn.
5987
5988 * jump.c (jump_optimize_1) [conditional_move]: Use general_operand
5989 not register_operand to determine when B may need preloading.
5990
5991 Thu Sep 30 17:39:16 1999 Richard Henderson <rth@cygnus.com>
5992
5993 * alpha.md (*): Use nonimmediate not general_operand for SET_DEST.
5994 (ffsdi2, extxl, insxh, mskxh): Add missing DImode to SET_SRC.
5995 (call-value patterns): Move to end of file.
5996 (*): Remove mode from label_ref in (pc) context.
5997 (movstrqi): Use memory not general_operand for BLKmode operands.
5998 (prologue_stack_probe_loop, builtin_longjmp): Add missing mode
5999 to register_operand operands.
6000 (peep2 patterns): Convert from commented-out peephole patterns.
6001
6002 Thu Sep 30 14:39:17 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6003
6004 * tree.h (enum built_in_function): Rename BUILT_IN_DWARF_REG_SIZE
6005 to BUILT_IN_INIT_DWARF_REG_SIZES.
6006 * builtins.c (expand_builtins, case BUILT_IN_INIT_DWARF_REG_SIZES):
6007 Renamed from BUILT_IN_DWARF_REG_SIZE; call
6008 expand_builtin_init_dwarf_reg_sizes.
6009 * c-decl.c (init_decl_processing): Replace __builtin_dwarf_reg_size
6010 with __builtin_init_dwarf_reg_size_table.
6011 * dwarf2out.c (struct reg_size_range): Delete.
6012 (expand_builtin_init_dwarf_reg_sizes): New function.
6013 (expand_builtin_dwarf_reg_size): Delete.
6014 * except.h (expand_builtin_init_dwarf_reg_sizes): Declare.
6015 (expand_builtin_dwarf_reg_size): Don't declare.
6016 * libgcc2.c (dwarf_reg_size_table_initialized): New.
6017 (dwarf_reg_size_table): New.
6018 (init_reg_size_table): New function.
6019 (copy_reg): Use dwarf_reg_size_table.
6020 (eh_context_initialize): Make sure dwarf_reg_size_table is initialized
6021 before use.
6022
6023 Thu Sep 30 05:40:34 1999 Richard Earnshaw <rearnsha@arm.com>
6024
6025 * c-lang.c (finish_file case ndef ASM_OUTPUT_{CON,DE}STRUCTOR):
6026 Correctly build argument list to constructor and destructor functions.
6027
6028 Thu Sep 30 00:13:27 1999 Dirk Zoller <duz@rtsffm.com>
6029
6030 * c-tree.h (warn_float_equal): Declare.
6031 * c-decl.c (warn_float_equal): Define.
6032 (c_decode_option): Recognize -W[no-]float-equal.
6033 * c-typeck.c (build_binary_op): Conditionally warn
6034 about equality tests of floating point types.
6035 * toplev.c (documented_lan_options): Add -W[no-]float-equal.
6036 * invoke.texi: Add docs for -Wfloat-equal warning.
6037
6038 Wed Sep 29 23:43:39 1999 Jeffrey A Law (law@cygnus.com)
6039
6040 * h8300.h (INIT_TARGET_OPTABS): Use init_one_optab instead of
6041 generating RTL directly.
6042 * mips.h (INIT_TARGET_OPTABS): Likewise.
6043 * mn10200.h (INIT_TARGET_OPTABS): Likewise.
6044
6045 * expr.h (init_mov_optab): Delete declaration
6046
6047 * h8300.c (WORD_REG_USED): Update to avoid useless register
6048 saves in interrupt functions and functions which never return.
6049
6050 * cse.c (struct set): Delete inner_dest_loc field.
6051 (cse_insn): Remove assignments to inner_dest_loc field.
6052
6053 Wed Sep 29 16:06:20 1999 Richard Henderson <rth@cygnus.com>
6054
6055 * ggc-page.c: Don't include <unistd.h> etc taken care of
6056 by "system.h". Include <sys/mman.h> afterward.
6057
6058 Wed Sep 29 16:05:18 1999 Richard Henderson <rth@cygnus.com>
6059
6060 * rs6000.c (rs6000_encode_section_info): If ggc_p, use
6061 ggc_alloc_string.
6062
6063 Tue Sep 28 16:45:40 1999 David Edelsohn <edelsohn@gnu.org>
6064
6065 * xcoffout.c (xcoffout_declare_function): Add documentation.
6066 * rs6000.c (num_insns_constant_wide): Use TARGET_POWERPC64 not
6067 TARGET_64BIT. Compare constant to -1, not bit pattern.
6068 (easy_fp_constant): Use TARGET_POWERPC64 not TARGET_64BIT.
6069 (expand_block_move): Allow 8 DImode loads for PowerPC64. Fix
6070 gen_movsi typos.
6071
6072 Tue Sep 28 16:43:14 1999 Nick Clifton <nickc@cygnus.com>
6073
6074 * dwarf2out.c (add_abstract_origin_attribute): Abort if
6075 origin_die is NULL.
6076 (gen_inlined_enumeration_type_die): Do not abort if the type has
6077 not been writeen out.
6078 (gen_inlined_structure_type_die): Do not abort if the type has
6079 not been writeen out.
6080 (gen_inlined_union_type_die): Do not abort if the type has
6081 not been writeen out.
6082 (gen_tagged_type_instantiation_die): Do not abort if the type
6083 has not been written out.
6084
6085 Tue Sep 28 14:33:47 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6086
6087 * c-decl.c (init_decl_processing): If MD_INIT_BUILTINS is defined,
6088 call it.
6089 * reg-stack.c (straighten_stack): Copy hard reg set with
6090 COPY_HARD_REG_SET.
6091
6092 Tue Sep 28 01:11:05 1999 Richard Henderson <rth@cygnus.com>
6093
6094 * builtins.c (stabilize_va_list): Stabilize array type va_list
6095 to a pointer type, not the base record type.
6096 (expand_builtin_va_copy): Dereference the pointers explicitly;
6097 use the correct size for the copy.
6098
6099 * rs6000.c (rs6000_va_start): Dereference valist to get to the record.
6100 (rs6000_va_arg): Likewise.
6101
6102 Mon Sep 27 23:27:21 1999 Richard Henderson <rth@cygnus.com>
6103
6104 * rtl.h (struct rtx_def): Move gc_mark to align mode field.
6105
6106 Mon Sep 27 23:20:29 1999 Mark Mitchell <mark@codesourcery.com>
6107
6108 * tree.h (struct tree_decl): Use `bclass', not `class', in name of
6109 field.
6110 (DECL_BUILT_IN_CLASS): Adjust accordingly.
6111
6112 Mon Sep 27 23:03:16 1999 Richard Henderson <rth@cygnus.com>
6113
6114 * ggc-page.c (GGC_MIN_LAST_ALLOCATED): New.
6115 (init_ggc): Use it instead of a constant.
6116 (ggc_collect): Bound allocated_last_gc by it.
6117
6118 Mon Sep 27 19:06:04 1999 Jeffrey A Law (law@cygnus.com)
6119
6120 * fixinc/fixinc.irix (stdio.h): Hack stdio.h to avoid problems
6121 with va_list.
6122
6123 Mon Sep 27 19:40:17 CEST 1999 Marc Espie <espie@cvs.openbsd.org>
6124
6125 * configure.in (mips*el-*-openbsd*): Don't duplicate default settings.
6126 (mips*-*-openbsd*): Let big endian configuration be a fragment.
6127 * configure: Regen.
6128 * config/mips/openbsd.h: New, OpenBSD little endian target.
6129 * config/mips/openbsd-be.h: New, OpenBSD big endian target fragment.
6130 * config/mips/xm-openbsd.h: New, OpenBSD host.
6131
6132 Mon Sep 27 10:28:48 1999 Andreas Schwab <schwab@suse.de>
6133
6134 * config/m68k/m68k.c (output_function_prologue,
6135 output_function_epilogue): Use
6136 current_function_uses_pic_offset_table instead of regs_ever_live
6137 to decide whether to save/restore pic register.
6138 (legitimize_pic_address): Don't modify regs_ever_live any more.
6139
6140 Sun Sep 26 10:55:36 1999 Mark Mitchell <mark@codesourcery.com>
6141
6142 * function.h (struct function): Add x_dont_save_pending_sizes_p.
6143 * stor-layout.c (variable_size): Don't add sizes to the pending
6144 sizes list if x_dont_save_pending_sizes_p is set.
6145
6146 Sun Sep 26 16:36:52 1999 Robert Lipe (robertlipe@usa.net)
6147
6148 * config/i386/dgux.h (SELECT_RTX_SECTION): Provide dummy argument
6149 for symbolic_operand().
6150 * config/i386/sco5.h (SELECT_RTX_SECTION): Likewise.
6151
6152 Sun Sep 26 07:37:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6153
6154 * combine.c (gen_rtx_combine): Add missing call to va_end().
6155
6156 * final.c (asm_fprintf): Likewise.
6157
6158 * genattrtab.c (attr_rtx): Likewise.
6159
6160 Sat Sep 25 13:11:07 1999 Jeffrey A Law (law@cygnus.com)
6161
6162 * cse.c: Update comments.
6163 (cse_insn): When converting a conditional/computed jump into
6164 an unconditional jump, always make sure a BARRIER immediately
6165 follows the converted jump. Do not delete unreachable code.
6166 (cse_basic_block): Do not delete unreachable code.
6167 * toplev.c (rest_of_compilation): Move call to
6168 delete_trivially_dead_insns after the conditional call to
6169 jump_optimize.
6170
6171 Sat Sep 25 09:03:17 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6172
6173 * collect2.c (make_temp_file): Don't prototype.
6174
6175 * gcc.c (make_temp_file): Likewise.
6176
6177 * mips.c (mips_make_temp_file): Renamed from `make_temp_file'.
6178
6179 Sat Sep 25 13:42:15 1999 Nick Clifton <nickc@cygnus.com>
6180
6181 * varasm.c (asm_emit_uninitialised): New function: Generate
6182 the assembler statements necessary to declare an uninitialised
6183 variable.
6184 (ASM_EMIT_LOCAL): New macro: Emit a local, uninitialised
6185 variable.
6186 (ASM_EMIT_BSS): New macro: Emit an entry in the bss section.
6187 (ASM_EMIT_COMMON): New macro: Emit an entry in the common
6188 section.
6189 (assemble_variable): Use asm_emit_uninitialised to emit an
6190 uninitialised variable.
6191
6192 Fri Sep 24 17:10:56 1999 Nick Clifton <nickc@cygnus.com>
6193
6194 * combine.c (simplify_comparison): Cope with downshifting a 32 bit
6195 constant on a 64 bit host. Patch supplied by Geoffrey Keating
6196 <geoffk@cygnus.com>.
6197
6198 Fri Sep 24 10:48:10 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6199
6200 * builtins.c (expand_builtin): Use MD_EXPAND_BUILTIN if defined.
6201 * c-common.h (builtin_function): Don't declare.
6202
6203 * c-decl.c (duplicate_decls): Use DECL_BUILT_IN_CLASS rather than
6204 DECL_BUILT_IN.
6205 (pushdecl): Likewise.
6206 (finish_decl): Likewise.
6207 (builtin_function): New arg CLASS. Arg FUNCTION_CODE now of type
6208 int. All callers changed.
6209 Set the builtin's DECL_BUILT_IN_CLASS.
6210 * tree.h (enum built_in_class): New.
6211 (enum built_in_function): Delete NOT_BUILT_IN.
6212 (DECL_FUNCTION_CODE): The corresponding field in tree_decl is now
6213 in a union.
6214 (DECL_SET_FUNCTION_CODE): Likewise.
6215 (DECL_BUILT_IN_CLASS): New macro.
6216 (DECL_BUILT_IN): Use DECL_BUILT_IN_CLASS.
6217 (struct tree_decl): Split builtin function code field into a
6218 struct.
6219 (builtin_function): Declare.
6220
6221 Fri Sep 24 01:45:05 1999 Mark Mitchell <mark@codesourcery.com>
6222
6223 * optabs.c (init_traps): Fix typo in last change.
6224
6225 Fri Sep 24 01:10:11 1999 Mark Mitchell <mark@codesourcery.com>
6226
6227 * toplev.c (rest_of_decl_compilation): Update comment.
6228
6229 Fri Sep 24 11:57:06 1999 Geoffrey Keating <geoffk@cygnus.com>
6230
6231 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Put the symbol
6232 in .sbss if appropriate.
6233 (EXTRA_SECTION_FUNCTIONS): Add sbss.
6234 (SBSS_SECTION_ASM_OP): New macro.
6235 * config/mips/linux.h (EXTRA_SECTION_FUNCTIONS): Add sbss.
6236 (EXTRA_SECTIONS): Add in_sbss.
6237 * config/mips/mips.h: Prototype sbss_section.
6238
6239 Thu Sep 23 18:18:55 1999 Mark Mitchell <mark@codesourcery.com>
6240
6241 * stmt.c (expand_start_bindings): Don't allow cleanup instructions
6242 to disappear.
6243
6244 Thu Sep 23 18:07:01 1999 Mark Mitchell <mark@codesourcery.com>
6245
6246 * optabs.c (init_traps): Register trap_rtx as a GC root.
6247
6248 Thu Sep 23 17:41:47 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6249
6250 * config/mips/mips.c (function_arg_pass_by_reference): Define
6251 unconditionally, since it's called unconditionally.
6252
6253 Thu Sep 23 13:40:02 1999 Jason Merrill <jason@yorick.cygnus.com>
6254
6255 * toplev.c (documented_lang_options): Add -fshort-wchar.
6256 * c-decl.c (c_decode_option): Likewise.
6257 (init_decl_processing): If -fshort-wchar, use 'short unsigned int'
6258 for wchar_t.
6259 * c-common.c, c-lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node.
6260 * gcc.c (default_compilers): If -fshort-wchar,
6261 override __WCHAR_TYPE__.
6262 * tm.texi (C Dialect Options): Add -fshort-wchar.
6263
6264 * dwarf2out.c (output_aranges): Use DW_AT_location to find the
6265 symbol for a variable.
6266
6267 * cpplib.h (CPP_PREPROCESSED): New macro.
6268 * cpplib.c (handle_directive): Don't complain about `# NUMBER' if
6269 we're seeing this input for a second time.
6270
6271 Thu Sep 23 12:54:49 1999 Alex Samuel <samuel@codesourcery.com>
6272
6273 * emit-rtl.c (init_emit_once): Initialize modes first.
6274
6275 Sun Sep 19 01:23:23 1999 Alex Samuel <samuel@codesourcery.com>
6276
6277 * config/i386/i386.c (pic_label_name): Change to char pointer.
6278 (global_offset_table): New variable.
6279 (load_pic_register): Fill global_offset_table if it hasn't
6280 already been done. Allocate pic_label_name dynamically.
6281 * ggc.h (empty_string): New variable.
6282 * ggc-simple.c (empty_string): Likewise.
6283 (init_ggc): Allocate empty_string and add as root.
6284 * stmt.c (digit_strings): New variable.
6285 (init_stmt): Add last_block_end_note as root. Allocate and
6286 initialize digit_strings.
6287 (expand_asm_operands): Use empty_string instead of string
6288 constant. Use digit_strings instead of string constants.
6289 * profile.c (init_arc_profiler): Allocate string with
6290 ggc_alloc_string instead of xmalloc.
6291 (output_func_start_profiler): Likewise.
6292 * c-typeck.c (digest_init): Check if init is error_mark_node.
6293
6294 Thu Sep 23 12:59:14 1999 Alex Samuel <samuel@codesourcery.com>
6295 Richard Henderson <rth@cygnus.com>
6296
6297 * ggc-page.c: New file.
6298 * Makefile.in (ggc-page.o): New.
6299
6300 Thu Sep 23 13:55:21 1999 Jeffrey A Law (law@cygnus.com)
6301
6302 * invoke.texi: Document -fdelete-null-pointer-checks
6303 * toplev.c (flag_delete_null_pointer_checks): New.
6304 (f_options): Add entry for -fdelete-null-pointer-checks.
6305 (rest_of_compilation): Conditionalize null pointer check
6306 elimination on flag_delete_null_pointer_checks.
6307 (main): If -O2 or greater, enable -fdelete-null-pointer-checks
6308
6309 1999-09-23 10:56 -0700 Zack Weinberg <zack@bitmover.com>
6310
6311 * iso646.h, stdarg.h, stdbool.h, stddef.h, varargs.h: Add
6312 copyright notice and special exception to GPL.
6313
6314 Thu Sep 23 13:40:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6315
6316 * abi64.h (mips_function_value): Add prototype arguments.
6317
6318 * mips-protos.h: New file with mips prototypes.
6319
6320 * mips.c: Include "tm_p.h".
6321 (mktemp, lookup_name): Add prototype arguments.
6322 (extern_list, string_constant, mips_fill_delay_slot,
6323 mips_output_external, mips_output_external_libcall,
6324 mips_output_filename, mips_declare_object, function_prologue,
6325 mips_expand_prologue, function_epilogue, mips16_constant,
6326 build_mips16_function_stub, mips_output_conditional_branch):
6327 Constify a char*.
6328 (mips_va_start): Remove unused variable `u'.
6329 (mips_va_arg): Cast value to unsigned when comparing against one.
6330 (trace): Delete.
6331 (save_restore_insns, mips_expand_prologue): Add missing arg in
6332 call to `large_int'.
6333
6334 * mips.h: Move prototypes to mips-protos.h.
6335 (data_section, memory_address_p, rdata_section,
6336 readonly_data_section, simple_epilogue_p, text_section): Delete
6337 prototypes delcared elsewhere.
6338 (mips_epilogue_delay_slots, print_options): Delete unused decls.
6339 (trace): Delete.
6340 (GO_PRINTF, GO_PRINTF2): Call fprintf, not trace.
6341
6342 * mips.md: Delete extra args in call to `mips_move_2words'.
6343
6344 * xm-iris6.h (alloca): Add prototype argument.
6345
6346 * genpeep.c: Include "tm_p.h" in generated output file.
6347
6348 Thu Sep 23 10:36:55 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
6349
6350 * basic-block.h (find_edge_index): Change parameters.
6351 * flow.c (verify_edge_list): Pass basic_block parameters to
6352 find_edge_index instead of integers.
6353
6354 Thu Sep 23 15:54:12 1999 Nick Clifton <nickc@cygnus.com>
6355
6356 * combine.c (simplify_comparison): Use an unsigned shift to adjust
6357 the constant.
6358
6359 Thu Sep 23 08:46:21 1999 Guy Harris <guy@netapp.com>
6360
6361 * gcc.1: Fix a formatting error.
6362
6363 Wed Sep 22 16:10:21 1999 Martin v. Löwis <loewis@informatik.hu-berlin.de>
6364
6365 * install.texi (Configurations): Remove pyramid. Add fr30, i686,
6366 i786, mn10200, mn10300, pdp11, v850.
6367
6368 Thu Sep 23 07:37:13 1999 Dan Nicolaescu <dann@ics.uci.edu>
6369
6370 * libgcc2.c (num_digits): Add prototype with
6371 __attribute__((const)).
6372 (__terminate): Add prototype.
6373
6374 Thu Sep 23 05:32:06 1999 Richard Henderson <rth@cygnus.com>
6375
6376 * builtins.c, dbxout.c, varasm.c: Include tm_p.h.
6377
6378 * alpha/alpha.c (print_operand): Fix type of `code'.
6379 (alpha_output_filename): Constify.
6380 * alpha/alpha.h: Move all function declarations ...
6381 * alpha/alpha-protos.h: ... here. New file.
6382 * alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function.
6383 (SECTION_FUNCTION_TEMPLATE): Likewise.
6384
6385 Thu Sep 23 11:15:36 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6386
6387 * expmed.c (do_cmp_and_jump): Pass ccp_jump to can_compare_p.
6388 * expr.c (expand_expr): Likewise.
6389 (do_jump): Likewise.
6390 (do_store_flag): Pass ccp_store_flag to can_compare_p.
6391 * expr.h (enum optab_index): Add cbranch, cmov, cstore optabs and
6392 accessor macros.
6393 (enum can_compare_purpose): New.
6394 (can_compare_p): Adjust prototype.
6395 (prepare_cmp_insn, prepare_operand): Declare.
6396 * genopinit.c (optabs): Add cbranch_optab, cmov_optab, cstore_optab.
6397 * optabs.c (cmp_available_p): Deleted.
6398 (expand_abs): Pass ccp_jump to can_compare_p.
6399 (can_compare_p): New arg PURPOSE. Check for combined optabs.
6400 (prepare_cmp_insn): No longer static. Add arg PURPOSE.
6401 Call can_compare_p rather than cmp_available_p.
6402 (prepare_operand): No longer static.
6403 (emit_cmp_and_jump_insn): Check for and use cbranch patterns.
6404 (emit_cmp_and_jump_insns): Pass ccp_jump to prepare_cmp_insn.
6405 (expand_float): Fix a slightly broken emit_cmp_insn/emit_jump_insn
6406 sequence to use emit_cmp_and_jump_insns.
6407 (init_optabs): Initialize cbranch_optab, cmov_optab, cstore_optab.
6408
6409 Wed Sep 22 17:58:01 1999 Stan Cox <scox@cygnus.com>
6410
6411 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept large
6412 register offsets; let LEGITIMIZE_ADDRESS load it into a register.
6413 (LEGITIMIZE_ADDRESS): Use plus_constant to avoid
6414 (plus (reg) (const_int 0))
6415 * mips.md (call_internal3c): New pattern for -mips16 -mlong-calls.
6416
6417 Wed Sep 22 17:55:31 1999 David Edelsohn <edelsohn@gnu.org>
6418
6419 * rs6000.c (expand_block_move): DImode loads and stores require
6420 word-aligned displacements. Increment address registers with
6421 adddi3 on 64-bit platform. Use TARGET_POWERPC64 not TARGET_64BIT.
6422
6423 Wed Sep 22 17:35:55 1999 Michael Meissner <meissner@cygnus.com>
6424
6425 * dwarf2out.c (base_type_die): Use the name __unknown__ if there
6426 is no name for the base type, rather than segfault. If we are
6427 writing out a complex integer type, use DW_ATE_lo_user.
6428
6429 * expr.c (emit_move_insn_1): If we are copying a complex that fits
6430 in one word or less (complex char, complex short, or on 64 bit
6431 systems complex float) to/from a hard register, copy it through
6432 memory instead of dying in gen_{real,imag}part. If we have a
6433 short complex type, prevent inlining since it allocates stack
6434 memory.
6435
6436 * tree.c (build_complex_type): If we are writing dwarf2 output,
6437 generate a name for complex integer types.
6438
6439 Wed Sep 22 11:34:08 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
6440
6441 * basic-block.h (add_noreturn_fake_exit_edges): Use correct name.
6442 * flow.c (remove_edge): Remove extra whitespace.
6443 (remove_fake_edges): Fix comment.
6444 (add_noreturn_fake_exit_edges): Use the correct name.
6445
6446 Wed Sep 22 16:12:40 BST 1999 Nathan Sidwell <nathan@acm.org>
6447
6448 * Makefile.in (INTL_MOSTLYCLEAN, INTL_CLEAN): New variables.
6449 (mostlyclean): Depend on INTL_MOSTLYCLEAN.
6450 (clean): Depend on INTL_CLEAN.
6451 (maintainer-clean): Adjust.
6452
6453 Wed Sep 22 10:18:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6454
6455 * configure.in (AC_PREREQ): Bump to 2.13.
6456 (AC_C_STRINGIZE): Call this instead of using a custom macro.
6457
6458 * gansidecl.h (HAVE_STRINGIZE): Define, if stage2 gcc && __STDC__.
6459
6460 * system.h (HAVE_STRINGIZE): Test this instead of HAVE_CPP_STRINGIFY.
6461
6462 * acconfig.h (HAVE_CPP_STRINGIFY): Delete.
6463
6464 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Delete.
6465 (HAVE_STRINGIZE): Define.
6466
6467 Wed Sep 22 06:25:15 1999 Jim Kingdon <http://developer.redhat.com>
6468
6469 * c-parse.in: save and restore warn_pointer_arith on __extension__
6470 along with pedantic.
6471 (SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added.
6472 Set the type of extension to itype rather than $<itype>1 kludge.
6473 * extend.texi (Alternate Keywords): Adjust documentation.
6474 * c-parse.c, c-parse.y, objc-parse.c, objc-parse.y: Rebuilt.
6475
6476 Wed Sep 22 06:06:57 1999 Jeffrey A Law (law@cygnus.com)
6477
6478 * pa.c, pa.h, pa.md: Support multiple assembler dialects in
6479 most assembler templates.
6480
6481 * pa.c (hppa_legitimize_address): Handle full offsets for PA2.0
6482 FP loads and stores.
6483 (following_call): Always return zero for the PA8000.
6484 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Handle full offsets for PA2.0
6485 FP loads and stores.
6486 (LEGITIMIZE_RELOAD_ADDRESS): Similarly.
6487
6488 * pa.h (BRANCH_COST): Define.
6489
6490 * pa.md (return, return_internal): Use bve for PA2.0.
6491
6492 * pa.md (fused multiply): Add variants which reduce height for the
6493 fused multiply, but which still generate 2 insns.
6494 (fnegabs): Similarly.
6495
6496 * pa.md (subsi3): Turn into an expander. Create two anonymous
6497 patterns. One for PA2.0 one for PA1.x. Use mtsarcm for PA2.0.
6498 * pa.h (EXTRA_CONSTRAINT): Handle 'S'.
6499
6500 * pa.md (floatunssisf2, floatunssidf2): Generate different RTL
6501 for TARGET_PA_20.
6502 (floatunssidf2_pa20, floatunssisf2_pa20): New patterns for PA2.0
6503 code generation.
6504 (floatunsdisf2, floatunsdidf2, fixuns_truncsfsi2): Likewise.
6505 (fixuns_truncdfsi2, fixuns_truncsfdi2, fixuns_truncdfsi2): Likewise.
6506
6507 * regclass.c (init_regs): Add "top_of_stack" as a garbage
6508 collection root.
6509
6510 * flow.c (record_active_eh_regions): Terminate loop after finding
6511 the last insn in the last basic block.
6512
6513 Wed Sep 22 20:25:00 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6514
6515 * config/c4x/c4x.md: Delete parallel instruction peepholes.
6516
6517 Wed Sep 22 19:59:19 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6518
6519 * config/c4x/c4x.c (c4x_add_gc_roots): Add tree roots.
6520
6521 Wed Sep 22 19:56:25 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6522
6523 * config/c4x/c4x.c (c4x_process_after_reload): Rework machdep insn
6524 splitting to not use output template.
6525
6526 Wed Sep 22 19:50:12 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6527
6528 * config/c4x/c4x.h (EXPAND_BUILTIN_VA_START): Call c4x_va_start.
6529 * config/c4x/c4x.c (c4x_va_start): New function.
6530
6531 Tue Sep 21 18:40:01 1999 Jan Hubicka <hubicka@freesoft.cz>
6532
6533 * genrecog.c (not_both_true): Handle correctly cases when called for
6534 tests with different positions in the insn.
6535
6536 Tue Sep 21 18:29:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6537
6538 * machmode.h (HOST_PTR_PRINTF): Move from here ...
6539
6540 * system.h (HOST_PTR_PRINTF): ... to here.
6541
6542 * mips-tfile.c: Don't include machmode.h.
6543
6544 * Makefile.in (MACHMODE_H): New variable. Update to use it.
6545 (mips-tfile.o): Don't depend on machmode.h.
6546
6547 Tue Sep 21 18:27:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6548
6549 * haifa-sched.c (sched_analyze): Rename local variable `region' to
6550 avoid conflicts with typedef struct `region' at the top level scope.
6551
6552 Tue Sep 21 14:14:50 1999 Richard Henderson <rth@cygnus.com>
6553
6554 * basic-block.h (basic_block): Add eh_beg, eh_end.
6555 * flow.c (entry_exit_blocks): Update.
6556 (find_basic_blocks): Don't allocate bb_eh_end, or pass it around.
6557 Call new functions.
6558 (find_basic_blocks_1): Don't record eh_list at each bb. Use
6559 lists.c functions to allocate insn lists.
6560 (make_edges): Use eh_beg+eh_end, not the lists. Split out EH
6561 edge creation ...
6562 (make_eh_edge): ... here. New.
6563 (move_stray_eh_region_notes): New.
6564 (record_active_eh_regions): New.
6565 (delete_unreachable_blocks): Split out block merging ...
6566 (try_merge_blocks): ... here. New.
6567 (merge_blocks_move_predecessor_nojumps): Remove edge arg.
6568 Dump debugging data.
6569 (merge_blocks_move_successor_nojumps): Likewise.
6570 (merge_blocks): Use eh_beg+eh_end to validate block movement.
6571
6572 Tue Sep 21 11:15:03 1999 Martin v. Löwis <loewis@informatik.hu-berlin.de>
6573
6574 * extend.texi (Bound member functions): Document unbound pmf
6575 conversion.
6576
6577 Tue Sep 21 14:55:11 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
6578
6579 * flow.c (split_edge): Handle insertion on a fallthrough edge which
6580 has the EXIT_BLOCK as a dest.
6581
6582 Tue Sep 21 14:51:23 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
6583
6584 * flow.c (remove_edge): New function to remove an edge from the
6585 flow graph.
6586 (remove_fake_successors): New function to remove fake successor edges.
6587 (remove_fake_edges): New function to remove all fake edges from the
6588 flow graph.
6589 (add_fake_exit_edges): New function to add fake edges from all blocks
6590 with no successors to the exit block.
6591 * basic-block.h (remove_fake_edges, add_fake_exit_edges): Add
6592 prototypes for new functions.
6593
6594 Tue Sep 21 14:49:53 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
6595
6596 * config/mips/elf64.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
6597 Use Pmode to determine whether to output .dword or .word.
6598
6599 Tue Sep 21 11:04:34 1999 Alex Samuel <samuel@codesourcery.com>
6600
6601 * tree.c (built_in_filename): New variable.
6602 (BUILT_IN_FILENAME): New macro.
6603 (init_tree_codes): Allocate built_in_filename.
6604 (make_node): Use built_in_filename instead of string constant.
6605
6606 Tue Sep 21 14:13:27 1999 Nick Clifton <nickc@cygnus.com>
6607
6608 * configure.in: Add fr30 target.
6609 * configure: Regenerate.
6610 * config/fr30: New directory.
6611 * config/fr30/crti.asm: New file.
6612 * config/fr30/fr30.c: New file.
6613 * config/fr30/crtn.asm: New file.
6614 * config/fr30/fr30.h: New file.
6615 * config/fr30/fr30.md: New file.
6616 * config/fr30/lib1funcs.asm: New file.
6617 * config/fr30/t-fr30: New file.
6618 * config/fr30/xm-fr30.h: New file.
6619
6620 Tue Sep 21 06:45:31 1999 Jeffrey A Law (law@cygnus.com)
6621
6622 * flow.c (merge_blocks_move_successor_nojumps): Delete the
6623 BARRIER at the end of the successor, not the BARRIER before
6624 the successor.
6625
6626 * pa.c (pa_add_gc_roots): Fix thinko in last change.
6627
6628 Tue Sep 21 05:29:17 1999 Richard Earnshaw (rearnsha@arm.com)
6629
6630 * stmt.c (any_pending_cleanups): Don't crash when
6631 current_function->stmt is unset.
6632
6633 Tue Sep 21 00:59:49 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6634
6635 * emit-rtl.c (init_emit_once): Initialize const_int_rtx before
6636 other initializations that may use it for relative offsets.
6637
6638 Mon Sep 20 21:43:25 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6639
6640 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs.
6641 (ASM_SPEC): Moved from sol2dbg.h. Added work-around for gas.
6642 * config/i386/sol2dbg.h: Removed.
6643 * config/i386/sol2gas.h: New file, to enable gas work-around.
6644 * configure.in: Use i386/sol2gas.h on Solaris/x86 --with-gas.
6645 Don't use sol2dbg.h.
6646 * configure: Rebuilt.
6647
6648 Mon Sep 20 13:29:41 1999 Mark Mitchell <mark@codesourcery.com>
6649
6650 * invoke.texi (-fthis-is-variable): Remove documentation.
6651
6652 Mon Sep 20 12:59:16 1999 Richard Henderson <rth@cygnus.com>
6653
6654 * basic-block.h (compute_bb_for_insn): Declare.
6655 * flow.c (compute_bb_for_insn): Export. Don't accept the varray
6656 to use; set size of basic_block_for_insn directly.
6657 (find_basic_blocks): Update.
6658
6659 Mon Sep 20 15:11:54 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6660
6661 * flow.c (verify_flow_info): Fix typo, "abort;" -> "abort ();".
6662
6663 Mon Sep 20 14:56:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6664
6665 * crtstuff.c (ON_EXIT): Delete empty macro definition.
6666 (__do_global_ctors_aux): Call atexit(), not ON_EXIT().
6667
6668 Mon Sep 20 15:25:35 1999 Nick Clifton <nickc@cygnus.com>
6669
6670 * c-decl.c (c_decode_option): Extend comment.
6671
6672 Mon Sep 20 14:43:37 1999 Nick Clifton <nickc@cygnus.com>
6673
6674 * toplev.c (progname): Make 'const char *'
6675 (flag_print_mem): Move out of main.
6676 (version_flag): Move out of main.
6677 (filename): Move out of main.
6678 (debug_args): Remove g prefix from options.
6679 (documented_lang_options): Remove cpplib specific options.
6680 (display_help): Add g prefix to debug options.
6681 (check_lang_option): Delete this function.
6682 (decode_d_option): New function: Decode -d... option.
6683 (decode_f_option): New function: Decode -f... option.
6684 (decode_W_option): New function: Decode -W... option.
6685 (decode_g_option): New function: Decode -g... option.
6686 (independent_decode_option): New function: Decode a language
6687 independent command line option.
6688 (main): Invoke lang_decode_option and then
6689 independent_decode_option on each command line option in
6690 turn.
6691
6692 Mon Sep 20 05:41:36 1999 Jeffrey A Law (law@cygnus.com)
6693
6694 Revert this change. Gavin's patch to operand_equal_p is a better fix.
6695 * fold-const.c (fold_range_test): Do not try to fold the range
6696 test if the rhs or lhs has side effects.
6697
6698 * basic-block.h (compute_flow_dominators): Declare.
6699
6700 * gcse.c (alloc_code_hoist_mem): New function.
6701 (free_code_hoist_mem, compute_code_hoist_vbeinout): Likewise.
6702 (compute_code_hoist_data, hoist_expr_reaches_here_p): Likewise.
6703 (hoist_code, one_code_hoisting_pass): Likewise.
6704 (gcse_main): If optimizing for size, then hoist expressions
6705 computed in multiple dominated basic blocks.
6706
6707 * gcse.c (invalid_nonnull_info): New function.
6708 (delete_null_pointer_checks): Likewise.
6709 * rtl.h (delete_null_pointer_checks): Declare.
6710 * toplev.c (rest_of_compilation): Call delete_null_pointer_checks.
6711
6712 * flow.c (merge_blocks_move_predecessor_nojumps): New function.
6713 (merge-blocks_move_successor_nojumps): Likewise.
6714 (merge_blocks): Allow merging of some blocks, even if it requires
6715 physical movement of the blocks, but not if it requires new jumps.
6716
6717 * bitmap.c (debug_bitmap_file): Renmaed from bitmap_debug_file.
6718 Callers and prototype changed.
6719 * bitmap.h: Fix debug_bitmap and debug_bitmap_file prototypes.
6720
6721 Mon Sep 20 06:56:32 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6722
6723 * config/sparc/sol2.h (LINK_SPEC): Avoid the duplication of
6724 -YP when both -p and -pg are present. From i386/sol2.h.
6725
6726 Mon Sep 20 10:49:05 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6727
6728 * Makefile.in (distclean): Delete tm_p.h.
6729 * configure.in: Create a new file, "tm_p.h", from a list in
6730 "tm_p_file". For ix86 systems, set up "tm_p_file" to include
6731 "i386/i386-protos.h".
6732
6733 * alias.c: Include "tm_p.h".
6734 * c-typeck.c: Likewise.
6735 * calls.c: Likewise.
6736 * cse.c: Likewise.
6737 * emit-rtl.c: Likewise.
6738 * explow.c: Likewise.
6739 * expmed.c: Likewise.
6740 * expr.c: Likewise.
6741 * final.c: Likewise.
6742 * flow.c: Likewise.
6743 * fold-const.c: Likewise.
6744 * function.c: Likewise.
6745 * gcse.c: Likewise.
6746 * global.c: Likewise.
6747 * haifa-sched.c: Likewise.
6748 * integrate.c: Likewise.
6749 * jump.c: Likewise.
6750 * local-alloc.c: Likewise.
6751 * loop.c: Likewise.
6752 * optabs.c: Likewise.
6753 * recog.c: Likewise.
6754 * reg-stack.c: Likewise.
6755 * regclass.c: Likewise.
6756 * regmove.c: Likewise.
6757 * reload.c: Likewise.
6758 * reload1.c: Likewise.
6759 * reorg.c: Likewise.
6760 * resource.c: Likewise.
6761 * stmt.c: Likewise.
6762 * stor-layout.c: Likewise.
6763 * toplev.c: Likewise.
6764 * tree.c: Likewise.
6765 * unroll.c: Likewise.
6766 * genattrtab.c (main): Make generated file include "tm_p.h".
6767 * genemit.c (main): Likewise.
6768 * genoutput.c (main): Likewise.
6769 * genrecog.c (main): Likewise.
6770
6771 * i386.h: Delete all prototypes.
6772 * i386.c: Include "tm_p.h".
6773 (ix86_attr_length_default): Call constant_call_address_operand
6774 with correct number of arguments.
6775 * i386-protos.h: New file.
6776 * i386.md (unnamed patterns): Call constant_call_address_operand
6777 with correct number of arguments.
6778 (exception_receiver): Call load_pic_register with correct number
6779 of arguments.
6780
6781 Sun Sep 19 14:18:39 1999 Richard Henderson <rth@cygnus.com>
6782
6783 * c-pragma.c (mark_align_stack): Dereference the void* properly.
6784
6785 Sun Sep 19 09:03:40 1999 Mark Mitchell <mark@codesourcery.com>
6786
6787 * rtl.h (insns_safe_to_move_p): New function.
6788 * loop.c (find_and_verify_loops): Use it.
6789 * rtlanal.c (insns_safe_to_move_p): Define it.
6790
6791 Sun Sep 19 02:54:33 1999 Richard Henderson <rth@cygnus.com>
6792
6793 * c-pragma.c: Include ggc.h.
6794 * Makefile.in (c-pragma.o): Update.
6795
6796 Sat Sep 18 16:01:18 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6797
6798 * config/i386/sol2.h (CPP_SPEC): Support -[p]threads
6799 (LIB_SPEC): Likewise.
6800 (LINK_SPEC): Do not assert -z text with -shared -mimpure-text.
6801 Reindent -YP/-p/-pg.
6802 Copied from config/sparc/sol2.h.
6803
6804 Sat Sep 18 11:52:43 1999 Richard Henderson <rth@cygnus.com>
6805
6806 * c-pragma.c (mark_align_stack): New.
6807 (init_pragma): New.
6808 * c-pragma.h (init_pragma): Declare it.
6809 * c-lex.c (init_parse): Call it.
6810
6811 Sat Sep 18 15:20:38 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6812
6813 * configure.in: Pick up thread library on Solaris/x86 just
6814 like on Solaris/sparc.
6815 * configure: Rebuilt.
6816
6817 Sat Sep 18 11:15:58 1999 Alex Samuel <samuel@codesourcery.com>
6818
6819 * rtl.h (global_rtx_index): New enum.
6820 (global_rtl): Change to array of rtx.
6821 (pc_rtx, cc0_rtx): Redefine accordingly.
6822 (cc0_rtx, stack_pointer_rtx, frame_pointer_rtx): Likewise.
6823 (hard_frame_pointer_rtx, arg_pointer_rtx): Likewise.
6824 (virtual_incoming_args_rtx, virtual_stack_vars_rtx): Likewise.
6825 (virtual_outgoing_args_rtx, virtual_cfa): Likewise.
6826 (const_int_rtx): Change to array of rtx.
6827 (const0_rtx, const1_rtx, const2_rtx, constm1_rtx): Redefine
6828 accordingly.
6829 * emit-rtl.c (global_rtl): Change to array of rtx.
6830 (const_int_rtx): Change to aray of rtx.
6831 (gen_rtx_CONST_INT): Redefine accordingly.
6832 (init_emit_once): Allocate and initialize global_rtl. Likewise
6833 for const_int_rtx. Add both as GC roots.
6834 * genattrtab.c (global_rtl): Update declaration.
6835
6836 1999-09-17 Ulrich Drepper <drepper@cygnus.com>
6837
6838 * Makefile (USER_H): Add iso646.h back.
6839
6840 Sat Sep 18 01:07:21 1999 Jeffrey A Law (law@cygnus.com)
6841
6842 * haifa-sched.c (sched_analyze): Use free_INSN_LIST_list instead of
6843 zapping the LOG_LINKS of sched_before_next_call.
6844
6845 * pa.h (INSN_SETS_ARE_DELAYED): Delete.
6846 * pa.c (insn_refs_are_delayed): Renamed from
6847 insn_sets_and_refs_are_delayed.
6848
6849 Fri Sep 17 15:19:01 1999 Mark Mitchell <mark@codesourcery.com>
6850
6851 * functiion.h (struct function): Add x_whole_function_mode_p.
6852 (retrofit_block): Declare.
6853 * function.c (retrofit_block): New function.
6854 (identify_blocks): Add assertions. Allow an incomplete set of
6855 block notes if we're still generating code for the function.
6856 * integrate.c: Include loop.h.
6857 (expand_inline_function): Call find_loop_tree_blocks to map block
6858 notes to blocks when in whole-function mode. Use retrofit_block
6859 to insert new BLOCKs for the inlined function, rather than
6860 insert_block.
6861 * stmt.c (expand_fixup): Likewise. Don't use pushlevel/polevel.
6862 * Makefile.in (integrate.o): Depend on loop.h.
6863
6864 Fri Sep 17 15:11:20 1999 Mark Mitchell <mark@codesourcery.com>
6865
6866 * tree.h (warn_about_unused_variables): Declare.
6867 * stmt.c (warn_about_unused_variables): New function, split out
6868 from ...
6869 (expand_end_bindings): Here.
6870
6871 Fri Sep 17 15:07:37 1999 Mark Mitchell <mark@codesourcery.com>
6872
6873 * stmt.c (preserve_subexpressions_p): Don't crash when
6874 current_function->stmt is unset.
6875
6876 Fri Sep 17 15:03:16 1999 Mark Mitchell <mark@codesourcery.com>
6877
6878 * stmt.c (expand_start_bindings): Allow callers to pass a flag
6879 indicating that no NOTE_INSN_BLOCK_BEG note is required.
6880 (expand_start_target_temps): Use it.
6881 * except.c (expand_eh_region_start_for_decl): Likewise.
6882 * expr.c (expand_expr): Likewise.
6883
6884 Fri Sep 17 15:05:27 1999 Gavin Romig-Koch <gavin@cygnus.com>
6885
6886 * fold-const.c (operand_equal_p): Pay attention to side effects.
6887
6888 Fri Sep 17 11:14:17 1999 Jason Merrill <jason@yorick.cygnus.com>
6889
6890 * libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
6891 * sparc/sunos4.h (HAVE_ON_EXIT): Remove.
6892
6893 * tlink.c (scan_linker_output): Look for keywords before accepting
6894 a mangled name in quotes.
6895
6896 Thu Sep 16 16:47:08 1999 Richard Henderson <rth@cygnus.com>
6897
6898 * alpha/alpha-interix.h (DWARF2_UNWIND_INFO): Define to zero.
6899 * alpha/osf2or3.h (DWARF2_UNWIND_INFO): Likewise.
6900
6901 Thu Sep 16 16:35:41 1999 Richard Henderson <rth@cygnus.com>
6902
6903 * alpha.md: Revert Thu Nov 26 change that came in through the
6904 last gcc2 merge: reinstate (plus (plus ...)) reload patterns.
6905 Avoid earlyclobber when possible.
6906
6907 Thu Sep 16 18:44:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6908
6909 * libgcc2.c (__do_global_ctors): Call atexit with one arg.
6910
6911 * sparc/sunos4.h (on_exit): Wrap prototype parameters in PARAMS().
6912 Define HAVE_ON_EXIT.
6913
6914 Thu Sep 16 18:06:35 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6915
6916 * system.h (CTYPE_CONV, TOUPPER, TOLOWER): New macros. Use
6917 CTYPE_CONV in all ctype macros.
6918
6919 * cccp.c (initialize_char_syntax): Use uppercase ctype macro
6920 from system.h.
6921
6922 * cexp.y (initialize_random_junk): Likewise.
6923
6924 * c4x.c (c4x_interrupt_function_p, c4x_handle_pragma): Likewise.
6925
6926 * i370.c (handle_pragma): Likewise.
6927
6928 * i370.h (ASM_OUTPUT_LABELREF, ASM_OUTPUT_ASCII): Likewise.
6929
6930 * v850.c (override_options): Likewise.
6931
6932 * doprint.c (_doprnt): Likewise.
6933
6934 * fixinc/fixincl.c (main, quoted_file_exists, extract_quoted_files):
6935 Likewise.
6936
6937 * fixinc/server.c (load_data): Likewise.
6938
6939 * fold-const.c (real_hex_to_f): Likewise.
6940
6941 * genattr.c (write_upcase, gen_attr): Likewise.
6942
6943 * genattrtab.c (convert_const_symbol_ref, evaluate_eq_attr,
6944 write_upcase): Likewise.
6945
6946 * genemit.c (print_code): Likewise.
6947
6948 * genopinit.c (gen_insn): Likewise.
6949
6950 * genpeep.c (print_code): Likewise.
6951
6952 * genrecog.c (print_code): Likewise.
6953
6954 * optabs.c (init_libfuncs): Likewise.
6955
6956 Thu Sep 16 14:03:32 1999 Mark Mitchell <mark@codesourcery.com>
6957
6958 * haifa-sched.c (sched_analyze): Keep the list of notes organized
6959 in pairs.
6960 (reemit_notes): Likewise.
6961
6962 Thu Sep 16 11:50:52 1999 Alex Samuel <samuel@codesourcery.com>
6963
6964 * ggc.h (ggc_root): Move to ggc-common.c.
6965 (roots): Remove.
6966 (ggc_mark_rtx, ggc_mark_tree): Change to macro.
6967 (ggc_mark_rtvec, ggc_mark_tree_varray): Declare extern.
6968 (ggc_mark_tree_hash_table, ggc_mark_string, ggc_mark): Likewise.
6969 (ggc_mark_roots, ggc_mark_rtx_children, ggc_mark_tree_children): New.
6970 * ggc-common.c (ggc_root): Move from ggc.h.
6971 (roots): Declare, static.
6972 (ggc_mark_rtx, ggc_mark_tree): Renamed to...
6973 (ggc_mark_rtx_children, ggc_mark_tree_children): Don't check for
6974 null or check/set mark bit.
6975 (ggc_mark_roots): New.
6976 * ggc-simple.c (ggc_collect): Call ggc_mark_roots.
6977
6978 Thu Sep 16 11:37:32 1999 Richard Henderson <rth@cygnus.com>
6979
6980 * m32r.c: Include toplev.h.
6981 (*): Add ATTRIBUTE_UNUSED as needed to arguments.
6982 (gen_compare): Rename swap_p to must_swap to match uses.
6983 Add default abort case.
6984 (m32r_output_function_epilogue): Remove unused variables.
6985 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
6986 * m32r.h (PROTO, STDIO_PROTO): Rename XPROTO; unconditionally
6987 define to empty parameter list. Update all uses.
6988 (predicate decls): Use enum machine_mode not int.
6989 * m32r.md (movsi): Call abort, not fatal_insn.
6990 (zero_branch_insn, rev_zero_branch_insn): Add default abort case.
6991
6992 1999-09-14 Andrew Haley <aph@cygnus.com>
6993
6994 * config/mips/mips.md (movsi_usw): if operand 1 is const_int 0,
6995 use $0 instead of 0.
6996
6997 Thu Sep 16 10:53:36 1999 Bernd Schmidt <bernds@cygnus.co.uk>
6998
6999 * reload1.c (order_regs_for_reload): Move hard_reg_n_uses
7000 computation out of loop over hard regs.
7001
7002 Wed Sep 15 21:37:06 1999 Mark Mitchell <mark@codesourcery.com>
7003
7004 * function.c (identify_blocks): Don't shadow a variable in an
7005 outer scope.
7006 * integrate.c (integrate_decl_tree): Don't use pushlevel,
7007 pushdecl, or poplevel to build up the new BLOCK tree.
7008 (expand_inline_function): Likewise.
7009 (integrate_parm_decls): Likewise.
7010
7011 Wed Sep 15 21:20:38 1999 Mark Mitchell <mark@codesourcery.com>
7012
7013 * c-typeck.c (qualify_type): Merge qualifiers from both types.
7014
7015 1999-09-15 Brad Lucier <lucier@math.purdue.edu>
7016
7017 * toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math
7018 * invoke.texi: Document this change.
7019
7020 Wed Sep 15 17:56:00 1999 Richard Henderson <rth@cygnus.com>
7021
7022 * emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT.
7023 Free the struct.
7024 (mark_emit_status): Renamed from mark_emit_state.
7025 * except.c (mark_eh_status): Renamed from mark_eh_state.
7026 Check not null before marking.
7027 (free_eh_status): New.
7028 * expr.c (mark_expr_status, free_expr_status): New.
7029 * function.c (free_machine_status): New.
7030 (free_after_parsing): New.
7031 (free_after_compilation): Move bits to free_after_parsing; call
7032 free_eh_status, free_expr_status; zero the marked members of the
7033 function state.
7034 (prepare_function_start): No can_garbage_collect.
7035 Call init_eh_for_function.
7036 (expand_dummy_function_end): Free up current_function state.
7037 (mark_function_status): Renamed from mark_function_state.
7038 (mark_function_chain): No can_garbage_collect. Call mark_expr_status.
7039 * function.h (struct function): No can_garbage_collect.
7040 (free_machine_status, free_after_parsing): Declare.
7041 (free_eh_status, free_expr_status): Declare.
7042 * ggc.h (mark_expr_status): Declare.
7043 * stmt.c (free_stmt_status): Free the struct.
7044 (mark_stmt_status): Renamed from mark_stmt_state.
7045 (init_stmt): Don't call init_eh.
7046 (init_stmt_for_function): Don't call init_eh_for_function.
7047 * toplev.c (compile_file): Call init_eh.
7048 (rest_of_compilation): Free basic block info before ggc_collect.
7049 Call free_after_parsing; conditionally call free_after_compilation.
7050 * varasm.c (mark_varasm_status): Renamed from mark_varasm_state.
7051 Check not null before marking.
7052 (free_varasm_status): Don't check DECL_DEFER_OUTPUT. Free the struct.
7053
7054 Wed Sep 15 17:53:16 1999 Richard Henderson <rth@cygnus.com>
7055
7056 * c-lex.c (yylex): Initialize warn.
7057
7058 Wed Sep 15 18:35:38 1999 Jeffrey A Law (law@cygnus.com)
7059
7060 * pa.c (emit_move_sequence): Properly set the mode of the scratch
7061 register when performing secondary reloads for the SAR register.
7062
7063 Wed Sep 15 15:51:52 1999 Mark Mitchell <mark@codesourcery.com>
7064
7065 * rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
7066 (NOTE_BLOCK): New macro.
7067 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Remove.
7068 * function.h (identify_blocks): Change prototype.
7069 * function.c (identify_blocks): Simplify.
7070 (reorder_blocks): Likewise.
7071 * ggc-common.c (ggc_mark_rtx): Mark the BLOCK associated with a
7072 NOTE_INSN_BLOCK_{BEG,END}.
7073 * haifa-sched.c (sched_analyze): Don't put NOTE_BLOCK_NUMBER on
7074 the list of saved notes if the note isn't a
7075 NOTE_INSN_BLOCK_{BEG,END}.
7076 (move_insn1): Use NOTE_EH_HANDLER in comment, rather than
7077 NOTE_BLOCK_NUMBER.
7078 (reemit_notes): Adjust recreation of notes to reflect new saved
7079 note structure.
7080 * print-rtl.c (print_rtx): Print the address of the BLOCK when
7081 printing a block note.
7082 * stmt.c (block_vector): Remove.
7083 (find_loop_tree_blocks): Simplify.
7084 (unroll_block_trees): Likewise.
7085 * tree.h (reorder_block): Change prototype.
7086
7087 Wed Sep 15 14:39:35 1999 Jason Merrill <jason@yorick.cygnus.com>
7088
7089 * gbl-ctors.h: Lose HAVE_ATEXIT. Don't define ON_EXIT.
7090 * libgcc2.c: Lose obsolete defn of WEAK_ALIAS.
7091 (__bb_init_func, __bb_init_prg): Use atexit instead of ON_EXIT.
7092 (__do_global_dtors): Likewise. Don't mess with _exit_dummy_decl.
7093 (atexit, exit): Simplify.
7094 * tm.texi: Document NEED_ATEXIT and ON_EXIT. Remove HAVE_ATEXIT.
7095 * config/lots: Remove defns of HAVE_ATEXIT.
7096
7097 Wed Sep 15 10:25:12 1999 Mark Mitchell <mark@codesourcery.com>
7098
7099 * calls.c (precompute_arguments): Fix typo in comment.
7100 * expr.c (preexpand_calls): Don't preexpand the cleanup in a
7101 TARGET_EXPR.
7102
7103 Wed Sep 15 09:59:59 1999 Mark Mitchell <mark@codesourcery.com>
7104
7105 * dsp16xx.c (override_options): Fix typos in GC root registration.
7106
7107 Wed Sep 15 15:23:28 1999 Philip Blundell <pb@nexus.co.uk>
7108
7109 * config/arm/linux-elf.h (MAKE_DECL_ONE_ONLY): Copy definition
7110 from config/svr4.h.
7111 (UNIQUE_SECTION_P, UNIQUE_SECTION): Likewise.
7112 (FUNCTION_PROFILER): Redefine appropriately for Linux.
7113 (CC1_SPEC): Likewise.
7114
7115 Wed Sep 15 10:09:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7116
7117 * genattr.c (main): Add extern prototype. Call return, not exit.
7118 * genattrtab.c (main): Likewise.
7119 * gencheck.c (main): Likewise.
7120 * gencodes.c (main): Likewise.
7121 * genconfig.c (main): Likewise.
7122 * genemit.c (main): Likewise.
7123 * genextract.c (main): Likewise.
7124 * genflags.c (main): Likewise.
7125 * gengenrtl.c (main): Likewise.
7126 * genopinit.c (main): Likewise.
7127 * genoutput.c (main): Likewise.
7128 * genpeep.c (main): Likewise.
7129 * genrecog.c (main): Likewise.
7130
7131 * genattr.c (get_insn_name): Mark parameter with ATTRIBUTE_UNUSED.
7132 * genattrtab.c (get_insn_name): Likewise.
7133 * gencodes.c (get_insn_name): Likewise.
7134 * genconfig.c (get_insn_name): Likewise.
7135 * genemit.c (get_insn_name): Likewise.
7136 * genextract.c (get_insn_name): Likewise.
7137 * genflags.c (get_insn_name): Likewise.
7138 * genopinit.c (get_insn_name): Likewise.
7139 * genpeep.c (get_insn_name): Likewise.
7140
7141 * gencheck.c (usage): Add static prototype.
7142 * genextract.c (print_path): Constify a char*.
7143 * genopinit.c (optabs): Likewise.
7144 * genoutput.c (operand_data, data, output_predicate_decls,
7145 compare_operands): Likewise.
7146 * genrecog.c (write_tree): Add default case in switch.
7147
7148 Wed Sep 15 09:59:16 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7149
7150 * rtl.h (get_insn_name, print_rtl_with_bb): Add prototypes.
7151
7152 * print-rtl.c (get_insn_name): Remove prototype.
7153
7154 * toplev.h (progname): Declare const.
7155
7156 * toplev.c (init_decl_processing, init_obstacks, init_tree_codes,
7157 init_regs, init_optabs, init_stmt, init_reg_sets, dump_flow_info,
7158 dump_sched_info, dump_local_alloc, regset_release_memory,
7159 print_rtl, print_rtl_with_bb, rest_of_decl_compilation,
7160 error_with_file_and_line, error_with_decl, error_for_asm, error,
7161 fatal, warning_with_file_and_line, warning_with_decl, warning,
7162 pedwarn, pedwarn_with_decl, pedwarn_with_file_and_line, sorry):
7163 Remove redundant prototypes.
7164
7165 (notice, check_lang_option, report_file_and_line, vnotice,
7166 mark_file_stack): Add static prototype.
7167 (set_fatal_function): Add prototype.
7168 (vnotice, report_file_and_line, set_fatal_function,
7169 check_lang_option): Constify a char*.
7170 (main): Prototype. Call return, not exit.
7171
7172 Wed Sep 15 09:50:18 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7173
7174 * aclocal.m4 (AC_GCC_C_LONG_DOUBLE): New macro.
7175
7176 * configure.in (AC_GCC_C_LONG_DOUBLE): Call it.
7177
7178 * gansidecl.h (HAVE_LONG_DOUBLE): Define if gcc for stage2.
7179
7180 * ggc-simple.c (HAVE_LONG_DOUBLE): Test before using long double.
7181
7182 Wed Sep 15 11:04:43 1999 Bernd Schmidt <bernds@cygnus.co.uk>
7183
7184 * function.c (assign_parms): Delete arg SECOND_TIME. Don't test it,
7185 behave as if it's zero in all cases.
7186 (expand_function_start): Adjust call to assign_parms.
7187 * tree.h (assign_parms): Adjust prototype.
7188 * objc/objc-act.c (hack_method_prototype): Adjust call to
7189 assign_parms.
7190
7191 Tue Sep 14 21:47:06 1999 Jeffrey A Law (law@cygnus.com)
7192
7193 * cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to
7194 arg_pointer_rtx fixed if the argument pointer register is
7195 not fixed.
7196 (NONZERO_BASE_PLUS_P): Likewise.
7197
7198 Tue Sep 14 20:26:02 1999 Richard Henderson <rth@cygnus.com>
7199
7200 * rtl.def (match_insn, match_insn2): Remove match_insn; rename
7201 match_insn2 to match_insn.
7202 * genrecog.c (add_to_sequence): Rename MATCH_INSN2.
7203
7204 Tue Sep 14 20:10:29 1999 Richard Henderson <rth@cygnus.com>
7205
7206 * Makefile.in (USER_H): Remove va-foo.h.
7207
7208 * ginclude/{va-alpha.h,va-arc.h,va-c4x.h,va-clipper.h,va-h8300.h,
7209 va-i860.h,va-i960.h,va-m32r.h,va-m88k.h,va-mips.h,va-mn10200.h,
7210 va-mn10300.h,va-pa.h,va-ppc.h,va-pyr.h,va-sh.h,va-sparc.h,
7211 va-spur.h,va-v850.h}: Remove.
7212
7213 Tue Sep 14 19:43:16 1999 Richard Henderson <rth@cygnus.com>
7214
7215 * sparc/sparc.md (eligible_for_return_delay): New attribute.
7216 (in_return_delay): Use it instead of match_insn.
7217
7218 Tue Sep 14 23:05:37 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
7219
7220 * config/alpha/va_list.h (va-alpha.h): Do not include.
7221 (__gnuc_va_list): Typedef as in varargs.h.
7222
7223 Tue Sep 14 18:14:03 1999 Richard Henderson <rth@cygnus.com>
7224
7225 * ggc-common.c (ggc_mark_tree): Mark DECL_SOURCE_FILE and
7226 DECL_LIVE_RANGE_RTL.
7227
7228 Tue Sep 14 16:47:08 1999 Mark Mitchell <mark@codesourcery.com>
7229
7230 * except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER,
7231 not NOTE_BLOCK_NUMBER.
7232 (expand_eh_region_end): Likewise.
7233 (find_exception_handler_labels): Likewise.
7234 (scan_region): Likewise.
7235 (exception_optimize): Likewise.
7236 (update_rethrow_references): Likewise.
7237 (set_insn_eh_region): Likewise.
7238 * final.c (final_scan_insn): Likewise.
7239 * flow.c (make_edges): Likewise.
7240 * integrate.c (expand_inline_function): Likewise.
7241 * print-rtl.c (print_rtx): Likewise.
7242
7243 Tue Sep 14 16:30:16 1999 Richard Henderson <rth@cygnus.com>
7244
7245 * ginclude/stdarg.h, ginclude/varargs.h: Implement in
7246 terms of builtin functions and types.
7247
7248 * mips.c (mips_build_va_list): New.
7249 (mips_va_start, mips_va_arg): New.
7250 * mips.h (BUILD_VA_LIST_TYPE): New.
7251 (EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
7252
7253 * sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.
7254 (sh_build_va_list, sh_va_start, sh_va_arg): New.
7255 * sh.h (BUILD_VA_LIST_TYPE): New.
7256 (EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
7257
7258 Tue Sep 14 16:20:24 1999 Richard Henderson <rth@cygnus.com>
7259
7260 * recog.h (struct recog_data): Make dup_num, operand_address_p,
7261 n_operands, n_dups, n_alternatives `char' instead of `unsigned char'.
7262 (struct insn_data): Likewise with n_operands, n_dups,
7263 n_alternatives, output_format.
7264 * regclass.c (scan_one_insn): Cast n_operands to int before
7265 arithmetic inside comparison.
7266
7267 Tue Sep 14 15:13:36 1999 Richard Henderson <rth@cygnus.com>
7268
7269 * toplev.c (compile_function): Unconditionally emit nop.
7270
7271 Tue Sep 14 14:41:47 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7272
7273 * haifa-sched.c (actual_hazard): Move declaration of variable
7274 `this_cost' into the scope where it is used.
7275
7276 Tue Sep 14 14:14:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7277
7278 * c-pragma.c (handle_pragma_token): Wrap variables `name' and
7279 `value' in HANDLE_PRAGMA_WEAK. Wrap variable `align' in
7280 HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.
7281
7282 * genrecog.c (make_insn_sequence): Call memset, not bzero.
7283
7284 * jump.c (find_insert_position): Don't declare or define unless
7285 !HAVE_conditional_arithmetic.
7286 (returnjump_p_1, delete_prior_computation): Add static prototypes.
7287
7288 * mips-tdump.c (fatal, fancy_abort, main): Add extern prototypes.
7289
7290 * recog.c (offsettable_address_p): Prototype function pointer.
7291 (preprocess_constraints): Call memset, not bzero.
7292
7293 * tree.c (tree_node_kind_names): Constify a char*. Make static.
7294 (gcc_obstack_init): Don't declare.
7295 (fix_sizetype): Add static prototype.
7296 (gcc_obstack_init): Use prototype casts in call to _obstack_begin.
7297 (tree_cons): Call memset, not bzero.
7298
7299 * varasm.c (remove_from_pending_weak_list): Wrap declaration and
7300 definition in macro ASM_WEAKEN_LABEL.
7301 (mark_const_hash_entry): Add static prototype.
7302
7303 Tue Sep 14 12:22:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7304
7305 * c-lex.c (handle_generic_pragma): Remove unused variable `c'.
7306
7307 * unroll.c (find_common_reg_term, subtract_reg_term,
7308 loop_find_equiv_value): Add static prototypes.
7309 (unroll_loop): Wrap variable `prev' in macro HAVE_cc0.
7310 (copy_loop_body): Remove unreachable break statement.
7311
7312 * sparc.c (sparc_va_arg): Remove unused variable `tmp'.
7313
7314 * sparc.h (sparc_va_start, sparc_va_arg): Add extern prototypes.
7315
7316 Tue Sep 14 15:28:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
7317
7318 Undo some changes from the gcc2 merge:
7319 * rtl.def (CONSTANT_P_RTX): Fix the comment for this rtx code.
7320 * emit-rtl.c (gen_rtx_REG): Don't test special reg rtx's for null
7321 pointers.
7322
7323 Undo this change:
7324 Sat Oct 3 07:20:28 1998 Stephen L Moshier <moshier@world.std.com>
7325 * emit-rtl.c (gen_lowpart_common): Disable optimization of
7326 initialized float-int union if the value is a NaN.
7327
7328 Tue Sep 14 04:03:44 1999 Mumit Khan <khan@xraylith.wisc.edu>
7329
7330 * gthr-win32.h: New file.
7331
7332 * i386/winnt.c (i386_pe_valid_decl_attribute_p): Recognize
7333 shared as a valid attribute.
7334 * i386/cygwin.h (ASM_OUTPUT_SECTION): Handle shared attribute.
7335 * extend.texi: Document `shared' variable attribute.
7336
7337 Tue Sep 14 04:01:46 1999 Loren Rittle <ljrittle@acm.org>
7338
7339 * configure.in: Handle --enable-threads on FreeBSD.
7340 * configure: Rebuit.
7341
7342 Tue Sep 14 03:58:44 1999 Andreas Jaeger <aj@arthur.rhein-neckar.de>
7343
7344 * configure.in: Add crtbeginS.o, crtendS.o for mips-linux; add
7345 thread support.
7346 * configure: Rebuilt.
7347
7348 Tue Sep 14 03:47:23 1999 Joel Sherrill <joel@OARcorp.com>
7349 Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>
7350 Rosimildo DaSilva <rdasilva@connecttel.com>
7351
7352 * configure.in (m68k-*-rtemscoff*): Added.
7353 * configure.in (mips64orion-*-rtems*): Converted to ELF.
7354 * configure.in (sparc-*-rtemsaout*): Added as alias for old
7355 sparc-rtems configuration.
7356 * configure.in (sparc-*-rtemself*): Added.
7357 * configure.in (sparc-*-rtems*): Now ELF not a.out.
7358 * config/i386/rtems.h: Added comment.
7359 * config/sparc/rtemself.h: New file.
7360
7361 * configure.in (m68k-rtemself): Added.
7362 * config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
7363 and DWARF_DEBUGGING_INFO.
7364 * config/m68k/crti.s: New file.
7365 * config/m68k/crtn.s: New file.
7366 * config/m68k/t-crtstuff: New file.
7367 * config/m68k/rtemself.h: New file.
7368
7369 * configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
7370 global ctor/dtor and C++ exception handling.
7371 * config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
7372 for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
7373 ENDFILE_SPEC.
7374 * config/i386/t-rtems-i386: New File.
7375
7376 Tue Sep 14 09:47:41 1999 Andreas Schwab <schwab@suse.de>
7377
7378 * stmt.c (expand_end_case): Return right away if the case stack is
7379 empty.
7380
7381 Tue Sep 14 01:47:19 1999 Jeffrey A Law (law@cygnus.com)
7382
7383 * Makefile.in (version.c): Remove rule incorrectly brought in from
7384 the gcc2 merge.
7385
7386 Tue Sep 14 01:42:27 1999 Marc Espie <espie@cvs.openbsd.org>
7387
7388 * Makefile.in: Prepend $(SHELL) to move-if-change calls.
7389 * msdos/top.sed: Take into account a prepended $(SHELL) to
7390 move-if-change.
7391 * winnt/config-nt.sed: Likewise. Kill bogus substitution.
7392
7393 * objc/Make-lang.in: Prepend $(SHELL) to move-if-change calls.
7394
7395 Tue Sep 14 01:38:52 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
7396
7397 * regmove.c (fixup_match_1): Don't change an unchanging register.
7398 (stable_but_for_p): Renamed to:
7399 (stable_and_no_regs_but_for_p). Reject unchanging registers too.
7400 Changed all callers.
7401
7402 Tue Sep 14 01:33:15 1999 Andreas Schwab <schwab@suse.de>
7403
7404 * loop.c (strength_reduce): Don't call reg_used_between_p if the
7405 insn from BL2 is after the insn from BL.
7406
7407 Mon Sep 13 21:06:01 1999 Richard Henderson <rth@cygnus.com>
7408
7409 * recog.h (INSN_OUTPUT_FORMAT_*): New.
7410 (struct insn_data): Merge `template' and `outfun' into `output'.
7411 Add `output_format'.
7412 * genoutput.c (INSN_OUTPUT_FORMAT_*): New.
7413 (struct data): Remove `outfun'; add `output_format'.
7414 (name_for_index): Remove declaration.
7415 (output_insn_data): Handle output formats.
7416 (process_template): Emit the bare array for @.
7417 (gen_expand, gen_split): Set output_format to NONE.
7418 * output.h (get_insn_template): Declare.
7419 * final.c (get_insn_template): New.
7420 (final_scan_insn): Use it.
7421 * toplev.c (compile_file): Likewise.
7422
7423 * c4x/c4x.c (c4x_process_after_reload): Likewise.
7424 * i860/i860.c (output_delayed_branch): Likewise.
7425 (output_delay_insn): Likewise.
7426
7427 1999-09-13 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
7428
7429 * rtl.c (obstack_alloc_rtx): Removed.
7430
7431 1999-09-13 17:03 -0700 Zack Weinberg <zack@bitmover.com>
7432
7433 * config/gmicro/gmicro.md: Disable move DF->DI anonymous pattern.
7434
7435 Mon Sep 13 15:21:46 1999 Richard Henderson <rth@cygnus.com>
7436
7437 * i386.c (call_insn_operand): Reject const_int.
7438 (expander_call_insn_operand): Use call_insn_operand.
7439
7440 Mon Sep 13 17:44:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7441
7442 * gcc.c (getrusage): Wrap prototype arguments in PROTO().
7443
7444 1999-09-13 12:18 -0700 Zack Weinberg <zack@bitmover.com>
7445
7446 * config/i370/i370.md (mulsi, divsi, modsi anonymous insns):
7447 Use DImode operation.
7448
7449 1999-09-13 12:13 -0700 Zack Weinberg <zack@bitmover.com>
7450
7451 * gcc.c: Include sys/resource.h.
7452 (report_times): New flag.
7453 (execute): If report_times is set, calculate and report the
7454 CPU time consumed by each subprocess.
7455
7456 (rus, prus): New globals.
7457 (option_map): Add --time.
7458 (display_help): Document -time.
7459 (process_command): Set report_times if -time is given.
7460 Turn off -pipe if -time is given.
7461
7462 * invoke.texi: Document new option -time.
7463
7464 * configure.in: Check for getrusage. Check if we have to
7465 prototype getrusage.
7466 * acconfig.h: Add NEED_DECLARATION_GETRUSAGE.
7467 * configure: Regenerate.
7468 * config.in: Regenerate.
7469
7470 Mon Sep 13 12:57:06 1999 Dave Brolley <brolley@cygnus.com>
7471
7472 * cppinit.c (append_include_chain): Initialize 'next' and 'alloc'
7473 fields.
7474
7475 Mon Sep 13 10:01:33 1999 Nick Clifton <nickc@cygnus.com>
7476
7477 * config/fp-bit.c: Define L_thenan_sf or L_thenan_df (as
7478 appropriate) if FINE_GRAINED_LIBRARIES is not defined.
7479 (nan): Return _thenan_sf or _thenan_df as appropriate.
7480 (L_thenan_sf): Define _thenan_sf.
7481 (L_thenan_df): Define _thenan_df.
7482
7483 * Makefile.in (FPBIT_FUNCS): Add _thenan_sf.
7484 (DPBIT_FUNCS): Add _thenan_df.
7485
7486 Mon Sep 13 09:38:53 1999 Andreas Schwab <schwab@suse.de>
7487
7488 * tree.c (fix_sizetype): Exchange the types for TYPE_SIZE and
7489 TYPE_SIZE_UNIT.
7490
7491 Sun Sep 12 23:28:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7492
7493 * Makefile.in (gcc.o, gccspec.o, cppspec.o): Depend on gcc.h.
7494
7495 * gcc.h: New file.
7496 (lang_specific_driver): Don't take a function pointer parameter.
7497 All callers changed.
7498
7499 * gcc.c: Include gcc.h.
7500 (do_spec, fancy_abort,lang_specific_driver,lang_specific_pre_link,
7501 lang_specific_extra_outfiles, fatal): Don't declare.
7502 (multilib_defaults_raw): Constify.
7503 (read_specs): Call memset, rather than bzero.
7504 (main): Call return, not exit.
7505 (lookup_compiler): Call memcpy, not bcopy.
7506 (fatal): Make extern.
7507
7508 * cppspec.c: Include gcc.h.
7509 (lang_specific_driver): Initialize variable `quote'. Constify a
7510 char*. All calls to the function pointer parameter now
7511 explicitly call `fatal'.
7512
7513 * gccspec.c (lang_specific_driver): Include gcc.h.
7514
7515 Sun Sep 12 19:52:10 1999 Richard Earnshaw <rearnsha@arm.com>
7516
7517 * arm.c (note_invalid_constants): Use recog_data.operand_type
7518 for recog_op_type.
7519
7520 Sun Sep 12 15:53:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
7521
7522 * tree.h (build_common_tree_nodes, build_common_tree_nodes_2):
7523 Declare.
7524
7525 * reload.h (reload_in, reload_out, reload_in_reg, reload_out_reg,
7526 reload_reg_class, reload_inmode, reload_outmode, reload_optional,
7527 reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
7528 reload_secondary_in_reload, reload_secondary_out_reload,
7529 reload_secondary_in_icode, reload_secondary_out_icode,
7530 reload_reg_rtx, reload_when_needed): Delete declarations.
7531 (struct reload): New structure.
7532 (rld): Declare new array.
7533 * reload.c (reload_in, reload_out, reload_in_reg, reload_out_reg,
7534 reload_reg_class, reload_inmode, reload_outmode, reload_optional,
7535 reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
7536 reload_secondary_in_reload, reload_secondary_out_reload,
7537 reload_secondary_in_icode, reload_secondary_out_icode,
7538 reload_reg_rtx, reload_when_needed): Delete definitions.
7539 (rld): New array.
7540 (whole file): Replace uses of the deleted arrays with uses of rld.
7541 * reload1.c (whole file): Replace uses of the deleted arrays with
7542 uses of rld.
7543 (choose_reload_regs): Copy in/out of save_reload_reg_rtx with
7544 explicit loops, not with bcopy.
7545
7546 Sun Sep 12 05:00:24 1999 Richard Henderson <rth@cygnus.com>
7547
7548 * recog.h (insn_template, insn_outfun, insn_n_operands, insn_n_dups,
7549 insn_n_alternatives, insn_operand_constraint, insn_operand_address_p,
7550 insn_operand_mode, insn_operand_strict_low, insn_operand_predicate,
7551 insn_name): Delete and consolidate into new structures.
7552 (insn_operand_predicate_fn): New.
7553 (insn_output_fn): New.
7554 (insn_gen_fn): New.
7555 (struct insn_operand_data): New.
7556 (struct insn_data): New.
7557 (insn_data): New.
7558 (OUT_FCN): Update for insn_data change.
7559 * builtins.c (expand_builtin_strlen): Likewise.
7560 (expand_builtin_memcmp): Likewise.
7561 * combine.c (make_extraction, simplify_comparison): Likewise.
7562 * cse.c (canon_reg, cse_insn): Likewise.
7563 * explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
7564 * expmed.c (store_bit_field, extract_bit_field): Likewise.
7565 (emit_store_flag): Likewise.
7566 * expr.c (convert_move, emit_block_move): Likewise.
7567 (clear_storage, emit_push_insn, expand_increment): Likewise.
7568 (do_store_flag): Likewise.
7569 * expr.h (GEN_FCN): Likewise.
7570 (insn_gen_function): Die.
7571 * final.c (final_scan_insn): Update for insn_data change.
7572 (output_asm_name): Likewise.
7573 * function.c (fixup_var_refs_1): Likewise.
7574 * loop.c (check_dbra_loop): Likewise.
7575 * optabs.c (expand_binop, expand_twoval_binop): Likewise.
7576 (expand_unop, expand_complex_abs, emit_unop_insn): Likewise.
7577 (prepare_cmp_insn, prepare_operand, emit_indirect_jump): Likewise.
7578 (emit_conditional_move, gen_add2_insn, gen_sub2_insn): Likewise.
7579 * recog.c (validate_replace_rtx_1, extract_insn): Likewise.
7580 * regmove.c (gen_add3_insn): Likewise.
7581 * reload.c (push_secondary_reload, combine_reloads): Likewise.
7582 (find_reloads, find_reloads_address_1): Likewise.
7583 (debug_reload_to_stream): Likewise.
7584 * reload1.c (emit_reload_insns, gen_reload): Likewise.
7585 * stmt.c (expand_end_case): Likewise.
7586 * toplev.c (compile_file): Likewise.
7587
7588 * c4x/c4x.c (c4x_process_after_reload): Likewise.
7589 * i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
7590
7591 * print-rtl.c (insn_name_ptr): Remove declaration.
7592 (get_insn_name): Declare.
7593 (print_rtx): Use it.
7594 * genoutput.c (insn_name_ptr): Remove.
7595 (next_operand_number): New.
7596 (struct operand_data): New.
7597 (null_operand, odata, odata_end): New.
7598 (struct data): Use struct operand_data.
7599 (idata, idata_end): Renamed from insn_data and end_of_insn_data.
7600 (get_insn_name): Renamed from name_for_index.
7601 (output_prologue): Define NO_MD_PROTOTYPES.
7602 (output_predicate_decls): Break out from output_epilogue.
7603 Iterate over the operands list.
7604 (output_operand_data): Break out from output_epilogue. Emit
7605 just the operands list.
7606 (output_insn_data): Break out from output_epilogue. Emit just
7607 the insn data.
7608 (output_epilogue): Remove.
7609 (output_get_insn_name): New.
7610 (constraints, op_n_alternatives, predicates, address_p): Die.
7611 (modes, strict_low, seen): Die.
7612 (scan_operands): Take new param `d' instead of writing to
7613 seven global variables.
7614 (compare_operands): New.
7615 (place_operands): New.
7616 (validate_insn_alternatives): Update for struct data change.
7617 (gen_insn): Don't zero or copy 7 global arrays. Update for
7618 scan_operands; call place_operands.
7619 (gen_peephole, gen_expand, gen_split): Likewise.
7620 (main): Update for new output routines.
7621
7622 * genattr.c (insn_name_ptr): Remove.
7623 (get_insn_name): New function.
7624 * genattrtab.c, gencodes.c, genconfig.c, genemit.c: Likewise.
7625 * genextract.c, genflags.c, genopinit.c, genpeep.c: Likewise.
7626 * genrecog.c: Likewise.
7627
7628 * alpha.md (adddi3): Make `pattern' array static.
7629
7630 Sun Sep 12 22:05:21 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
7631
7632 * config/c4x/c4x.h (c4x_rpts_cycles_string,
7633 c4x_cpu_version_string): Constify char *.
7634 * config/c4x/c4x.c (c4x_rpts_cycles_string,
7635 c4x_cpu_version_string): Likewise.
7636
7637 Sat Sep 11 23:28:33 1999 Richard Henderson <rth@cygnus.com>
7638
7639 * tree.c (save_tree_status): Revert 10 Sep change.
7640 (restore_tree_status): Likewise. Call obstack_free with NULL
7641 before freeing the obstack proper.
7642
7643 Sat Sep 11 23:23:46 1999 Richard Henderson <rth@cygnus.com>
7644
7645 * cse.c (cse_main): If gc'ing, collect around cse_basic_block.
7646
7647 * ggc-simple.c (ggc_pop_context): Fold outstanding bytes into
7648 surrounding context.
7649
7650 Sat Sep 11 19:52:43 1999 Mark Mitchell <mark@codesourcery.com>
7651
7652 * tree.c (type_hash_canon): Put all types in the hash-table, when
7653 GC'ing.
7654
7655 Sat Sep 11 18:37:04 1999 Richard Henderson <rth@cygnus.com>
7656
7657 * recog.h (struct recog_data, recog_data): New.
7658 (recog_foo variables): Kill.
7659 * recog.c (recog_operand, recog_operand_loc): Kill.
7660 (recog_dup_loc, recog_dup_num, recog_n_operands): Kill.
7661 (recog_n_dups, recog_n_alternatives, recog_operand_mode): Kill.
7662 (recog_constraints, recog_op_type, recog_operand_address_p): Kill.
7663 (recog_data): Define.
7664 (extract_insn): Update all recog_foo references to use recog_data.
7665 (preprocess_constraints, constrain_operands): Likewise.
7666 * final.c (final_scan_insn, cleanup_subreg_operands): Likewise.
7667 * genattrtab.c (main): Likewise.
7668 * genextract.c (main): Likewise.
7669 * genoutput.c: Likewise.
7670 * genrecog.c (write_subroutine, main): Likewise.
7671 * local-alloc.c (block_alloc): Likewise.
7672 * reg-stack.c (record_asm_reg_life, subst_asm_stack_regs): Likewise.
7673 * regclass.c (scan_one_insn, record_reg_classes): Likewise.
7674 * regmove.c (regmove_optimize, find_matches, fixup_match_1): Likewise.
7675 * reload.c (find_reloads, find_reloads_toplev): Likewise.
7676 * reload1.c (maybe_fix_stack_asms, eliminate_regs_in_insn): Likewise.
7677 (reload_cse_simplify_operands): Likewise.
7678
7679 * arc/arc.c (arc_final_prescan_insn): Likewise.
7680 * arm/arm.c (note_invalid_constants, arm_final_prescan_insn): Likewise.
7681 * h8300/h8300.c (notice_update_cc): Likewise.
7682 * i386/i386.c (ix86_attr_length_default, ix86_agi_dependant): Likewise.
7683 * i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
7684 * mn10200/mn10200.c (notice_update_cc): Likewise.
7685 * mn10300/mn10300.c (notice_update_cc): Likewise.
7686 * romp/romp.c (update_cc): Likewise.
7687 * sparc/sparc.c (check_pic): Likewise.
7688 * v850/v850.c (notice_update_cc): Likewise.
7689
7690 * genemit.c (main): Don't declare recog_operand.
7691
7692 Sat Sep 11 12:41:55 1999 Alex Samuel <samuel@codesourcery.com>
7693
7694 * ggc.h (rtvec_def): Forward declare.
7695 (tree_node): Likewise.
7696 (ggc_root): Define.
7697 (roots): Declare.
7698 (ggc_set_mark_rtx): Add prototype.
7699 (ggc_set_mark_rtvec): Likewise.
7700 (ggc_set_mark_tree): Likewise.
7701 * ggc-simple.c (ggc_root): Don't define.
7702 (roots): Don't declare.
7703 (ggc_mark_rtx): Remove.
7704 (ggc_mark_rtvec): Likewise.
7705 (ggc_mark_tree): Likewise.
7706 (ggc_mark_varray): Likewise.
7707 (ggc_mark_tree_hash_table_entry): Likewise.
7708 (ggc_mark_tree_hash_table): Likewise.
7709 (ggc_set_mart_rtx): New function.
7710 (ggc_set_mark_rtvec): Likewise.
7711 (ggc_set_mark_tree): Likewise.
7712 (ggc_add_root): Remove.
7713 (ggc_add_rtx_root): Likewise.
7714 (ggc_remove_tree_root): Likewise.
7715 (ggc_add_string_root): Likewise.
7716 (ggc_add_tree_varray_root): Likewise.
7717 (ggc_add_tree_hash_table_root): Likewise.
7718 (ggc_del_root): Likewise.
7719 (ggc_mark_rtx_ptr): Likewise.
7720 (ggc_mark_tree_ptr): Likewise.
7721 (ggc_mark_string_ptr): Likewise.
7722 (ggc_mark_tree_varray_ptr): Likewise.
7723 (ggc_mark_tree_hash_table_ptr): Likewise.
7724 * ggc-common.c: New file.
7725 * Makefile.in (OBJS): Add ggc-common.o.
7726 (ggc-common.o): List dependencies.
7727
7728 1999-09-10 22:37 -0700 Zack Weinberg <zack@bitmover.com>
7729
7730 * cppalloc.c (xstrdup): Use memcpy.
7731 * cpperror.c (cpp_print_containing_files): Don't use
7732 cpp_notice.
7733 * cpplib.c (conditional_skip): Set temp->lineno.
7734 (do_endif): Make error message less obscure.
7735 (if_directive_name): New function.
7736 (cpp_get_token [case EOF]): Unwind the if stack and generate
7737 error messages for each unterminated conditional in this file.
7738 (parse_string): Do not behave differently if -traditional.
7739
7740 Fri Sep 10 14:04:07 1999 Richard Henderson <rth@cygnus.com>
7741
7742 * builtins.c (expand_builtin_va_arg): Cope with an array-type
7743 va_list decomposing to pointer-type.
7744 * rs6000.c (rs6000_va_start) Unwrap the ARRAY_TYPE to get at fields.
7745 (rs6000_va_arg): Likewise.
7746
7747 Fri Sep 10 13:21:21 1999 Jim Wilson <wilson@cygnus.com>
7748
7749 * except.c (start_dynamic_handler): Compute size using
7750 STACK_SAVEAREA_MODE.
7751
7752 Fri Sep 10 16:01:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7753
7754 * protoize.c: Remove various __STDC__ and POSIX hacks. Don't
7755 include directory headers. Don't define strrchr. Don't provide
7756 my_* replacement functions. Prefer PTR over `pointer_type'.
7757 Don't prototype system functions. Don't redefine getopt.
7758
7759 (shortpath, fancy_abort, notice, savestring, dupnstr, substr,
7760 safe_read, safe_write, save_pointers, restore_pointers,
7761 is_id_char, in_system_include_dir, directory_specified_p,
7762 file_excluded_p, unexpand_if_needed, abspath, check_aux_info,
7763 find_corresponding_lparen, referenced_file_is_newer,
7764 save_def_or_dec, munge_compile_params, gen_aux_info_file,
7765 process_aux_info_file, identify_lineno, check_source,
7766 seek_to_line, forward_to_next_token_char, output_bytes,
7767 output_string, output_up_to, other_variable_style_function,
7768 find_rightmost_formals_list, do_cleaning, careful_find_l_paren,
7769 do_processing, is_syscalls_file, rename_c_file, find_extern_def,
7770 find_static_definition, connect_defs_and_decs, add_local_decl,
7771 add_global_decls, needs_to_be_converted, visit_each_hash_node,
7772 add_symbol, lookup, free_def_dec, find_file, reverse_def_dec_list,
7773 edit_fn_declaration, edit_formals_lists, edit_fn_definition,
7774 scan_for_missed_items, edit_file, string_list_cons): Add static
7775 prototypes.
7776 (standard_exec_prefix, target_machine, target_version,
7777 default_syscalls_dir, string_list, string_list_cons, find_file,
7778 do_cleaning): Constify a char*.
7779 (safe_read, safe_write): Use PTR, not a char*.
7780 (is_id_char): Take an int, not a char.
7781 (main): Add prototype. Call return, not exit.
7782
7783 Fri Sep 10 16:48:26 1999 Andrew Haley <aph@cygnus.com>
7784
7785 * tree.c (type_hash_lookup): Check for equal TYPE_ALIGN fields
7786 when comparing types.
7787
7788 Fri Sep 10 08:43:32 1999 Richard Henderson <rth@cygnus.com>
7789
7790 * loop.c (basic_induction_var): Typo NULL_RTX -> NULL.
7791 (strength_reduce): Release the varrays from the no-bivs early exit.
7792
7793 * reload1.c (order_regs_for_reload): Init hard_reg_n_uses before
7794 the loop over the registers.
7795
7796 * tree.c (save_tree_status): Set maybepermanent_firstobj NULL
7797 for a new obstack.
7798 (restore_tree_status): Check that instead when freeing the obstack.
7799
7800 Wed Sep 8 16:12:04 1999 Andrew Haley <aph@cygnus.com>
7801
7802 * alias.c (rtx_equal_for_memref_p): Allow CONST_DOUBLEs to be used
7803 as pointers.
7804
7805 Fri Sep 10 11:58:55 1999 Bernd Schmidt <bernds@cygnus.co.uk>
7806
7807 * i386.md (ashlqi3): For NON_QI_REG_P regs, use sall. Fix some
7808 operand size modifiers.
7809
7810 Fri Sep 10 10:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
7811
7812 * c-common.c (c_common_nodes_and_builtins): Don't build
7813 va_list_type_node.
7814 * c-common.h (enum c_tree_index and related accesor macros): Remove
7815 everything now declared in tree.h.
7816 * c-decl.c (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
7817 LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, WCHAR_UNSIGNED, FLOAT_TYPE_SIZE,
7818 DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Don't provide defaults.
7819 (error_mark_node, void_type_node, char_type_node, integer_type_node,
7820 unsigned_type_node, ptr_type_node, va_list_type_node,
7821 integer_zero_node, null_pointer_node, integer_one_node): Delete.
7822 (init_decl_processing): Call build_common_tree_nodes and
7823 build_common_tree_nodes_2 instead of building their nodes here.
7824 Don't add roots for these nodes.
7825 * stor-layout.c (size_zero_node, size_one_node): Delete.
7826 (set_sizetype): Make a new node for bitsizetype each time.
7827 * tree.c (global_trees): New variable.
7828 (init_obstacks): Add a gc root for it.
7829 (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
7830 LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE,
7831 DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Provide defaults.
7832 (build_common_tree_nodes): New function.
7833 (fix_sizetype): New function.
7834 (build_common_tree_nodes_2): New function.
7835 * tree.h (enum tree_index): New.
7836 (global_trees): Declare.
7837 Add accessor macros for all nodes now moved to global_trees.
7838 Delete their declarations.
7839
7840 Thu Sep 9 20:15:46 1999 Richard Henderson <rth@cygnus.com>
7841
7842 * c-decl.c (finish_function): When processing a nested function,
7843 push and pop GC context around rest_of_compilation.
7844
7845 Thu Sep 9 16:42:06 1999 Richard Henderson <rth@cygnus.com>
7846
7847 * i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
7848 Default ix86_arch to PROCESSOR_I386.
7849 * i386.h (CC1_CPU_SPEC): Don't add -march=foo. Remove -mno-foo.
7850 (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): Delete.
7851 (CPP_CPU_DEFAULT_SPEC): Define to __tune_foo__.
7852 (CC1_CPU_SPEC): Make -march=foo define __foo__, and provide
7853 __tune_foo__ if no -mcpu. Make -mcpu=bar define __tune_bar__.
7854 (EXTRA_SPECS): Remove deleted specs.
7855
7856 Thu Sep 9 16:03:06 1999 Richard Henderson <rth@cygnus.com>
7857
7858 * function.c (assign_stack_local_1): Allocate from
7859 function->x_frame_offset, not frame_offset.
7860
7861 Thu Sep 9 14:36:31 1999 Mark Mitchell <mark@codesourcery.com>
7862
7863 * ggc.h (lang_cleanup_tree): Remove.
7864 * gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
7865 * ggc-callbacks.c (lang_cleanup_tree): Remove.
7866
7867 * c-decl.c (finish_struct): Use ggc_alloc to allocate
7868 TYPE_LANG_SPECIFIC when garbage collecting.
7869 (lang_mark_tree): Mark TYPE_LANG_SPECIFIC.
7870 (lang_cleanup_tree): Remove.
7871
7872 Thu Sep 9 14:23:02 1999 Jason Merrill <jason@yorick.cygnus.com>
7873
7874 * defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
7875 * crtstuff.c: Not here.
7876 * dwarf2out.c: Or here.
7877 * libgcc2.c (__do_global_ctors, __do_global_dtors): Handle EH frame
7878 info.
7879
7880 Thu Sep 9 09:40:58 1999 Mark Mitchell <mark@codesourcery.com>
7881
7882 * function.h (free_after_compilation): Remove decl parameter.
7883 (free_varasm_status0: Likewise.
7884 (free_emit_status): Likewise.
7885 (free_stmt_status): Likewise.
7886 (free_after_compilation): Likewise.
7887 (init_lang_status): New variable.
7888 (free_lang_status): Likewise.
7889 * emit-rtl.c (free_emit_status): Make decl parameter implicit.
7890 * function.c (init_lang_status): New variable.
7891 (free_lang_status): Likewise.
7892 (push_function_context_to): Don't set function::decl here.
7893 (free_after_copmilation): Make decl parameter implicit. Call
7894 free_lang_status if defined.
7895 (prepare_function_start): Call init_lang_status if defined.
7896 (init_function_start): Set function::decl here.
7897 * profile.c (output_func_start_profiler): Don't call pushdecl
7898 until we've actually started the function.
7899 * stmt.c (free_stmt_status): Make decl parameter implicit.
7900 * toplev.c (rest_of_compilation): Don't pass decl to
7901 free_after_compilation.
7902 * varasm.c (free_varasm_status): Likewise.
7903
7904 Thu Sep 9 17:23:19 1999 Bernd Schmidt <bernds@cygnus.co.uk>
7905
7906 * except.c (call_get_eh_context): Add root when allocating static
7907 tree variable.
7908
7909 Thu Sep 9 15:24:59 BST 1999 Richard Earnshaw <rearnsha@arm.com>
7910
7911 * arm.c: Include "ggc.h".
7912 (arm_add_gc_roots): New function.
7913 (arm_override_options): Call it.
7914 (aof_pic_entry): Add a GC root for aof_pic_label when it's allocated.
7915
7916 * arm.md (define_asm_attributes): Add a pool_range attribute.
7917
7918 Thu Sep 9 12:32:57 BST 1999 Nathan Sidwell <nathan@acm.org>
7919
7920 * extend.texi (Volatiles): New node.
7921
7922 Thu Sep 9 03:37:31 1999 Richard Henderson <rth@cygnus.com>
7923
7924 * ggc-simple.c (IS_MARKED, IGNORE_MARK): New.
7925 (GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): New.
7926 (struct ggc_any): Replace `mark' with `magic_mark'.
7927 (ggc_alloc_string): Use memcpy, not bcopy.
7928 (ggc_alloc_any): Set magic_mark. Update bytes_alloced_since_gc.
7929 (ggc_free_{rtx,rtvec,tree,string}): Mark inline.
7930 (ggc_free_any): New.
7931 (ggc_mark_string): Use IGNORE_MARK. Calc back to struct gcc_string.
7932 (ggc_mark): Use IGNORE_MARK. Abort if magic doesn't match.
7933 (ggc_collect): Re-enable collection avoidance. Use GGC_ANY_MARK.
7934 Use IS_MARKED. Use ggc_free_any.
7935
7936 1999-09-09 Scott Bambrough <scottb@netwinder.org>
7937
7938 * config/arm/linux-elf.h: define NO_IMPLICIT_EXTERN_C
7939
7940 Thu Sep 9 01:55:21 1999 Richard Henderson <rth@cygnus.com>
7941
7942 * toplev.c (main): Always init_ggc.
7943
7944 Wed Sep 8 23:53:22 1999 Richard Henderson <rth@cygnus.com>
7945
7946 * except.c (find_all_handler_type_matches): Free the list if
7947 we found no matches.
7948
7949 * combine.c (SUBST): Break out to a real function do_SUBST.
7950 (SUBST_INT): Likewise.
7951 * gcse.c (free_pre_mem): Free `temp_bitmap'.
7952 (pre_insert): Free `inserted'.
7953 * loop.c (basic_induction_var): Always set `location'.
7954
7955 * function.c (expand_function_end): Add initial_trampoline as a root.
7956 * rtl.h (init_varasm_once): Declare.
7957 * toplev.c (compile_file): Call it.
7958 * ggc-simple.c (ggc_mark_string_ptr): New.
7959 (ggc_add_string_root): New.
7960 (ggc_collect): Disable collection avoidance temporarily.
7961 * ggc.h (ggc_add_string_root): Declare.
7962 * except.c (create_rethrow_ref): Use ggc_alloc_string.
7963 * optabs.c (init_libfuncs): Likewise.
7964 * varasm.c (named_section): Use ggc_alloc_string.
7965 (make_function_rtl): Likewise.
7966 (make_decl_rtl): Likewise.
7967 (assemble_static_space): Likewise.
7968 (assemble_trampoline_template): Likewise.
7969 (output_constant_def): Likewise.
7970 (force_const_mem): Likewise.
7971 (mark_const_hash_entry): New.
7972 (mark_pool_sym_hash_table): New.
7973 (mark_varasm_state): Use it.
7974 (init_varasm_once): New.
7975
7976 * expr.h (init_one_libfunc): Declare.
7977 * optabs.c (init_one_libfunc): New.
7978 (init_optabs): Use it.
7979 * config/gofast.h: Likewise.
7980 * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Likewise.
7981 * config/sparc/sparc.h (INIT_TARGET_OPTABS): Likewise.
7982
7983 Thu Sep 9 13:46:06 1999 Geoffrey Keating <geoffk@cygnus.com>
7984
7985 * Makefile.in (cppexp.o): Depend on cpphash.h.
7986 * cppexp.c (cpp_lex): Handle `defined (xxx)' for poisoned xxx.
7987 Include cpphash.h.
7988 * cpphash.c (special_symbol): Handle plain `xxx' for poisoned xxx.
7989 * cpplib.c (do_define): Generalise to handle poisoned definitions,
7990 redefining poisoned identifiers, etc.
7991 (do_undef): Don't allow poisoned identifiers to be undefined.
7992 (do_pragma): Add #pragma poison.
7993 (do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
7994
7995 * cccp.c: Add T_POISON node type.
7996 (special_symbol): Handle `defined(xxx)' and plain `xxx' for
7997 poisoned xxx.
7998 (do_define): Generalise to handle poisoned definitions,
7999 redefining poisoned identifiers, etc.
8000 (do_undef): Don't allow poisoned identifiers to be undefined.
8001 (do_pragma): Add #pragma poison.
8002 (do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
8003
8004 * c-pragma.c (handle_pragma_token): Ignore #pragma poison.
8005 * c-pragma.h: Add ps_poison state. We now always have generic
8006 pragmas.
8007
8008 Wed Sep 8 20:30:42 1999 Mark Mitchell <mark@codesourcery.com>
8009
8010 * ggc.h (ggc_alloc): New function.
8011 (ggc_mark): Likewise.
8012 * ggc-simple.c (ggc_any): New structure.
8013 (ggc_status): Add anys.
8014 (n_anys_collected): New variable.
8015 (ggc_alloc): Define.
8016 (ggc_mark): Likewise.
8017 (ggc_collect): Collect the anys.
8018
8019 Wed Sep 8 20:15:14 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8020
8021 * c-decl.c (mark_binding_level): Make static to match prototype.
8022
8023 Wed Sep 8 16:41:27 1999 Richard Henderson <rth@cygnus.com>
8024
8025 * flow.c (new_insn_dead_notes): Don't early out for preexisting regs.
8026
8027 Wed Sep 8 16:07:52 1999 Richard Henderson <rth@cygnus.com>
8028
8029 * gengenrtl.c (CONST_DOUBLE_FORMAT): Take the size REAL_ARITHMETIC
8030 will use into account. Expand the max width to 5.
8031 * rtl.c: Likewise.
8032
8033 Wed Sep 8 16:01:14 1999 Richard Henderson <rth@cygnus.com>
8034
8035 * ggc-simple.c (ggc_free_rtx): Poison the correct amount
8036 for the rtx length.
8037
8038 Wed Sep 8 15:23:54 1999 Richard Henderson <rth@cygnus.com>
8039
8040 * alpha.md (call value patterns): Remove the result predicates.
8041
8042 Wed Sep 8 13:35:38 1999 Richard Henderson <rth@cygnus.com>
8043
8044 * Makefile.in (stmp-fixinc): Remove extraneous exit 1 from
8045 last change.
8046
8047 Wed Sep 8 15:32:16 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8048
8049 * system.h (sbrk, malloc, calloc, realloc): Backup prototypes
8050 changed from extern char *, to extern PTR. Also fix typo in
8051 NEED_DECLARATION_REALLOC test.
8052
8053 * mips-tdump.c (malloc, calloc, realloc): Don't prototype.
8054
8055 Wed Sep 8 11:40:47 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8056
8057 * gansidecl.h (__attribute__, ATTRIBUTE_UNUSED_LABEL,
8058 ATTRIBUTE_UNUSED, ATTRIBUTE_NORETURN, ATTRIBUTE_PRINTF,
8059 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2, ATTRIBUTE_PRINTF_3,
8060 ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5, GENERIC_PTR): Delete.
8061
8062 * c-decl.c (field_decl_cmp): Use PTR instead of GENERIC_PTR.
8063
8064 * cccp.c (pcfinclude): Likewise.
8065
8066 * global.c (allocno_compare): Likewise.
8067
8068 * haifa-sched.c (rank_for_schedule): Likewise.
8069
8070 * local-alloc.c (qty_sugg_compare_1, qty_compare_1): Likewise.
8071
8072 * reload1.c (hard_reg_use_compare, reload_reg_class_lower): Likewise.
8073
8074 * stupid.c (stupid_reg_compare): Likewise.
8075
8076 * tree.c (_obstack_allocated_p): Likewise.
8077
8078 * varray.h (varray_data_tag, VARRAY_GENERIC_PTR_INIT): Likewise.
8079
8080 1999-09-08 Bruce Korb autogen@linuxbox.com
8081
8082 * gcc/ch/Makefile.in: Give the hapless gperf user a hint about
8083 why "gperf -F" fails.
8084 * gcc/cp/Makefile.in: ditto
8085 * gcc/Makefile.in: ditto
8086 * gcc/java/Makefile.in: ditto
8087
8088 Wed Sep 8 04:43:22 1999 Richard Henderson <rth@cygnus.com>
8089
8090 * lists.c: Include ggc.h.
8091 (zap_lists): New.
8092 (init_EXPR_INSN_LIST_cache): Install it.
8093
8094 * ggc-simple.c (init_ggc): Absorb the old init.
8095 (ggc_push_context): Use xcalloc.
8096 (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Likewise.
8097 (ggc_collect): Add [rvts] tags to the collection stats.
8098
8099 Wed Sep 8 11:14:25 1999 Andreas Schwab <schwab@suse.de>
8100
8101 * cccp.c (main): Fix handling of -include and -imacros options.
8102
8103 Wed Sep 8 02:23:08 1999 Jeffrey A Law (law@cygnus.com)
8104
8105 * cpplib.c (cpp_push_buffer): Fix order of arguments.
8106
8107 Wed Sep 8 04:44:09 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
8108
8109 * rtl.h (obstack_alloc_rtx): Removed, it's now static in
8110 genrtl.c.
8111
8112 Wed Sep 8 00:33:43 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
8113
8114 * flow.c (insn_dead_p): Use XEXP rather than SUBREG_REG.
8115 * haifa-sched.c (sched_analyze_1): Use XEXP rather than SUBREG_REG
8116 and SET_DEST. Update comment.
8117
8118 Wed Sep 8 18:55:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8119
8120 * config/c4x/c4x.c: Include ggc.h.
8121 (c4x_add_gc_roots): New function.
8122 (c4x_override_options): Call c4x_add_gc_roots.
8123
8124 Wed Sep 8 00:00:16 1999 Richard Henderson <rth@cygnus.com>
8125
8126 * defaults.h (TARGET_ESC): Move ...
8127 * system.h: ... here, where Linas had it in the first place. Silly me.
8128
8129 Tue Sep 7 23:46:35 1999 Linas Vepstas <linas@linas.org>
8130
8131 * c-common.c: Use ISGRAPH, ISLOWER, toupper.
8132 * c-lex.c, cccp.c, cexp.c, cexp.y, cppexp.c, dwarf2out.c, genattr.c,
8133 genattrtab.c, genemit.c, genextract.c, genpeep.c, tree.c: Likewise.
8134 * system.h (IN_CTYPE_DOMAIN): Define to 1 if HOST_EBCDIC.
8135 * defaults.h (TARGET_ESC): Add default.
8136
8137 Tue Sep 7 23:36:59 1999 Linas Vepstas <linas@linas.org>
8138
8139 * configure.in: add i370-*-openedition, i370-*-mvs and
8140 i370-*-linux targets
8141
8142 Tue Sep 7 23:31:53 1999 Mark Mitchell <mark@codesourcery.com>
8143
8144 * dsp16xxx.c: Include ggc.h
8145 (override_options): Mark GC roots.
8146 * mn10200.c: Include ggc.h.
8147 (asm_file_start): Mark GC roots.
8148 * tahoe.c: Include ggc.h.
8149 (extensible_operand): Mark GC roots.
8150
8151 Tue Sep 7 23:23:15 1999 Linas Vepstas <linas@linas.org>
8152
8153 * README: Add section discussing status of ELF ABI.
8154 * i370.c: Fix misc spelling mistakes.
8155 (i370_label_scan): Updated notes, exception handling.
8156 (i370_function_prolog): Simplify ELF stack handling.
8157 * i370.h: (FIXED_REGISTERS): Free up r12 for ELF.
8158 (STACK_GROWS_DOWNWARD): ELF stack grows down.
8159 (ASM_DECLARE_FUNCTION_NAME): Fix crazy malloc size.
8160 * i370.md: (movdi): Add notes.
8161 (floatsidf2): Use stack not rtca for scratch float area.
8162 (iorsi3): Correct operand constraints.
8163 * x-oe: Restore TAROUTOPTS which are used by pax.
8164
8165 Tue Sep 7 22:39:18 1999 Mark Mitchell <mark@codesourcery.com>
8166
8167 * rs6000.c: Include ggc.h.
8168 (rs6000_add_gc_roots): New function.
8169 (override_options): Call it.
8170
8171 Tue Sep 7 22:09:03 1999 Richard Henderson <rth@cygnus.com>
8172
8173 * alpha.h (alpha_compare): New.
8174 (alpha_compare_op0, alpha_compare_op1, alpha_compare_fp_p): Remove.
8175 * alpha.c: Likewise for the definitions.
8176 (alpha_emit_conditional_branch): Update for alpha_compare.
8177 (alpha_emit_conditional_move): Likewise.
8178 * alpha.md (cmpdf, cmpdi): Likewise.
8179 (setcc patterns): Likewise. Zero alpha_compare after use.
8180 (sne): Optimize (x != 0) into (0U < x).
8181
8182 Tue Sep 7 21:55:02 1999 Richard Henderson <rth@cygnus.com>
8183
8184 * alpha.h (alpha_eh_epilogue_sp_ofs): Remove.
8185 (struct machine_function): Declare; add eh_epilogue_sp_ofs.
8186 (INIT_EXPANDERS): Remove.
8187 * alpha.c: Include ggc.h.
8188 (alpha_eh_epilogue_sp_ofs, alpha_return_addr_rtx): Remove.
8189 (alpha_init_machine_status, alpha_mark_machine_status): New.
8190 (override_options): Install them.
8191 (struct machine_function): Moved to alpha.h.
8192 (alpha_save_machine_status, alpha_restore_machine_status): Remove.
8193 (alpha_init_expanders): Remove.
8194 (alpha_return_addr): Adjust to use current_function->machine.
8195 (alpha_ra_ever_killed): Likewise.
8196 (alpha_expand_epilogue): Likewise.
8197 * alpha.md (eh_epilogue): Likewise.
8198
8199 Wed Sep 8 14:34:42 1999 Ian Piumarta <piumarta@prof.inria.fr>
8200 Melissa O'Neill <oneill@cs.sfu.ca>
8201 Geoffrey Keating <geoffk@cygnus.com>
8202
8203 * config/rs6000/rs6000.c (first_reg_to_save): Don't save fixed or
8204 call-used registers (call-saved registers must still be contiguous
8205 and end with r31, of course).
8206
8207 Tue Sep 7 21:41:38 1999 Richard Henderson <rth@cygnus.com>
8208
8209 * c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to.
8210 (self_promoting_type_p): Delete.
8211 (self_promoting_args_p): Move ...
8212 * c-common.c: ... here.
8213 (c_common_nodes_and_builtins): Initialize lang_type_promotes_to.
8214 (simple_type_promotes_to): New.
8215 * builtins.c (lang_type_promotes_to): New.
8216 (expand_builtin_va_arg): Use it to give diagnostic for illegal types.
8217 * c-tree.h (C_PROMOTING_INTEGER_TYPE_P): Move ...
8218 * c-common.h: ... here.
8219 (self_promoting_args_p, simple_type_promotes_to): Declare.
8220 * c-decl.c (duplicate_decls): Use simple_type_promotes_to.
8221 (grokdeclarator): Likewise.
8222 * tree.h (lang_type_promotes_to): Declare.
8223
8224 Tue Sep 7 17:15:21 1999 Mark Mitchell <mark@codesourcery.com>
8225
8226 Add some machine-dependent GC roots.
8227 * sparc.c: Include ggc.h.
8228 (sparc_add_gc_roots): New function.
8229 (mark_ultrasparc_pipeline_state): Likewise.
8230 (override_options): Call sparc_add_gc_roots.
8231 * pa.c: Include ggc.h.
8232 (pa_add_gc_roots): New function.
8233 (mark_deferred_plabels): Likewise.
8234 (override_options): Call pa_add_gc_roots.
8235 * mips.c: Include ggc.h.
8236 (mips_add_gc_roots): New function.
8237 (override_options): Use it.
8238
8239 Tue Sep 7 11:39:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8240
8241 * cpperror.c (cpp_file_line_for_message): Constify a char*.
8242
8243 * cppexp.c (parse_number, parse_charconst, cpp_lex,
8244 cpp_parse_expr): Add static prototypes.
8245 (parse_charconst): Don't cast away const-ness.
8246 (token): Constify a char*.
8247
8248 * cppfiles.c (file_name_list, include_hash, find_include_file,
8249 finclude, initialize_input_buffer): Constify a char*.
8250 (file_cleanup, find_position): Add static prototypes.
8251
8252 * cpphash.c (macro_cleanup, macarg, timestamp, special_symbol,
8253 collect_expansion): Add static prototypes.
8254 (cpp_install, create_definition, monthnames): Constify a char*.
8255
8256 * cpphash.h (cpp_install): Likewise.
8257
8258 * cppinit.c (known_suffixes, default_include,
8259 dump_special_to_buffer, NAME, cpp_start_read, cpp_finish): Likewise.
8260 (base_name, dump_special_to_buffer, initialize_dependency_output):
8261 Add static prototypes.
8262
8263 * cpplib.c (my_strerror): Constify a char*.
8264 (null_underflow, null_cleanup, skip_comment, copy_comment,
8265 copy_rest_of_line, handle_directive, pass_thru_directive,
8266 get_directive_token, read_line_number, cpp_print_file_and_line,
8267 v_cpp_error, v_cpp_warning, v_cpp_error_with_line,
8268 v_cpp_warning_with_line, detect_if_not_defined,
8269 consider_directive_while_skipping): Add static prototypes.
8270 (pass_thru_directive, check_macro_name, cpp_expand_to_buffer,
8271 cpp_pedwarn_with_file_and_line): Constify a char*.
8272
8273 * cpplib.h (cpp_options, include_hash, progname, definition,
8274 cpp_pedwarn_with_file_and_line, cpp_expand_to_buffer,
8275 check_macro_name, cpp_pfatal_with_name, cpp_file_line_for_message,
8276 find_include_file, deps_output, include_hash): Constify a char*.
8277
8278 * cppmain.c (progname): Constify.
8279 (main): Add prototype. Use return, not exit.
8280
8281 * fix-header.c (fatal, add_symbols, lookup_std_proto, write_lbrac,
8282 recognized_macro, check_macro_names, read_scan_file, write_rbrac,
8283 inf_skip_spaces, inf_read_upto, inf_scan_ident, inf_scan_ident,
8284 check_protection): Add static prototype.
8285 (xfree): Remove.
8286 (progname, recognized_macrom, recognized_extern): Constify a char*.
8287 (main): Add prototype.
8288
8289 * gen-protos.c (progname): Constify a char*.
8290
8291 Tue Sep 7 00:47:52 1999 Mark Mitchell <mark@codesourcery.com>
8292
8293 * emit-rtl.c (free_emit_status): Take decl as a parameter.
8294 (init_emit_once): Add more GC roots.
8295 * except.c (mark_func_eh_entry): New function.
8296 (mark_eh_node): Mark false_label and rethrow_label.
8297 (init_eh): Add more GC roots.
8298 * function.c (free_after_compilation): Take decl as a paramter.
8299 Call free_stmt_status.
8300 (mark_function_state): Don't assume x_parm_reg_stack_loc is
8301 non-NULL.
8302 * function.h (free_after_compilation): Change prototype.
8303 (free_varasm_status): Likewise.
8304 (free_emit_status): Likewise.
8305 (free_stmt_status): New function.
8306 * ggc-simple.c (rtx, vecs, trees, strings, bytes_alloced_since_gc):
8307 Remove, replacing with ...
8308 (ggc_status): New structure.
8309 (ggc_chain): New variable.
8310 (init_gcc): Define.
8311 (ggc_push_context): New function.
8312 (ggc_pop_context): Likewise.
8313 (ggc_alloc_rtx): Adjust for use of ggc_chain.
8314 (ggc_alloc_rtvec): Likewise.
8315 (ggc_alloc_tree): Likewise.
8316 (ggc_alloc_string): Likewise.
8317 (ggc_mark_rtx): Mark NOTE_SOURCE_FILE and NOTE_RANGE_INFO.
8318 (ggc_mark_tree): Give language-dependent code a chance to mark
8319 `x' nodes.
8320 (ggc_mark_tree_varray): Handle empty arrays.
8321 (ggc_collect): Adjust for use of ggc_chain. Clear
8322 bytes_alloced_since_last_gc.
8323 * ggc.h (ggc_pop_context): New function.
8324 (ggc_push_context): Likewise.
8325 * print-tree.c (print_node): Don't print obstacks when GC'ing.
8326 * stmt.c (free_stmt_status): New function.
8327 (init_stmt_for_function): Clear last_expr_value.
8328 * toplev.c (rest_of_compilation): Always call free_after_compilation.
8329 Conditionalize call to ggc_collect.
8330 (main): Call init_ggc.
8331 * tree.c (push_obstacks): Do the push, even when GC'ing.
8332 (push_obstacks_nochange): Likewise.
8333 (pop_obstacks): Liekwise.
8334 * varasm.c (free_varasm_status): Take decl as a parameter.
8335
8336 Tue Sep 7 08:15:49 1999 Gavin Romig-Koch <gavin@cygnus.com>
8337
8338 * config/mips/mips.h (MULTILIB_ENDIAN_DEFAULT) : New macro.
8339 (MULTILIB_ENDIAN_DEFAULT) : Use the new macro.
8340 * config/mips/elf64.h (MULTILIB_DEFAULTS) : Use the new macro.
8341 * config/mips/r3900.h (MULTILIB_DEFAULTS) : Use the new macro.
8342
8343 Tue Sep 7 03:42:45 1999 Mark Klein (mklein@dis.com)
8344
8345 * pa/x-pa-mpeix: New file for the MPE port.
8346
8347 * pa/quadlib.asm: New file for long double support.
8348
8349 * configure.in: Add hppa1.0-*-mpeix for MPE port.
8350 * configure: Rebuilt.
8351
8352 Tue Sep 7 10:08:40 1999 Andreas Schwab <schwab@suse.de>
8353
8354 * final.c (shorten_branches): Fix last change.
8355
8356 Tue Sep 7 00:30:32 1999 Jeffrey A Law (law@cygnus.com)
8357
8358 * pa.h (ASM_OUTPUT_DOUBLE_INT): Delete.
8359
8360 Mon Sep 6 22:44:47 1999 Jeffrey A Law (law@cygnus.com)
8361
8362 * Merge from gcc2 snapshot Jan 9, 1999. See FSFChangeLog for
8363 details.
8364
8365 Mon Sep 6 22:31:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8366
8367 * c-aux-info.c (concat): Don't define.
8368
8369 * cccp.c (my_strerror): Likewise. All callers changed to use
8370 xstrerror instead.
8371 (do_include): Call xstrdup, not xmalloc/strcpy.
8372 (grow_outbuf): Don't check if xrealloc returns NULL, it can't.
8373 (xmalloc, xrealloc, xcalloc, xstrdup): Don't define.
8374
8375 * collect2.c (my_strsignal): Likewise. All callers changed to use
8376 strsignal instead.
8377 (locatelib): Call xstrdup, not xmalloc/strcpy.
8378
8379 * 1750a.h (ASM_OUTPUT_INTERNAL_LABEL): Call xmalloc, not malloc.
8380
8381 * dsp16xx.c (override_options): Call xstrdup, not xmalloc/strcpy.
8382
8383 * i370.h (ASM_DECLARE_FUNCTION_NAME): Call xmalloc, not malloc.
8384
8385 * mips.c (build_mips16_call_stub): Call xstrdup, not xmalloc/strcpy.
8386
8387 * cppinit.c (cpp_options_init): Call xcalloc, not xmalloc/bzero.
8388
8389 * dwarfout.c (dwarfout_init): Call concat, not xmalloc/strcpy/...
8390
8391 * except.c (new_eh_region_entry): Call xmalloc/xrealloc, not
8392 malloc/realloc.
8393 (find_all_handler_type_matches): Likewise. Don't check return
8394 value.
8395 (get_new_handler, init_insn_eh_region, process_nestinfo): Call
8396 xmalloc, not malloc.
8397 (init_eh_nesting_info): Likewise. Call xcalloc, not xmalloc/bzero.
8398
8399 * gcc.c (xstrerror, xmalloc, xrealloc): Don't define.
8400 (init_spec): Call xcalloc, not xmalloc/bzero.
8401 (set_spec): Call xstrdup, not save_string.
8402 (record_temp_file): Call xstrdup, not xmalloc/strcpy.
8403 (find_a_file): Call xstrdup, not xmalloc/strcpy.
8404 (process_command): Call xstrdup, not save_string.
8405 (main): Call xcalloc, not xmalloc/bzero.
8406
8407 * gcov.c (xmalloc): Don't define.
8408 (create_program_flow_graph): Call xcalloc, not xmalloc/bzero.
8409 (scan_for_source_files): Call xstrdup, not xmalloc/strcpy.
8410 (output_data): Call xcalloc, not xmalloc/bzero.
8411
8412 * haifa-sched.c (schedule_insns): Call xcalloc, not xmalloc/bzero.
8413
8414 * mips-tdump.c (xmalloc): Don't define.
8415 (print_symbol): Call xmalloc, not malloc.
8416 (read_tfile): Call xcalloc, not calloc.
8417
8418 * mips-tfile.c (xfree, my_strsignal, xmalloc, xcalloc, xrealloc):
8419 Don't define. All callers of xfree/my_strsignal changed to use
8420 free/strsignal instead.
8421 (allocate_cluster): Call xcalloc, not calloc.
8422
8423 * objc/objc-act.c (lang_init): Call concat, not xmalloc/strcpy/...
8424 Fix memory leak, free allocated memory.
8425
8426 * prefix.c (translate_name): Call xstrdup, not save_string.
8427 (update_path): Likewise.
8428
8429 * profile.c (branch_prob): Call xstrdup, not xmalloc/strcpy.
8430
8431 * protoize.c (xstrerror, xmalloc, xrealloc, xfree, savestring2):
8432 Don't define. Callers of xfree/savestring2 changed to use
8433 free/concat instead.
8434
8435 * reload1.c (reload): Call xcalloc, not xmalloc/bzero.
8436 (init_elim_table): Likewise.
8437
8438 * resource.c (init_resource_info): Likewise.
8439
8440 * stupid.c (stupid_life_analysis): Likewise.
8441
8442 * toplev.c (xmalloc, xcalloc, xrealloc, xstrdup): Don't define.
8443 (open_dump_file): Call concat, not xmalloc/strcpy/...
8444 (clean_dump_file): Likewise.
8445 (compile_file): Call xstrdup, not xmalloc/strcpy.
8446
8447 Mon Sep 6 15:04:55 1999 Richard Henderson <rth@cygnus.com>
8448
8449 * v850.h (EXPAND_BUILTIN_VA_ARG): New.
8450 * v850.c (v850_va_arg): New.
8451
8452 Tue Sep 7 09:36:01 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8453
8454 * haifa-sched.c: Tidy comments.
8455
8456 Mon Sep 6 14:30:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
8457
8458 * Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o.
8459 (c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o,
8460 $(out_object_file)): Depend on ggc.h.
8461 * c-common.c: Include "ggc.h".
8462 (combine_strings): If doing GC, use ggc_alloc_string.
8463 * c-decl.c: Include "ggc.h".
8464 (ggc_p): Define with value 0.
8465 (mark_binding_level): New function.
8466 (init_decl_processing): Add GC roots.
8467 (mark_c_function_context): New function.
8468 (lang_mark_false_label_stack): New function.
8469 (lang_mark_tree): New function.
8470 (lang_cleanup_tree): New function.
8471 * c-lang.c: Include "ggc.h".
8472 (lang_init): Call c_parse_init.
8473 * c-lex.c: Include "ggc.h".
8474 (check_linenum): If doing GC, don't copy filenames to permanent
8475 obstack.
8476 * c-parse.in: Include "ggc.h".
8477 (c_parse_init): New function.
8478 * c-tree.h (c_parse_init, mark_c_function_context): Declare.
8479 * objc/Make-lang.in (objc-parse.o): Depend on ggc.h.
8480
8481 * except.c (mark_eh_state): Mark more state.
8482 * function.c (mark_function_state): Likewise.
8483 * ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version.
8484 (ggc_alloc_string) [GGC_DUMP]: Fix typo.
8485 * toplev.c (mark_file_stack): New function.
8486 (compile_file): If doing GC, use ggc_alloc_string on input filename.
8487 (main): Add root for input_file_stack.
8488
8489 * i386.c: Include "ggc.h".
8490 (ix86_mark_machine_status): New function.
8491 (override_options): Set mark_machine_status.
8492
8493 Mon Sep 6 15:26:23 1999 Bernd Schmidt <bernds@cygnus.co.uk>
8494
8495 * tree.c (copy_node): Copy node contents also if doing GC.
8496
8497 Mon Sep 6 08:42:06 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
8498
8499 * collect2.c (scan_libraries): Fix double-thinko :-).
8500
8501 Mon Sep 6 02:42:36 1999 Jeffrey A Law (law@cygnus.com)
8502
8503 * collect2.c (scan_libraries): Fix thinko.
8504
8505 * cse.c (delete_trivially_dead_insns): Do not skip the last
8506 insn if it is a real insn.
8507
8508 Sun Sep 5 18:57:42 1999 Mark Mitchell <mark@codesourcery.com>
8509
8510 * Makefile.in (ggc-simple.o): Depend on hash.h.
8511 * ggc.h (ggc_add_tree_hash_table_root): Declare.
8512 (ggc_mark_tree_varray): Likewise.
8513 (ggc_mark_tree_hash_table): Likewise.
8514 * ggc-simple.c: Include hash.h.
8515 (ggc_mark_tree_hash_table_ptr): New function.
8516 (ggc_mark_tree_hash_table_entry): Likewise.
8517 (ggc_mark_tree_hash_table): Likewise.
8518 (ggc_add_tree_hash_table_root): Likewise.
8519 * varray.h (const_equiv_data): Use struct rtx_def *, rather than
8520 rtx, when defining fields.
8521
8522 Sun Sep 5 18:57:42 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
8523
8524 * profile.c (output_func_start_profiler): Remove apparently
8525 nonsensical call to start_sequence.
8526
8527 Sun Sep 5 17:34:33 1999 Richard Henderson <rth@cygnus.com>
8528
8529 * clipper/clipper.c (clipper_va_start): Fix typos.
8530
8531 * pyr/pyr.c (pyr_build_va_list, pyr_va_start, pyr_va_arg): New stubs.
8532 * spur/spur.c (spur_build_va_list, spur_va_start): New stubs.
8533 (spur_va_arg): New stub.
8534
8535 * configure.in: Comment out pyramid.
8536
8537 Sun Sep 5 19:11:01 1999 Michael Meissner <meissner@cygnus.com>
8538
8539 * i386.h (MASK_{DEBUG_{ADDR,ARG},INTEL_SYNTAX}): Move so these
8540 don't conflict with the bits that win32, cygwin, and dgux
8541 defines.
8542
8543 Sun Sep 5 09:31:56 1999 Richard Henderson <rth@cygnus.com>
8544 Bernd Schmidt <bernds@cygnus.co.uk>
8545
8546 * integrate.c (function_cannot_inline_p): Do not inline
8547 functions with forced labels.
8548
8549 Sun Sep 5 00:35:17 1999 Richard Henderson <rth@cygnus.com>
8550 Bernd Schmidt <bernds@cygnus.co.uk>
8551 Mark Mitchell <mark@codesourcery.com>
8552
8553 * Makefile.in (ggc-simple.o): Depend on varray.h.
8554 (rtl.o): Depend on ggc.h.
8555 (genattrtab.o): Depend on ggc.h.
8556 (print-tree.o): Likewise.
8557 (fold-const.o): Likewise.
8558 * emit-rtl.c (sequence_element_free_list): Remove, and all references.
8559 (make_insn_raw): Don't cache insns when GC'ing.
8560 (emit_insn_before): Likewise.
8561 (emit_insn_after): Likewise.
8562 (emit_insn): Likewise.
8563 (start_sequence): Use xmalloc to allocate the sequence_stack.
8564 (end_sequence): Add free to free it.
8565 (gen_sequence): Don't cache insns when GC'ing.
8566 (clear_emit_caches): Don't use sequence_element_free_list.
8567 (init_emit): Use xcalloc, not xmalloc+bzero.
8568 * fold-const.c (size_int_wide): Kill the cache, when GC'ing.
8569 * function.c (pop_function_context_from): Use free to free the
8570 fixup_var_refs_queue.
8571 (put_reg_into_stack): Allocate it with xmalloc.
8572 * genattrtab.c: Include ggc.h.
8573 (operate_exp): Don't use obstack_free when GC'ing.
8574 (simplify_cond): Likewise.
8575 (simplify_text_exp): Likewise.
8576 (optimize_attrs): Likewise.
8577 * gengenrtl.c (gendef): Use ggc_alloc_rtx to allocate RTL, when
8578 GC'ing.
8579 (gencode): Generate a #include for ggc.h.
8580 * ggc-callbacks.c (ggc_p): Define it to zero.
8581 * ggc-none.c (ggc_p): Likewise.
8582 * ggc-simple.c: Include varray.h.
8583 (ggc_mark_tree_varray): New function.
8584 (ggc_add_tree_varray_root): Likewise.
8585 (ggc_mark_tree_varray_ptr): Likewise.
8586 * ggc.h (ggc_p): Declare.
8587 (varray_head_tag): Likewise.
8588 (ggc_add_tree_varray_root): Declare.
8589 * print-tree.c (print_node): Don't check for TREE_PERMANENT
8590 inconsistencies when GC'ing.
8591 * rtl.c: Include ggc.h.
8592 (rtvec_alloc): Use ggc_alloc_rtvec when GC'ing.
8593 (rtx_alloc): Use ggc_alloc_rtx when GC'ing.
8594 (rtx_free): Don't call obstack_free when GC'ing.
8595 * toplev.c (rest_of_compilation): Call ggc_collect after every
8596 pass, if GC'ing.
8597 * tree.c (push_obstacks): Do nothing, if GC'ing.
8598 (pop_obstacks_nochange): Likewise.
8599 (pop_obstacks): Likewise.
8600 (make_node): Use ggc_alloc_tree when GC'ing.
8601 (copy_node): Likewise.
8602 (get_identifier): Use ggc_alloc_string when GC'ing.
8603 (build_string): Likewise.
8604 (make_tree_vec): Use ggc_alloc_tree when GC'ing.
8605 (tree_cons): Likewise.
8606 (build1): Likewise.
8607 (type_hash_canon): Don't call obstack_free when GC'ing.
8608
8609 Sat Sep 4 21:52:32 1999 Richard Henderson <rth@cygnus.com>
8610
8611 * haifa-sched.c (schedule_block): Use next_nonnote_insn instead
8612 of NEXT_INSN when examining speculative insns for SCHED_GROUP_P.
8613
8614 Sat Sep 4 20:40:19 1999 Richard Henderson <rth@cygnus.com>
8615 Bernd Schmidt <bernds@cygnus.co.uk>
8616 Mark Mitchell <mark@codesourcery.com>
8617
8618 * Makefile.in (stor-layout.o): Depend on ggc.h.
8619 (expr.o): Depend on ggc.h.
8620 (profile.o): Depend on ggc.h.
8621 (stor-layout.o): Depend on ggc.h.
8622 * emit-rtl.c (init_emit_once): Add gc roots.
8623 * expr.c: Include ggc.h.
8624 (emit_block_move): Add gc roots.
8625 (clear_storage): Likewise.
8626 * expr.h (init_stor_layout_once): New function.
8627 * profile.c: Include ggc.h.
8628 (init_arc_profiler): profiler_label is a root.
8629 * scan.c (make_sstring_space): Trust xrealloc to function
8630 correctly with first parameter NULL.
8631 * stor-layout.c: Include ggc.h.
8632 (set_sizetype): Add gc root.
8633 (init_stor_layout_once): New function.
8634 * toplev.c (compile_file): Call it.
8635
8636 Sat Sep 4 19:26:25 1999 Richard Henderson <rth@cygnus.com>
8637 Bernd Schmidt <bernds@cygnus.co.uk>
8638 Mark Mitchell <mark@codesourcery.com>
8639
8640 * Makefile.in (tree.o): Depend on ggc.h.
8641 (varasm.o): Likewise.
8642 (function.o): Likewise.
8643 (stmt.o): Likewise.
8644 (except.o): Likewise.
8645 (optabs.o): Likewise.
8646 (emit-rtl.o): Likewise.
8647 * emit-rtl.c: Include ggc.h.
8648 (sequence_element_free_list): Remove, and all references.
8649 (mark_sequence): New functions.
8650 (mark_emit_state): New function.
8651 * except.c: Include ggc.h.
8652 (mark_eh_node, mark_eh_stack, mark_eh_queue): New functions.
8653 (mark_tree_label_node): New functions.
8654 (mark_eh_state): New function.
8655 * function.c: Include ggc.h.
8656 (mark_temp_slot, mark_function_chain): New functions.
8657 (mark_function_state): New function.
8658 (init_function_once): New function.
8659 * function.h (init_function_once): New function.
8660 * ggc-callbacks.c (lang_mark_false_label_stack): New function.
8661 * ggc.h (label_node): Declare.
8662 (eh_status, emit_status, stmt_status, varasm_status): Likewise.
8663 (lang_mark_false_label_stack): New function.
8664 (mark_temp_slot): Remove declaration.
8665 (mark_function_chain): Likewise.
8666 (mark_eh_state): Adjust prototype.
8667 (mark_stmt_state, mark_emit_state, mark_varasm_state, mark_optab):
8668 Likewise.
8669 * optabs.c: Include ggc.h.
8670 (mark_optab): New function.
8671 (init_optabs): Add gc roots.
8672 * stmt.c: Include ggc.h.
8673 (mark_cond_nesting, mark_loop_nesting): New functions.
8674 (mark_block_nesting, mark_case_nesting, mark_goto_fixup): Likewise.
8675 (mark_stmt_state): New function.
8676 * toplev.c (compile_file): Call init_function_once.
8677 * tree.c: Include ggc.h.
8678 (type_hash): Move declaration earlier in file.
8679 (TYPE_HASH_SIZE, type_hash_table): Likewise.
8680 (init_obstacks): Add gc roots.
8681 (mark_type_hash): New function.
8682 * varasm.c: Include ggc.h.
8683 (mark_pool_constant): New function.
8684 (mark_varasm_state): New function.
8685
8686 Sat Sep 4 22:28:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8687
8688 * ggc-simple.c (ggc_root, ggc_collect): Wrap prototype with PROTO.
8689
8690 Sat Sep 4 18:01:45 1999 Bernd Schmidt <bernds@cygnus.co.uk>
8691
8692 * c-decl.c (struct language_function): Renamed from struct c_function.
8693 Delete elt NEXT.
8694 (c_function_chain): Delete.
8695 (push_c_function_context): New arg F. Don't warn about nested
8696 functions here. Fill LANGUAGE elt of F. Delete code to update
8697 c_function_chain. Don't call push_function_context.
8698 (pop_c_function_context): New arg F. Restore from there instead of
8699 from c_function_chain. Don't call pop_function_context. Clear out
8700 LANGUAGE field of F when done.
8701 * c-lang.c: Include "function.h"
8702 (lang_init): Initialize save_lang_status and restore_lang_status.
8703 * c-parse.in (nested_function, nested_function_notype): Warn about
8704 nested functions. Call push_function_context/pop_function_context
8705 instead of the _c_ variants.
8706 * c-tree.h (push_c_function_context, pop_c_function_context): Update
8707 prototype.
8708 * Makefile.in (c-lang.o): Update dependencies.
8709
8710 * emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx,
8711 regno_pointer_flag, regno_pointer_align.
8712 (gen_reg_rtx): Use xrealloc to enlarge them.
8713 (free_emit_status): New function.
8714 * function.c (mark_machine_status, mark_lang_status): New variables.
8715 (assign_stack_local_1): Renamed from assign_outer_stack_local. Merge
8716 in some bits from assign_stack_local. All callers changed to use new
8717 name.
8718 (assign_stack_local): Just call assign_stack_local_1.
8719 (free_after_compilation): New function.
8720 (put_reg_into_stack): Simplify to always call assign_stack_local_1.
8721 (trampoline_address): Likewise.
8722 (assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc.
8723 (prepare_function_start): Explicitly clear some more variables.
8724 * function.h (struct function): New elt can_garbage_collect.
8725 (mark_machine_status, mark_lang_status): Declare variables.
8726 (free_after_compilation, free_emit_status, free_varasm_status,
8727 init_varasm_status): Declare functions.
8728 * toplev.c (rest_of_compilation): Call free_after_compilation when
8729 done with the current function.
8730 * varasm.c (free_varasm_status): New function.
8731
8732 Sat Sep 4 17:15:13 1999 Richard Henderson <rth@cygnus.com>
8733
8734 * sparc.h (EXPAND_BUILTIN_VA_START): Define.
8735 (EXPAND_BUILTIN_VA_ARG): Define.
8736 * sparc.c (sparc_va_start): New.
8737 (sparc_va_arg): New.
8738
8739 Sun Sep 5 11:11:59 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8740
8741 * config/c4x/c4x.h (DBR_OUTPUT_SEQEND): Use XVECEXP not XEXPs.
8742
8743 Sun Sep 5 10:13:19 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8744
8745 * config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Disable.
8746
8747 Sat Sep 4 13:44:01 1999 Mark Mitchell <mark@codesourcery.com>
8748
8749 * Makefile.in (C_AND_C_OBJS): Add gcc-callbacks.o.
8750 (OBJS): Add $(GGC).
8751 (ggc-callbacks.o): New target.
8752 * ggc-callbacks.c: New file.
8753
8754 Sat Sep 4 22:53:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
8755
8756 * expr.h: Collapse individual optab and libfunc vars to arrays.
8757 (optab_index, libfunc_index): New enumerations.
8758 (optab_table, libfunc_table): New arrays.
8759 Add accessor macros for both.
8760
8761 * optabs.c (optab_table, libfunc_table): New.
8762 Delete declarations for individual optab and libfunc vars.
8763
8764 Sat Sep 4 12:57:17 1999 Richard Henderson <rth@cygnus.com>
8765
8766 * i386/sco5.h (RETURN_POPS_ARGS): Name change ix86_return_pops_args.
8767
8768 Sat Sep 4 11:19:52 1999 Richard Henderson <rth@cygnus.com>
8769
8770 * Makefile.in (GGC, GGC_LIB): New.
8771 (HOST_RTL): Include ggc-none.o.
8772 (ggc-simple.o): New target.
8773 (ggc-none.o): Likewise.
8774 * tree.h (tree_common): Add gc_mark.
8775 * rtl.h (struct rtx_def): Steal a bit from code to make gc_mark.
8776 (struct rtvec_def): Add gc_mark.
8777 * emit-rtl.c (global_rtl): Update static initializers to contain
8778 enough initializers.
8779 * ggc.h, ggc-none.c, ggc-simple.c: New files.
8780 * toplev.c (gc_time): New variable.
8781 (all_time): New variable.
8782 (compile_file): Print gc time.
8783 (print_time): Calculate percentage of the whole.
8784
8785 Sat Sep 4 13:11:01 1999 Bernd Schmidt <bernds@cygnus.co.uk>
8786
8787 Change obstack memory management and varasm constant pool handling so
8788 that nested functions are treated like any other functions.
8789 * function.c (init_machine_status): New variable.
8790 (push_function_context_to): Set contains_functions for the outer
8791 function. Don't call save_varasm_status.
8792 (pop_function_context_from): Don't call restore_varasm_status. Don't
8793 set current_function_contains_functions.
8794 (prepare_function_start): Call init_varasm_status rather than
8795 init_const_rtx_hash_table. Call (*init_machine_status) if the pointer
8796 is non-null.
8797 * function.h (struct function) Add field varasm. Delete fields
8798 inline_obstacks, inl_emit, const_rtx_hash_table, first_pool,
8799 last_pool, const_rtx_sym_hash_table, pool_offset, const_double_chain.
8800 (init_machine_status): Declare.
8801 (save_varasm_status, restore_varasm_status): Delete declarations.
8802 (save_tree_status, restore_tree_status): Delete last argument.
8803 * integrate.c (initialize_for_inline): Lose arg COPY. Delete copying
8804 code. All callers changed.
8805 (copy_decl_list, copy_decl_tree, copy_decl_rtls, copy_for_inline,
8806 save_constants_in_decl_trees, restore_constants, save_constants,
8807 save_for_inline_eh_labelmap, save_for_inline_copying): Delete
8808 functions.
8809 (inlining): New variable.
8810 (reg_map, label_map, insn_map, orig_asm_operands_vector,
8811 copy_asm_operands_vector, copy_asm_constraints_vector): Delete
8812 variables.
8813 (save_for_inline_nocopy): Don't save constants.
8814 Don't set inl_emit field in current_function.
8815 (expand_inline_function): Use emit field, not inl_emit, of the inlined
8816 function. Set new variable inlining before
8817 calling copy_rtx_and_substitute.
8818 (copy_rtx_and_substitute): In MEM and SYMBOL_REF cases, handle
8819 constant pool references if inlining is nonzero.
8820 Delete ADDRESS and (most of the) CONST cases.
8821 (output_inline_function): Save and restore current_function/
8822 current_function_decl. Delete restore_constants code. Don't call
8823 init_const_rtx_hash_table.
8824 * output.h (init_const_rtx_hash_table): Don't declare.
8825 * rtl.h (struct function): Declare.
8826 (get_pool_constant_for_function, get_pool_mode_for_function): Declare.
8827 * toplev.c (rest_of_compilation): Don't treat nested functions or
8828 functions containing them specially. Delete all code to deal with
8829 save_for_inline_copying.
8830 * tree.c (toplev_inline_obstacks, extra_inline_obstacks,
8831 inline_obstacks): Delete variables.
8832 (save_tree_status): Lose arg CONTEXT. All callers changed.
8833 Simply allocate a new function_maybepermanent_obstack for the new
8834 function, delete all the special cases.
8835 Don't save inline_obstacks.
8836 (restore_tree_status): Lose arg CONTEXT. All callers changed.
8837 Delete special handling for function_maybepermanent_obstack; simply
8838 free it if empty.
8839 Don't restore inline_obstacks.
8840 (permanent_allocation): Delete code that frees inline_obstacks.
8841 (print_inline_obstack_statistics): Delete function.
8842 (dump_tree_statistics): Don't call it.
8843 * varasm.c (struct varasm_status): New.
8844 (const_rtx_hash_table, const_rtx_sym_hash_table, first_pool,
8845 last_pool, pool_offset, const_double_chain): Delete global
8846 variables, replace with accessor macros.
8847 (immed_double_const): Don't walk const_double_chain outside a
8848 function, but don't treat nested functions specially anymore.
8849 (immed_real_const_1): Likewise.
8850 (clear_const_double_mem): Don't treat nested functions specially.
8851 (init_const_rtx_hash_table): Deleted, code moved to init_varasm_status.
8852 (save_varasm_status, restore_varasm_status): Delete functions.
8853 (init_varasm_status): New function.
8854 (force_const_mem): Don't treat nested functions specially.
8855 (find_pool_constant): Accept new arg F, search for constants in
8856 that function's pool rather than the current one. All callers
8857 changed.
8858 (get_pool_constant_for_function, get_pool_mode_for_function): New
8859 functions.
8860
8861 * i386.c (init_386_machine_status): New function, mostly from
8862 clear_386_stack_locals.
8863 (struct machine_functions): Rename element names to avoid name
8864 clashes.
8865 (pic_label_rtx, pic_label_name, i386_stack_locals): New accessor
8866 macros, replacing global variables.
8867 (clear_386_stack_locals, save_386_machine_status,
8868 restore_386_machine_status): Delete functions.
8869 (override_options): Initialize init_machine_status.
8870 * i386.h (INIT_EXPANDERS): Delete macro.
8871 (save_386_machine_status, restore_386_machine_status,
8872 clear_386_stack_locals): Delete declarations.
8873
8874 Sat Sep 4 16:56:28 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8875
8876 * config/c4x/c4x.md (rptb_init): Renamed from *rptb_init.
8877 (doloop_begin): Simplify pattern and use emit_jump_insn.
8878 (doloop_end): Simplify pattern, switch operand order,
8879 and use emit_jump_insn.
8880
8881 Fri Sep 3 19:02:38 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
8882
8883 * function.h (struct function): Add new element LANGUAGE.
8884 (save_lang_status): Declare new variable.
8885 (restore_lang_status): Likewise.
8886 * function.c (save_lang_status): Define.
8887 (restore_lang_status): Likewise.
8888 (push_function_context_to): Call language-specific save function.
8889 (pop_function_context_from): Call language-specific restore function.
8890
8891 Fri Sep 3 01:16:18 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
8892
8893 * i386.md (movsf_1): Check REG_P before use of REGNO.
8894 (movdf_1): Likewise.
8895 (movxf_1): Likewise.
8896 (extendsfdf2): Likewise.
8897 (extendsfxf2): Likewise.
8898 (extenddfxf2): Likewise.
8899
8900 Sat Sep 4 11:37:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8901
8902 * config/c4x/c4x.c (c4x_emit_move_sequence): Do not force large
8903 constants into memory.
8904 (c4x_shiftable_constant): New function.
8905 * config/c4x/c4x.c (LEGITIMATE_CONSTANT_P): Allow any CONST_INT.
8906 (c4x_shiftable_constant): Declare.
8907 * config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant,
8908 ashlqi3_noclobber): Add new patterns and associated splitters.
8909
8910 Fri Sep 3 16:22:17 1999 Richard Henderson <rth@cygnus.com>
8911
8912 * dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
8913 * dwarf2out.c (dwarf2out_frame_init): Likewise.
8914 * final.c (shorten_branches): Likewise.
8915 * global.c (global_alloc): Likewise.
8916 * haifa-sched.c (build_control_flow): Likewise.
8917 * stmt.c (check_for_full_enumeration_handling): Likewise.
8918 (estimate_case_costs): Likewise.
8919
8920 Fri Sep 3 15:49:56 1999 Mark Mitchell <mark@codesourcery.com>
8921
8922 * rtl.h (RTL_CHECKC2): Fix typo in last change.
8923
8924 Fri Sep 3 15:13:34 1999 Richard Henderson <rth@cygnus.com>
8925
8926 * flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
8927 (recompute_reg_usage): Likewise.
8928 * rtlanal.c (find_regno_fusage): Likewise.
8929
8930 * rtl.c (rtl_check_failed_code1): New function.
8931 (rtl_check_failed_code2): New.
8932 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTVEC_ELT): Parenthesize args.
8933 (RTL_CHECKC1, RTL_CHECKC2): New.
8934 (XC*): New accessor macros.
8935 (NOTE_*, LABEL_NAME, LABEL_NUSES, ADDRESSOF_REGNO): Use them.
8936 (ADDRESSOF_DECL, JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF): Likewise.
8937 (CONTAINING_INSN, REGNO, INTVAL, SUBREG_REG, SUBREG_WORD): Likewise.
8938 (ASM_OPERANDS_*, MEM_ALIAS_SET, SET_SRC, SET_DEST): Likewise.
8939 (TRAP_*, RANGE_INFO_*): Likewise.
8940
8941 Fri Sep 3 15:10:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8942
8943 * Makefile.in (tlink.o): Don't depend on toplev.h.
8944
8945 * collect2.c (c_file, o_file, export_file, import_file, ldout,
8946 output_file, nm_file_name, ldd_file_name, strip_file_name,
8947 c_file_name, prefix_list, libexts, is_ctor_dtor, find_a_file,
8948 add_prefix, prefix_from_env, prefix_from_string, do_wait,
8949 fork_execute, maybe_unlink, add_to_list,
8950 extract_init_priority, write_list, dump_list,
8951 dump_prefix_list, write_list_with_asm, write_c_file,
8952 write_c_file_stat, write_c_file_glob, scan_prog_file,
8953 scan_libraries, is_in_list, resolve_lib_name, use_import_list,
8954 ignore_library, extract_string, notice, dump_file, target_machine,
8955 collect_wait, collect_execute, libname, locatelib, aix_std_libs,
8956 read_file, print_load_command): Constify a char*.
8957 (fdopen, error, fatal, fatal_perror): Don't prototype.
8958 (my_strerror): Remove. All callers use xstrerror instead.
8959 (xcalloc, xmalloc, xrealloc, xstrdup, putenv): Remove definitions.
8960 (main): Add prototype. Constify lots of char* ptrs. Change calls
8961 to xcalloc/strcpy/strcat/... to one call to concat.
8962 (main, scan_prog_file, scan_libraries): Use an intermediate
8963 `const char **' to build an argv array.
8964 (mapfile, libselect, libcompare, locatelib): Add prototypes.
8965
8966 * collect2.h (collect_execute, collect_wait, dump_file,
8967 file_exists): Constify a char*.
8968 (ldout, c_file_name, temporary_obstack, permanent_obstack,
8969 temporary_firstobj, vflag, debug): Add extern declarations.
8970 (fancy_abort, error, notice, fatal, fatal_perror): Add prototypes.
8971
8972 * tlink.c: Don't include toplev.h.
8973 (vflag, debug, ldout, c_file_name, temporary_obstack,
8974 permanent_obstack, temporary_firstobj): Don't declare.
8975 (tlink_execute, frob_extension, symbol_hash_lookup,
8976 file_hash_lookup, demangled_hash_lookup, tlink_init, freadsym,
8977 recompile_files, read_repo_files, demangle_new_symbols,
8978 scan_linker_output): Constify a char*.
8979 (symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc,
8980 do_tlink): Mark parameters with ATTRIBUTE_UNUSED.
8981
8982 Fri Sep 3 18:09:24 1999 Andrew Haley <aph@cygnus.com>
8983
8984 * config/m68k/m68kelf.h: Set USE_GAS; this makes gcc generate jbsr
8985 (relative) rather than jsr (absolute) subroutine call insns.
8986 * config/m68k/m68k-coff.h: Ditto.
8987
8988 Fri Sep 3 17:24:31 1999 Richard Earnshaw <rearnsha@arm.com>
8989
8990 * arm.c (note_invalid_constants): No need to ignore ASMs, we can
8991 now rework these too.
8992 (arm_reorg): If an insn can't reach the end of the current pool,
8993 ensure that we emit that pool before the insn.
8994
8995 Fri Sep 3 09:14:32 1999 Marc Espie <espie@tetto.liafa.jussieu.fr>
8996
8997 * tlink.c (scan_linker_output): Skip the initial underscore in
8998 a mangled name if appropriate.
8999
9000 Fri Sep 3 01:28:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9001
9002 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
9003 objc_tree_code_name, synth_id_with_class_suffix, warn_with_method,
9004 error_with_ivar, gen_declarator, create_builtin_decl,
9005 my_build_string, generate_descriptor_table, generate_ivars_list,
9006 generate_dispatch_table, check_protocols, TAG_GETCLASS,
9007 TAG_GETMETACLASS, TAG_MSGSEND, TAG_MSGSENDSUPER, TAG_EXECCLASS,
9008 dump_base_name, lang_decode_option, build_encode_expr,
9009 start_class, finish_class, encode_pointer, really_start_method,
9010 gen_declaration, dump_interface, handle_class_ref, handle_impent):
9011 Constify.
9012 (objc_demangle, objc_printable_name, generate_struct_by_value_array):
9013 Add static prototypes.
9014 (build_objc_string_decl, build_selector_reference_decl,
9015 encode_bitfield, build_class_reference_decl): Remove unused
9016 parameter, all callers changed.
9017 (maybe_objc_method_name): Mark with ATTRIBUTE_UNUSED.
9018 (objc_printable_name): Likewise. Change second parameter to type int.
9019 (init_objc): Use memcpy, not bcopy, to avoid casts.
9020
9021 Thu Sep 2 21:49:52 1999 Richard Henderson <rth@cygnus.com>
9022
9023 * reload1.c (eliminate_regs_in_insn): Avoid eliminating the
9024 reg notes on a deleted insn.
9025 * gcse.c (hash_expr_1): Use XWINT on a CONST_DOUBLE.
9026
9027 Thu Sep 2 20:18:12 1999 Jeffrey A Law (law@cygnus.com)
9028
9029 * i386.c (ix86_attr_length_default): Handle TYPE_FXCH.
9030
9031 Thu Sep 2 22:00:08 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
9032
9033 * stmt.c (expand_asm_operands): Fix index into inout_mode when
9034 reading it.
9035
9036 Thu Sep 2 13:00:48 1999 Richard Henderson <rth@cygnus.com>
9037
9038 * stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
9039 * tm.texi (MD_ASM_CLOBBERS): Document it.
9040
9041 Thu Sep 2 10:22:40 1999 Richard Henderson <rth@cygnus.com>
9042
9043 * dwarf2out.c (dwarf2out_line): Constify `lastfile'.
9044 * except.c (expand_rethrow): Remove unused variable.
9045 * expr.c (do_jump_by_parts_greater_rtx): Likewise.
9046 * flow.c (replace_insns): Likewise.
9047 (create_edge_list, verify_edge_list): Likewise.
9048 * gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
9049
9050 * genemit.c (gen_expand): Only emit `operands[N]' decl if there
9051 is special code to run.
9052 (main): Don't define operands to emit_operand.
9053 * genrecog.c (main): Don't emit an empty peephole2_insn function.
9054
9055 * rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
9056
9057 * alpha/alpha.h (normal_memory_operand): Declare.
9058 (reg_no_subreg_operand): Declare.
9059 * alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
9060
9061 Thu Sep 2 10:19:20 1999 Richard Henderson <rth@cygnus.com>
9062
9063 * c-parse.in (compstmt_primary_start): New, broken out of first
9064 part of compstmt handling in primary.
9065 (primary): Use it. Add an error clause.
9066 (compstmt_nostart): Renamed from compstmt; remove all
9067 initial invocations of compstmt_start.
9068 (compstmt): New.
9069
9070 Thu Sep 2 01:35:50 1999 Marc Espie <espie@cvs.openbsd.org>
9071
9072 * protoize.c (gen_aux_info_file): Let pexecute call choose_temp_base if
9073 needed.
9074
9075 Thu Sep 2 00:43:59 1999 Finn Hakansson <finn@axis.com>
9076
9077 * combine.c (simplify_shift_const): Remove extra semicolon.
9078 * dwarf2out.c (remove_AT): Likewise.
9079 * expmed.c (expand_mult): Likewise.
9080 * gcov.c (create_program_flow_graph): Likewise.
9081 * reorg.c (mostly_true_jump): Likewise.
9082
9083 Thu Sep 2 00:06:43 1999 Jeffrey A Law (law@cygnus.com)
9084
9085 * fold-const.c (fold_range_test): Do not try to fold the range
9086 test if the rhs or lhs has side effects.
9087
9088 * combine.c (simplify_rtx): Recognize another case of a synthesized
9089 sign extension.
9090
9091 * varasm.c (mark_constant_pool): When marking indirect references,
9092 only look at SYMBOL_REFs.
9093
9094 * except.c (expand_fixup_region_end): Do not peek at
9095 INSN_UID (node->entry->outer_context) for flag_new_exceptions.
9096
9097 Thu Sep 2 13:52:53 1999 Geoffrey Keating <geoffk@cygnus.com>
9098
9099 * flags.h: New variables align_loops, align_loops_log,
9100 align_jumps, align_jumps_log, align_labels, align_labels_log,
9101 align_functions, align_functions_log.
9102 * toplev.c: Define them.
9103 (f_options): Handle -falign-* when they have no argument.
9104 (main): Add logic to set variables for -falign-functions,
9105 -falign-jumps, -falign-labels, -falign-loops.
9106 Make it -fsched-verbose=<n> and -finline-limit=<n>.
9107 (display_help): Change help to match options.
9108 * final.c (LABEL_ALIGN): Default to align_labels_log.
9109 (LABEL_ALIGN_MAX_SKIP): Default to align_labels-1.
9110 (LOOP_ALIGN): Default to align_loops_log.
9111 (LOOP_ALIGN_MAX_SKIP): Default to align_loops-1.
9112 (LABEL_ALIGN_AFTER_BARRIER): Default to align_jumps_log.
9113 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to align_jumps-1.
9114 * varasm.c (assemble_start_function): Handle align_functions.
9115
9116 * config/sparc/sparc.h: Don't declare sparc_align_*.
9117 Don't provide LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN.
9118 (DEFAULT_SPARC_ALIGN_FUNCS): Delete; take functionality into
9119 sparc.c.
9120 (FUNCTION_BOUNDARY): Fix incorrect use---it's not just a request,
9121 it's a promise.
9122 * config/sparc/sparc.c: Delete sparc_align_loops,
9123 sparc_align_jumps, sparc_align_funcs and the corresponding string
9124 variables.
9125 (sparc_override_options): Default align_functions on ultrasparc.
9126 Delete -malign-* handling.
9127
9128 * config/mips/mips.c (override_options): On 64-bit targets,
9129 try to align code to 64-bit boundaries.
9130 (print_operand): New substitution, %~,
9131 which aligns labels to align_labels_log.
9132 * config/mips/mips.md (div_trap_normal): Use %~.
9133 (div_trap_mips16): Likewise.
9134 (abssi): Likewise.
9135 (absdi2): Likewise.
9136 (ffssi2): Likewise.
9137 (ffsdi2): Likewise.
9138 (ashldi3_internal): Likewise.
9139 (ashrdi3_internal): Likewise.
9140 (lshrdi3_internal): Likewise.
9141 (casesi_internal): Likewise.
9142
9143 Wed Sep 1 21:13:48 1999 Richard Henderson <rth@cygnus.com>
9144
9145 Merge new ia32 backend from the branch!
9146
9147 * i386.h, i386.c, i386.md, reg-stack.c, i386/unix.h: Many changes.
9148 See ChangeLog.P2 on new_ia32_branch for details.
9149
9150 * rtl.h (stack_regs_mentioned_p): Delete prototype.
9151 * i386/cygwin.h (SUBTARGET_PROLOGUE): No more do_rtl.
9152 * i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
9153 * i386/gas.h (ASM_FILE_START): Define.
9154 * i386/winnt.c (i386_pe_valid_decl_attribute_p): Update
9155 for name change of ix86_valid_decl_attribute_p.
9156 (i386_pe_valid_type_attribute_p): Similarly.
9157
9158 Wed Sep 1 18:21:23 1999 Richard Henderson <rth@cygnus.com>
9159
9160 * emit-rtl.c (init_emit_once): Don't use GET_MODE_WIDER_MODE
9161 to step through CC modes.
9162
9163 Wed Sep 1 20:18:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
9164
9165 * regmove.c (fixup_match_1): Don't move INSN in front of P if
9166 it would end up in the shadow of a live flags regsiter.
9167
9168 Wed Sep 1 11:32:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
9169
9170 * reload1.c: Fix many indentation problems.
9171 * reload.c: Likewise.
9172
9173 Tue Aug 31 22:08:03 1999 Marc Espie <espie@cvs.openbsd.org>
9174
9175 * alias.c (non_local_reference_p): Constify fmt.
9176
9177 Tue Aug 31 23:19:35 1999 Michael Meissner <meissner@cygnus.com>
9178
9179 * config/i386/xm-cygwin.h (HAVE_DOS_BASED_FILE_SYSTEM): Define.
9180
9181 Tue Aug 31 16:44:52 1999 Jeffrey A Law (law@cygnus.com)
9182
9183 * cse.c (delete_trivially_dead_insns): Do not delete stores to
9184 the internal_arg_pointer.
9185
9186 Tue Aug 31 13:35:42 1999 Richard Henderson <rth@cygnus.com>
9187
9188 Merge peephole2 from new_ia32_branch:
9189 * Makefile.in (STAGESTUFF): Add *.peephole2.
9190 (mostlyclean): Likewise.
9191 (recog.o): Depend on resource.h.
9192
9193 * final.c (peephole): Conditionalize decl on HAVE_peephole.
9194 (final_scan_insn): Likewise for the invocation of peephole.
9195 * genconfig.c (main): Look for peephole and peephole2 patterns.
9196 Emit HAVE_peephole* accordingly.
9197 * genpeep.c (main): Conditionalize entire output on HAVE_peephole.
9198 * flags.h (flag_peephole2): Declare.
9199 * toplev.c: New pass peephole2. New flag -fpeephole2.
9200
9201 * genattrtab.c (main): Count DEFINE_PEEPHOLE2.
9202 * gencodes.c (main): Likewise.
9203 * genextract.c (main): Likewise.
9204 * genoutput.c (main): Likewise.
9205 * genemit.c (max_operand_1): Look for the max scratch operand.
9206 (gen_rtx_scratch): New.
9207 (gen_exp): Use it, and pass on new arg subroutine_type.
9208 (gen_expand): Take max scratch into account.
9209 (gen_split): Emit peephole2 functions.
9210 (output_peephole2_scratch): New.
9211 (main): Include hard-reg-set.h and resource.h. Handle peephole2.
9212 * genrecog.c (routine_type): Add PEEPHOLE2.
9213 (IS_SPLIT): New.
9214 (make_insn_sequence): Match outer parallel for peep2. Discard
9215 top level scratches and dups.
9216 (add_to_sequence): New args insn_type and top. Update all callers.
9217 Handle toplevel peep2 matching insns.
9218 (write_subroutine): Handle peep2.
9219 (write_tree_1): Likewise.
9220 (write_tree): Likewise.
9221 (main): Likewise.
9222 (change_state): New arg afterward. Update all callers.
9223 Handle matching separate insns.
9224 * recog.c (recog_next_insn): New.
9225 (peephole2_optimize): New.
9226 * rtl.def (DEFINE_PEEPHOLE2): New.
9227 * resource.c (find_free_register): New argument last_insn. Use it
9228 to find a register available through the entire span.
9229 * resource.h (find_free_register): Update prototype.
9230
9231 Tue Aug 31 11:51:06 1999 Jim Kingdon <http://developer.redhat.com>
9232
9233 * i386.c (output_strlen_unroll): Don't write xops[7]
9234 label if it wasn't set.
9235
9236 1999-08-31 12:44 -0700 Zack Weinberg <zack@bitmover.com>
9237
9238 * cpplib.c (struct directive): Const-ify name pointer and
9239 function pointer prototype.
9240 (validate_else, do_define, do_line, do_include, do_undef,
9241 do_error, do_pragma, do_ident, do_if, do_xifdef, do_else,
9242 do_elif, do_endif, do_sccs, do_assert, do_unassert,
9243 do_warning): Const-ify second arg.
9244 (directive_table): Mark const. Reorder entries by frequency
9245 of usage, record statistics.
9246
9247 1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
9248
9249 * rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and
9250 bounds- check RTL accesses if --enable-checking.
9251 (RTVEC_ELT): Bounds check if --enable-checking.
9252 (XWINT, XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE,
9253 XBBDEF): Use RTL_CHECK1/RTL_CHECK2 as appropriate.
9254 (XVECEXP, XVECLEN): Define in terms of XVEC, RTVEC_ELT, and
9255 GET_NUM_ELEM.
9256 (X0WINT, X0INT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
9257 X0BBDEF, X0ADVFLAGS): New macros for accessing '0' slots of RTXes.
9258
9259 (ADDR_DIFF_VEC_FLAGS): Use X0ADVFLAGS.
9260 (NOTE_SOURCE_FILE): Use X0STR.
9261 (NOTE_BLOCK_NUMBER, NOTE_EH_HANDLER, LABEL_NUSES,
9262 MEM_ALIAS_SET): Use X0INT.
9263 (NOTE_RANGE_INFO, NOTE_LIVE_INFO, NOTE_BASIC_BLOCK,
9264 JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF, CONTAINING_INSN):
9265 Use X0EXP.
9266 * real.h (CONST_DOUBLE_CHAIN): Use X0EXP.
9267 * rtl.c (copy_rtx, copy_most_rtx): Copy '0' slots with X0WINT.
9268 (rtl_check_failed_bounds, rtl_check_failed_type1,
9269 rtl_check_failed_type2, rtvec_check_failed_bounds): New
9270 functions.
9271 (fancy_abort): Fix comment.
9272
9273 * cse.c (canon_hash): Read CONST_DOUBLE data slots with XWINT.
9274 (cse_insn): Decrement LABEL_NUSES for jump target before
9275 deleting jump insn.
9276 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use X0EXP for slot 1.
9277 * final.c (alter_subreg): Compute regno before changing x to
9278 REG; set REGNO(x) after changing it.
9279 * flow.c (count_basic_blocks): Use XWINT to inspect EH_REGION
9280 notes containing CONST_INTs.
9281 (delete_eh_regions): Use NOTE_EH_HANDLER.
9282 * function.c (put_reg_into_stack): Make reg a MEM before
9283 initializing it.
9284 (fixup_var_refs_insns): Save REG_NOTES (insn) in case we
9285 delete insn.
9286 (gen_mem_addressof): Make reg a MEM before initializing it.
9287 * integrate.c (copy_rtx_and_substitute): Copy '0' slots with
9288 X0WINT.
9289 * local-alloc.c (update_equiv_regs): Zap REG_NOTES before
9290 deleting an insn, not after.
9291 (block_alloc): Only look at PATTERN(insn) if we have to, and
9292 only if it's format class 'i'.
9293 * loop.c (check_dbra_loop): Check bl->biv->add_val is a
9294 CONST_INT before using its INTVAL.
9295 * print-rtl.c (print_rtx): Use X0STR.
9296 * regmove.c (fixup_match_1): Don't look at PATTERN of
9297 non-class-'i' insn chain elements.
9298 * reload.c (loc_mentioned_in_p): Take address of
9299 in->fld[1].rtx directly.
9300 * reload1.c (reload): Change reg to a MEM before initializing
9301 it.
9302 * varasm.c (mark_constant_pool): Skip CONST_DOUBLES, which
9303 have no names.
9304 * config/i386/i386.md (decrement_and_branch_if_zero): Fix typo.
9305
9306 Fri Aug 20 13:43:41 1999 Andrew Haley <aph@cygnus.com>
9307
9308 * config/mips/mips.c (machine_dependent_reorg): Force a
9309 barrier to output the local constant pool if a barrier hasn't
9310 been found at a natural point in the instruction stream.
9311
9312 Mon Aug 30 22:04:36 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9313
9314 * c-parse.in (language_string): Constify.
9315
9316 * dwarf2out.c (language_string): Remove declaration.
9317
9318 * dwarfout.c (language_string): Likewise.
9319
9320 * toplev.c (language_string, init_parse, finish_parse): Likewise.
9321
9322 * tree.h (language_string, init_parse, finish_parse): Declare.
9323
9324 * i386/sun386.h (language_string): Remove declaration.
9325
9326 * mips.h (language_string): Likewise.
9327
9328 * nextstep.h (language_string): Likewise.
9329
9330 * nextstep21.h (language_string): Likewise.
9331
9332 * rs6000.c (language_string): Likewise.
9333
9334 Mon Aug 30 20:56:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9335
9336 * Makefile.in (OBJS, PROTO_OBJS): Remove getpwd.o.
9337 (getpwd.o): Remove target.
9338
9339 * getpwd.c: Delete file. Its in libiberty now.
9340
9341 * dbxout.c (getpwd): Don't prototype.
9342 * dwarf2out.c (getpwd): Likewise
9343 * dwarfout.c (getpwd): Likewise
9344 * final.c (getpwd): Likewise.
9345 * protoize.c (getpwd): Likewise.
9346
9347 Mon Aug 30 20:21:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9348
9349 * cse.c: (fold_rtx): Cast to HOST_WIDE_INT in left shift.
9350
9351 Mon Aug 30 16:07:49 1999 Richard Henderson <rth@cygnus.com>
9352
9353 * flow.c (new_insn_dead_notes): Use sets_reg_or_subreg not
9354 mark_set_resources.
9355
9356 Mon Aug 30 12:23:53 1999 Jim Wilson <wilson@cygnus.com>
9357
9358 * fixinc/Makefile.in (subdir): New.
9359 (fixincl.x, inclhack.sh, fixincl.sh): Use cp instead of $(CP).
9360 (Makefile): New.
9361
9362 Mon Aug 30 01:02:09 1999 Jeffrey A Law (law@cygnus.com)
9363
9364 * emit-rtl.c (copy_rtx_if_shared): A MEM which references
9365 virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
9366 be shared.
9367
9368 * invoke.texi: Fix typo.
9369
9370 * dwarf2out.c (mem_loc_descriptor): New argument MODE. All callers
9371 changed. Handle autoincrement addressing modes.
9372
9373 * integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer
9374 just like we would the virtual incoming args register when
9375 integrating.
9376
9377 Sun Aug 29 23:17:54 1999 David Edelsohn <edelsohn@gnu.org>
9378
9379 * rs6000.h (ASM_FILE_START): Specify complete filename, including
9380 path, in .file directive.
9381
9382 Sun Aug 29 05:06:43 1999 Russ Allbery <rra@stanford.edu>
9383
9384 * gcc.texi (External Bugs): Remove obsolete note about Perl on
9385 SunOS.
9386
9387 1999-08-29 08:38 -0700 Zack Weinberg <zack@bitmover.com>
9388
9389 * stdbool.h: Make the typedef name _Bool, with bool a #defined
9390 alias.
9391
9392 Sun Aug 29 09:36:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9393
9394 * tree.c (tree_code_name): Constify a char*.
9395
9396 * tree.h (tree_code_name, decl_printable_name): Likewise.
9397
9398 * function.h (struct function): Likewise.
9399
9400 * toplev.c (decl_name, decl_printable_name): Likewise.
9401
9402 * vax/vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Likewise.
9403
9404 * objc/objc-act.c (decl_printable_name): Remove redundant prototype.
9405 (init_objc): Remove function pointer cast.
9406
9407 Sun Aug 29 05:01:17 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
9408
9409 * pa.md (interspace_jump): New pattern.
9410 (builtin_longjmp): New expander.
9411
9412 1999-08-29 Bernd Schmidt <bernds@cygnus.co.uk>
9413
9414 * fp-bit.c (add, sub, multiply, divide, compare, _eq_f2, _ne_f2,
9415 _gt_f2, _ge_f2, _lt_f2, _le_f2, float_to_si, float_to_usi, negate,
9416 sf_to_df, df_to_sf): Fix potential problem with alias analysis.
9417
9418 Sun Aug 29 04:30:52 1999 John Wehle (john@feith.com)
9419
9420 * jump.c (delete_prior_computation): Also check calls
9421 to constant functions. Don't bother checking for a
9422 REG_UNUSED note before adding it.
9423 (delete_computation): Handle multi-word hard registers
9424 when synthesizing missing REG_DEAD notes for a register
9425 which is both set and used by an insn.
9426
9427 1999-08-29 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9428
9429 * loop.c (this_loop_info): New variable.
9430 (loop_has_call, loop_has_volatile, loop_has_tablejump,
9431 loop_continue, loops_enclosed): Replace with fields in this_loop_info.
9432 All uses updated.
9433 (prescan_loop, strength_reduce): New argument loop_info. All callers
9434 updated.
9435 (scan_loop): New variable loop_info, initialise to address of
9436 this_loop_info.
9437 (prescan_loop): Set loop_info->vtop if find NOTE_INSN_LOOP_VTOP.
9438 Delete variable loop_has_multiple_exit targets and replace with
9439 field in this_loop_info.
9440 (find_and_verify_loops): Rename this_loop to this_loop_num.
9441 (strength_reduce): Delete loop_iteration_info. Replace variable
9442 loop_info with function argument of same name.
9443 (insert_bct): Rework test for loop being completely unrolled.
9444
9445 * loop.h (struct loop_info): New fields num, loops_enclosed,
9446 has_call, has_volatile, has_tablejump, has_multiple_exit_targets,
9447 has_indirect_jump, and cont. Redefine use of unroll_number.
9448 (loop_unroll_number): Delete.
9449
9450 * unroll.c (unroll_loop): Store loop unroll count in unroll_number
9451 field of loop_info.
9452 (loop_iterations): Delete variable vtop and instead use
9453 loop_info->vtop computed in prescan_loop.
9454
9455 Sun Aug 29 03:27:23 1999 Scott Weikart <scott@igc.apc.org>
9456
9457 * fix-header.c (main): Do not pass a null pointer to strcmp.
9458
9459 Sun Aug 29 03:18:48 1999 William Bader (william@nscs.fast.net)
9460
9461 * configure.in (i[34567]86-*-sco3.2v4*): Target does not truncate
9462 filenames.
9463 * configure: Rebuilt.
9464
9465 Sat Aug 28 19:36:05 1999 Jeffrey A Law (law@cygnus.com)
9466
9467 * jump.c (jump_optimize_1): Do not delete assignments to
9468 internal_arg_pointer.
9469 * cse.c (delete_trivially_dead_insns): Always consider a set of
9470 the internal_arg_pointer live.
9471
9472 Sat Aug 28 16:24:31 1999 Richard Henderson <rth@cygnus.com>
9473
9474 * flow.c (flow_delete_insn_chain): Rename from delete_insn_chain.
9475 (update_life_info) [REG_WAS_0]: Search the original insns rather
9476 than the new insns for the note. Fix typos finding note_dest.
9477 If no dest found, discard the note rather than abort.
9478 [REG_NOALIAS]: Handle as REG_NO_CONFLICT.
9479 (replace_insns): Remove the old insn list after update_life_info
9480 not before.
9481
9482 Sat Aug 28 16:20:12 1999 Richard Henderson <rth@cygnus.com>
9483
9484 * haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
9485 sched_analyze_insn.
9486 (sched_analyze_1): Let add_dependence care for not adding dups.
9487 (sched_analyze_2): Likewise.
9488 (add_branch_dependences): Likewise.
9489
9490 Sat Aug 28 15:58:16 1999 Mumit Khan <khan@xraylith.wisc.edu>
9491
9492 * i386/winnt.c (export_list): New type.
9493 (exports_head): Rename to
9494 (export_head): this.
9495 (i386_pe_record_exported_symbol): Add is_data flag.
9496 (i386_pe_asm_file_end): Emit directive for exported variables.
9497 * i386/cygwin.h (i386_pe_record_exported_symbol): Update
9498 prototype.
9499 * i386/cygwin.h (ASM_OUTPUT_COMMON): Specify symbol type.
9500 (ASM_DECLARE_OBJECT_NAME): Likewise.
9501 (ASM_DECLARE_FUNCTION_NAME): Likewise.
9502 * i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
9503
9504 Fri Aug 27 15:35:24 1999 Jeffrey A Law (law@cygnus.com)
9505
9506 * cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
9507
9508 * pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
9509 operand.
9510
9511 Fri Aug 27 14:01:19 1999 Marc Espie <espie@cvs.openbsd.org>
9512
9513 * config/openbsd.h: Define SET_ASM_OP.
9514 * tm.texi: cross-reference SET_ASM_OP in the index.
9515
9516 1999-08-27 13:27 -0700 Zack Weinberg <zack@bitmover.com>
9517
9518 * rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format
9519 for a CONST_DOUBLE, at compile time. Initialize rtx_length
9520 and class_narrowest_mode at compile time. Kill init_rtl.
9521 Mark rtx_length, mode_class, mode_size, mode_unit_size,
9522 mode_wider_mode, mode_mask_array, class_narrowest_mode, and
9523 rtx_format as const. Kill all references to EXTRA_CC_MODES or
9524 EXTRA_CC_NAMES.
9525 * rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
9526 format.
9527 * rtl.h: Declare rtx_length and rtx_format as const.
9528 * machmode.def: Define CC(). Use CC() to define CCmode. If
9529 EXTRA_CC_MODES is defined, expand it here.
9530 * machmode.h: Declare mode_class, mode_size, mode_unit_size,
9531 mode_wider_mode, mode_mask_array, and class_narrowest_mode as
9532 const. Kill all references to EXTRA_CC_MODES.
9533
9534 * toplev.c: Don't prototype or call init_rtl.
9535 * optabs.c: Don't call init_mov_optab.
9536 * genemit.c: Don't generate init_mov_optab. Don't call
9537 init_rtl.
9538 * gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
9539 here.
9540 * genattr.c, genattrtab.c, gencodes.c, genconfig.c,
9541 genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
9542 genrecog.c: Don't call init_rtl.
9543
9544 * arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h,
9545 rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES. Use CC() in
9546 definition of EXTRA_CC_MODES.
9547
9548 * md.texi: Kill ref to EXTRA_CC_NAMES.
9549 * tm.texi: Document new way to define EXTRA_CC_MODES.
9550
9551 * genrecog.c: Do not look up the name of a define_split.
9552 (Unrelated bugfix.)
9553
9554 Fri Aug 27 17:03:42 1999 Nick Clifton <nickc@cygnus.com>
9555
9556 * config/v850/v850.md: Fix typo introduced by previous delta.
9557
9558 Fri Aug 27 09:48:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9559
9560 * gcc.c (fatal): Make definition static to match prototype.
9561
9562 Fri Aug 27 10:33:35 1999 Bernd Schmidt <bernds@cygnus.co.uk>
9563
9564 * combine.c (get_last_value): Don't look for earlier sets if the last
9565 known set is somewhere in between the insns being combined.
9566
9567 Fri Aug 27 10:03:12 BST 1999 Nathan Sidwell <nathan@acm.org>
9568
9569 * configure.in: Don't use shell ! to negate exit codes
9570 * configure: Regenerate
9571
9572 Fri Aug 27 09:36:17 1999 Andreas Schwab <schwab@suse.de>
9573
9574 * function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
9575 the fact that ALIGN is measured in bits, not bytes.
9576
9577 1999-08-27 00:27 -0700 Zack Weinberg <zack@bitmover.com>
9578
9579 * errors.c: New file; defines functions error, warning, and
9580 fatal, variables have_error and progname.
9581 * errors.h: New file; prototypes and decls for stuff in errors.c.
9582
9583 * Makefile: Add rules to build errors.o and
9584 $(HOST_PREFIX)errors.o. Link genconfig, gencodes, genemit,
9585 genopinit, genrecog, genextract, genpeep, genattr, and
9586 genoutput with errors.o. Add errors.h to deps of genconfig.o,
9587 gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o,
9588 genpeep.o, genattr.o, and genoutput.o.
9589
9590 * genconfig.c, gencodes.c, genemit.c, genopinit.c, genrecog.c,
9591 genextract.c, genpeep.c, genattr.c: Include errors.h. Don't
9592 define or prototype fatal. Set progname at beginning of main.
9593 * genoutput.c: Likewise, and don't define or prototype error
9594 either.
9595
9596 * c-typeck.c (c_expand_start_case): Return immediately if exp
9597 is an ERROR_MARK.
9598 * fold-const.c (operand_equal_p): Return immediately if arg1
9599 or arg0 are ERROR_MARKs.
9600 * stor-layout.c (layout_type [case RECORD_TYPE]): Ignore
9601 fields of type ERROR_MARK when calculating if the record can
9602 go in a register.
9603
9604 Fri Aug 27 01:03:48 1999 Jim Kingdon <http://developer.redhat.com>
9605 with much help from Jeffrey A Law and Richard Henderson
9606
9607 * i386.md: In the 6 insns which call output_fix_trunc,
9608 earlyclobber operands[0].
9609
9610 Fri Aug 27 01:01:51 1999 Philip Blundell <pb@nexus.co.uk>
9611
9612 * jump.c (duplicate_loop_exit_test): Call reg_scan_update after
9613 creating new registers.
9614
9615 1999-08-26 23:09 -0700 Zack Weinberg <zack@bitmover.com>
9616
9617 * i386.h: Declare ix86_cpu_string, ix86_arch_string,
9618 i386_reg_alloc_order, i386_regparm_string,
9619 i386_align_loops_string, i386_align_jumps_string,
9620 i386_align_funcs_string, i386_preferred_stack_boundary_string,
9621 and i386_branch_cost_string as type "const char *".
9622 * i386.c: Define all above strings as type "const char *".
9623
9624 Thu Aug 26 20:36:30 1999 Jim Wilson <wilson@cygnus.com>
9625
9626 * dwarf2out.c (output_aranges): Check DWARF_OFFSET_SIZE not PTR_SIZE
9627 when emitting alignment padding. Emit padding byte of 0 instead of 4.
9628
9629 Thu Aug 26 18:11:20 1999 Mark Mitchell <mark@codesourcery.com>
9630
9631 * tree.c (array_type_nelts): Don't create RTL_EXPRs from
9632 SAVE_EXPRs unless the SAVE_EXPRs have already been expanded.
9633
9634 Thu Aug 26 19:33:23 1999 Jim Wilson <wilson@cygnus.com>
9635
9636 * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Add default definition.
9637 (debug_dwarf): Add DWARF2_ASM_LINE_DEBUG_INFO support.
9638 (dwarf2out_line, dwarf2out_finish): Likewise.
9639 * tm.texi (DWARF2_ASM_LINE_DEBUG_INFO): Add documetation.
9640
9641 Thu Aug 26 16:10:56 1999 Gavin Romig-Koch <gavin@cygnus.com>
9642
9643 * tree.c (lang_unsave_expr_now) : Correct return type.
9644 * tree.h (lang_unsave_expr_now) : Same.
9645
9646 Thu Aug 26 13:12:29 1999 Jeffrey A Law (law@cygnus.com)
9647
9648 * pa.c (cint_ok_for_move): Use CONST_INT_OK_FOR_LETTER_P macros
9649 instead of duplicating code.
9650
9651 Thu Aug 26 18:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
9652
9653 * gcse.c (hash_scan_insn): Don't scan obvious no-ops.
9654
9655 1999-08-26 09:42 -0700 Zack Weinberg <zack@bitmover.com>
9656
9657 * tree.h: fancy_abort always takes three args.
9658 * resource.c: Move include of system.h before toplev.h.
9659
9660 Thu Aug 26 09:46:16 1999 Nick Clifton <nickc@cygnus.com>
9661
9662 * dwarf2out.c (mem_loc_descriptor): Accept LABEL_REFs as well
9663 as SYMBOL_REFs.
9664
9665 1999-08-25 22:10 -0700 Zack Weinberg <zack@bitmover.com>
9666
9667 * system.h: Don't redefine abort or trim_filename.
9668 * rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0)
9669 or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on
9670 whether or not __FUNCTION__ is available.
9671 * tree.h: Duplicate rtl.h's definition of abort, for files
9672 that don't include rtl.h. Delete all code to perform type
9673 checking with a compiler other than GCC.
9674 * varray.h: Delete all code to perform type checking with a
9675 compiler other than GCC. Make VARRAY_CHECK() always evaluate
9676 its arguments exactly once, using a statement expression.
9677 Adjust the VARRAY_<type> accessor macros to match.
9678 * toplev.h (fatal_insn, fatal_insn_not_found): Kill.
9679 (_fatal_insn, _fatal_insn_not_found): New fns, take info on
9680 caller's location. Define fatal_insn and fatal_insn_not_found
9681 as macros that use _fatal_insn and _fatal_insn_not_found.
9682 (fancy_abort, trim_filename): Kill prototypes.
9683
9684 * rtl.c (trim_filename): Move here from toplev.c.
9685 (fancy_abort): New function.
9686 (DIR_SEPARATOR): Provide default definition.
9687 * tree.c (tree_check_failed, tree_class_check_failed): Go
9688 through fancy_abort.
9689 (tree_check, tree_class_check, cst_or_constructor_check,
9690 expr_check): Delete.
9691 * varray.c (varray_check_failed): New function.
9692 * toplev.c (fatal_insn, fatal_insn_not_found): Replace with
9693 _fatal_insn and _fatal_insn_not_found. Go through
9694 fancy_abort.
9695 (trim_filename, fancy_abort): Delete.
9696
9697 * builtins.c (expand_builtin_args_info): Report ICE with abort.
9698 * except.c (start_catch_handler): Report ICE with error/abort
9699 combo.
9700 * final.c (output_operand_lossage): Likewise.
9701 * flow.c (verify_flow_info): Likewise.
9702
9703 * gcc.c: Prototype fatal.
9704 * gengenrtl.c: Undef abort after including rtl.h not system.h.
9705 * genattr.c, genattrtab.c, genemit.c, genextract.c,
9706 genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c:
9707 Don't define fancy_abort.
9708
9709 Wed Aug 25 17:56:59 1999 Richard Henderson <rth@cygnus.com>
9710
9711 * optabs.c (emit_cmp_and_jump_insns): Be more thorough in
9712 canonization.
9713
9714 Wed Aug 25 15:35:55 1999 Richard Henderson <rth@cygnus.com>
9715
9716 * m88k.h (VERSION_INFO2): Kill.
9717 (VERSION_STRING): Kill.
9718 (TM_RCS_ID): Kill.
9719 (VERSION_INFO1): Tidy.
9720 (TARGET_VERSION): Update.
9721 * m88k/dgux.h (VERSION_INFO2): Kill.
9722 (ASM_FIRST_LINE): Adjust for death of VERSION_STRING.
9723 * m88k/luna.h (VERSION_INFO1): Tidy.
9724 * m88k/sysv4.h (VERSION_INFO1): Likewise.
9725 * m88k.c (out_rcs_id, tm_rcs_id): Kill.
9726 (output_file_start): Adjust for death of VERSION_STRING.
9727
9728 1999-08-25 13:51 -0700 Jim Meyering <meyering@ascend.com>
9729
9730 * cpplib.c (detect_if_not_defined): New function.
9731 (do_if): Use it to detect potential once-only headers.
9732
9733 Wed Aug 25 14:00:18 1999 Jason Merrill <jason@yorick.cygnus.com>
9734
9735 * c-common.c (combine_strings): Always set TREE_CONSTANT.
9736
9737 Wed Aug 25 15:27:22 1999 Gavin Romig-Koch <gavin@cygnus.com>
9738
9739 * combine.c (nonzero_bits) : Allow single-ly set registers to be
9740 anywere in the function only if they are pseudos and set before
9741 being used (not live at the start of the function).
9742 (num_sign_bit_copies) : Same.
9743 (get_last_value_validate) : Same.
9744 (get_last_value) : Same.
9745
9746 Wed Aug 25 11:13:29 1999 Richard Henderson <rth@cygnus.com>
9747
9748 * loop.c (express_from): Try harder to unify (* c N) and (* c M)
9749 where N and M are constant and N is an integer multiple of M.
9750
9751 Wed Aug 25 13:55:47 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
9752
9753 * sbitmap.h (sbitmap_intersection_of_succs): Add prototype.
9754 (sbitmap_intersection_of_preds, sbitmap_union_of_succs,
9755 sbitmap_union_of_preds): Add prototypes.
9756 * sbitmap.c (sbitmap_intersection_of_succs): New function to compute
9757 the intersection of successors with the new flow graph structures.
9758 (sbitmap_intersection_of_preds): New function to compute the
9759 intersection of predecessors with the new flow graph structures.
9760 (sbitmap_union_of_succs): New function to compute the union of
9761 successors with the new flow graph structures.
9762 (sbitmap_union_of_preds): New function to compute the union of
9763 predecessors with the new flow graph structures.
9764 * gcse.c (compute_rdm, compute_available): Use new sbitmap routines.
9765 (expr_reaches_here_p): Use edge and basic_block structures instead
9766 of s_preds and s_succs.
9767 (compute_cprop_avinout): Use new sbitmap routines.
9768 (pre_expr_reaches_here_p): Use edge and basic_block structures instead
9769 of s_preds and s_succs.
9770 * flow.c (compute_flow_dominators): Compute dominators using
9771 edges and basic blocks instead of s_preds and s_succs.
9772
9773 Wed Aug 25 13:41:47 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
9774
9775 * lists.c (unused_insn_list, unused_expr_list): New file for
9776 maintaining various types of lists. New statics for maintaining a
9777 cache of available INSN_LIST and EXPR_LIST nodes.
9778 (free_list): Static function for freeing a list of INSN/EXPR nodes.
9779 (alloc_INSN_LIST): Function to get a free INSN_LIST node.
9780 (alloc_EXPR_LIST): Function to get a free EXPR_LIST node.
9781 (init_EXPR_INSN_LIST_cache): Initialize the cache lists.
9782 (free_EXPR_LIST_list): Free an entire list of EXPR_LIST nodes.
9783 (free_INSN_LIST_list): Free an entire list of INSN_LIST nodes.
9784 (free_EXPR_LIST_node): Free an individual EXPR_LIST node.
9785 (free_INSN_LIST_node): Free an individual INSN_LIST node.
9786 * haifa-sched.c (unused_insn_list, unused_expr_list): Moved to flow.c
9787 (free_list, alloc_INSN_LIST, alloc_EXPR_LIST): Moved to flow.c
9788 (remove_dependence, free_pending_lists): Use new global routines.
9789 (flush_pending_lists, sched_analyze_insn): Use new global routines.
9790 (sched_analyze, compute_block_backward_dependences): Use new routines.
9791 (sched_analyze_1, sched_analyze_2): Use new routines.
9792 (schedule_insns): Use new global routines.
9793 * rtl.h (init_EXPR_INSN_LIST_cache, free_EXPR_LIST_list): Add function
9794 prototypes.
9795 (free_INSN_LIST_list, free_EXPR_LIST_node): Add prototypes.
9796 (free_INSN_LIST_node, alloc_INSN_LIST, alloc_EXPR_LIST): Add function
9797 prototypes.
9798 * toplev.c (rest_of_compilation): Initialize node cache.
9799 * Makefile.in (OBJS): Add lists.o to list of object files.
9800 (lists.o): Add dependancies.
9801
9802 Wed Aug 25 17:31:56 1999 Nick Clifton <nickc@cygnus.com>
9803
9804 * config/v850/v850.md: Fix compile time warning messages.
9805 * config/v850/v850.c: Fix compile time warning messages.
9806 * config/v850/v850.h: Fix compile time warning messages.
9807
9808 Wed Aug 25 09:44:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9809
9810 * genattr.c (gen_attr): Add prototype arguments for get_attr_*().
9811 Remove unused prototype for `init_lengths'.
9812
9813 Wed Aug 25 09:32:31 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9814
9815 * calls.c (emit_call_1): Mark parameter `stack_size' with
9816 ATTRIBUTE_UNUSED.
9817 (expand_call): Initialize variable `insn'.
9818 (emit_library_call): Likewise for variable `high_to_save'.
9819 (emit_library_call_value): Likewise.
9820 (store_one_arg): Likewise for variables `lower_bound' and
9821 `upper_bound'.
9822
9823 * combine.c (try_combine): Likewise for variables `i2_code_number'
9824 and `other_code_number'.
9825 (find_split_point): Likewise for variables `pos', `unsignedp' and
9826 `inner'.
9827 (simplify_if_then_else): Likewise for variables `op' and `c1'.
9828 (simplify_and_const_int): Remove unused variable `width'.
9829 (merge_outer_ops): Likewise.
9830
9831 * cse.c (simplify_binary_operation): Cast an INTVAL() to `unsigned
9832 HOST_WIDE_INT' when comparing against one.
9833 (simplify_relational_operation): Likewise.
9834 (cse_insn): Initialize variables `src_eqv_volatile',
9835 `src_eqv_in_memory', `src_eqv_in_struct', `src_eqv_hash' and `sets'.
9836
9837 * final.c (init_final): Constify parameter `filename'.
9838 (final_start_function): Mark parameter `optimize' with
9839 ATTRIBUTE_UNUSED.
9840 (profile_function): Likewise for parameters `first' and `optimize'.
9841 (output_source_line): Likewise for parameter `file'.
9842
9843 * integrate.c (subst_constants): Cast a value to `size_t' when
9844 comparing against one.
9845 (mark_stores): Initialize variable `mode'. Cast a value to
9846 `size_t' when comparing against one.
9847
9848 * integrate.h (MAYBE_EXTEND_CONST_EQUIV_VARRAY): Likewise.
9849
9850 * loop.c (move_movables): Initialize variable `first'.
9851 (strength_reduce): Likewise for variable `increment'.
9852 (check_dbra_loop): Likewise for variable `comparison_val'. Cast a
9853 value to `size_t' when comparing against one.
9854 (load_mems): Initialize variable `end_label'.
9855
9856 * output.h (init_final): Constify parameter.
9857
9858 * reload.c (decompose): Initialize variable `base'.
9859
9860 * reload1.c (reload): Likewise for variable `is_scalar'.
9861 (spill_hard_reg): Mark parameter `dumpfile' with ATTRIBUTE_UNUSED.
9862 (choose_reload_regs): Initialize variable `mode'.
9863 (emit_reload_insns): Likewise for variable `store_insn'.
9864 (reload_cse_noop_set_p): Mark parameter `insn' with
9865 ATTRIBUTE_UNUSED.
9866 (reload_combine): Initialize variable `set'.
9867
9868 * unroll.c (unroll_loop): Likewise for variable `local_label'.
9869 (copy_loop_body): Cast a value to `size_t' when comparing against
9870 one.
9871
9872 * varasm.c (assemble_variable): Initialize variable `size_tree'.
9873 (const_hash): Add an `else abort()' in an if-else-if-else sequence.
9874 (remove_from_pending_weak_list): Mark parameter `name' with
9875 ATTRIBUTE_UNUSED.
9876
9877 Wed Aug 25 11:18:39 1999 Bernd Schmidt <bernds@cygnus.co.uk>
9878
9879 * toplev.c (rest_of_compilation): Use decl_printable_name when opening
9880 gcse dump file.
9881
9882 Wed Aug 25 10:57:12 1999 Nick Clifton <nickc@cygnus.com>
9883
9884 * config/arm/telf.h (ASM_WEAKEN_LABEL): Define.
9885 (ASM_DECLARE_FUNCTION_NAME): Define.
9886 (TYPE_ASM_OP, SIZE_ASM_OP, TYPE_OPERAND_FORMAT,
9887 ASM_DECLARE_RESULT, ASM_DECLARE_OBJECT_NAME,
9888 ASM_FINISH_DECLARE_OBJECT, ASM_DECLARE_FUNCTION_SIZE): Define if
9889 not already defined.
9890
9891 Wed Aug 25 01:36:11 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
9892
9893 * calls.c (emit_call_1): Use call_pop/call_value_pop for all values
9894 of n_popped when call/call_value are not defined.
9895
9896 Wed Aug 25 01:25:14 1999 Jeffrey A Law (law@cygnus.com)
9897
9898 * tm.texi: GNU CC -> GCC conversion.
9899 (CC1_SPEC): Indicate it is used for all language front ends.
9900
9901 Tue Aug 24 23:43:03 1999 Mark Mitchell <mark@codesourcery.com>
9902
9903 * flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and
9904 NOTE_INSN_EH_REGION_END correctly.
9905
9906 Tue Aug 24 23:26:44 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
9907 Jeff Law <law@cygnus.com>
9908
9909 * loop.c (strength_reduce): Automatically unroll loops if the
9910 unrolled loop size is smaller than the rolled loop size.
9911
9912 * loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
9913 and delete comment that code should be rewritten.
9914
9915 Tue Aug 24 22:56:35 1999 Jeffrey A Law (law@cygnus.com)
9916
9917 * haifa-sched.c (find_rgns): Mark a block found during the DFS search
9918 as reachable.
9919
9920 * haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
9921
9922 Tue Aug 24 22:41:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
9923
9924 * fixinc/mkfixinc.sh: Don't fix uwin headers.
9925 * i386/uwin.h (MD_STARTFILE_PREFIX): Define.
9926 (LINK_SPEC): Add -u _main when building executables.
9927 (ASM_DECLARE_FUNCTION): Update from Cygwin.
9928 (ASM_FILE_END): Use the default for ix86-pe.
9929 * i386/xm-uwin.h (HAVE_BCOPY): Undefine.
9930
9931 Tue Aug 24 20:49:47 1999 Art Haas <ahaas@neosoft.com>
9932
9933 * final.c (output_addr_const): Handle case where ASM_OPEN_PAREN
9934 and ASM_CLOSE_PAREN are empty strings.
9935
9936 Wed Aug 25 12:46:22 1999 Fred Fish <fnf@cygnus.com>
9937 Geoffrey Keating <geoffk@cygnus.com>
9938
9939 * Makefile.in (PREPROCESSOR_DEFINES): New macro.
9940 (protoize.o): Use PREPROCESSOR_DEFINES and DRIVER_DEFINES.
9941 (unprotoize.o): Ditto.
9942 (test-protoize-simple): Don't define STD_PROTO_DIR.
9943 * protoize.c: Use PARAMS rather than PROTO. Minor whitespace
9944 changes to make 'test-protoize-simple' pass.
9945 (STD_PROTO_DIR): Remove define.
9946 (STANDARD_EXEC_PREFIX): Supply default define.
9947 (standard_exec_prefix): New variable, init to STANDARD_EXEC_PREFIX.
9948 (target_machine): New variable, init to DEFAULT_TARGET_MACHINE.
9949 (target_version): New variable, init to DEFAULT_TARGET_VERSION.
9950 (GET_ENV_PATH_LIST): New macro.
9951 (default_syscalls_dir): No longer initialized to STD_PROTO_DIR.
9952 (do_processing): Initialize default_syscalls_dir using new
9953 macros. Use it to initialize syscalls_absolute_filename.
9954
9955 Tue Aug 24 16:58:15 1999 Richard Henderson <rth@cygnus.com>
9956
9957 * jump.c (jump_optimize_1): Do cmov opt on any single-set; force
9958 B into a register before emit_conditional_move.
9959
9960 Tue Aug 24 15:37:03 1999 Richard Henderson <rth@cygnus.com>
9961
9962 * fold-const.c (fold): Reassociate (+ (+ (* a b) c) (* d e))
9963 as (+ (+ (* a b) (* d e)) c). Factor a common power-of-two
9964 multiplicand out of (+ (* a b) (* c d)).
9965
9966 Tue Aug 24 11:46:10 1999 Bob Manson <manson@cygnus.com>
9967 Richard Henderson <rth@cygnus.com>
9968
9969 * haifa-sched.c (split_hard_reg_notes): Move to flow.c
9970 (new_insn_dead_notes): Likewise.
9971 (update_n_sets): Likewise.
9972 (update_flow_info): Move to flow.c, renamed to update_life_info;
9973 extend to handle multiple source insns.
9974 * flow.c: Include resource.h
9975 (unlink_insn_chain): New.
9976 (split_hard_reg_notes): New.
9977 (maybe_add_dead_note): New.
9978 (maybe_add_dead_note_use): New.
9979 (find_insn_with_note): New.
9980 (new_insn_dead_notes): New.
9981 (update_n_sets): New.
9982 (sets_reg_or_subreg_1, sets_reg_or_subreg): New.
9983 (maybe_remove_dead_notes): New.
9984 (update_life_info): New.
9985 (prepend_reg_notes): New.
9986 (replace_insns): New.
9987 * output.h (update_life_info): Declare.
9988 * recog.c (split_block_insns): Use update_life_info.
9989 * resource.c (find_free_register): Use reg_alloc_order, don't use
9990 fixed regs, make sure the mode is supported, don't use new regs.
9991 (reg_dead_p): New.
9992 * rtl.h (replace_insns): Declare.
9993
9994 Tue Aug 24 13:48:39 1999 Nathan Sidwell <nathan@acm.org>
9995
9996 * expr.c (expand_expr): Cope with COND_EXPRs with one
9997 non-returning branch.
9998
9999 Mon Aug 23 22:28:16 1999 Mark Mitchell <mark@codesourcery.com>
10000
10001 * expr.c (store_expr): Always pass down the target, even when not
10002 doing CSE.
10003
10004 1999-08-24 Nick Clifton <nickc@cygnus.com>
10005
10006 * configure.in: Define target_cpu_default for v850 targets.
10007 * configure: Regenerate
10008
10009 * config/v850/v850.h (TARGET_CPU_generic): Define.
10010 (GO_IF_LEGITIMATE_ADDRESS): Insist that SImode and larger constant
10011 addresses are 4 byte aligned.
10012
10013 * config/v850/v850.c (print_operand): Cope with 'R' format DFmode
10014 addresses.
10015
10016 Tue Aug 24 09:32:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10017
10018 * genattr.c (function_unit_desc): Constify a char*. Add prototype.
10019 (main): Add prototypes.
10020
10021 * genattrtab.c (substitute_address, write_const_num_delay_slots,
10022 attr_eq, attr_numeral, attr_equal_p, attr_copy_rtx): Prototype.
10023 (write_attr_get): Emit prototypes along with function definition.
10024 (write_eligible_delay): Mark a parameter with ATTRIBUTE_UNUSED.
10025 (write_complex_function): Emit static prototype along with
10026 function definition.
10027
10028 * genemit.c (gen_split): Emit prototypes along with function
10029 definition.
10030
10031 * genoutput.c (output_epilogue): Add prototype to `insn_outfun'.
10032 Likewise for predicates and `insn_operand_predicate'.
10033 (process_template): Emit static prototype along with function
10034 definition.
10035
10036 * genrecog.c (make_insn_sequence): Constify a char*. Add
10037 prototypes for get_split_*().
10038 (write_subroutine): Emit prototypes along with function
10039 definition.
10040
10041 Tue Aug 24 12:35:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
10042
10043 * gcse.c (find_avail_set): Follow chains of register-register copies.
10044 Use oprs_not_set_p to guarantee that the returned value can be
10045 substituted.
10046 (cprop_insn): Don't verify the return value of find_avail_set with
10047 oprs_not_set_p.
10048
10049 * gcse.c (cprop_jump): New function, broken out of cprop_insn.
10050 (cprop_cc0_jump): New function.
10051 (cprop_insn): Break out new function cprop_jump and use it.
10052 Also use cprop_cc0_jump for machines with CC0.
10053 (cprop): Don't crash if cprop_insn turned the insn into a NOTE.
10054
10055 * tree.h (current_function_calls_setjmp,
10056 current_function_calls_longjmp): Delete declarations.
10057 * dsp16xx.c: Include "function.h".
10058 * elxsi.c: Likewise.
10059 * gmicro.c: Likewise.
10060 * h8300.c: Likewise.
10061 * i370.c: Likewise.
10062 * m32r.c: Likewise.
10063 * mn10200.c: Likewise.
10064 * mn10300.c: Likewise.
10065 * ns32k.c: Likewise.
10066 * spur.c: Likewise.
10067 * v850.c: Likewise.
10068
10069 * rtl.h (rtx_equal_function_value_matters): Declare.
10070 * toplev.c (rtx_equal_function_value_matters): Don't declare.
10071 * cse.c: Likewise.
10072 * function.c: Likewise.
10073 * emit-rtl.c: Likewise.
10074
10075 Tue Aug 24 02:47:44 1999 Jeffrey A Law (law@cygnus.com)
10076
10077 * expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
10078 call.
10079
10080 1999-08-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10081
10082 * jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
10083 exactly.
10084
10085 Mon Aug 23 23:35:52 1999 Matthias Klose <doko@cs.tu-berlin.de>
10086
10087 * cpp.texi: Add a node documenting macro varargs (copied
10088 from extend.texi).
10089
10090 1999-08-23 22:23 -0700 Zack Weinberg <zack@bitmover.com>
10091
10092 * cppspec.c: Put a null pointer at the end of the new argv.
10093
10094 Mon Aug 23 21:23:24 1999 Jeffrey A Law (law@cygnus.com)
10095
10096 * configure.in: Remove code to select/de-select the haifa
10097 scheduler. Every scheduled port gets haifa now.
10098 * configure: Rebuilt.
10099 * flags.h, genattrtab.c, rtl.h, toplev.c: Remove HAIFA ifdefs.
10100 * sched.c Deleted.
10101 * Makefile.in: Corresponding changes.
10102
10103 Mon Aug 23 16:04:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
10104
10105 * optabs.c (prepare_cmp_insn): Turn COMPARISON arg into a pointer.
10106 All callers changed.
10107 (prepare_float_lib_cmp): Likewise.
10108 Use FLOAT_LIB_COMPARE_RETURNS_BOOL.
10109 * expr.h (emit_float_lib_cmp): Delete declaration.
10110 * tm.texi (FLOAT_LIB_COMPARE_RETURNS_BOOL): Document.
10111 * sparc.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): Define.
10112 * sparc.md (bcc and scc patterns): Don't handle TFmode comparisons
10113 specially.
10114 (cmptf): Now conditional on TARGET_HARD_QUAD.
10115
10116 Fri Aug 20 17:52:27 1999 Jim Wilson <wilson@cygnus.com>
10117
10118 * resource.c (mark_target_live_regs): Use
10119 PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
10120
10121 Fri Aug 20 19:07:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10122
10123 * rtl.c (rtx_class, note_insn_name, reg_note_name): Constify.
10124
10125 * rtl.h (rtx_class, reg_note_name, note_insn_name): Likewise.
10126
10127 * genopinit.c (gen_insn): Use accessor macro, not `rtx_class'.
10128
10129 Fri Aug 20 18:53:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10130
10131 * rtl.h (rtx_format): Constify a char*.
10132
10133 * rtl.c (rtx_format): Likewise.
10134 (copy_rtx, copy_most_rtx, read_rtx): Likewise.
10135 (init_rtl): Use accessor macro, not `rtx_format'.
10136
10137 * alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a
10138 char*.
10139
10140 * caller-save.c (mark_referenced_regs): Likewise.
10141
10142 * combine.c (subst, make_compound_operation, known_cond,
10143 gen_rtx_combine, update_table_tick, get_last_value_validate,
10144 use_crosses_set_p, mark_used_regs_combine, move_deaths): Likewise.
10145
10146 * cse.c (rtx_cost, mention_regs, canon_hash, exp_equiv_p,
10147 refers_to_p, canon_reg, fold_rtx, cse_process_notes,
10148 count_reg_usage): Likewise.
10149
10150 * emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags):
10151 Likewise.
10152
10153 * final.c (leaf_renumber_regs_insn): Likewise.
10154
10155 * flow.c (mark_used_regs, find_use_as_address, dump_flow_info,
10156 dump_edge_info, count_reg_references): Likewise.
10157
10158 * function.c (fixup_var_refs_1, walk_fixup_memory_subreg,
10159 fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1):
10160 Likewise.
10161
10162 * gcse.c (oprs_unchanged_p, hash_expr_1, expr_equiv_p,
10163 oprs_not_set_p, expr_killed_p, compute_transp, find_used_regs,
10164 add_label_notes): Likewise.
10165
10166 * genattrtab.c (attr_rtx, attr_copy_rtx, encode_units_mask,
10167 clear_struct_flag, count_sub_rtxs, count_alternatives,
10168 compares_alternatives_p, contained_in_p, walk_attr_value,
10169 write_expr_attr_cache): Likewise.
10170
10171 * genconfig.c (walk_insn_part): Likewise.
10172
10173 * genemit.c (max_operand_1, gen_exp): Likewise.
10174
10175 * genextract.c (walk_rtx): Likewise.
10176
10177 * genflags.c (num_operands): Likewise.
10178
10179 * genoutput.c (scan_operands): Likewise.
10180
10181 * genpeep.c (match_rtx): Likewise.
10182
10183 * genrecog.c (add_to_sequence): Likewise.
10184
10185 * haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths):
10186 Likewise.
10187
10188 * integrate.c (save_constants, copy_for_inline,
10189 copy_rtx_and_substitute, subst_constants, restore_constants):
10190 Likewise.
10191
10192 * jump.c (mark_jump_label, invert_exp, redirect_exp,
10193 rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
10194
10195 * local-alloc.c (contains_replace_regs, memref_referenced_p):
10196 Likewise.
10197
10198 * loop.c (record_excess_regs, rtx_equal_for_loop_p,
10199 add_label_notes, replace_call_address, count_nonfixed_reads,
10200 invariant_p, find_single_use_in_loop, find_mem_givs,
10201 find_life_end, maybe_eliminate_biv_1, update_reg_last_use):
10202 Likewise.
10203
10204 * print-rtl.c (reg_names, print_rtx): Likewise.
10205
10206 * recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
10207
10208 * reg-stack.c (stack_regs_mentioned_p, record_label_references,
10209 record_reg_life_pat, swap_rtx_condition, goto_block_pat,
10210 print_blocks): Likewise.
10211
10212 * regclass.c (fix_register, record_address_regs,
10213 reg_scan_mark_refs): Likewise.
10214
10215 * regmove.c (stable_but_for_p): Likewise.
10216
10217 * reload.c (loc_mentioned_in_p, operands_match_p,
10218 find_reloads_toplevsubst_reg_equivs, find_reloads_address_1,
10219 copy_replacements, refers_to_regno_for_reload_p,
10220 refers_to_mem_for_reload_p, find_inc_amount, regno_clobbered_p,
10221 reload_when_needed_name, reg_class_names, debug_reload_to_stream):
10222 Likewise.
10223
10224 * reload1.c (eliminate_regs, scan_paradoxical_subregs,
10225 delete_address_reloads_1, count_occurrences,
10226 reload_cse_mem_conflict_p, reload_combine_note_use,
10227 add_auto_inc_notes): Likewise.
10228
10229 * resource.c (mark_referenced_resources, mark_set_resources):
10230 Likewise.
10231
10232 * rtlanal.c (rtx_unstable_p, rtx_varies_p, rtx_addr_varies_p,
10233 reg_mentioned_p, regs_set_between_p, modified_between_p,
10234 modified_in_p, refers_to_regno_p, reg_overlap_mentioned_p,
10235 rtx_equal_p, volatile_insn_p, volatile_refs_p, side_effects_p,
10236 may_trap_p, inequality_comparisons_p, replace_rtx, replace_regs,
10237 jmp_uses_reg_or_mem, for_each_rtx, regno_use_in): Likewise.
10238
10239 * sched.c (sched_analyze_2, attach_deaths): Likewise.
10240
10241 * stupid.c (stupid_mark_refs): Likewise.
10242
10243 * unroll.c (remap_split_bivs): Likewise.
10244
10245 * varasm.c (mark_constants): Likewise.
10246
10247 * a29k/a29k.c (uses_local_reg_p): Likewise.
10248
10249 * alpha/alpha.c (summarize_insn): Likewise.
10250
10251 * arm/arm.c (symbol_mentioned_p, label_mentioned_p,
10252 eliminate_lr2ip): Likewise.
10253
10254 * arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise.
10255
10256 * i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx,
10257 reg_mentioned_in_mem): Likewise.
10258
10259 * ns32k/ns32k.c (global_symbolic_reference_mentioned_p,
10260 symbolic_reference_mentioned_p): Likewise.
10261
10262 * romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise.
10263
10264 * sh/sh.c (regs_used, mark_use): Likewise.
10265
10266 * vax/vax.c (vax_rtx_cost): Likewise.
10267
10268 Fri Aug 20 18:38:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10269
10270 * machmode.h (mode_name): Constify a char*.
10271
10272 * rtl.c (mode_name): Likewise.
10273
10274 * genopinit.c (gen_insn): Use accessor macro, not `mode_name'.
10275
10276 * optabs.c (init_libfuncs): Constify a char*.
10277
10278 * print-tree.c (mode_name): Remove redundant declaration.
10279 (print_node): Use accessor macro, not `mode_name'.
10280
10281 * reload1.c (dump_needs): Constify a char*. Use accessor macro,
10282 not `mode_name'.
10283 (new_spill_reg): Constify a char*.
10284
10285 * tree.c (mode_name): Remove redundant declaration.
10286
10287 Fri Aug 20 18:31:26 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10288
10289 * rtl.c (rtx_name): Constify a char*.
10290
10291 * rtl.h (rtx_name, fix_sched_param): Likewise.
10292
10293 * gmicro/gmicro.c (rtx_name): Remove redundant declaration.
10294 (mypr): Use accessor macro, not `rtx_name'.
10295
10296 * genemit.c (print_code): Constify a char*.
10297
10298 * genopinit.c (gen_insn): Use accessor macro, not `rtx_name'.
10299
10300 * genpeep.c (print_code): Constify a char*.
10301
10302 * genrecog.c (print_code): Likewise.
10303
10304 * graph.c (start_fct, start_bb, node_data, draw_edge, end_fct,
10305 end_bb): Add static prototype.
10306 (draw_edge): Constify a char*.
10307 (end_bb): Remove unused parameter.
10308
10309 * haifa-sched.c (fix_sched_param, safe_concat, print_exp
10310 print_block_visualization): Constify a char*.
10311
10312 Fri Aug 20 15:02:10 1999 Mark Mitchell <mark@codesourcery.com>
10313
10314 * c-common.c (c_get_alias_set): Update comment.
10315
10316 1999-08-20 Andreas Jaeger <aj@arthur.rhein-neckar.de>
10317
10318 * linux.h (LIB_SPEC): Added.
10319
10320 Fri Aug 20 22:32:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10321
10322 * config/c4x/c4x.h (STARTFILE_SPEC): Don't define.
10323
10324 1999-08-19 18:43 -0700 Zack Weinberg <zack@bitmover.com>
10325
10326 * tree.c (expr_check): Fix typo in last change.
10327
10328 1999-08-19 14:44 -0700 Zack Weinberg <zack@bitmover.com>
10329
10330 * rtl.def (NOTE): Change format to "iuu0n".
10331 (ADDR_DIFF_VEC): Change format to "eEee0".
10332 (ADDRESSOF): Change format to "eit".
10333
10334 * rtl.h (rtvec): Make "elem" an array of rtx, not rtunion.
10335 (RTVEC_ELT): Change to match.
10336 (XVECEXP): Use XVEC and RTVEC_ELT.
10337 (INSN_UID, INSN_CODE, CODE_LABEL_NUMBER, NOTE_LINE_NUMBER,
10338 ADDRESSOF_REGNO, REGNO, SUBREG_WORD): Use XINT.
10339 (PREV_INSN, NEXT_INSN, PATTERN, REG_NOTES,
10340 CALL_INSN_FUNCTION_USAGE, SUBREG_REG, SET_SRC, SET_DEST,
10341 TRAP_CONDITION, TRAP_CODE): Use XEXP.
10342 (INTVAL): Use XWINT.
10343 (ADDRESSOF_DECL): Use XTREE.
10344 (SET_ADDRESSOF_DECL): Delete.
10345 (NOTE_DECL_NAME, NOTE_DECL_CODE, NOTE_DECL_RTL,
10346 NOTE_DECL_IDENTIFIER, NOTE_DECL_TYPE): Kill. These have been
10347 ifdefed out since 2.6 at least.
10348 (gen_rtvec_vv): Delete prototype.
10349
10350 * rtl.h (rtvec_alloc): rt->elem is now an array of rtx,
10351 not rtunion.
10352 (copy_most_rtx): Handle 't' format letter.
10353 * emit-rtl.c (gen_rtvec_v): rt_val->elem is an array of rtx.
10354 (gen_rtvec_vv): Delete function. All callers changed to use
10355 gen_rtvec_v instead.
10356 * print-rtl.c (print_rtx): Move special casing of NOTEs to
10357 the '0' format letter.
10358
10359 * function.c (gen_mem_addressof): Don't use
10360 SET_ADDRESSOF_DECL; provide `decl' to gen_rtx_ADDRESSOF
10361 instead.
10362 * integrate.c (copy_rtx_and_substitute): Likewise.
10363 Copy 't' slots with XTREE.
10364 (subst_constants): Treat 't' slots like '[swi]' slots.
10365 * cse.c (canon_hash, exp_equiv_p): Treat 't' slots like '0' slots.
10366 * jump.c (rtx_equal_for_thread_p): Likewise.
10367 * rtlanal.c (rtx_equal_p): Likewise.
10368 * stmt.c (expand_end_case): gen_rtx_ADDR_DIFF_VEC now takes
10369 only four arguments.
10370 * gengenrtl.c (type_from_format): Provide correct types for
10371 'b' and 't' slots.
10372
10373
10374 * tree.h [ENABLE_CHECKING] (TREE_CHECK, TREE_CLASS_CHECK):
10375 If a recent gcc is in use (always in stage2 and beyond), use
10376 statement expressions, so we don't make a function call unless
10377 the check fails. Evaluate arguments exactly once.
10378 (CHAIN_CHECK, DO_CHECK, DO_CHECK1, TREE_CHECK1,
10379 TREE_CLASS_CHECK1, TYPE_CHECK1, DECL_CHECK1, CST_CHECK1):
10380 Delete.
10381 (CST_OR_CONSTRUCTOR_CHECK, EXPR_CHECK): Redefine such that
10382 they evaluate their arguments exactly once, irrespective of
10383 the compiler in use.
10384
10385 * tree.c [ENABLE_CHECKING]: Define whichever set of functions
10386 is used by the currently-enabled check macros. This is:
10387 (tree_check_failed, tree_class_check_failed): For gcc.
10388 (tree_check, tree_class_check, cst_or_constructor_check,
10389 expr_check): For other compilers.
10390
10391 * gencheck.c: Do not define any *_CHECK1 macros.
10392
10393 Thu Aug 19 14:42:38 1999 Mike Stump <mrs@wrs.com>
10394 Mark Mitchell <mark@codesourcery.com>
10395
10396 * c-common.c (c_get_alias_set): Fix support for poitners and
10397 references.
10398
10399 Thu Aug 19 11:51:22 EDT 1999 John Wehle (john@feith.com)
10400
10401 * alias.c: Include tree.h.
10402 (nonlocal_reference_p, mark_constant_function): New functions.
10403 * flow.c (life_analysis): Call mark_constant_function.
10404 * rtl.h (mark_constant_function): Declare it.
10405
10406 Thu Aug 19 15:02:01 1999 Nick Clifton <nickc@cygnus.com>
10407
10408 * config/rs6000/rs6000.c (rs6000_override_options): Fix test for
10409 unrecognisable switches.
10410
10411 Wed Aug 18 23:31:57 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
10412
10413 * loop.c (recombine_givs): Set ix field after sorting.
10414 (recombine_givs): Remove bogus index / giv lockstep looping.
10415
10416 Wed Aug 18 18:20:40 1999 Bernd Schmidt <bernds@cygnus.co.uk>
10417
10418 * expmed.c (emit_store_flag): If UNSIGNEDP, call unsigned_condition
10419 on CODE.
10420 (emit_store_flag_force): Use do_compare_rtx_and_jump.
10421 (do_cmp_and_jump): Formatting fixes.
10422 * expr.c (do_compare_and_jump): Renamed from compare; changed to call
10423 do_compare_rtx_and_jump instead of compare_from_rtx.
10424 (do_compare_rtx_and_jump): New function; mostly copied from
10425 compare_from_rtx.
10426 (do_jump_for_compare): Delete.
10427 (expand_expr): Use do_compare_rtx_and_jump when handling MAX_EXPR and
10428 MIN_EXPR.
10429 (do_jump): Use do_compare_and_jump or do_compare_rtx_and_jump instead
10430 of compare/do_jump_for_compare pairs.
10431 (do_jump_by_parts_greater): Use do_jump_by_parts_greater_rtx.
10432 (do_jump_by_parts_greater_rtx): Use do_compare_rtx_and_jump instead of
10433 compare_from_rtx/do_jump_for_compare pairs.
10434 (do_jump_by_parts_equality): Likewise.
10435 (do_jump_by_parts_equality_rtx): Likewise.
10436 * expr.h (do_compare_rtx_and_jump): Declare.
10437 * optabs.c (prepare_cmp_insn): New function, contains most of the code
10438 that used to be in emit_cmp_insn.
10439 (cmp_available_p): New function.
10440 (prepare_operand): New function.
10441 (emit_cmp_and_jump_insn_1): New function, contains some code that used
10442 to be in emit_cmp_insn.
10443 (prepare_float_lib_cmp): Renamed from emit_float_lib_cmp; change some
10444 parameters to be pointers; don't emit final compare but modify some of
10445 the values pointed to by the args so the caller can perform the
10446 correct comparison.
10447 (expand_binop): Call emit_store_flag_force with signed forms of
10448 comparison code.
10449 (expand_abs): Use do_compare_rtx_and_jump instead of compare_from_rtx/
10450 emit_jump_insn pair.
10451 (emit_cmp_and_jump_insn): Use prepare_cmp_insn and
10452 emit_cmp_and_jump_insn_1. Call emit_queue.
10453 (emit_cmp_insn): Just call emit_cmp_and_jump_insns with zero for LABEL
10454 arg.
10455 * flow.c (tidy_fallthru_edge): If HAVE_cc0, verify insn before a
10456 jump sets cc0 before deleting it.
10457 * integrate.c (expand_inline_function): Likewise.
10458 * unroll.c (unroll_loop): Similar changes in several places.
10459 (copy_loop_body): If HAVE_cc0, verify insn before a jump sets cc0
10460 before deleting it.
10461
10462 Wed Aug 18 06:37:44 1999 Bernd Schmidt <bernds@cygnus.co.uk>
10463
10464 * Makefile.in (insn-recog.o): Update dependencies.
10465 * genrecog.c (main): Make generated file include "function.h".
10466
10467 Sat Aug 14 00:54:57 1999 Geoffrey Keating <geoffk@cygnus.com>
10468
10469 * cse.c (cse_insn): Call never_reached_warning when a jump is
10470 changed to be unconditional.
10471 * flags.h: Declare warn_notreached.
10472 * flow.c (delete_block): Call never_reached_warning when
10473 a block is deleted.
10474 * jump.c (delete_barrier_successors): Call never_reached_warning
10475 when we delete everything after a BARRIER.
10476 (never_reached_warning): New function.
10477 * rtl.h: Declare never_reached_warning.
10478 * toplev.c (warn_notreached): New variable.
10479 (lang_independent_options): Set warn_notreached
10480 when -Wunreachable-code.
10481 (compile_file): We need line numbers for -Wunreachable-code.
10482
10483 Tue Aug 17 22:06:11 1999 Jan Hubicka <hubicka@freesoft.cz>
10484
10485 * haifa-sched.c (insn_unit): Fix typo on out of range test.
10486 * sched.c (insn_unit): Likewise.
10487
10488 Tue Aug 17 21:57:23 1999 Andreas Schwab <schwab@suse.de>
10489
10490 * combine.c (distribute_notes): Handle REG_EH_RETHROW.
10491
10492 Tue Aug 17 17:39:43 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
10493
10494 * flow.c (create_edge_list): Use xmalloc, not malloc.
10495
10496 Tue Aug 17 01:40:54 1999 Loren Rittle <ljrittle@acm.org>
10497
10498 * fixinc/inclhack.def (no_double_slash): Do not trash single-line
10499 C-style comments. Do not lose the character before double slash.
10500
10501 Mon Aug 16 18:08:22 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
10502
10503 * basic-block.h (struct edge_list): Stucture to maintain a vector
10504 of edges.
10505 (EDGE_INDEX_NO_EDGE, EDGE_INDEX, INDEX_EDGE_PRED_BB, INDEX_EDGE_SUCC_BB,
10506 INDEX_EDGE, NUM_EDGES): New Macros for accessing edge list.
10507 (create_edge_list, free_edge-List, print_edge_list, verify_edge_list):
10508 New function prototypes.
10509 * flow.c (create_edge_list): Function to create an edge list.
10510 (free_edge_list): Discards memory used by an edge list.
10511 (print_edge_list): Debug output showing an edge list.
10512 (verify_edge_list): Internal consistency check for an edge list.
10513 (find_edge_index): Function to find an edge index for a pred and succ.
10514
10515 Mon Aug 16 11:56:36 1999 Mark Mitchell <mark@codesourcery.com>
10516
10517 * tree.c (type_hash_add): Use permalloc to allocate nodes in the
10518 hashtable.
10519
10520 Mon Aug 16 17:04:15 1999 Jorn Rennecke <amylaar@cygnus.co.uk>
10521
10522 * mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
10523
10524 Fri Aug 13 15:20:43 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10525
10526 * config/i386/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
10527
10528 Fri Aug 13 10:21:28 1999 Nick Clifton <nickc@cygnus.com>
10529
10530 * toplev.c (rest_of_compilation): Allow machine dependent
10531 reorganisation pass to place information into the RTL dump
10532 file if it so wishes.
10533
10534 Sun Aug 15 12:41:21 1999 Jim Wilson <wilson@cygnus.com>
10535
10536 * explow.c (hard_function_value): Use VOIDmode instead of
10537 MAX_MACHINE_MODE.
10538 * stmt.c (expand_return): Likewise.
10539 * stor-layout.c (get_best_mode): Likewise.
10540
10541 * genemit.c (gen_expand): If next is MATCH_PAR_DUP, then output
10542 emit call instead of emit_insn call.
10543
10544 Sat Aug 14 15:04:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
10545
10546 * configure.in: Handle --disable/enable-win32-registry.
10547 * install.texi: Document --disable/enable-win32-registry.
10548 * acconfig.h (ENABLE_WIN32_REGISTRY): New macro.
10549 (WIN32_REGISTRY_KEY): New macro.
10550 * prefix.c: Use to enable/disable win32-specific code.
10551 (lookup_key): Use versioned key.
10552 * configure: Regenerate.
10553 * config.in: Likewise.
10554
10555 Fri Aug 13 17:41:55 1999 Jason Merrill <jason@yorick.cygnus.com>
10556
10557 * cpplib.c (read_line_number): New fn, split out of...
10558 (do_line): Here.
10559
10560 Fri Aug 13 14:18:27 1999 Gavin Romig-Koch <gavin@cygnus.com>
10561
10562 tree.c (lang_unsave_expr_now) : New.
10563 (unsave_expr_now): Call lang_unsave_expr_now.
10564 tree.h (lang_unsave_expr_now) : New.
10565
10566 Fri Aug 13 00:49:46 1999 Jason Merrill <jason@yorick.cygnus.com>
10567
10568 * toplev.c (flag_new_exceptions): On by default.
10569
10570 1999-08-13 Michael Meissner <meissner@cygnus.com>
10571
10572 * Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
10573
10574 Fri Aug 13 01:29:57 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
10575
10576 * dwarfout.c (fundamental_type_code): Return FT_boolean for
10577 INTEGER_TYPE with precision==1, it's __java_boolean.
10578
10579 Thu Aug 12 23:51:04 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
10580
10581 * global.c (prune_preferences): Move some invariants out of the
10582 inner loop.
10583
10584 Thu Aug 12 15:30:29 1999 Jesse Perry (jap@unx.dec.com)
10585
10586 * configure.in (alpha*-dec-osf*): Add osf5.
10587
10588 Sun Aug 1 22:24:03 1999 Philip Blundell <philb@gnu.org>
10589
10590 * configure.in: Rework handling of ARM GNU/Linux slightly.
10591 (arm*-*-linux-gnuoldld): New target.
10592 * configure: Regenerate.
10593 * install.texi (Configurations): Add arm-*-linux-gnu{oldld} and
10594 arm-*-elf. Mention that arm-*-linux-gnuaout is obsolete.
10595 * config/arm/linux-oldld.h: New file.
10596 * config/arm/linux-elf26.h: Don't include linux-elf.h.
10597 (TARGET_DEFAULT, SUBTARGET_LINK_SPEC, SUBTARGET_EXTRA_ASM_SPEC):
10598 Don't define.
10599 * config/arm/linux-elf.h (ASM_SPEC): Define.
10600 (TARGET_DEFAULT, SUBTARGET_EXTRA_LINK_SPEC,
10601 SUBTARGET_EXTRA_ASM_SPEC, CPP_APCS_PC_DEFAULT): Add definitions
10602 for 26-bit APCS and old linker.
10603 (CPP_PREDEFINES): Define `__arm__'; don't define `arm' or
10604 `arm_elf'.
10605 (FP_DEFAULT): Define to FP_SOFT3 for all machines.
10606 * config/arm/linux-aout.h (CPP_PREDEFINES): Define `__arm__';
10607 don't define `arm' or `arm_elf'.
10608 * config/arm/t-linux (EXTRA_MULTILIB_PARTS, MULTILIB_OPTIONS,
10609 MULTILIB_DIRNAMES): Define. Fix typo in comment.
10610
10611 Thu Aug 12 10:14:47 1999 Andreas Schwab <schwab@suse.de>
10612
10613 * rtl.texi: Fix typo.
10614
10615 Wed Aug 11 23:50:57 1999 Jason Merrill <jason@yorick.cygnus.com>
10616
10617 * invoke.texi (C++ Dialect Options): Add -fms-extensions.
10618
10619 Wed Aug 11 12:59:37 1999 Mark Mitchell <mark@codesourcery.com>
10620
10621 * extend.texi (C++ Signatures): Remove node.
10622 * invoke.texi: Remove discussion of -fhandle-signatures,
10623 signature, sigof, __signature__, and __sigof__.
10624
10625 Wed Aug 11 03:38:25 1999 Jeffrey A Law (law@cygnus.com)
10626
10627 * Makefile.in (JAVAGC): Removed.
10628
10629 Wed Aug 11 02:13:26 1999 Mumit Khan <khan@xraylith.wisc.edu>
10630
10631 * i386/cygwin.h (ASM_OUTPUT_ALIGNED_BSS): Define.
10632
10633 1999-08-11 Mark Elbrecht <snowball3@bigfoot.com>
10634
10635 * i386/djgpp.h (ASM_OUTPUT_ALIGNED_BSS): Define.
10636
10637 1999-08-11 Richard Earnshaw (rearnsha@arm.com)
10638
10639 * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
10640 a register that is already known to be a pointer.
10641
10642 1999-08-11 Bruce Korb <ddsinc09@ix.netcom.com>
10643
10644 * fixinc/inclhack.tpl: Only install assert.h conditionally.
10645 * fixinc/inclhack.sh: Regenerated.
10646 * fixinc/fixincl.sh: Regenerated.
10647
10648 Wed Aug 11 00:34:22 1999 Joe Buck <jbuck@synopsys.com>
10649
10650 * invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
10651 Fix documentation of -ansi flag to describe its C++ behavior.
10652 Remove bogus reference to GCC 2.9.
10653
10654 Tue Aug 10 17:19:02 1999 Jim Wilson <wilson@cygnus.com>
10655
10656 * config/sh/sh.c (machine_dependent_reorg): Only call PUT_MODE on
10657 note if it is non-NULL.
10658
10659 Tue Aug 10 10:47:42 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
10660
10661 * except.h (eh_nesting_info): Add new structure defintion.
10662 (init_eh_nesting_info, free_eh_nesting_info): Add function prototypes.
10663 (reachable_handlers, update_rethrow_references): Add function
10664 prototypes.
10665 * rtl.h (struct rtvec_def): Update comments. REG_EH_RETHROW takes
10666 a rethrow symbol instead of an integer exception region number.
10667 * flow.c (Make_edges): Use new exception nesting routines to determine
10668 which handlers are reachable from a CALL or asynchronous insn.
10669 Dont add an edge for calls with a REG_EH_REGION of -1 to non-local
10670 goto receivers.
10671 (delete_eh_regions): Update rethrow labels, and don't delete
10672 regions which are the target of a rethrow.
10673 * except.c (struct func_eh_entry): Add rethrow_ref field, now we can
10674 avoid overloading the SYMBOL_REF_USED flag.
10675 (rethrow_symbol_map): Use new rethrow_ref field.
10676 (rethrow_used): Use new rethrow_ref field.
10677 (expand_rethrow): REG_EH_RETHROW now has a SYMBOL_REF instead
10678 of an integer. Fix formatting.
10679 (output_exception_table_entry): Use new rethrow_ref field.
10680 (can_throw): Check for EH_REGION_NOTE before deciding
10681 whether a CALL can throw or not.
10682 (scan_region): Call rethrow_used() instead of accessing data structure.
10683 (update_rethrow_references): New function to make sure only regions
10684 which are still targets of a rethrow are flagged as such.
10685 (process_nestinfo): New static function to initialize a handler
10686 list for a specific region.
10687 (init_eh_nesting_info): New function to allocate and initialize
10688 the list of all EH handlers reachable from all regions.
10689 (reachable_handlers): New function to retrieve the list of handlers
10690 reachable from a specific region and insn.
10691 (free_eh_nesting_info): New function to dispose of a list of
10692 reachable handlers.
10693
10694 Tue Aug 10 10:39:31 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
10695
10696 * flow.c (split_edge): Set JUMP_LABEL field.
10697 (commit_one_edge_insertion): Set head correctly for insert_before.
10698 When inserting insns, update insn block numbers if allocated.
10699
10700 Tue Aug 10 09:26:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10701
10702 * dwarf2out.c (dwarf2out_frame_debug_expr, add_incomplete_type,
10703 retry_incomplete_types): Add static prototype.
10704 (stripattributes, dwarf_cfi_name, ASM_OUTPUT_DWARF_STRING,
10705 dwarf_tag_name, dwarf_attr_name, dwarf_form_name,
10706 dwarf_stack_op_name, dwarf_type_encoding_name, add_AT_string,
10707 dwarf2_name, add_name_attribute, lookup_filename, dwarf2out_line,
10708 dwarf2out_start_source_file, dwarf2out_define, dwarf2out_undef):
10709 Constify a char*.
10710
10711 * dwarf2out.h (dwarf2out_define, dwarf2out_undef,
10712 dwarf2out_start_source_file, dwarf2out_line): Likewise.
10713
10714 Tue Aug 10 09:21:46 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10715
10716 * output.h (assemble_name): Constify a char*.
10717
10718 * varasm.c (UNIQUE_SECTION, assemble_start_function,
10719 assemble_variable, assemble_name): Likewise.
10720
10721 * dwarf2out.c (ASM_NAME_TO_STRING): Likewise.
10722
10723 * arm/pe.c (arm_pe_unique_section): Likewise.
10724
10725 * i386/cygwin.h (STRIP_NAME_ENCODING): Likewise.
10726
10727 * i386/i386-interix.h (STRIP_NAME_ENCODING): Likewise.
10728
10729 * i386/interix.c (i386_pe_unique_section): Likewise.
10730
10731 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
10732
10733 * i386/winnt.c (i386_pe_unique_section): Likewise.
10734
10735 * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
10736
10737 * mn10200/mn10200.h (ASM_OUTPUT_LABELREF): Likewise.
10738
10739 * mn10300/mn10300.h (ASM_OUTPUT_LABELREF): Likewise.
10740
10741 * pa/pa.c (output_call): Likewise.
10742
10743 * pa/pa.h (ASM_OUTPUT_MI_THUNK): Likewise.
10744
10745 * pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
10746
10747 * rs6000/rs6000.c (rs6000_output_load_toc_table, output_toc):
10748 Likewise.
10749
10750 * rs6000/rs6000.h (RS6000_OUTPUT_BASENAME, STRIP_NAME_ENCODING):
10751 Likewise.
10752
10753 * rs6000/sol2.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
10754
10755 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_INT,
10756 STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Likewise.
10757
10758 * v850/v850.h (ASM_OUTPUT_LABELREF): Likewise.
10759
10760 Mon Aug 9 19:54:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10761
10762 * real.c (GET_REAL, PUT_REAL): Use memcpy instead of bcopy.
10763
10764 Mon Aug 9 19:36:00 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10765
10766 * tree.h (lang_identify): Constify a char*.
10767 (print_error_function): Add extern prototype. Constify a char*.
10768
10769 * c-lang.c (lang_identify): Constify a char*.
10770
10771 * objc/objc-act.c (lang_identify): Constify a char*.
10772
10773 Mon Aug 9 16:21:53 1999 Bernd Schmidt <bernds@cygnus.co.uk>
10774
10775 * genpeep.c (main): Make generated file include "function.h".
10776 * arm.c (function_really_clobbers_lr): Delete INLINE_HEADER case.
10777
10778 Mon Aug 9 10:08:50 1999 Bernd Schmidt <bernds@cygnus.co.uk>
10779
10780 * Makefile.in: Update dependencies.
10781 * alias.c: Include "function.h"
10782 * c-decl.c: Likewise.
10783 * caller-save.c: Likewise.
10784 * calls.c: Likewise.
10785 * combine.c: Likewise.
10786 * cse.c: Likewise.
10787 * explow.c: Likewise.
10788 * final.c: Likewise.
10789 * global.c: Likewise.
10790 * graph.c: Likewise.
10791 * local-alloc.c: Likewise.
10792 * loop.c: Likewise.
10793 * optabs.c: Likewise.
10794 * profile.c: Likewise.
10795 * recog.c: Likewise.
10796 * regclass.c: Likewise.
10797 * regmove.c: Likewise.
10798 * reload.c: Likewise.
10799 * reorg.c: Likewise.
10800 * resource.c: Likewise.
10801 * sched.c: Likewise.
10802 * stupid.c: Likewise.
10803 * config/1750a/1750a.c: Likewise.
10804 * config/a29k/a29k.c: Likewise.
10805 * config/arc/arc.c: Likewise.
10806 * config/arm/arm.c: Likewise.
10807 * config/arm/thumb.c: Likewise.
10808 * config/c4x/c4x.c: Likewise.
10809 * config/clipper/clipper.c: Likewise.
10810 * config/convex/convex.c: Likewise.
10811 * config/fx80/fx80.c: Likewise.
10812 * config/i860/i860.c: Likewise.
10813 * config/m68k/m68k.c: Likewise.
10814 * config/m88k/m88k.c: Likewise.
10815 * config/mips/mips.c: Likewise.
10816 * config/pdp11/pdp11.c: Likewise.
10817 * config/pyr/pyr.c: Likewise.
10818 * config/romp/romp.c: Likewise.
10819 * config/sh/sh.c: Likewise.
10820 * config/tahoe/tahoe.c: Likewise.
10821 * config/vax/vax.c: Likewise.
10822 * config/we32k/we32k.c: Likewise.
10823 * config/sparc/sparc.c: Include "function.h".
10824 (mem_min_alignment): Test current_function rather than
10825 regno_pointer_align.
10826 * config/pa/pa.c: Likewise.
10827 (compute_frame_size): Delete declaration of
10828 current_function_outgoing_args_size.
10829 * config/arc/arc.h (current_function_varargs): Delete declaration.
10830 * config/elxsi/elxsi.h (current_function_calls_alloca): Delete
10831 declaration.
10832 * config/i370/i370.h (current_function_outgoing_args_size): Delete
10833 declaration.
10834 * config/i386/i386.h (FINALIZE_PIC): Delete declaration of
10835 current_function_uses_pic_offset_table.
10836 * config/m68k/a-ux.h (FUNCTION_EXTRA_EPILOGUE): Delete declaration
10837 of current_function_returns_pointer.
10838 * config/m68k/altos3068.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
10839 * config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
10840 * config/m68k/m68kv4.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
10841 * config/m68k/mot3300.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
10842 * config/m68k/pbb.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
10843 * config/m68k/tower-as.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
10844 * config/m88k/m88k.c: Include "function.h"
10845 (call_used_regs, current_function_pretend_args_size,
10846 current_function_outgoing_args_size, frame_pointer_needed): Delete
10847 declarations.
10848 * config/m88k/m88k.h (current_function_pretend_args_size): Delete
10849 declaration.
10850 * config/mips/mips.h (current_function_calls_alloca): Delete
10851 declaration.
10852 * config/mn10200/mn10200.h (current_function_needs_context,
10853 rtx_equal_function_value_matters): Delete declarations.
10854 * config/ns32k/ns32k (current_function_uses_pic_offset_table,
10855 flag_pic): Delete declarations.
10856 * config/pa/pa.h (current_function_pretend_args_size,
10857 current_function_decl): Delete declarations.
10858 * config/pa/som.h (current_function_varargs): Delete declaration.
10859 * config/pdp11/pdp11.h (current_function_pretend_args_size): Delete
10860 declaration.
10861 * config/pyr/pyr.h (current_function_pretend_args_size,
10862 current_function_args_size, current_function_calls_alloca): Delete
10863 declarations.
10864 * config/sh/sh.h (current_function_varargs): Delete declaration.
10865 * config/sparc/sparc.h (current_function_outgoing_args_size,
10866 current_function_calls_alloca, current_function_decl): Delete
10867 declarations.
10868 * config/spur/spur.h (current_function_pretend_args_size,
10869 current_function_calls_alloca): Delete declarations.
10870 * config/v850/v850.c (current_function_outgoing_args_size): Delete
10871 declaration.
10872 * config/vax/vms.h (current_function_name): Delete declaration.
10873 * gcse.c: Include "function.h".
10874 (current_function_name, current_function_calls_setjmp): Delete
10875 declarations.
10876 * haifa-sched.c: Include "function.h".
10877 (forced_labels): Delete declaration.
10878 * jump.c: Likewise.
10879 * reg-stack.c: Likewise.
10880 * reload1.c: Likewise.
10881 * genemit.c (main): Make generated file include function.h.
10882 * genoutput.c (output_prologue): Likewise.
10883
10884 * builtins.c (saveregs_value, apply_args_value): Delete variables.
10885 * emit-rtl.c (reg_rtx_no, first_label_num, first_insn, last_insn,
10886 sequence_rtl_expr, cur_insn_uid, last_linenum, last_filename,
10887 regno_pointer_flag, regno_pointer_flag_length, regno_pointer_align,
10888 regno_reg_rtx, sequence_stack): Delete variables. Add accessor
10889 macros for some of them.
10890 (emit_filename, emit_lineno): Delete declarations.
10891 (gen_reg_rtx): Use memset/memcpy instead of bzero/bcopy. Access
10892 regno_pointer_* variables through current_function.
10893 (gen_inline_header_rtx): Delete function.
10894 (save_emit_status): Delete function.
10895 (set_new_last_label_num): New function.
10896 (clear_emit_caches): New function.
10897 (restore_emit_status): Just clear last_labelnum and call
10898 clear_emit_caches.
10899 (get_last_insn_anywhere): Variable sequence_stack is now accessed
10900 through macro seq_stack.
10901 (add_insn_after): Likewise.
10902 (add_insn_before): Likewise.
10903 (remove_insn): Likewise.
10904 (pop_topmost_sequence): Likewise.
10905 (in_sequence_p): Likewise.
10906 (start_sequence_for_rtl_expr): Likewise.
10907 (start_sequence): Likewise, and likewise for
10908 sequence_rtl_expr/seq_rtl_expr.
10909 (push_topmost_sequence): Likewise.
10910 (end_sequence): Likewise.
10911 (init_virtual_regs): Now takes a "struct emit_status *" argument.
10912 All callers changed. Store into that pointer instead of globals.
10913 (init_emit): Allocate emit elt of current_function.
10914 Changes for sequence_rtl_expr/sequence_stack renaming.
10915 Call clear_emit_caches instead of doing it in-line.
10916 Access regno_pointer_* variables through current_function.
10917 (init_emit_once) Don't clear sequence_stack.
10918
10919 * expr.c (pending_stack_adjust, inhibit_defer_pop, pending_chain):
10920 Delete variables.
10921 (arg_pointer_save_area): Delete declaration.
10922 (finish_expr_for_function): Renamed from init_queue; no longer static.
10923 (init_expr): Don't call init_queue.
10924 (save_expr_status, restore_expr_status): Delete functions.
10925 (expand_expr): Changes to reflect new layout of struct function.
10926 Don't access current_function_check_memory_usage when current_function
10927 is 0.
10928 * expr.h (forced_labels, save_expr_regs, saveregs_value,
10929 apply_args_value, current_function_calls_alloca, inhibit_defer_pop,
10930 current_function_outgoing_args_size, current_function_arg_offset_rtx,
10931 current_function_uses_const_pool, function_call_count,
10932 current_function_uses_pic_offset_table, nonlocal_labels,
10933 current_function_internal_arg_pointer, nonlocal_goto_stack_level,
10934 current_function_check_memory_usage, nonlocal_goto_handler_slots,
10935 pending_stack_adjust, target_temp_slot_level, temp_slot_level): Delete
10936 declarations.
10937 (finish_expr_for_function): Declare.
10938 * flags.h (current_function_has_nonlocal_label,
10939 current_function_has_nonlocal_goto, current_function_is_thunk,
10940 current_function_has_computed_jump): Delete declarations.
10941 * flow.c (forced_labels): Delete declaration.
10942 * function.c (current_function_pops_args,
10943 current_function_returns_struct, current_function_returns_pcc_struct,
10944 current_function_needs_context, current_function_calls_setjmp,
10945 current_function_calls_longjmp, current_function_has_nonlocal_label,
10946 current_function_has_nonlocal_goto, current_function_is_thunk,
10947 current_function_has_computed_jump, current_function_calls_alloca,
10948 current_function_contains_functions, current_function_returns_pointer,
10949 current_function_epilogue_delay_list, current_function_args_size,
10950 current_function_pretend_args_size, current_function_arg_offset_rtx,
10951 current_function_outgoing_args_size, current_function_varargs,
10952 current_function_stdarg, current_function_args_info, cleanup_label,
10953 current_function_name, current_function_uses_const_pool,
10954 current_function_instrument_entry_exit, current_function_return_rtx,
10955 current_function_uses_pic_offset_table, nonlocal_labels,
10956 current_function_internal_arg_pointer, current_function_cannot_inline,
10957 current_function_check_memory_usage, function_call_count,
10958 nonlocal_goto_handler_slots, nonlocal_goto_handler_labels,
10959 nonlocal_goto_stack_level, return_label, save_expr_regs,
10960 stack_slot_list, rtl_expr_chain, tail_recursion_label, temp_slots,
10961 tail_recursion_reentry, arg_pointer_save_area, frame_offset,
10962 context_display, trampoline_list, parm_birth_insn, invalid_stack_slot,
10963 last_parm_insn, max_parm_reg, parm_reg_stack_loc, sequence_rtl_expr,
10964 temp_slot_level, var_temp_slot_level, target_temp_slot_level):
10965 Delete variables.
10966 (push_function_context_to): Don't save them. Don't call
10967 save_storage_status, save_emit_status or save_expr_status.
10968 (pop_function_context_from): Don't restore them. Don't call
10969 restore_storage_status or restore_expr_status.
10970 (get_func_frame_size): New function.
10971 (get_frame_size): Use it.
10972 (assign_outer_stack_local): Reflect some member name changes in struct
10973 function.
10974 (put_reg_into_stack): Likewise.
10975 (assign_stack_temp_for_type): sequence_rtl_expr was renamed to
10976 seq_rtl_expr.
10977 (fixup_var_refs): Likewise.
10978 (fix_lexical_addr): Likewise.
10979 (trampoline_address): Likewise.
10980 (prepare_function_start): Clear field inlinable of current_function.
10981 (init_function_for_compilation): New function.
10982 (expand_dummy_function_end): New function.
10983 (expand_function_end): Call finish_expr_for_function.
10984 * function.h (struct emit_status): New; fields moved here from struct
10985 function and from global variables. Add accessor macros for some of
10986 the fields.
10987 (struct expr_status): Likewise.
10988 (REGNO_POINTER_ALIGN, REGNO_POINTER_FLAG): Moved here from regs.h.
10989 (struct function): Add fields expr and emit, inlinable, inl_emit,
10990 original_arg_vector, original_decl_initial, inl_last_parm_insn,
10991 inl_max_label_num. Add many comments.
10992 Add accessor macros for all elts of struct function that no longer
10993 have a global variable.
10994 (cleanup_label, return_label, frame_offset, tail_recursion_label,
10995 tail_recursion_reentry, arg_pointer_save_area, rtl_expr_chain,
10996 stack_slot_list): Delete declarations.
10997 (get_func_frame_size): Declare.
10998 (save_expr_status, restore_expr_status, save_emit_status,
10999 save_storage_status, restore_storage_status): Delete declarations.
11000 (init_virtual_regs): Declare.
11001 * output.h (current_function_pops_args,
11002 current_function_returns_struct, current_function_returns_pcc_struct,
11003 current_function_needs_context, current_function_calls_setjmp,
11004 current_function_calls_longjmp, current_function_calls_alloca,
11005 current_function_has_nonlocal_label, current_function_varargs,
11006 current_function_has_computed_jump, current_function_returns_pointer,
11007 current_function_contains_functions, current_function_args_size,
11008 current_function_pretend_args_size, current_function_stdarg,
11009 current_function_outgoing_args_size, current_function_args_info,
11010 current_function_name, current_function_return_rtx,
11011 current_function_epilogue_delay_list,
11012 current_function_uses_const_pool, current_function_cannot_inline):
11013 Delete declarations.
11014 * regs.h (reg_rtx_no, regno_pointer_flag, regno_pointer_flag_length,
11015 regno_reg_rtx): Delete declaration.
11016 (REGNO_POINTER_FLAG): Delete macro.
11017 * stmt.c (expand_goto): Changes to reflect that some fields in struct
11018 function were renamed.
11019 * stor-layout.c (save_storage_status, restore_storage_status): Delete
11020 functions.
11021 * toplev.c: Include "function.h".
11022 (current_function_decl): Delete declaration.
11023 (compile_file): Call init_dummy_function_start and
11024 expand_dummy_function_end around some initializations that need to
11025 emit rtl.
11026 (rest_of_compilation): Use DECL_SAVED_INSNS properly.
11027 Call init_function_for_compilation.
11028 * unroll.c: Include "function.h"
11029 (unroll_loop): Access regno_pointer_* variables through
11030 current_function.
11031
11032 * tree.h (struct tree_decl): Add elt f to saved_insns member.
11033 (DECL_SAVED_INSNS): use it.
11034 (expand_dummy_function_end): Declare.
11035 (init_function_for_compilation): Declare.
11036 * calls.c (calls_function_1): Change use of DECL_SAVED_INSNS now
11037 that it's no longer an INLINE_HEADER.
11038 (expand_call): Likewise.
11039 * integrate.c (finish_inline): Delete function.
11040 (max_parm_reg, parm_reg_stack_loc): Delete declarations.
11041 (initialize_for_inline): Delete min_labelno, max_labelno and max_reg
11042 args. Don't generate an INLINE_HEADER rtx, just return the arg
11043 vector. All callers changed.
11044 (save_for_inline_copying): Create a duplicate struct emit_status to
11045 hold the emit state for compiling the current function. Use this and
11046 the other new fields in struct function that are for integration
11047 instead of an INLINE_HEADER.
11048 Use memcpy instead of bcopy.
11049 Store the current struct function in DECL_SAVED_INSNS of fndecl.
11050 (save_for_inline_nocopy): Similar changes, except no new emit_status
11051 is needed here.
11052 (expand_inline_function): Get information from function structure,
11053 not from an inline header rtx.
11054 (output_inline_function): Lose code to extract the necessary
11055 information from an inline header; simply put back the function
11056 structure into current_function. Clear its inlinable elt.
11057 * rtl.def (INLINE_HEADER): Delete.
11058 * rtl.h: Delete all accessors for an INLINE_HEADER.
11059 (gen_inline_header_rtx): Delete declaration.
11060 (regno_reg_rtx, regno_pointer_align, nonlocal_goto_handler_labels):
11061 Delete declarations.
11062 (REGNO_POINTER_ALIGN): Delete.
11063 (clear_emit_caches): Declare.
11064 (set_new_last_label_num): Declare.
11065
11066 Mon Aug 9 01:52:24 1999 Jason Merrill <jason@yorick.cygnus.com>
11067
11068 * print-tree.c (print_node): Print base for OFFSET_TYPEs.
11069
11070 * except.c (expand_eh_region_start_for_decl): Always start a new block.
11071 * stmt.c (is_eh_region): Make sure current_function is present, too.
11072
11073 Mon Aug 9 01:15:24 1999 Jeffrey A Law (law@cygnus.com)
11074
11075 * pa.h (HARD_REGNO_MODE_OK): Correctly handle FPregs, even when
11076 for 64bit PA targets.
11077
11078 * pa.h (SELECT_SECTION): Define.
11079 * som.h (SELECT_SECTION): Delete.
11080
11081 Sun Aug 8 15:13:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11082
11083 * alias.c (init_alias_analysis): Wrap call to
11084 `prologue_epilogue_contains' within HAVE_prologue||HAVE_epilogue.
11085
11086 1999-08-07 Bruce Korb <autogen@linuxbox.com>
11087
11088 * fixinc/inclhack.def(irix_asm_apostrophe): IRIX 5.2's
11089 <sys/asm.h> contains an asm comment with an apostrophe
11090 * fixinc/inclhack.sh: regen
11091 * fixinc/fixincl.x: regen
11092
11093 Sat Aug 7 19:37:07 1999 Richard Henderson <rth@cygnus.com>
11094
11095 * function.c (init_function_start): Clear prologue & epilogue.
11096 (prologue_epilogue_contains): New function.
11097 * alias.c (init_alias_analysis): Use it.
11098 * rtl.h (prologue_epilogue_contains): Declare it.
11099
11100 Sat Aug 7 19:32:16 1999 Richard Henderson <rth@cygnus.com>
11101
11102 * jump.c (onlyjump_p): New function.
11103 * rtl.h: Declare it.
11104 * flow.c (delete_unreachable_blocks): Use onlyjump_p instead
11105 of condjump_p in calling tidy_fallthru_edge and merge_blocks.
11106
11107 Sat Aug 7 17:09:36 1999 Richard Henderson <rth@cygnus.com>
11108
11109 * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_REG_SET
11110 to invert loops. Simplify block scanning.
11111
11112 Sat Aug 7 02:11:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11113
11114 * gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
11115 (cprop_insn): Treat SYMBOL_REFs like CONST_INTs.
11116
11117 1999-08-07 Jonathan Larmour <jlarmour@cygnus.co.uk>
11118
11119 * config/sparc/liteelf.h: New file to support sparclite-elf target
11120 * config/sparc/t-sp86x: New file to support sparc86x targets
11121 * config/sparc/sp86x-aout.h: New file to support sparc86x-aout target
11122 * config/sparc/sp86x-elf.h: New file to support sparc86x-elf target
11123 * configure.in: Support above target triplets
11124 * configure: Regenerated
11125
11126 Sat Aug 7 01:39:27 1999 Philippe De Muyter <phdm@macqel.be>
11127
11128 * fixinc/server.c (server_setup): Do not prefix function used as
11129 parameter with `&'.
11130
11131 Sat Aug 7 00:21:20 1999 Richard Henderson <rth@cygnus.com>
11132
11133 * alpha.md (movhi and movqi patterns): Correct predicate for !BWX.
11134 Remove fp reg alternatives.
11135
11136 Sat Aug 7 00:06:54 1999 Jeffrey A Law (law@cygnus.com)
11137
11138 * Makefile.in (TAROUTOPTS): Kill.
11139 (install-headers-tar): Use "xpf" for tar headerfile extraction
11140 * i370/x-oe (TAROUTOPTS): Delete.
11141 * m68k/x-apollo68 (TAROUTOPTS): Delete.
11142 * m68k/x-hp320 (TAROUTOPTS): Delete.
11143 * m68k/x-hp320g (TAROUTOPTS): Delete.
11144 * gcc.texi: Update bug reporting text.
11145
11146 1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11147
11148 * reg-stack.c (change_stack) Fixed problem with negative array index.
11149
11150 Fri Aug 6 23:08:44 1999 Jeffrey A Law (law@cygnus.com)
11151
11152 * extend.texi, install.texi: Fix spelling mistakes.
11153
11154 * Makefile.in (PREMADE_ATTRTAB_MD, PREMADE_ATTRTAB): Delete.
11155 (s-attrtab); No longer try to use pre-made insn-attrtab file.
11156 * mips/t-bsd: Delete references to obsolete PREMADE_ATTRTAB and
11157 PREMADE_ATTRTAB_MD.
11158 * mips/t-ecoff: Likewise.
11159 * mips/t-elf: Likewise.
11160 * mips/t-mips: Likewise.
11161 * mips/t-osfrose: Likewise.
11162 * mips/t-r3900: Likewise.
11163 * mips/t-svr3: Likewise.
11164 * mips/t-svr4: Likewise.
11165 * mips/t-ultrix: Likewise.
11166
11167 * gcc.texi: Document recommend means to provide software floating
11168 point libraries in libgcc.a
11169
11170 1999-08-06 Jason Merrill <jason@yorick.cygnus.com>
11171
11172 * c-lex.c (yylex): We can have a number with no digits.
11173
11174 Fri Aug 6 16:53:55 EDT 1999 John Wehle (john@feith.com)
11175
11176 * jump.c (delete_prior_computation): New function, broken
11177 out of delete_computation. Check for side effects with
11178 side_effects_p instead of FIND_REG_INC_NOTE. Handle
11179 multi-word hard registers.
11180 (delete_computation): Use it. Check for side effects with
11181 side_effects_p instead of FIND_REG_INC_NOTE. Synthesize a
11182 missing REG_DEAD note for a register which is both set and
11183 used by an insn.
11184
11185 Fri Aug 6 11:05:29 1999 Jeffrey A Law (law@cygnus.com)
11186
11187 * elf.h (TEXT_SPACE_P, FUNCTION_NAME_P): Delete.
11188 (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT): Likewise.
11189 (ASM_FILE_START): Import _mcount with the right type.
11190 (ASM_DECLARE_FUNCTION_NAME): Define.
11191 (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
11192 * pa.c (output_function_prologue): Always emit the function's label
11193 here.
11194 * pa.h (TEXT_SPACE_P): Define.
11195 (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
11196 (ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_GLOBALIZE_LABEL): Likewise.
11197 * som.h (TEXT_SPACE_P): Delete.
11198 (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
11199 (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT): Likewise.
11200
11201 Thu Aug 5 19:29:39 1999 Jim Wilson <wilson@cygnus.com>
11202
11203 * expr.c (emit_group_load): Allow src to be a CONCAT.
11204
11205 Thu Aug 5 22:27:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
11206
11207 * config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
11208 (___mulsi3): Use '!' comment character.
11209
11210 Thu Aug 5 13:34:14 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11211
11212 * reload1.c (maybe_fix_stack_asms): Also declare P as "const char *".
11213
11214 Thu Aug 5 02:40:42 1999 Jeffrey A Law (law@cygnus.com)
11215
11216 * gcc.c: Update URLs and mail addresses.
11217 * gcc.texi: Likewise.
11218
11219 Thu Aug 5 01:14:13 1999 Daniel Jacobowitz <drow@false.org>
11220
11221 * rs6000.c (current_file_function_operand): Return zero for
11222 weak functions.
11223 (rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
11224 weak symbols.
11225 * rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
11226 for weak symbols.
11227
11228 Thu Aug 5 00:56:30 1999 Geoffrey Keating <geoffk@cygnus.com>
11229
11230 * rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
11231 allocate space in the stack frame for the PIC register.
11232
11233 Thu Aug 5 00:20:47 1999 Jeffrey A Law (law@cygnus.com)
11234
11235 * m68k.md (xordi3, anddi3): These patterns are not available on
11236 the coldfire.
11237
11238 Wed Aug 4 23:39:20 1999 Mark Mitchell <mark@codesourcery.com>
11239
11240 * real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
11241 (PUT_REAL): Likewise.
11242
11243 Wed Aug 4 20:45:04 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
11244
11245 * final.c (shorten_branches): Don't add an alignment for loops
11246 that have no label inside.
11247
11248 Wed Aug 4 16:39:24 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11249
11250 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp): Wrap
11251 prototypes in macro HAVE_cmpstrsi.
11252
11253 * cpplib.c (cpp_get_token): Remove unused label `op3'.
11254
11255 * emit-rtl.c (operand_subword): Remove unused variable
11256 `bits_per_word'.
11257
11258 * rtl.c (shallow_copy_rtx): Remove unused variable `format_ptr'.
11259
11260 * tree.c (chainon): Wrap variable `t2' in macro ENABLE_CHECKING.
11261
11262 Wed Aug 4 13:29:23 1999 Zack Weinberg <zack@bitmover.com>
11263
11264 * cpphash.c (macroexpand): Delete leading whitespace when arg
11265 is concatenated before.
11266 (unsafe_chars): Correct test for whether + and - can extend a
11267 token.
11268
11269 * cppinit.c (cpp_start_read): Do dependencies for
11270 -include/-imacros files also.
11271
11272 * cpplib.c (cpp_scan_buffer): In no-output mode, don't bother
11273 tokenizing non-directive lines.
11274 (cpp_expand_to_buffer): Temporarily disable no-output mode.
11275 * cppmain.c: In no-output mode, just call cpp_scan_buffer for
11276 the input file.
11277
11278 Wed Aug 4 12:53:44 1999 Jason Merrill <jason@yorick.cygnus.com>
11279
11280 * expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
11281
11282 * c-lex.c: Sync with C++ frontend.
11283 (linemode): New variable.
11284 (parse_float): imag, conversion_errno, and type are output only.
11285 (yylex): Adjust. Move initial '.' case into main switch.
11286 Use linemode.
11287 (handle_generic_pragma): Just deal with tokens.
11288 (readescape): Use ISXDIGIT and ISGRAPH.
11289 * c-parse.in: Add END_OF_LINE token.
11290
11291 * c-lex.c (lang_init): Generalize.
11292 (nextchar): Remove. Replace uses with UNGETC.
11293 (skip_white_space): Handle linemode here. Optimize for cpplib.
11294 (skip_white_space_on_line): Remove.
11295 (extend_token_buffer_to): New fn.
11296 (extend_token_buffer): Use it.
11297 (read_line_number, check_newline): Just deal with tokens.
11298 (token_getch, token_put_back): New fns.
11299 (yylex): Use them. More cpplib optimizations. Simplify.
11300
11301 Wed Aug 4 12:53:44 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
11302 Jason Merrill <jason@yorick.cygnus.com>
11303
11304 * c-lex.c (init_parse): Set cpp_token to CPP_DIRECTIVE.
11305 (consume_string): Make this smart about USE_CPPLIB.
11306 (check_newline): Rewrite to be intelligent about USE_CPPLIB.
11307 (yylex): Rewrite to be intelligent about USE_CPPLIB.
11308 Also, clean up cases where we redundantly set token_buffer[0].
11309 (read_line_number): New fn.
11310 (ignore_escape_flag): New variable.
11311
11312 Wed Aug 4 13:12:17 1999 Jeffrey A Law (law@cygnus.com)
11313
11314 * a29k/t-a29kbare: Fix some comments.
11315 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
11316 (FPBIT, DPBIT): Define.
11317 * a29k/t-vx29k: Likewise.
11318 * arc/t-arc: Likewise.
11319 * arm/t-arm-elf: Likewise.
11320 * arm/t-bare: Likewise.
11321 * arm/t-pe: Likewise.
11322 * arm/t-pe-thumb: Likewise.
11323 * arm/t-semi: Likewise.
11324 * arm/t-thumb: Likewise.
11325 * arm/t-thumb-elf: Likewise.
11326 * arm/t-thumb-linux: Likewise.
11327 * h8300/t-h8300: Likewise.
11328 * i960/t-i960: Likewise.
11329 * i960/t-vxworks960: Likewise.
11330 * m32r/t-m32r: Likewise.
11331 * mips/t-ecoff: Likewise.
11332 * mips/t-elf: Likewise.
11333 * mips/t-r3900: Likewise.
11334 * pa/t-pro: Likewise.
11335 * rs6000/t-aix43: Likewise.
11336 * rs6000/t-beos: Likewise.
11337 * rs6000/t-newas: Likewise.
11338 * rs6000/t-ppccomm: Likewise.
11339 * rs6000/t-rs6000: Likewise.
11340 * rs6000/t-winnt: Likewise.
11341 * rs6000/t-xnewas: Likewise.
11342 * rs6000/t-xrs6000: Likewise.
11343 * sh/t-sh: Likewise.
11344 * sparc/t-elf: Likewise.
11345 * sparc/t-sparcbare: Likewise.
11346 * sparc/t-sparclite: Likewise.
11347 * sparc/t-splet: Likewise.
11348 * v850/t-v850: Likewise.
11349 * mn10200/t-mn10200: Fix comments.
11350 * mn10300/t-mn10300: Likewise.
11351
11352 * pa.md (divsi3, udivsi3, modsi3, umodsi3 expanders): Clobber a new
11353 dummy operand. Allocate a new pseudo for the dummy operand.
11354 (divsi3, udivsi3, modis3, umodsi3 patterns): Corresponding changes.
11355
11356 * pa.md (movqi, movhi patterns): Do not expose FP regs to regclass.
11357
11358 Wed Aug 4 11:53:55 1999 Tom Tromey <tromey@cygnus.com>
11359
11360 * configure: Rebuilt.
11361 * configure.in: Removed --enable-java-gc option and JAVAGC subst.
11362
11363 Wed Aug 4 09:06:14 1999 Richard Earnshaw (rearnsha@arm.com)
11364
11365 * recog.c (preproces_constraints): Zero recog_op_alt before
11366 processing the constraints.
11367
11368 * arm.c (typedef minipool_node): Renamed from pool_node.
11369 (minipool_vector, minipool_size, minipool_vector_label): Similarly.
11370 (add_minipool_constant): New function.
11371 (dump_minipool): New function.
11372 (find_barrier): Remove special case for getting the insn size of
11373 an insn that references the constant pool.
11374 (minipool_fixup): New structure.
11375 (push_minipool_barrier): New function.
11376 (push_minipool_fix): New function.
11377 (note_invalid_constants): New function.
11378 (add_pool_constant, dump_table, fixit, broken_move): Delete.
11379 (arm_reorg): Rewrite code to fix up the constant pool into a
11380 series of mini-pools embedded in the insn stream.
11381 (arm_output_epilogue): New function, made mainly from the body
11382 of output_func_epilogue.
11383 (output_func_epilogue): Move insn generation part of epilogue code
11384 to arm_output_epilogue.
11385 * arm.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Delete.
11386 * arm.md (pool_range): New attribute.
11387 (zero_extendqidi2): Add attribute pool_range.
11388 (zero_extend_hisi_insn, load_extendqisi, extendhisi_insn,
11389 extendqihi_insn, extendqisi_insn, movdi, movsi_insn, pic_load_addr,
11390 pic_load_addr_based_insn, movhi_insn_arch4, movhi_insn_littleend,
11391 movhi_insn_bigend, loadhi_si_bigend, movsf_hard_insn, movsf_soft_insn,
11392 movdf_hard_insn, movdf_soft_insn, movxf_hard_insn): Likewise.
11393 (epilogue): New expand.
11394 (epilogue_insn): New insn. Call arm_output_epilogue.
11395
11396 * arm.c (arm_poke_function_name): Undo change of July 17. Tidy up.
11397 * arm.h (TARGET_SWITCHES): Add missing doc string for TARGET_DEFAULT.
11398
11399 Mon Aug 2 19:18:44 1999 Jason Merrill <jason@yorick.cygnus.com>
11400
11401 * linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
11402
11403 1999-08-04 Mark Elbrecht <snowball3@bigfoot.com>
11404
11405 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Define.
11406
11407 Wed Aug 4 02:15:32 1999 Richard Henderson <rth@cygnus.com>
11408
11409 * jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
11410
11411 Wed Aug 4 01:48:08 1999 Jim Kingdon <http://developer.redhat.com>
11412
11413 * global.c: Fix comment.
11414
11415 Wed Aug 4 01:43:01 1999 Ian Lance Taylor <ian@zembu.com>
11416
11417 * gcc.c (access_check): New static function.
11418 (find_a_file): Use it when searching a directory list.
11419 * collect2.c (find_a_file): Don't accept directories found when
11420 searching a directory list.
11421
11422 Wed Aug 4 01:40:43 1999 Philippe De Muyter <phdm@macqel.be>
11423
11424 * tlink.c (symbol_hash_lookup): Do not prefix functions used as
11425 function parameters with `&'.
11426 (file_hash_lookup, demangled_hash_lookup, tlink_init): Ditto.
11427
11428 Wed Aug 4 01:08:44 1999 Jeffrey A Law (law@cygnus.com)
11429
11430 * flow.c (delete_unreachable_blocks): Do not call merge_blocks
11431 or tidy_fallthru_edge if the last insn in the block is not
11432 an unconditional jump or a simple conditional jump.
11433
11434 Tue Aug 3 20:21:20 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
11435
11436 * Makefile.in (c-decl.o): Depends on defaults.h.
11437
11438 Tue Aug 3 14:14:52 1999 Jeffrey A Law (law@cygnus.com)
11439
11440 * pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
11441 PA1.1 and above.
11442 (CLASS_MAX_NREGS): Likewise.
11443
11444 Tue Aug 3 03:51:20 1999 Jeffrey A Law (law@cygnus.com)
11445
11446 * cse.c (cse_insn): Fix dumb thinko in last change.
11447
11448 Tue Aug 3 10:36:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11449
11450 * reload1.c (maybe_fix_stack_asms): Declare CONSTRAINTS as
11451 "const char *".
11452
11453 Mon Aug 2 23:45:45 1999 Hans-Peter Nilsson <hp@bitrange.com>
11454
11455 * dwarf2out.c (add_location_or_const_value_attribute): Correct
11456 test for sizes of passed and declared parameter types.
11457
11458 Tue Aug 3 00:03:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11459
11460 * fixincludes: Fix the return type of bsearch, char* -> void*.
11461
11462 * fixinc/inclhack.def: Likewise.
11463
11464 Mon Aug 2 18:29:32 1999 Mark Mitchell <mark@codesourcery.com>
11465
11466 * invoke.texi (-fdump-translation-unit): New option.
11467
11468 Mon Aug 2 17:54:19 1999 Richard Henderson <rth@cygnus.com>
11469
11470 * expr.h (PROMOTE_PROTOTYPES): Move ...
11471 * defaults.h: ... to here.
11472 * c-decl.c: Include defaults.h instead of expr.h.
11473 * c-typeck.c: Include defaults.h.
11474
11475 Mon Aug 2 17:10:24 1999 Mark Mitchell <mark@codesourcery.com>
11476
11477 * toplev.h (errorcount): Declare.
11478 (warningcount): Likewise.
11479 (sorrycount): Likewise.
11480 * c-lex.c (errorcount): Don't declare.
11481 * dwarf2out.c (errorcount): Don't declare.
11482
11483 Mon Aug 2 17:02:08 1999 Jason Merrill <jason@yorick.cygnus.com>
11484
11485 * config/libgloss.h: Add a note discouraging use with ELF.
11486 * configure.in: Don't use libgloss.h for ELF targets.
11487 Always use_collect2 on a.out targets.
11488
11489 Mon Aug 2 16:27:42 1999 Jim Wilson <wilson@cygnus.com>
11490
11491 * combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
11492 (force_to_mode, case ASHIFTRT): Add shiftrt label.
11493
11494 Tue Aug 3 00:45:02 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
11495
11496 * loop.c (strength_reduce): When doing biv->giv conversion, update
11497 reg note of NEXT->insn.
11498
11499 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
11500
11501 * real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.
11502
11503 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
11504
11505 * c-decl.c (get_parm_info, store_parm_decls): Change all uses of
11506 PROMOTE_PROTOTYPES, so that it tests it as a C expression.
11507 Ensure expr.h is included.
11508 * c-typecheck.c (convert_arguments): Ditto.
11509
11510 * expr.h: Supply default for PROMOTE_PROTOTYPES (0).
11511
11512 * config/arc/arc.h: Define PROMOTE_PROTOTYPES to 1.
11513 * config/convex/convex.h: Ditto.
11514 * config/dsp16xx/dsp16xx.h: Ditto.
11515 * config/fx80/fx80.h: Ditto.
11516 * config/gmicro/gmicro.h: Ditto.
11517 * config/i370/i370.h: Ditto.
11518 * config/i386/i386.h: Ditto.
11519 * config/m32r/m32r.h: Ditto.
11520 * config/m68k/m68k.h: Ditto.
11521 * config/m88k/m88k.h: Ditto.
11522 * config/mips/mips.h: Ditto.
11523 * config/pa/pa.h: Ditto.
11524 * config/pyr/pyr.h: Ditto.
11525 * config/tahoe/tahoe.h: Ditto.
11526 * config/we32k/we32k.h: Ditto.
11527
11528 * config/sparc/sparc.h: Define PROMOTE_PROTOTYPES
11529 based on arch size.
11530
11531 * config/i1750a/i1750a.h: Define PROMOTE_PROTOTYPES to 0.
11532
11533 * config/i860/paragon.h: Remove PROMOTE_PROTOTYPES
11534 from comment.
11535
11536 * tm.texi: Document new usage of PROMOTE_PROTOTYPES.
11537
11538 1999-08-02 Richard Henderson <rth@cygnus.com>
11539
11540 * m32r.c (m32r_setup_incoming_varargs): Use get_varargs_alias_set
11541 for the register spill block.
11542 (m32r_va_arg): New.
11543 * m32r.h (EXPAND_BUILTIN_VA_ARG): New.
11544 (EXPAND_BUILTIN_SAVEREGS): Delete #if 0 code.
11545
11546 * m32r.h (INT8_P): Don't short-cut test with (unsigned).
11547 (INT16_P, CMP_INT16_P, UINT16_P): Likewise.
11548 (UPPER16_P, UINT24_P, INT32_P, UINT5_P): Likewise.
11549
11550 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
11551
11552 * config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
11553 MAX_WCHAR_TYPE defined in sparc.h.
11554 * config/sparc/linuxaout.h: Likewise.
11555 * config/sparc/linux64.h: Likewise.
11556 Also default to -mvis if CPU is UltraSPARC.
11557
11558 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
11559
11560 * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
11561 (RTX_OK_FOR_OLO10): Likewise.
11562 (GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
11563 %lo(), allow it in addresses...
11564 (PRINT_OPERAND_ADDRESS): ... and print it appropriately.
11565 * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
11566 does not make sense.
11567 * config/sparc/sparc.c (sparc_hard_reg_printed): New array.
11568 (sparc_output_scratch_registers): New function.
11569 (output_function_prologue, sparc_flat_output_function_prologue): Use
11570 it.
11571 * varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
11572 defined.
11573 * tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
11574 * configure.in: Add check for .register pseudo-op support in as and
11575 check for offsetable %lo().
11576 * acconfig.h: Add templates for the above checks.
11577 * configure: Regenerate.
11578
11579 1999-08-02 Richard Henderson <rth@cygnus.com>
11580
11581 * sparc/linux64.h (TARGET_DEFAULT): Remove MASK_APP_REGS.
11582 * sparc/sol2-sld-64.h (TARGET_DEFAULT): Likewise.
11583 * sparc/sol2.h (TARGET_DEFAULT): Likewise.
11584
11585 Mon Aug 2 23:46:45 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
11586
11587 * loop.c (strength_reduce): When doing biv->giv conversion, fix up
11588 reg_biv_class.
11589
11590 1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
11591
11592 * config/float-sparc.h: New file.
11593 * configure.in: Use float_format=sparc for sparc-*-linux-gnulibc1,
11594 sparc-*-linux-gnu and sparc64-*-linux*.
11595
11596 1999-08-02 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11597
11598 * rs6000.c (rs6000_va_list): Type is an array.
11599 (rs6000_va_start): Don't doubly adjust for varargs.
11600 (rs6000_va_arg): Evaluate long long GPR adjustment.
11601
11602 Mon Aug 2 16:15:57 1999 David Edelsohn <edelsohn@gnu.org>
11603
11604 * rs6000/aix43.h (SUBTARGET_SWITCHES): Use -m64 and -m32 instead of
11605 -maix64 and -maix32.
11606 (ASM_SPEC, ASM_CPU_SPEC, CPP_SPEC, CPP_CPU_SPEC, LIB_SPEC,
11607 LINK_SPEC): Change appropriately.
11608 * rs6000/rs6000.c (short_cint_operand): Use CONST_OK_FOR_LETTER_P.
11609 (u_short_cint_operand): Likewise.
11610 * rs6000/rs6000.md (movdi splitters): Add TARGET_POWERPC64 support
11611 for 64-bit hosts.
11612 * rs6000/t-aix43 (MULTILIB): Change to -m64.
11613
11614 * invoke.texi (RS/6000 Submodel): Document 64-bit processor options.
11615
11616 Mon Aug 2 16:15:57 1999 Geoff Keating <geoffk@cygnus.com>
11617
11618 * rs6000/rs6000.c (num_insns_constant_wide): Correct
11619 for type promotion.
11620 (add_operand): Get test correct for 64-bit HOST_WIDE_INT.
11621 (non_add_cint_operand): Likewise.
11622 (logical_operand): Likewise.
11623 (non_logical_cint_operand): Likewise.
11624 (print_operand): Correct printf()s for 64-bit HOST_WIDE_INT.
11625 (print_operand_address): Correct printf() for 64-bit HOST_WIDE_INT.
11626 (rs6000_select_rtx_section): Suppress warning.
11627 (small_data_operand): Suppress warning.
11628 (rs6000_got_register): Suppress warning.
11629 * rs6000/rs6000.md (andsi3): HOST_WIDE_INT is a signed
11630 type, so `J' is generally the wrong constraint for a SImode value;
11631 use `L' instead.
11632 (andsi3_internal2): Likewise.
11633 (andsi3_internal3): Likewise.
11634 (iorsi3_internal1): Likewise.
11635 (xorsi3_internal1): Likewise.
11636 (movsi): Likewise.
11637 (movsf_softfloat): Likewise.
11638 (scc insns): Likewise.
11639 (movsi+2): Preserve sign bits of SImode constant.
11640 (floatsidf2_internal+1): Sign-extend SImode constant correctly.
11641 (movdf+1): Sign-extend properly.
11642 (movdi_32+1): Sign-extend properly.
11643 (scc insns): Sign-extend properly.
11644
11645 * md.texi (RS/6000 EXTRA_CONSTRAINTS): Update documentation for J,
11646 K, L, and T.
11647
11648 1999-08-02 Richard Henderson <rth@cygnus.com>
11649
11650 * alpha.c (override_options): Move ev6 alpha_tp frobbing out of
11651 -mcpu parsing code.
11652 (print_operand): Notice alpha_fptm not alpha_tp for sw completion.
11653 * alpha.md (all fp insns): Likewise.
11654
11655 1999-08-02 Nick Clifton <nickc@cygnus.com>
11656
11657 * config/v850/v850.h (STRICT_ALIGNMENT): Only define if not
11658 already defined.
11659
11660 Mon Aug 2 03:38:33 1999 Jeffrey A Law (law@cygnus.com)
11661
11662 * pa.c (legitimize_pic_address): Clarify comments. Do not call the
11663 pic_load_label generator directly.
11664 * pa.md (pic_load_label): Clarify comments. Remove modes on operands.
11665 No longer a named pattern.
11666
11667 Mon Aug 2 09:38:10 1999 Nick Clifton <nickc@cygnus.com>
11668
11669 * explow.c (force_reg): Call force_operand if X does not
11670 satisfy general_operand.
11671
11672 Mon Aug 2 01:34:22 1999 Jeffrey A Law (law@cygnus.com)
11673
11674 * fix-header.c (main): When testing for CONTINUED, use string
11675 equality, not pointer equality.
11676
11677 Mon Aug 2 01:27:24 1999 Dan Nicolaescu <dann@ics.uci.edu>
11678
11679 * sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
11680
11681 Sun Aug 1 22:46:42 1999 Jeffrey A Law (law@cygnus.com)
11682
11683 * cse.c (cse_insn): Fix loop which deletes insns after a jump
11684 that has become an unconditional jump.
11685
11686 * m68k.c (output_function_prologue): Fix typo in CPU32 case.
11687 (output_function_epilogue): Similarly.
11688
11689 Sun Aug 1 20:14:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11690
11691 * tree.h (init_dummy_function_start): Declare.
11692
11693 Sun Aug 1 12:55:31 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11694
11695 * stmt.c (emit_filename, emit_lineno, expr_stmts_for_value,
11696 last_expr_type, last_expr_value, block_start_count, block_stack,
11697 stack_block_stack, cond_stack, loop_stack, case_stack, nesting_stack,
11698 nesting_depth, goto_fixup_chain): Delete global vars; now allocated
11699 dynamically in stmt elt of struct function for each function.
11700 (struct nesting): Rename function_call_count elt to n_function_calls,
11701 target_temp_slot_level to block_target_temp_slot_level. All users
11702 changed.
11703 (struct stmt_status): New structure definition.
11704 Add many accessor macros for stmt_status elements which previously
11705 were global variables.
11706 (init_stmt_for_function): Allocate stmt elt for current_function.
11707 Reflect that block_start_count was renamed to
11708 current_block_start_count.
11709 (save_stmt_status, restore_stmt_status): Delete functions.
11710 (preserve_subexpressions_p): Don't access loop_stack when outside
11711 a function.
11712 (expand_start_bindings): Reflect that block_start_count was renamed to
11713 current_block_start_count.
11714 (expand_fixup): Likewise.
11715 (expand_decl): Don't access block_stack when outside a function.
11716 (expand_decl_cleanup): Likewise.
11717 (expand_dcc_cleanup): Likewise.
11718 (expand_dhc_cleanup): Likewise.
11719 (expand_anon_union_decl): Likewise.
11720 (set_file_and_line_for_stmt): New function.
11721 (in_control_zone_p): New function.
11722
11723 * function.h (struct function): Add new elt stmt.
11724 Delete elts block_stack, stack_block_stack, cond_stack, loop_stack,
11725 case_stack, nesting_stack, nesting_depth, block_start_count,
11726 last_expr_type, last_expr_value, expr_stmts_for_value, emit_filename,
11727 emit_lineno, goto_fixup_chain.
11728 (save_eh_status, restore_eh_status, save_stmt_status,
11729 restore_stmt_status): Delete declarations.
11730 * function.c (push_function_context_to): Don't call save_stmt_status.
11731 (pop_function_context_to): Don't call restore_stmt_status.
11732 * tree.h (in_control_zone_p): Declare.
11733 * rtl.h (set_file_and_line_for_stmt): Declare.
11734
11735 * emit-rtl.c (emit_line_note): Don't set emit_filename/emit_lineno;
11736 call set_file_and_line_for_stmt.
11737
11738 Thu Jul 31 12:34:45 1999 Joe Buck <jbuck@synopsys.com>
11739
11740 * gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
11741 Also update copyright.
11742
11743 Sat Jul 31 11:10:07 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11744
11745 * c-pragma.c: Don't include "except.h".
11746 * emit-rtl.c: Likewise.
11747 * stor-layout.c: Likewise.
11748 * tree.c: Likewise.
11749 * varasm.c: Likewise.
11750
11751 * flow.c: Include "function.h".
11752 * tree.h (init_dummy_function_start): Declare new function.
11753
11754 * except.h (struct eh_status): New structure.
11755 (struct label_node, struct eh_entry): Declare even if tree.h hasn't
11756 been included.
11757 (eh_return_stub_label, ehstack, catchstack, ehqueue,
11758 catch_clauses, false_label_stack, caught_return_label_stack,
11759 protect_list, current_function_ehc): Add accessor macros for the
11760 corresponding fields in current_function->eh; delete declarations
11761 for all items that used to be declared here.
11762 * except.c (eh_return_stub_label, ehstack, catchstack, ehqueue,
11763 catch_clauses, false_label_stack, caught_return_label_stack,
11764 protect_list, current_function_ehc): Delete variables.
11765 (init_eh_for_function): Allocate current_function->eh.
11766 (save_eh_status, restore_eh_status): Delete functions.
11767
11768 * function.h (struct function): Add fields next_global and eh.
11769 Delete all exception handling related fields.
11770 * function.c (current_function): New variable.
11771 (all_functions): New variable.
11772 (push_function_context_to): Don't allocate a struct function,
11773 use current_function instead. Call init_dummy_function_start when
11774 outside a function. Clear current_function before returning.
11775 (pop_function_context_from): Restore current_function.
11776 Don't free the restored struct function.
11777 (prepare_function_start): New function.
11778 (init_dummy_function_start): New function.
11779 (init_function_start): Break out some code into prepare_function_start
11780 and call it here.
11781
11782 * stmt.c (save_stmt_status): Don't call save_eh_status.
11783 (restore_stmt_status): Don't call restore_eh_status.
11784
11785 * Makefile.in: Update dependencies.
11786
11787 Sat Jul 31 04:10:01 1999 Jeffrey A Law (law@cygnus.com)
11788
11789 * pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead
11790 of depending on a magic constant value. Update comments.
11791 (hppa_expand_prologue): Similarly.
11792
11793 * pa.md (reload_indi, reload_outdi): Allow any register for the
11794 original reload register.
11795
11796 Fri Jul 30 19:41:35 1999 Jim Wilson <wilson@cygnus.com>
11797
11798 * cccp.c (print_help): Change marcos to macros.
11799
11800 1999-07-30 Richard Henderson <rth@cygnus.com>
11801
11802 * c-typeck.c (initializer_constant_valid_p): Move ...
11803 * c-common.c (initializer_constant_valid_p): ... here. Use
11804 FOO_TYPE_P instead of tests against TREE_CODE. Allow subtraction
11805 of label addresses.
11806 * c-common.h (initializer_constant_valid_p): Declare.
11807 * c-tree.h (initializer_constant_valid_p): Remove.
11808
11809 Fri Jul 30 16:33:42 1999 Mathias Froehlich <frohlich@na.uni-tuebingen.de>
11810
11811 * config/i386/sol2-c1.asm: Align the stack.
11812 * config/i386/sol2-gc1.asm: Likewise.
11813
11814 1999-07-30 Vladimir Makarov <vmakarov@loony.cygnus.com>
11815
11816 * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
11817 -Asparclite for sparc86x.
11818 (CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
11819 sparc86x.
11820 (ASM_CPU_SPEC): Use -Asparclite for sparc86x.
11821
11822 Fri Jul 30 14:53:56 1999 Jakub Jelinek <jj@ultra.linux.cz>
11823
11824 * config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
11825 the user if using the non-default arch size in BI_ARCH configuration.
11826 * config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
11827
11828 * config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
11829 Fix patterns so that they actually match.
11830 (cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
11831 (mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
11832 (const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
11833 TARGET_HARD_MUL32.
11834 (mulsidi3): Reflect this in the expand.
11835 (smulsi3_highpart): Only on TARGET_ARCH32.
11836 (umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
11837 (const_umulsidi3_sp32): Renamed from const_umulsidi3.
11838 (umulsidi3): Reflect this in the expand.
11839 (umulsi3_highpart): Only on TARGET_ARCH32.
11840 (divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
11841 don't require g0 to be zero.
11842 (udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
11843 ({,u}divsi3): New expands.
11844 ({,u}divsi3_sp64): New patterns.
11845 (after lshrdi3_v8plus): Four new patterns to help combiner
11846 optimizing nested mixed mode shifts.
11847
11848 * config/sparc/sparc.c (sparc_override_options): Use deprecated
11849 v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
11850 speed things up. Don't use them by default on plain v9 in 64bit
11851 mode, according to what SPAMv9 sais.
11852
11853 * config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
11854 top 32 bits of %[og][0-7] in signal handlers.
11855 Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
11856
11857 Fri Jul 30 03:00:41 1999 Jeffrey A Law (law@cygnus.com)
11858
11859 * pa.md (zvdep_imm32): Renamed from zvdep_imm.
11860 (ashlsi3): Corresponding changes.
11861
11862 * pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
11863
11864 Thu Jul 29 18:37:13 1999 Jeffrey A Law (law@cygnus.com)
11865
11866 * pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
11867
11868 Thu Jul 29 19:01:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11869
11870 * arm.h (Hint): Delete macro.
11871 Substitute HOST_WIDE_INT for Hint in some prototypes.
11872 * arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
11873
11874 Thu Jul 29 09:21:42 1999 Nick Clifton <nickc@cygnus.com>
11875
11876 * builtins.c (expand_builtin_setjmp): Use force_operand to
11877 make sure that the buffer address is in a suitable form to be
11878 passed to force_reg.
11879
11880 Wed Jul 28 12:50:48 1999 Geoff Keating <geoffk@cygnus.com>
11881
11882 * config/mips/mips.c: system.h handles MIN and MAX, don't undefine
11883 them here.
11884
11885 Wed Jul 28 13:18:35 1999 Jeffrey A Law (law@cygnus.com)
11886
11887 * pa.md (indirect_jump): Remove mode from match_operand. Verify
11888 proper mode in the condition string.
11889 (icacheflush, dcacheflush): Remove modes from match_operands.
11890
11891 * pa.c (emit_move_sequence): Always convert scratch_reg to the
11892 proper mode before using it.
11893
11894 * pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
11895 pair.
11896
11897 * pa.c (store_reg): Do not call add_high_const generator directly.
11898 (load_reg, set_reg_plus_d): Likewise.
11899 * pa.md (add_high_const): No longer a named pattern.
11900
11901 * pa.c (legitimize_address): Consistently use Pmode rather than
11902 SImode. Do not call gen_pic2_highpart directly anymore.
11903 * pa.md (pic2_highpart): No longer a named pattern.
11904 (pic2_lo_sum): Similarly. Reformat to make more readable.
11905
11906 * pa.md (call, call_value): Use "word_mode" instead of "SImode" as
11907 needed.
11908
11909 * README: Update.
11910
11911 Wed Jul 28 11:28:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11912
11913 * builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
11914
11915 Wed Jul 28 11:23:48 1999 Richard Henderson <rth@cygnus.com>
11916
11917 * pa.c (hppa_builtin_saveregs): Use get_varargs_alias_set
11918 and tag the spill mems.
11919 (hppa_va_start): New.
11920 (hppa_va_arg): New.
11921 * pa.h (EXPAND_BUILTIN_VA_START): New.
11922 (EXPAND_BUILTIN_VA_ARG): New.
11923
11924 Wed Jul 28 11:22:21 1999 Richard Henderson <rth@cygnus.com>
11925
11926 * mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set
11927 and tag the spill mems.
11928 (mn10300_va_start): New.
11929 (mn10300_va_arg): New.
11930 * mn10300.h (EXPAND_BUILTIN_VA_START): New.
11931 (EXPAND_BUILTIN_VA_ARG): New.
11932
11933 Wed Jul 28 11:20:19 1999 Richard Henderson <rth@cygnus.com>
11934
11935 * mn10200.c (mn10200_va_arg): New.
11936 * mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
11937
11938 Wed Jul 28 11:19:06 1999 Richard Henderson <rth@cygnus.com>
11939
11940 * builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
11941 rather than play with TREE_INT_CST_LOW.
11942
11943 1999-07-27 Philip Blundell <pb@nexus.co.uk>
11944
11945 * config/arm/telf.h: Include dbxelf.h.
11946 (CPP_PREDEFINES): Only define if not already defined.
11947 (ASM_IDENTIFY_GCC): Likewise.
11948 (SUBTARGET_EXTRA_SECTIONS): Likewise.
11949 (SUBTARGET_EXTRA_SECTION_FUNCTIONS): Likewise.
11950 * config/arm/thumb.h (LINK_SPEC): Only define if not already
11951 defined.
11952 (DBX_DEBUGGING_INFO): Don't define.
11953 * config/arm/linux-telf.h: New file.
11954 * config/arm/linux-tgas.h: New file.
11955 * config/arm/t-thumb-linux: New file.
11956 * config/arm/uclinux-elf.h: New file.
11957 * config/arm/uclinux-telf.h: New file.
11958 * configure.in (arm-*-uclinux, thumb-*-linux-gnu,
11959 thumb-*-uclinux): New targets.
11960 * configure: Regenerate.
11961
11962 Tue Jul 27 23:20:21 1999 Jeffrey A Law (law@cygnus.com)
11963
11964 * pa.md (post_store, pre_load): New expanders.
11965 (post_stwm, pre_ldwm): Renamed to post_stw and pre_ldw respectively.
11966 (post_ldwm, pre_stwm): Make these unnamed patterns since we never
11967 need to directly generate RTL for them.
11968 * pa.c (hppa_expand_prologue, hppa_expand_epilogue): Corresponding
11969 changes.
11970
11971 Tue Jul 27 16:05:52 1999 David Edelsohn <edelsohn@gnu.org>
11972
11973 * aix43.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add rs64a and PPC630.
11974 * rs6000.c (processor_target_table): Add powerpc64, rs64a, and PPC630.
11975 (rs6000_cpu): Choose between 32-bit and 64-bit default processors.
11976 (secndary_reload_class): Make TARGET_ELF conditional compile.
11977 (print_operand_address): Similar.
11978 (output_toc): Print all values as hex.
11979 (get_issue_rate): Rearrange and add RS64A and PPC630.
11980 * rs6000.h (processor_type): Add RS64A and PPC630.
11981 (PROCESSOR_POWERPC64): New.
11982 (PROMOTE_MODE): Use word_mode.
11983 (RTX_COSTS): Add RS64A and PPC630.
11984 * rs6000.md (scheduling information): Add lmul and ldiv
11985 representing 64-bit integer multiply and divide. Add rs64a and
11986 PPC630 information.
11987 (ashldi3): Add support for "rldic" instruction.
11988 * sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
11989
11990 Tue Jul 27 15:31:53 1999 Vladimir Makarov <vmakarov@toad.to.cygnus.com>
11991
11992 * config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
11993 instead of V8 for sparclite86x in cpu_table.
11994
11995 Tue Jul 27 17:49:42 1999 Bernd Schmidt <bernds@cygnus.co.uk>
11996
11997 * config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
11998 output_file_directive.
11999
12000 Tue Jul 27 03:15:33 1999 Jason Merrill <jason@yorick.cygnus.com>
12001
12002 * expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
12003 tree for op1, not the rtl.
12004
12005 Tue Jul 27 00:18:34 1999 Richard Henderson <rth@cygnus.com>
12006
12007 * m88k.c (m88k_builtin_saveregs): Break out the constructor code
12008 to m88k_va_start, leaving only the register spill.
12009 (m88k_build_va_list): New.
12010 (m88k_va_start): New.
12011 (m88k_va_arg): New.
12012 * m88k.h (BUILD_VA_LIST_TYPE): New.
12013 (EXPAND_BUILTIN_VA_START): New.
12014 (EXPAND_BUILTIN_VA_ARG): New.
12015
12016 Mon Jul 26 19:07:11 1999 Geoff Keating <geoffk@cygnus.com>
12017
12018 * config/rs6000/rs6000.c (rs6000_expand_builtin_saveregs):
12019 Rename from expand_builtin_saveregs.
12020 * config/rs6000/rs6000.h (EXPAND_BUILTIN_SAVEREGS): Change caller.
12021
12022 Mon Jul 26 22:52:47 1999 Richard Henderson <rth@cygnus.com>
12023
12024 * i960.c (i960_setup_incoming_varargs): Use get_varargs_alias_set
12025 for the register spill block.
12026 (i960_build_va_list): New.
12027 (i960_va_start): New.
12028 (i960_va_arg): New.
12029 * i960.h (BUILD_VA_LIST_TYPE): New.
12030 (EXPAND_BUILTIN_VA_START): New.
12031 (EXPAND_BUILTIN_VA_ARG): New.
12032 * i960.md (store_multiple): Use change_address on individul mems.
12033
12034 Mon Jul 26 22:43:12 1999 Richard Henderson <rth@cygnus.com>
12035
12036 * builtins.c (stabilize_va_list): Don't INDIRECT_REF through
12037 an ARRAY_TYPE.
12038 (std_expand_builtin_va_start): Back out one word if !stdarg_p.
12039 (expand_builtin_va_end): Evaluate arg for side effects.
12040 * c-common.c (c_common_nodes_and_builtins): Construct a
12041 va_list_arg_type_node to handle array decomposition to pointer.
12042
12043 Mon Jul 26 18:51:34 1999 Richard Henderson <rth@cygnus.com>
12044
12045 * except.c (start_dynamic_cleanup): Use force_operand on the
12046 buffer's address.
12047
12048 Mon Jul 26 16:43:26 1999 Richard Henderson <rth@cygnus.com>
12049
12050 * c4x.h (EXPAND_BUILTIN_VA_ARG): New.
12051 * c4x.c (c4x_va_arg): New.
12052
12053 Mon Jul 26 12:30:09 1999 Jason Merrill <jason@yorick.cygnus.com>
12054
12055 * cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
12056 has manual_pop set.
12057
12058 1999-07-26 Nathan Sidwell <nathan@acm.org>
12059
12060 * eh-common.h (__eh_matcher): Prototype correctly.
12061
12062 Mon Jul 26 17:24:51 1999 Philip Blundell <pb@nexus.co.uk>
12063
12064 * config/arm/thumb.h (THUMB_FLAG_SINGLE_PIC_BASE): Define.
12065 (TARGET_SINGLE_PIC_BASE): Likewise.
12066 (GOT_PCREL, NEED_GOT_RELOC, NEED_PLT_RELOC): Provide default
12067 definitions.
12068 (TARGET_CALLEE_INTERWORKING): Fix typo in comment.
12069 (TARGET_SWITCHES): Add -m{no-}single-pic-base.
12070 (TARGET_OPTIONS): Add -mpic-register=N.
12071 (OUTPUT_INT_ADDR_CONST): New macro.
12072 (INDEX_REGISTER_RTX_P, PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC,
12073 LEGITIMATE_PIC_OPERAND_P): Likewise.
12074 (LEGITIMIZE_ADDRESS, GOT_IF_LEGITIMATE_ADDRESS): Support PIC.
12075 (ASM_OUTPUT_INT): Use OUTPUT_INT_ADDR_CONST rather than calling
12076 output_addr_const directly.
12077 (PRINT_OPERAND_PUNCT_VALID_P): Accept `|' for compatibility with
12078 ARM port.
12079 (thumb_pic_register, thumb_pic_register_string): Declare.
12080
12081 * config/arm/thumb.c (symbol_mentioned_p): New function: Imported
12082 from arm.c.
12083 (label_mentioned_p): New function: Imported from arm.c.
12084 (legitimize_pic_address): New function: Imported from arm.c.
12085 (is_pic):New function: Imported from arm.c.
12086 (thumb_finalize_pic):New function: Imported from arm.c.
12087 (add_constant): Cope with PIC constants.
12088 (fixit): Cope with PIC constants.
12089 (output_return): Do not treat the PIC register as live if
12090 TARGET_SINGLE_PIC_BASE is true.
12091 (thumb_function_prologue): Do not treat the PIC register as live if
12092 TARGET_SINGLE_PIC_BASE is true.
12093 (thumb_expand_prologue): Do not treat the PIC register as live if
12094 TARGET_SINGLE_PIC_BASE is true.
12095 (thumb_unexpand_epilogue): Do not treat the PIC register as live if
12096 TARGET_SINGLE_PIC_BASE is true.
12097 (thumb_print_operand): Accept '|'.
12098 (thumb_override_options): Process PIC options.
12099
12100 * config/arm/thumb.md (movsi): Support PIC.
12101 (call_insn): Change "i" constraint to "X".
12102 (call_value_insn): Likewise.
12103 (consttable_4, consttable_8, consttable_end): Set and clear
12104 "making_const_table" as appropriate.
12105 (pic_load_addr, pic_add_dot_plus_four): New insns.
12106
12107 * invoke.texi (Thumb Options): Fix spelling. Document new
12108 options -msingle-pic-base and -mpic-register=.
12109
12110 1999-07-26 Andrew Haley <aph@cygnus.com>
12111
12112 * config/m32r/initfini.c (__init): Use a full word immediate for
12113 __fini: this allows it to be placed in any memory region.
12114
12115 * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
12116 -mmodel=medium. This is OK for all memory models.
12117
12118 Mon Jul 26 11:58:46 1999 Nick Clifton <nickc@cygnus.com>
12119
12120 * config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
12121 * config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
12122
12123 Mon Jul 26 10:23:36 1999 Nick Clifton <nickc@cygnus.com>
12124
12125 * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
12126 defined.
12127
12128 * tm.texi: Document ASM_FPRINTF_EXTENSIONS.
12129
12130 Sun Jul 25 23:51:59 1999 Richard Henderson <rth@cygnus.com>
12131
12132 * i860.h (EXPAND_BUILTIN_SAVEREGS): New.
12133 (BUILD_VA_LIST_TYPE): New.
12134 (EXPAND_BUILTIN_VA_START): New.
12135 (EXPAND_BUILTIN_VA_ARG): New.
12136 * i860.c (output_delayed_branch): Disable.
12137 (output_delay_insn): Likewise.
12138 (i860_saveregs): New.
12139 (i860_build_va_list): New.
12140 (i860_va_start): New.
12141 (i860_va_arg): New.
12142 * i860.md: Disable all peepholes using output_delayed_branch.
12143 * i860/sysv4.h (I860_SVR4_VA_LIST): New.
12144
12145 Sun Jul 25 23:44:13 1999 Richard Henderson <rth@cygnus.com>
12146
12147 * clipper.h (EXPAND_BUILTIN_SAVEREGS): Remove argument.
12148 (BUILD_VA_LIST_TYPE): New.
12149 (EXPAND_BUILTIN_VA_START): New.
12150 (EXPAND_BUILTIN_VA_ARG): New.
12151 * clipper.c (clipper_builtin_saveregs): Only dump registers.
12152 Return the address of the save area.
12153 (clipper_build_va_list): New.
12154 (clipper_va_start): New.
12155 (clipper_va_arg): New.
12156
12157 Sun Jul 25 22:56:47 1999 Richard Henderson <rth@cygnus.com>
12158
12159 * arc.h (EXPAND_BUILTIN_VA_START): New.
12160 (EXPAND_BUILTIN_VA_ARG): New.
12161 * arc.c (arc_setup_incoming_varargs): Set alias set of
12162 varargs save area.
12163 (arc_va_start): New.
12164 (arc_va_arg): New.
12165
12166 Sun Jul 25 22:45:55 1999 Richard Henderson <rth@cygnus.com>
12167
12168 * alpha.h (EXPAND_BUILTIN_SAVEREGS): Delete.
12169 (BUILD_VA_LIST_TYPE): New.
12170 (EXPAND_BUILTIN_VA_START): New.
12171 (EXPAND_BUILTIN_VA_ARG): New.
12172 * alpha.c (alpha_builtin_saveregs): Delete.
12173 (alpha_build_va_list): New.
12174 (alpha_va_start): New.
12175 (alpha_va_arg): New.
12176
12177 Sun Jul 25 21:40:33 1999 Jeffrey A Law (law@cygnus.com)
12178
12179 * config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
12180 column zero.
12181 (DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
12182 (FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
12183
12184 * gcc.texi: More changes related to list conversion.
12185 * invoke.texi: Likewise.
12186
12187 Sun Jul 25 18:15:39 1999 Richard Henderson <rth@cygnus.com>
12188
12189 * builtins.c (expand_builtin_saveregs): Remove static, remove exp
12190 and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
12191 (expand_builtin_next_arg): Accept ARGLIST not EXP.
12192 (stabilize_va_list): New function.
12193 (std_expand_builtin_va_start): New function.
12194 (expand_builtin_va_start): New function.
12195 (get_varargs_alias_set): New function.
12196 (std_expand_builtin_va_arg): New function.
12197 (expand_builtin_va_arg): New function.
12198 (expand_builtin_va_end): New function.
12199 (expand_builtin_va_copy): New function.
12200 (expand_builtin): Call them.
12201 * c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
12202 __builtin_{varargs_start,stdarg_start,end,copy}.
12203 (build_va_arg): New function.
12204 * c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
12205 (build_va_arg): Declare.
12206 * c-decl.c (ptr_type_node, va_list_type_node): New.
12207 * c-parse.gperf (__builtin_va_arg): New.
12208 * c-parse.in (VA_ARG): New token.
12209 (unary_expr): Recognize it.
12210 * expr.c (expand_expr): Expand VA_ARG_EXPR.
12211 * expr.h (std_expand_builtin_va_start): Declare.
12212 (std_expand_builtin_va_arg): Declare.
12213 (expand_builtin_va_arg): Declare.
12214 (get_varargs_alias_set): Declare.
12215 * tree.def (VA_ARG_EXPR): New.
12216 * tree.h (BUILT_IN_VARARGS_START): New.
12217 (BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
12218 (ptr_type_node, va_list_type_node): Declare.
12219 * tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
12220 * m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
12221 * m88k.h, m88k.c: Likewise.
12222 * mn10300.h, mn10300.c: Likewise.
12223 * pa.h, pa.c: Likewise.
12224 * rs6000.h, rs6000.c: Likewise.
12225 * sh.h, sh.c: Likewise.
12226 * sparc.h, sparc.c: Likewise.
12227
12228 * emit-rtl.c (operand_subword): Copy alias set.
12229 (change_address): Likewise.
12230
12231 Sun Jul 25 15:04:37 1999 Jeffrey A Law (law@cygnus.com)
12232
12233 * pa.c (compute_frame_size): Scan all the used callee saved registers,
12234 not just the first one.
12235
12236 Fri Jul 23 14:09:58 1999 Philip Blundell <pb@nexus.co.uk>
12237
12238 * config/arm/arm.h (TARGET_SWITCHES): Add
12239 -m{no-}single-pic-base. Correct help string for -mshort-load-words.
12240 (TARGET_OPTIONS): Add -mpic-register=.
12241 (ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
12242 (arm_pic_register_string): Declare.
12243 (NEED_PLT_GOT): Delete, replace with ...
12244 (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these. New macros.
12245 (OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
12246 (ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
12247 * config/arm/arm.c (arm_override_options): Add new option
12248 -mpic-register=N.
12249 (arm_pic_register_string): New variable.
12250 (arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
12251 (output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
12252 register as never live. Use NEED_PLT_RELOC not NEED_PLT_GOT.
12253 (output_return_instruction): Likewise.
12254 * config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
12255 (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these. Define to flag_pic.
12256 * config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.
12257
12258 * invoke.texi (ARM Options): Fix spelling. Remove duplicate
12259 mention of -msched-prolog. Document new options -msingle-pic-base
12260 and -mpic-register=.
12261
12262 Thu Jul 22 18:23:56 1999 Richard Henderson <rth@cygnus.com>
12263
12264 * haifa-sched.c (reemit_notes): Tidy.
12265 * sched.c (reemit_notes): Duplicate 1998-08-31 patch to
12266 haifa's routine.
12267
12268 Thu Jul 22 18:21:04 1999 Richard Henderson <rth@cygnus.com>
12269
12270 * explow.c (trunc_int_for_mode): New function.
12271 (plus_constant_wide): Use it.
12272 * combine.c (simplify_and_const_int): Likewise.
12273 (merge_outer_ops): Likewise.
12274 (simplify_shift_const): Likewise.
12275 * cse.c (simplify_unary_operation): Likewise.
12276 (simplify_binary_operation): Likewise.
12277 * emit-rtl.c (operand_subword): Likewise.
12278 * rtl.h: Declare it.
12279
12280 Thu Jul 22 14:34:59 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12281
12282 * config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
12283 (use NUM_REGS instead of NUM_INTS).
12284
12285 Thu Jul 22 11:25:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12286
12287 * builtins.c: New file.
12288 * expr.c (saveregs_value, apply_args_value): Delete definition,
12289 moved into builtins.c.
12290 (string_constant): No longer static.
12291 (get_pointer_alignment, c_strlen, get_memory_rtx, expand_builtin,
12292 apply_args_size, apply_result_size, result_vector,
12293 expand_builtin_apply_args, expand_builtin_apply,
12294 expand_builtin_return): Delete functions, moved into builtins.c.
12295 (INCOMING_REGNO, OUTGOING_REGNO): Delete unused macros.
12296 * expr.h (saveregs_value, apply_args_value): Declare variables.
12297 (expand_builtin, string_constant): Declare functions.
12298 * Makefile.in: Update to build builtin.o.
12299
12300 Wed Jul 21 00:46:58 1999 Mark P. Mitchell <mark@codesourcery.com>
12301
12302 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
12303 * tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
12304 * dwarf2out.c (dwarf2out_init): Don't output a label to mark the
12305 start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
12306 false.
12307 * config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
12308 Define to zero.
12309
12310 1999-07-21 Michael Meissner <meissner@cygnus.com>
12311
12312 * print-rtl.c (print_rtx): Print the names of the virtual
12313 registers.
12314
12315 Wed Jul 21 16:00:32 1999 Nick Clifton <nickc@cygnus.com>
12316
12317 * config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
12318 introduced in previous delta.
12319
12320 Wed Jul 21 14:30:51 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12321
12322 * c-lang.c (finish_file): Rename void_list_node to void_list_node_1
12323 to avoid name clash.
12324
12325 Wed Jul 21 08:39:22 1999 Gavin Romig-Koch <gavin@cygnus.com>
12326
12327 * c-lex.c (yylex) : Correct the test for overflow when lexing
12328 integer literals.
12329
12330 Tue Jul 20 18:02:42 1999 Richard Henderson <rth@cygnus.com>
12331
12332 * haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
12333 (adjust_priority): Always call ADJUST_PRIORITY.
12334 (schedule_insn): Only put insns into the ready at cost 0.
12335 (schedule_block): Remove redundant initial sort. Give clock_var
12336 and can_issue_more to MD_SCHED_REORDER. Requeue if hazard cost
12337 is not 0.
12338 * tm.texi (MD_SCHED_REORDER): Update docs.
12339
12340 * sparc.h (MD_SCHED_REORDER): Update. Set CAN_ISSUE_MORE.
12341 * sparc.c (ultra_reorder_called_this_block): Delete.
12342 (ultrasparc_sched_init): Don't set it.
12343 (ultrasparc_sched_reorder): Don't check it.
12344
12345 Tue Jul 20 17:07:54 1999 Richard Henderson <rth@cygnus.com>
12346
12347 * rs6000.h (struct rs6000_args): Add sysv_gregno.
12348 * rs6000.c (init_cumulative_args): Init sysv_gregno.
12349 (function_arg_boundary): Align DFmode.
12350 (function_arg_advance): Restructure for ABI_V4; use sysv_gregno
12351 to get fp reg and stack overflow correct.
12352 (function_arg): Likewise.
12353 (function_arg_pass_by_reference): True for TFmode for ABI_V4.
12354 (setup_incoming_varargs): Restructure for ABI_V4; use
12355 function_arg_advance to skip final named argument.
12356 (expand_builtin_saveregs): Properly unskip the last integer arg
12357 when doing varargs. Adjust overflow location calculation.
12358
12359 * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr
12360 explicitly unsigned.
12361 (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
12362 (__VA_GP_REGSAVE): Similarly.
12363 (__va_longlong_p): Delete.
12364 (__va_arg_type_violation): New declaration.
12365 (va_arg): Restructure. Flag promotion errors. Align double.
12366 TFmode passed by reference.
12367
12368 * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
12369 in the HOST_BITS_PER_WIDE_INT > 32 case.
12370
12371 Tue Jul 20 12:37:30 1999 Hans-Peter Nilsson <hp@bitrange.com>
12372
12373 * dwarf2out.c (output_abbrev_section): Terminate with a zero.
12374
12375 Tue Jul 20 12:12:27 1999 Jason Merrill <jason@yorick.cygnus.com>
12376
12377 * gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
12378 * toplev.c (documented_lang_options): Add -fpreprocessed.
12379 * cpplib.h (struct cpp_buffer): Add preprocessed.
12380 * cppinit.c (cpp_handle_option): Handle -fpreprocessed.
12381 (cpp_start_read): Don't expand macros or emit an initial #line
12382 directive if -fpreprocessed.
12383
12384 Tue Jul 20 12:12:09 1999 Michael Tiemann <tiemann@holodeck.cygnus.com>
12385
12386 * cpplib.h (struct cpp_buffer): Added manual_pop for
12387 better C++ tokenization.
12388 * cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
12389 Also, support C++ tokenization for ->*, .*, <?, and >? operators.
12390 * c-common.c (cpp_token): Make non-static.
12391
12392 Tue Jul 20 11:24:19 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12393
12394 * c-common.h: New file.
12395 * c-common.c (permanent_obstack): Delete unused declaration.
12396 (c_global_trees): New array.
12397 (c_common_nodes_and_builtins): New function; split off common code
12398 from init_decl_processing in both c-decl.c and cp/decl.c.
12399 * c-tree.h: Delete lots of declarations of tree nodes; replaced by
12400 c_global_trees and accessor macros defined in c-common.h.
12401 Include c-common.h.
12402 * c-decl.c: Delete definitions for tree nodes that were replaced by
12403 c_global_trees.
12404 (init_decl_processing): Build void_list_node.
12405 Call c_common_nodes_and_builtins; delete code to generate the common
12406 builtins here.
12407 * objc/objc-act.c (build_module_descriptor): Rename variable
12408 void_list_node to avoid clash with c-common.h.
12409
12410 * Makefile.in: Update dependencies.
12411 * objc/Make-lang.in: Likewise.
12412
12413 Mon Jul 19 14:22:18 1999 Mark P. Mitchell <mark@codesourcery.com>
12414
12415 * config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
12416 (UNIQUE_SECTION_P): Likewise.
12417 (UNIQUE_SECTION): Likewise.
12418
12419 1999-07-19 Linas Vepstas <linas@linas.org>
12420
12421 * config/i370/README: New file.
12422 * config/i370/linux.h: New file.
12423 * config/i370/mvs.h: New file.
12424 * config/i370/oe.h: New file.
12425 * config/i370/t-linux: New file.
12426 * config/i370/t-mvs: New file.
12427 * config/i370/t-oe: New file.
12428 * config/i370/x-oe: New file.
12429 * config/i370/xm-linux.h: New file.
12430 * config/i370/xm-mvs.h: New file.
12431 * config/i370/xm-oe.h: New file.
12432
12433 * i370.c (label_node_t): Add first_ref_page, label_addr,
12434 label_first_ref, label_last_ref members.
12435 (mvs_need_base_reload): Renamed from mvs_label_emitted.
12436 (MAX_MVS_LABEL_SIZE): Define.
12437 (MAX_LONG_LABEL_SIZE): Define.
12438 (alias_node_t, alias_anchor, alias_number): New.
12439 (mvs_function_table): Reorder for EBCDIC.
12440 (ascebc, ebcasc): Unconditionally define.
12441 (i370_branch_dest, i370_branch_length): New functions.
12442 (i370_short_branch, i370_label_scan): New functions.
12443 (mvs_get_label): Renamed from mvs_add_label. Search for
12444 an existing label before creating a new one.
12445 (mvs_add_label): New function.
12446 (mvs_get_label_page): New function.
12447 (mvs_free_label_list): Renamed from mvs_free_label. Iterate
12448 over the entire list.
12449 (mvs_check_page) [TARGET_HLASM]: Use BASR not BALR.
12450 (mvs_check_page) [TARGET_ELF_ABI]: New function.
12451 (mvs_add_alias, mvs_need_alias): New functions.
12452 (mvs_get_alias, mvs_check_alias): New functions.
12453 (handle_pragma): New function.
12454 (mvs_function_check): New function.
12455 (unsigned_jump_follows_p): Search harder.
12456 (i370_function_prolog) [TARGET_HLASM]: Handle LE370. Scan labels.
12457 (i370_function_prolog) [TARGET_ELF_ABI]: New function.
12458 * i370.h (TARGET_VERSION): Delete.
12459 (CPP_SPEC, CPP_PREDEFINES): Delete.
12460 (mvs_label_emitted): Delete.
12461 (TARGET_EBCDIC): Delete.
12462 (MAP_CHARACTER): Define only if TARGET_EBCDIC.
12463 (HANDLE_PRAGMA): Define.
12464 (HARD_REGNO_NREGS): Handle complex modes.
12465 (HARD_REGNO_MODE_OK): Likewise.
12466 (CLASS_MAX_NREGS): Likewise.
12467 (RET_REG): Likewise.
12468 (EXTRA_CONSTRAINT): Define.
12469 (RETURN_IN_MEMORY): True for DImode.
12470 (TRAMPOLINE_TEMPLATE): Use gen_rtx instead of GEN_INT.
12471 (FUNCTION_PROFILER): Delete.
12472 (COUNT_REGS): Fail if REG_P but not REG_OK_FOR_BASE_P.
12473 (NOTICE_UPDATE_CC): Correct handling of MULT, DIV, logicals and shifts.
12474 (TARGET_ESC, TARGET_BELL): Conditionally define for TARGET_EBCDIC.
12475 (TARGET_BS, TARGET_TAB, TARGET_NEWLINE): Likewise.
12476 (TARGET_VT, TARGET_FF, TARGET_CR): Likewise.
12477 (ASM_FILE_START): Add "RMODE ANY".
12478 (ASM_OUTPUT_EXTERNAL): Check for aliases.
12479 (ASM_GLOBALIZE_LABEL): Likewise.
12480 (ASM_OUTPUT_LABELREF): Likewise.
12481 (ASM_OUTPUT_COMMON): Likewise.
12482 (PRINT_OPERAND): Handle 'K', 'W', default.
12483 (PRINT_OPERAND_ADDRESS): New.
12484 (Lots of defines): Add support for TARGET_ELF_ABI.
12485 * i370.md (attr length): New. Define for all patterns.
12486 (*): Lots of tweeks to assembly output and constraints.
12487
12488 Mon Jul 19 15:09:29 1999 David Edelsohn <edelsohn@gnu.org>
12489
12490 * rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
12491 Disable patterns performing SImode comparisons with SImode values
12492 if TARGET_POWERPC64 and instruction does not sign-extend or does
12493 not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
12494 differ for signed quantities.
12495 (indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
12496 (tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
12497 (decrement_and_branch_on_count): Add 64-bit variant.
12498
12499 Mon Jul 19 09:36:27 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12500
12501 * final.c (output_asm_insn): When searching for the matching string
12502 for a given dialect, don't run past the end of the list of
12503 alternatives if there are fewer alternatives in the template than
12504 dialects.
12505
12506 1999-07-17 Alexandre Oliva <oliva@dcc.unicamp.br>
12507
12508 * gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
12509 Removed paragraph about compression of files and size limitation,
12510 duplicated in the FAQ. Use gcc-patches for posting patches.
12511 * gcc.c (main): Updated URL with bug reporting instructions to
12512 gcc.gnu.org. Removed e-mail address.
12513 * system.h (abort): Likewise.
12514
12515 1999-07-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12516
12517 * Makefile.in (stmp-multilib-sub): Make the files extracted
12518 from $(LIBGCC1) writable.
12519
12520 Sat Jul 17 14:25:46 1999 Nick Clifton <nickc@cygnus.com>
12521
12522 * config/arm/aout.h: Reformat for improved readability.
12523
12524 * config/arm/arm.h: Reformat for improved readability.
12525 Replace uses of fprintf with asm_fprintf where appropriate.
12526 (ARM_DECLARE_FUNCTION_NAME): New macro: Perform any generic ARM
12527 function declaration assembler actions.
12528 (NUM_INTS): New macro: Convert from bytes to words.
12529 (NUM_REGS): New macro: Compute number of registers required to
12530 hold a quanitity of tyep MODE.
12531 (NUM_REGS2): New macro: Like NUM_REGS but also copes with BLKmode
12532 types.
12533 (NUM_ARG_REGS): New macro: The number of argument registers
12534 available.
12535 (ARG_REGISTER): New macro: Compute the register number of the Nth
12536 argument register.
12537 (LAST_ARG_REGNUM): New macro: The number of the last argument
12538 register.
12539 (SP_REGNUM): New macro: Register number of the stack pointer.
12540 (FP_REGNUM): New macro: Register number of the frame pointer.
12541 (FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS, INIT_CUMULATIVE_AGS,
12542 FUNCTION_ARG_ADVANCE, SETUP_INCOMING_VARARGS): Change
12543 CUMULATIVE_ARGS so that it counts registers not bytes.
12544
12545 * config/arm/arm.c: Rename TARGET_THUMB_INTERWORK to
12546 TARGET_INTERWORK.
12547 Replace uses of fprintf with asm_fprintf where appropriate.
12548 (output_ascii_pseudo_op): Replace with version from thumb.c
12549
12550 * config/arm/coff.h (ASM_FILE_START): Emit ASM_APP_OFF.
12551
12552 * config/arm/elf.h (CPP_PREDEFINES): Replace with
12553 SUBTARGET_CPP_SPEC.
12554 (ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
12555 (ASM_FILE_START): Emit ASM_APP_OFF.
12556
12557 Fri Jul 16 13:48:09 1999 Jeffrey A Law (law@cygnus.com)
12558
12559 * pa.c (compute_frame_size): Round frame according to
12560 STACK_BOUNDARY rather than a hardwired value.
12561
12562 * pa.h (POINTER_SIZE, PARM_BOUNDARY): Define in terms of BITS_PER_WORD.
12563
12564 * configure.in (hppa*-*-hpux11*): Use symbolic MASK_PA_11 instead
12565 of "1".
12566 * configure: Rebuilt.
12567
12568 * configure.in (hppa*-*-linux*): New configuration.
12569 * configure: Rebuilt.
12570 * pa.h (MAX_OFILE_ALIGNMENT): Delete.
12571 * pa/som.h (MAX_OFILE_ALIGNMENT): Define.
12572 * pa/pa-linux.h: New file.
12573 * pa/t-linux: New file.
12574 * pa/xm-linux.h: New file.
12575
12576 * pa.c (hppa_legitimize_address): Change references from SImode to
12577 either Pmode or word_mode as appropriate.
12578 (emit_move_sequence, store_reg, load_reg): Likewise.
12579 (set_reg_plus_d, hppa_expand_prologue): Likewise.
12580 (output_mul_insn): Likewise.
12581 * pa.h (PROMOTE_MODE): Likewise.
12582 (INITIALZE_TRAMPOLINE): Likewise.
12583 (Pmode): Define to word_mode.
12584
12585 * pa.c (compute_frame_size): Use UNITS_PER_WORD instead of hardwired
12586 value of 4. Allocate 8 bytes for each FP register save.
12587 (hppa_expand_epilogue): Use UNITS_PER_WORD instead of harwarewired
12588 value of 4.
12589 (hppa_expand_prologue): Likewise.
12590 * pa.h (PROMOTE_MODE): Likewise.
12591 (HARD_REGNO_MODE_OK, FUNCTION_ARG_SIZE): Likewise.
12592 (FUNCTION_ARG_BOUNDARY): Likewise.
12593
12594 * invoke.texi (HPPA Options): Remove -mspace/-mno-space.
12595
12596 * pa.c (out_of_line_prologue_epilogue): Delete.
12597 (override_options): Remove -mspace related code.
12598 (hppa_expand_prologue, hppa_expand_epilogue): Likewise.
12599 (compute_frame_size): Only allocate space for register that
12600 actually need to be saved.
12601 * pa.h (MASK_SPACE, TARGET_SPACE): Delete.
12602 (TARGET_SWITCHES): Remove -mspace, -mno-space
12603 * pa/t-pa (LIB2FUNCS_EXTRA): Remove ee.asm and ee_fp.asm
12604 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise. Remove -mspace multilib.
12605 * pa/ee.asm, pa/ee_fp.asm: Delete.
12606
12607 * pa/elf.h (ASM_OUTPUT_DOUBLE_INT): Define.
12608
12609 * config/svr4.h (CONST_SECTION_ASM_OP): Do not emit assembler
12610 directive in column zero.
12611
12612 Fri Jul 16 01:39:57 1999 Jeffrey A Law (law@cygnus.com)
12613
12614 * m68k.c (output_function_prologue): Fix computation of save mask
12615 when generating PIC code.
12616
12617 Thu Jul 15 15:40:09 1999 Jim Wilson <wilson@cygnus.com>
12618
12619 * tree.c (build_type_attribute_variant): Move current_obstack restore
12620 after build_qualified_type call.
12621
12622 1999-07-15 Mark Mitchell <mark@codesourcery.com>
12623
12624 * configure.in: Use t-iris6, even with GNU LD.
12625 * config/mips/iris6gld.h: Fix typo in linker spec.
12626 * config/mips/t-iris6gld: Remove.
12627
12628 Thu Jul 15 15:15:43 1999 David Edelsohn <edelsohn@gnu.org>
12629
12630 * rs6000.md (insv, extzv): Remove SImode dependence in named
12631 patterns. Explicitly generate DImode RTL if PowerPC64 and
12632 operand is DImode.
12633 (insvdi): Reverse start and size in instruction template.
12634
12635 1999-07-12 Joseph S. Myers <jsm28@cam.ac.uk>
12636
12637 * invoke.texi: Typo fixes.
12638
12639 Wed Jul 14 23:28:06 1999 Jeffrey A Law (law@cygnus.com)
12640
12641 * emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
12642 handle at this time instead of silently generating incorrect code.
12643 (gen_imagpart): Likewise.
12644
12645 * reload.c (find_reloads): Emit a USE for a pseudo register without
12646 a hard register if we could not create an optional reload for the
12647 pseudo.
12648
12649 Wed Jul 14 23:45:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
12650
12651 * c-typeck.c (output_init_element, process_init_element):
12652 When advancing constructor_unfilled_fields for a RECORD_TYPE,
12653 check for nameless bit fields.
12654
12655 Wed Jul 14 01:57:39 1999 Richard Henderson <rth@cygnus.com>
12656
12657 * regclass.c (scan_one_insn): Notice subregs that change the
12658 size of their operand.
12659 (record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
12660
12661 Wed Jul 14 01:41:42 1999 Jeffrey A Law (law@cygnus.com)
12662
12663 * configure.in (alpha*-*-*): Include alpha/t-ieee.
12664 * configure: Rebuilt.
12665 * alpha/t-ieee: New file.
12666
12667 Tue Jul 13 10:45:58 1999 Jeffrey A Law (law@cygnus.com)
12668
12669 * rs6000.c (find_addr_reg): Do not select r0 as an address
12670 register.
12671
12672 Tue Jul 13 00:46:18 1999 Philippe De Muyter <phdm@macqel.be>
12673
12674 * m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
12675
12676 Mon Jul 12 14:29:15 1999 Jeffrey A Law (law@cygnus.com)
12677
12678 * rs6000.md (movsf): Do not force easy FP constants into memory.
12679
12680 * expr.c (expand_expr, case PLUS_EXPR): Pass constants through
12681 immed_double_const to ensure they are properly truncated then
12682 sign extended.
12683
12684 Mon Jul 12 10:40:01 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
12685
12686 * config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
12687 always unless NO_DEBUG is used. Compile this code
12688 unconditionally.
12689 (replace_symbols_in_block): Compile it unconditionally.
12690
12691 Sun Jul 11 12:32:32 1999 Jeffrey A Law (law@cygnus.com)
12692
12693 * configure.in (i?86-*-elf*): New target.
12694 * configure: Rebuilt.
12695 * i386/i386elf.h, i386/t-i386elf: New files.
12696
12697 Fri Jul 9 22:39:44 1999 Jason Merrill <jason@yorick.cygnus.com>
12698
12699 * toplev.c (main): Don't complain about saying -gdwarf.
12700 (rest_of_compilation): Remove redundant code.
12701
12702 Fri Jul 9 19:08:55 1999 Jim Wilson <wilson@cygnus.com>
12703
12704 * unroll.c (unroll_loops): Don't delete named CODE_LABELs.
12705
12706 Fri Jul 9 18:54:18 1999 Felix Lee <flee@cygnus.com>
12707
12708 * config/i960/i960.c (ret_label): Change asm label from "LR:" to
12709 "Li960R:", to avoid name clash.
12710
12711 Fri Jul 9 10:48:28 1999 Bernd Schmidt <bernds@cygnus.co.uk>
12712
12713 * loop.c (check_dbra_loop): When reversing a loop, delete all
12714 REG_EQUAL notes referencing the reversed biv except those which are
12715 for a giv based on it.
12716
12717 Fri Jul 9 03:51:52 1999 Jeffrey A Law (law@cygnus.com)
12718
12719 * version.c: Drop "gcc-" prefix from version #.
12720
12721 Thu Jul 8 18:06:30 1999 Jason Merrill <jason@yorick.cygnus.com>
12722
12723 * dwarf2out.c (dwarf2out_line): Emit a line number comment after
12724 the label if we're being verbose.
12725
12726 Thu Jul 8 14:18:46 1999 Richard Henderson <rth@cygnus.com>
12727
12728 * m68k.c (output_function_prologue): Add pic register to mask
12729 if live and flag_pic.
12730 (output_function_epilogue): Likewise.
12731
12732 Thu Jul 8 12:55:12 1999 Jeffrey A Law (law@cygnus.com)
12733
12734 * dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Do not put assembler
12735 directives in column zero.
12736
12737 * pa/elf.h (ASM_FILE_START): Define.
12738 * pa/som.h (ASM_FILE_START): Include .level directives.
12739 * pa/hpux10.h (ASM_FILE_START): Delete.
12740 * pa/hpux11.h (ASM_FILE_START): Delete.
12741
12742 * pa/elf.h (BSS_SECTION_ASM_OP): Use .section .bss.
12743
12744 Thu Jul 8 18:03:19 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
12745
12746 * reload1.c (choose_reload_regs): Never call remove_adress_replacements
12747 when reload_out equals reload_in.
12748
12749 Thu Jul 8 16:50:14 1999 Nick Clifton <nickc@cygnus.com>
12750
12751 * invoke.texi (Spec Files): New node: Describe the contents of
12752 spec files.
12753
12754 Thu Jul 8 10:28:25 1999 Craig Burley <craig@jcb-sc.com>
12755
12756 * invoke.texi (DEC Alpha Options): Put @end table at
12757 beginning of line, to avoid confusing texi2html.
12758
12759 Thu Jul 8 09:22:06 1999 Nick Clifton <nickc@cygnus.com>
12760
12761 * config/arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Fixed typo
12762 introduced in previous delta.
12763
12764 Wed Jul 7 02:00:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12765
12766 * reload1.c (gen_reload): When synthesizing a 3 operand add
12767 sequence, improve test for when to reload OP1 into the reload
12768 register instead of OP0.
12769
12770 Wed Jul 7 01:38:03 1999 Jim Wilson <wilson@cygnus.com>
12771
12772 * unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
12773
12774 1999-07-07 Manfred Hollstein <mhollstein@cygnus.com>
12775
12776 * m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
12777 string literal.
12778
12779 Wed Jul 7 01:16:43 1999 Richard Henderson <rth@cygnus.com>
12780
12781 * ginclude/varargs.h (__builtin_va_alist_t): New typedef.
12782 (va_dcl): Use __builtin_va_alist_t.
12783
12784 Wed Jul 7 01:14:42 1999 Jason Merrill <jason@yorick.cygnus.com>
12785
12786 * dwarf2out.c (gen_struct_or_union_type_die): Only remember types
12787 on the permanent_obstack.
12788 * dwarfout.c (output_type): Likewise.
12789
12790 Tue Jul 6 15:25:32 1999 Gavin Romig-Koch <gavin@cygnus.com>
12791
12792 * c-common.c (unsigned_type,signed_type,signed_or_unsigned_type) :
12793 Merged from c-typeck.c and cp/typeck.c.
12794 * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
12795 Merged into c-common.
12796
12797 Tue Jul 6 13:06:01 1999 Dave Brolley <brolley@cygnus.com>
12798
12799 * c-lex.c (errorcount): Declare it.
12800 (finish_parse): Update errorcount when using CPPLIB.
12801
12802 1999-07-06 Bruce Korb <ddsinc09@ix.netcom.com>
12803
12804 * fixinc/inclhack.def(end_else_label): Double the backslash so
12805 sed gets a chance to see it.
12806 * fixinc/inclhack.sh: regen
12807 * fixinc/fixincl.x: regen
12808
12809 Fri Jul 2 18:49:51 1999 Nick Clifton <nickc@cygnus.com>
12810
12811 Add framework to support armv5 architecture when it becomes
12812 available:
12813
12814 * config/arm/arm.c (FL_ARCH5): New processor capability flag.
12815 (arm_arch5): New variable.
12816 (all_architectures): Add armv5 line.
12817 * config/arm/arm.h (CPP_CPU_ARCH_SPEC): Define __ARM_ARCH_5__ if
12818 -march=armv5 is specified on the command line.
12819 (arm_arch5): Export this variable.
12820 * invoke.texi: Document new string accepted by -march= switch for
12821 ARM ports.
12822
12823 * config/arm/arm.h: Replace use of constant 12 as a register
12824 number with IP_REGNUM. Similarly 14 and LR_REGNUM.
12825 * config/arm/arm.c: Replace use of constant 12 as a register
12826 number with IP_REGNUM. Similarly 14 and LR_REGNUM.
12827
12828 * config/arm/elf.h: Tidy up.
12829 * config/arm/coff.h: Tidy up.
12830
12831 Thu Jul 1 19:08:13 1999 Mark P. Mitchell <mark@codesourcery.com>
12832
12833 * gcc/configure.in (mips-sgi-irix6*): Handle --with-gnu-ld.
12834 * gcc/config/mips/t-iris6gld: New file.
12835 * gcc/config/mips/iris6gld.h: Likewise.
12836
12837 Fri Jul 2 13:23:39 1999 Gavin Romig-Koch <gavin@cygnus.com>
12838
12839 * c-decl.c (widest_integer_literal_type_node,
12840 widest_unsigned_literal_type) : New.
12841 (init_decl_processing): Handle/use the two new types.
12842 * c-common.c (type_for_size,type_for_mode) : Same.
12843 * c-lex.c (yylex) : Same.
12844 * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
12845 Same.
12846 * c-tree.h (widest_integer_literal_type_node,
12847 widest_unsigned_literal_type) : New.
12848
12849 Fri Jul 2 03:05:44 1999 Jeffrey A Law (law@cygnus.com)
12850
12851 * dwarfout.c (field_byte_offset): Correctly compute the object's
12852 byte offset for the first bit of a field which crosses an alignment
12853 boundary on a !BYTES_BIG_ENDIAN target.
12854
12855 Fri Jul 2 01:36:36 1999 Robert Lipe <robertlipe@usa.net>
12856
12857 * fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
12858 ntohs.
12859
12860 Fri Jul 2 00:46:47 1999 Richard Henderson <rth@cygnus.com>
12861 Jeff Law <law@cygnus.com>
12862
12863 * ginclude/varargs.h (va_dcl): Use word_mode for type of
12864 __builtin_va_list.
12865
12866 * except.c: Include intl.h.
12867 (expand_eh_return): Set current_function_cannot_inline.
12868 (save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
12869 * function.h (struct function): Add eh_return_stub_label.
12870 * flow.c (delete_unreachable_blocks): Don't merge across EH edges.
12871 * Makefile.in (except.o): Depend on intl.h.
12872
12873 Fri Jul 2 00:04:23 1999 David Edelsohn <edelsohn@gnu.org>
12874
12875 * rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
12876 same as offsettable in cases 1 and 2.
12877
12878 Thu Jul 1 20:54:10 1999 Richard Henderson <rth@cygnus.com>
12879
12880 * alpha.md (extqh): Define as 64-((R&7)*8) instead of 56-(((R-1)&7)*8).
12881 (extlh, extwh): Likewise.
12882
12883 Thu Jul 1 11:05:25 1999 Gavin Romig-Koch <gavin@cygnus.com>
12884
12885 * c-lex.c (yylex): Improve 'integer constant out of range' messages.
12886
12887 Wed Jun 30 16:51:41 1999 Nick Clifton <nickc@cygnus.com>
12888
12889 * configure.in: Add arm-pe and thumb-pe targets.
12890 * configure: Regenerate.
12891
12892 * thumb.c (arm_naked_function_p): New function: Determines if
12893 a function is naked (has no gcc generated prologue/epilogue).
12894 (is_called_in_ARM_mode): Return true if the func has the
12895 interfacearm attribute.
12896 (output_return): Do not generate a return for naked functions.
12897 (thumb_function_prologue): Do not generate a prologue for
12898 naked functions.
12899 (thumb_expand_prologue): Do not generate a prologue for naked
12900 functions.
12901 (thumb_expand_epilogue): Do not generate an epilogue for naked
12902 functions.
12903 (arm_valid_machine_decl_attribute): New function, copied from
12904 arm.c: Permit naked and interfacearm attributes.
12905
12906 * config/arm/pe.c: New file: Support code for arm-pe target.
12907 * config/arm/pe.h: New file: Header file for arm-pe target.
12908 * config/arm/tpe.h: New file: Header file for thumb-pe target.
12909 * config/arm/t-thumb-pe: New file: Makefile fragment for
12910 thumb-pe target.
12911
12912 1999-07-01 Mark Kettenis <kettenis@gnu.org>
12913
12914 * config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
12915 -fPIC or -fpic is specified.
12916
12917 Wed Jun 30 03:31:54 1999 Jeffrey A Law (law@cygnus.com)
12918
12919 * expr.c (emit_block_move): Use copy_to_mode_reg for
12920 !TARGET_MEM_FUNCTIONS case too.
12921
12922 * configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as
12923 appropriate.
12924 * configure: Rebuilt.
12925 (hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default.
12926 * pa.h: Include dbxelf.h. Delete various dbx/stabs related
12927 definitions made redundant by dbxelf.h inclusion. Delete
12928 lots of definitions related to assembly output that are
12929 specific to the SOM object format.
12930 * pa.c (output_function_prologue): Do not emit the function's
12931 name for OBJ_ELF.
12932 * pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining.
12933 * pa-pro.h: Deleted.
12934 * som.h: New file with SOM specific definitions.
12935 * elf.h: New file with ELF specific definitions.
12936
12937 * elfos.h (const_section): Output a tab before assembler directives.
12938 (ctors_section, dtors_section): Likewise.
12939 (ASM_OUTPUT_SECTION_NAME): Likewise.
12940
12941 * pa/pa1.h: Delete unused file.
12942
12943 Tue Jun 29 01:37:53 1999 Jeffrey A Law (law@cygnus.com)
12944
12945 * configure.in (hppa*-hp-hpux11*): New configuration.
12946 * configure: Rebuilt.
12947 * pa/pa-hpux11.h: New file.
12948 * pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
12949 command line.
12950
12951 * mips.md (leasi, leadi): New patterns.
12952
12953 * expr.c (emit_block_move): Properly handle case where one of the
12954 block move arguments has a queued increment or decrement.
12955 (clear_storage): Similarly. Fix formatting goof.
12956
12957 1999-06-28 "David O'Brien" <obrien@NUXI.com>
12958
12959 * fixinc/inclhack.def(stdio_va_list): This patch Removes a
12960 semicolon from the BSD VA_LIST replacement expression.
12961
12962 * fixinc/inclhack.sh: regen
12963 * fixinc/fixincl.x: regen
12964
12965 * fixinc/mkfixinc.sh: Have `i[34567]86-*-freebsd*' machines
12966 now use the fixincl program.
12967
12968 Mon Jun 28 05:28:12 1999 Jeffrey A Law (law@cygnus.com)
12969
12970 * m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
12971 case. Also make the PIC register call_used.
12972
12973 * m68k.h (FINALIZE_PIC): Delete.
12974 * m68k.c (finalize_pic): Delete.
12975
12976 Mon Jun 28 05:16:35 1999 Richard Henderson <rth@cygnus.com>
12977
12978 * m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
12979 to memory.
12980
12981 Mon Jun 28 04:07:27 1999 David Edelsohn <edelsohn@gnu.org>
12982
12983 * expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
12984
12985 Sun Jun 27 02:39:08 1999 Richard Henderson <rth@cygnus.com>
12986
12987 * jump.c (jump_optimize_1): Validate the cmov copy to a temporary.
12988
12989 Sat Jun 26 17:18:18 1999 David Edelsohn <edelsohn@gnu.org>
12990
12991 * rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
12992
12993 Fri Jun 25 11:33:24 1999 Richard Henderson <rth@cygnus.com>
12994
12995 * alpha.c (override_options): Add -mcpu=ev45 as an alias for ev4.
12996
12997 Fri Jun 25 13:41:25 1999 David Edelsohn <edelsohn@gnu.org>
12998
12999 * rs6000.c (output_toc): Always use hex values for floating-point
13000 constants. Store single-precision values in upper-half of TOC
13001 entry in 64-bit mode.
13002 * rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
13003 to final constraints.
13004 (fix_truncdfsi2 splitter): Change pattern matching fctiwz.
13005 (fctiwz): Improve accuracy of RTL for pattern.
13006
13007 Fri Jun 25 11:26:38 1999 Gavin Romig-Koch <gavin@cygnus.com>
13008
13009 * expr.c (expand_expr): Allow RTL_EXPR's through the
13010 MAX_INTEGER_COMPUTATION_MODE checks.
13011
13012 Fri Jun 25 06:06:37 1999 Richard Henderson <rth@cygnus.com>
13013
13014 * alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
13015 such that MASK_SUPPORT_ARCH is not negative.
13016
13017 Fri Jun 25 05:35:44 1999 Jeffrey A Law (law@cygnus.com)
13018
13019 * loop.c (verify_dominator): Properly handle ADDR_VEC and
13020 ADDR_DIFF_VEC insns that appear inside loops.
13021
13022 Thu Jun 24 22:54:05 1999 David Edelsohn <edelsohn@gnu.org>
13023 Jeff Law <law@cygnus.com>
13024
13025 * rs6000.md (movdf_hardfloat32): Revert previous patch.
13026 Handle LO_SUM the same as offsettable in cases 1 and 2.
13027 * rs6000.c (find_addr_reg): Revert previous patch.
13028
13029 Thu Jun 24 22:43:12 1999 Philippe De Muyter <phdm@macqel.be>
13030
13031 * system.h (strstr): New external function declaration.
13032 * acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
13033 * configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
13034 * config.in, configure: Rebuilt.
13035
13036 1999-06-24 Tom Tromey <tromey@cygnus.com>
13037
13038 * gcc.c (main): Read user-specified specs files after computing
13039 additional startfile_prefixes.
13040
13041 Thu Jun 24 15:00:47 1999 Mark Mitchell <mark@codesourcery.com>
13042
13043 Revert these two patches:
13044
13045 Thu Jun 17 21:34:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13046 * loop.c (strength_reduce): When doing biv->giv conversion, update
13047 reg note of NEXT->insn.
13048
13049 Thu Jun 17 17:22:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13050 * loop.c (strength_reduce): When doing biv->giv conversion, fix up
13051 reg_biv_class.
13052 (recombine_givs): Set ix field after sorting.
13053
13054 Wed Jun 23 21:26:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13055
13056 * rtlanal.c (reg_referenced_p): Use reg_overlap_mentioned_p
13057 for the parts of an UNSPEC / UNSPEC_VOLATILE.
13058
13059 1999-06-23 Bruce Korb <ddsinc09@ix.netcom.com>
13060
13061 *fixinc/inclhack.def: Add fix development commentary
13062 (read_ret_type): reactivate and add selection clause
13063 (zzz_*): tweak output file name to match what is used in hackshell.tpl
13064 *fixinc/{fixincl.x|inclhack.sh}: regen
13065
13066 Wed Jun 23 00:48:21 1999 Jason Merrill <jason@yorick.cygnus.com>
13067
13068 * expr.c (expand_expr): STRIP_NOPS before checking against
13069 MAX_INTEGER_COMPUTATION_MODE
13070 (check_max_integer_computation_mode): Likewise.
13071
13072 Tue Jun 22 20:23:43 1999 Jim Wilson <wilson@cygnus.com>
13073
13074 * md.texi (smul@var{m}3_highpart): Add missing 's' prefix.
13075
13076 1999-06-22 Jim Wilson <wilson@cygnus.com>
13077
13078 * expr.c (store_expr): When target is a promoted subreg, return a
13079 promoted subreg as a result.
13080
13081 Tue Jun 22 17:14:58 1999 Michael Meissner <meissner@cygnus.com>
13082
13083 * dwarf2out.c (dwarf2out_frame_debug_expr): Reformat to match GNU
13084 coding standards.
13085 (dwarf2out_define): Mark unused parameters appropriately.
13086 (gen_unspecified_parameters_die): Ditto.
13087 (gen_subprogram_die): Fix signed/unsigned warnings.
13088 (gen_variable_die): Ditto.
13089
13090 1999-06-22 Bruce Korb <ddsinc09@ix.netcom.com>
13091
13092 * fixinc/inclhack.def(end_else_label): combined else_label
13093 and endif_label and fixed the sed expression.
13094 *fixinc/{fixincl.x|inclhack.sh}: regen
13095
13096 Tue Jun 22 01:58:18 1999 Jeffrey A Law (law@cygnus.com)
13097
13098 * rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
13099 'x' when handling non-offsettable addresses
13100
13101 Tue Jun 22 00:20:05 1999 Richard Earnshaw (rearnsha@arm.com)
13102
13103 * final.c (shorten_branches): Don't try to split an insn that has
13104 been deleted.
13105
13106 Mon Jun 21 12:47:39 1999 Mark Mitchell <mark@codesourcery.com>
13107
13108 * config/mips/mips.c (symbolic_expression_p): New function.
13109 (mips_select_rtx_section): Put symbolic expressions in the
13110 data section, not the read-only data section.
13111
13112 Mon Jun 21 22:13:06 1999 Jeffrey A Law (law@cygnus.com)
13113
13114 * rs6000.md (find_addr_reg): Handle LO_SUM addresses.
13115
13116 Mon Jun 21 20:10:42 1999 Richard Henderson <rth@cygnus.com>
13117
13118 * collect2.c (main): Log frame table count.
13119 (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
13120 (scan_prog_file) [COFF]: Handle frame tables.
13121
13122 * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
13123 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
13124 * alpha/elf.h: Undef them again.
13125 * alpha/vms.h: Remove their definitions.
13126
13127 Tue Jun 22 03:17:53 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13128
13129 * sh.c (machine_dependent_reorg): When fixing up fp pcloads,
13130 remove the clobber of r0 and change the REG_UNUSED note to
13131 REG_INC.
13132
13133 1999-06-21 Jakub Jelinek <jj@ultra.linux.cz>
13134
13135 * real.c (ereal_from_double): Fix for 64-bit big endian hosts.
13136 * emit-rtl.c (gen_lowpart_common): Add case for hosts where double
13137 fits in HOST_WIDE_INT and one uses union to access a long constant
13138 as double.
13139
13140 Mon Jun 21 17:18:25 1999 Richard Henderson <rth@cygnus.com>
13141
13142 * sparc.c (sparc_override_options): Don't allow profiling for
13143 code models other than medlow.
13144 (sparc_function_profiler): New function from old FUNCTION_PROFILER
13145 macro. Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
13146 (sparc_function_block_profiler): Likewise. Use user_label_prefix.
13147 (sparc_block_profiler): Likewise.
13148 (sparc_function_block_profiler_exit): Likewise.
13149 * sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
13150 (FUNCTION_BLOCK_PROFILER): Likewise.
13151 (BLOCK_PROFILER): Likewise.
13152 (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
13153 (MCOUNT_FUNCTION): New.
13154 * sparc/pbd.h (FUNCTION_PROFILER): Delete.
13155 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
13156 * sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
13157 (MCOUNT_FUNCTION): New.
13158 * sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
13159 (BLOCK_PROFILER): Delete.
13160 (MCOUNT_FUNCTION): New.
13161
13162 Mon Jun 21 14:11:29 1999 David Edelsohn <edelsohn@gnu.org>
13163
13164 * rs6000.md (movdf_hardfloat32): Fix typo in case 2.
13165
13166 Mon Jun 21 12:27:17 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
13167
13168 * config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
13169 Add the macros.
13170
13171 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
13172 Ditto.
13173
13174 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
13175 Ditto.
13176
13177 * config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
13178 Ditto.
13179
13180 Mon Jun 21 14:58:42 1999 Nick Clifton <nickc@cygnus.com>
13181
13182 * config/arm/arm.h: Add cpp support for ARM920 and ARM920T cpu
13183 types.
13184
13185 Mon Jun 21 06:22:21 1999 Mark Elbrecht <snowball3@bigfoot.com>
13186
13187 * i386/djgpp.h (LIB_SPEC): New.
13188 (STARTFILE_SPEC): New.
13189
13190 * i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
13191
13192 Mon Jun 21 06:19:33 1999 Philippe De Muyter <phdm@macqel.be>
13193
13194 * fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
13195 compiler flags.
13196
13197 * system.h (WSTOPSIG): New macro.
13198
13199 Mon Jun 21 05:33:15 1999 Mumit Khan <khan@xraylith.wisc.edu>
13200
13201 * c-pragma.c (push_alignment): Don't ignore alignments greater than
13202 4 bytes.
13203 (insert_pack_attributes): Take into account member natural
13204 alignment.
13205
13206 * i386/winnt.c (exports_head): New static variable.
13207 (i386_pe_record_exported_symbol): New function.
13208 (i386_pe_asm_file_end): Use.
13209 * i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
13210 symbols to be emitted at end of assembly.
13211 (ASM_DECLARE_OBJECT_NAME): Likewise.
13212 (ASM_DECLARE_FUNCTION_NAME): Likewise.
13213
13214 * i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
13215 -iwithprefix.
13216
13217 Mon Jun 21 04:44:31 1999 Jeffrey A Law (law@cygnus.com)
13218
13219 * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
13220 in last change.
13221
13222 Sun Jun 20 17:27:20 1999 Richard Henderson <rth@cygnus.com>
13223
13224 * haifa-sched.c (sched_analyze_1): Use free_list instead of
13225 zapping reg_last_uses directly.
13226 (sched_analyze_2, sched_analyze_insn): Likewise.
13227 (sched_analyze): Likewise. Don't clear reg_last_uses on calls.
13228
13229 Sun Jun 20 16:57:29 1999 David Edelsohn <edelsohn@gnu.org>
13230
13231 * rs6000.md (movdf_hardfloat32): Use worst case insn length
13232 attributes for cases 1 and 2.
13233
13234 Sat Jun 19 22:52:55 1999 Richard Henderson <rth@cygnus.com>
13235
13236 * haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
13237 instead of set.
13238
13239 Sat Jun 19 05:40:07 1999 Philip Blundell <pb@nexus.co.uk>
13240
13241 * arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
13242
13243 Sat Jun 19 05:25:05 1999 Richard Earnshaw (rearnsha@arm.com)
13244
13245 * arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
13246 PIC_OFFSET_TABLE_REGNUM for general alloaction.
13247 (INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
13248 must be stacked if it is used for PIC accesses.
13249 * arm.c (use_return_insn): Handle PIC register specially.
13250 (output_return_instruction): Likewise.
13251 (output_func_{prologue,epilogue}): Likewise.
13252 (output_expand_prologue): Likewise.
13253
13254 * arm.md (*adddf_esfdf_df): Renamed from *adddf_df_esfdf.
13255 (*strsi_predec): Renamed from *strqi_predec.
13256 (*loadsi_shiftpreinc): Renamed from *loadqi_shiftpreinc.
13257 (*loadsi_shiftpredec): Renamed from *loadqi_shiftpredec.
13258
13259 * arm.c (arm_override_options): Remove warning about PIC code
13260 not being supported.
13261
13262 Fri Jun 18 23:47:06 1999 David Edelsohn <edelsohn@gnu.org>
13263
13264 * rs6000.c (find_addr_reg): New function.
13265 * rs6000.h (find_addr_reg): Declare.
13266 (offsettable_addr_operand): Delete.
13267 * rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
13268 from and stores to GPRs.
13269
13270 Fri Jun 18 15:44:18 1999 Richard Henderson <rth@cygnus.com>
13271
13272 * alpha.c (alpha_expand_block_move): Use get_insns rather than
13273 gen_sequence as argument to emit_no_conflict_block.
13274
13275 Fri Jun 18 07:02 1999 Bruce Korb <ddsinc09@ix.netcom.com>
13276
13277 * fixinc/mkfixinc.sh: enable the fixincl program for DG/UX
13278 * fixinc/inclhack.def(dgux_int_varargs): script must end with \n
13279 *fixinc/fixincl.x: regen
13280 *fixinc/inclhack.sh: regen
13281
13282 Thu Jun 17 15:06:10 PDT 1999 Don Lindsay <dlindsay@cygnus.com>
13283
13284 * added support for -mpcrel (PC relative addressing for m68k)
13285 based on code done by Michael Tiemann <tiemann@axon.cygnus.com>.
13286 * invoke.texi (m68000 options): Add documentation for -mpcrel flag.
13287 * m68k.c (print_operand_address): Handle 32-bit PIC case.
13288 (comments for general_src_operand): Add some explanation
13289 about EXTRA_CONSTRAINTS.
13290 (OVERRIDE_OPTIONS): Enable -fPIC in combination with -mpcrel.
13291 * m68kelf.h (OVERRIDE_OPTIONS): Ditto.
13292 (LEGITIMATE_PIC_OPERAND_P): Fix typo.
13293 (LEGITIMATE_PIC_OPERAND_P): Re-derive from m68k.h case.
13294 * m68k.h (LEGITIMATE_PIC_OPERAND_P): Fix delete-o.
13295 (INDIRECTABLE_1_ADDRESS): Delete spurious '/' at end of macro.
13296 (OVERRIDE_OPTIONS): Change behavior so that -mpcrel implies -fpic
13297 if not already set.
13298 (OVERRIDE_OPTIONS): Merge in changes from m68k.h.
13299 * m68k.h (TARGET_PCREL): New target flag.
13300 (TARGET_SWITCHES): Add "pcrel" as a recognized switch.
13301 (OVERRIDE_OPTIONS): Add checks for -mpcrel.
13302 (LEGITIMATE_PIC_OPERAND_P): Don't normally accept anything that
13303 contains a SYMBOL_REF. Relax this constraint during reload, since
13304 we want to use the predicates, not reload's built-in concept of a
13305 valid memory address, to control what insns need reloading.
13306 (EXTRA_CONSTRAINT): Define constraints to accept pc-relative
13307 operands (essentially 'g', 'm', and 's' under normal circumstances).
13308 * m68k.c (print_operand): Cause printing of pc-relative addresses
13309 to include pc register.
13310 (print_operand_address): Ditto.
13311 (general_src_operand): Accept operands that are not only
13312 general_operands, but are also valid when used as a pc-relative
13313 source.
13314 (nonimmediate_src_operand): Similar, for nonimmediate_operands.
13315 (memory_src_operand): Similar, for memory_operands.
13316 (pcrel_address): New predicate to accept the special case of a
13317 pc-relative address.
13318 * m68k.md (many patterns): Rewrite common SImode, HImode, and
13319 QImode insns to accept *_src_operand instead of *_operand where
13320 pc-relative operands can fit. For example, a pc-relative operand
13321 can be used as a memory source operand for addsi3, but not as a
13322 memory destination.
13323 * hp320.h linux.h m68kv4.h (LEGITIMATE_PIC_OPERAND_P) as in m68k.h.
13324
13325 Fri Jun 18 09:11:07 1999 Nick Clifton <nickc@cygnus.com>
13326
13327 * config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New Marco: USe
13328 .thumb_set pseudo op to mark aliases of thumb functions.
13329
13330 Wed Jun 16 18:19:13 1999 Nick Clifton <nickc@cygnus.com>
13331
13332 * varasm.c (assemble_alias): Use ASM_OUTPUT_DEF_FROM_DECLS in
13333 preference to ASM_OUTPUT_DEF, if it is defined.
13334
13335 * tm.texi: Document new, optional target macro
13336 ASM_OUTPUT_DEF_FROM_DECLS.
13337
13338 Thu Jun 17 15:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
13339
13340 * fixincludes: ISCNTL patch
13341 * fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of [_]*ISCTRL().
13342 (dgux_int_varargs): new for DG/UX
13343 * fixinc/{fixincl.x,inclhack.sh}: Regenerated.
13344
13345 Thu Jun 17 21:34:24 1999 Jeff Law <law@cygnus.com>
13346
13347 * invoke.texi (ia32 options): Fix typo.
13348
13349 Thu Jun 17 21:34:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13350
13351 * loop.c (strength_reduce): When doing biv->giv conversion, update
13352 reg note of NEXT->insn.
13353
13354 Thu Jun 17 14:25:08 1999 Jeffrey A Law (law@cygnus.com)
13355
13356 * loop.c (move_movables): Note issues with replacing REGs with
13357 SUBREGs.
13358 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Handle SUBREGs properly.
13359
13360 Thu Jun 17 13:28:30 1999 David O'Brien <obrien@FreeBSD.org>
13361
13362 * i386/freebsd-elf.h (LINK_SPEC): Fix typo.
13363
13364 * i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
13365 the reference to `mcount' was not correct for the ELF on FreeBSD.
13366
13367 Thu Jun 17 17:22:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13368
13369 * loop.c (strength_reduce): When doing biv->giv conversion, fix up
13370 reg_biv_class.
13371
13372 (recombine_givs): Set ix field after sorting.
13373
13374 Thu Jun 17 02:54:30 1999 Jeffrey A Law (law@cygnus.com)
13375
13376 * emit-rtl.c (operand_subword): Tighten checks for when it is safe
13377 to safe to extract a subword out of a REG.
13378
13379 Thu Jun 17 01:45:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13380
13381 * sh.md (mulsi3): Don't add a no-op move at the end.
13382
13383 Wed Jun 16 20:29:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13384
13385 * cse.c (cse_insn): Don't put hard register source into tables for
13386 the last insn of a libcall.
13387
13388 Wed Jun 16 19:44:33 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13389
13390 * loop.c (strength_reduce): Insert sets of derived givs at every
13391 biv increment, even if it's the only one.
13392
13393 Wed Jun 16 10:33:02 1999 Jason Merrill <jason@yorick.cygnus.com>
13394
13395 * dwarfout.c (add_incomplete_type): New fn.
13396 (output_type): Call it.
13397 (retry_incomplete_types): New fn.
13398 (dwarfout_finish): Call it.
13399
13400 From Eric Raskin <ehr@listworks.com>:
13401 (output_type): Output types for bases.
13402
13403 Tue Jun 15 12:51:23 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
13404
13405 * mips.c (mips_output_conditional_branch): Add `break'
13406 between `default' label and `close braces'.
13407
13408 Tue Jun 15 01:55:20 1999 David O'Brien <obrien@FreeBSD.org>
13409
13410 * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library
13411 specifications and make it realistic.
13412 (LIB_SPEC): Likewise.
13413
13414 Mon Jun 14 15:38:43 1999 Jim Wilson <wilson@cygnus.com>
13415
13416 * config/mips/mips.c (mips_secondary_reload_class): Check for
13417 (PLUS (SP) (REG)) and return appropriate register class.
13418 * config/mips/mips.md (reload_insi): Delete predicate for operand 1.
13419 Handle (PLUS (SP) (REG)).
13420 (tablejump): In mips16 code, use emit_insn instead of emit_jump_insn.
13421 (tablejump_mips161, tablejump_mips162): Use emit_jump_insn instead
13422 of emit_insn for tablejump.
13423
13424 Mon Jun 14 17:26:40 1999 David Edelsohn <edelsohn@gnu.org>
13425
13426 * rs6000.c (output_prolog): RS6000_CALL_GLUE must be
13427 asm_fprintf format string by itself.
13428 (output_function_profiler): Likewise.
13429
13430 Mon Jun 14 12:57:38 1999 David Mosberger <davidm@hpl.hp.com>
13431
13432 * combine.c (simplify_logical, case AND): Only call
13433 simplify_and_const_int if the mode is no wider than HOST_WIDE_INT
13434 or the constant is positive.
13435
13436 Mon Jun 14 11:43:41 1999 Nick Clifton <nickc@cygnus.com>
13437
13438 * configure.in: Fix typo in rs6000-ibm-aix4 case.
13439 * configure: Regenerate.
13440
13441 Mon Jun 14 03:55:40 1999 Jeffrey A Law (law@cygnus.com)
13442
13443 * configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
13444 require a sub-version #.
13445 * configure: Rebuilt.
13446
13447 1999-06-14 Robert Lipe (robertlipe@usa.net)
13448
13449 * svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
13450
13451 Mon Jun 14 10:30:52 BST 1999 Nathan Sidwell <nathan@acm.org>
13452
13453 * c-typeck.c (process_init_element): Detect excess elements in
13454 char array initializer.
13455
13456 1999-06-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
13457
13458 * gcc.texi: Mention gcc 2.96 instead of egcs 1.00.
13459
13460 Sat Jun 12 22:29:48 EDT 1999 Jerry Quinn <jquinn@nortelnetworks.com>
13461
13462 * invoke.texi (Option Summary): Add -fpermissive flag.
13463
13464 Sat Jun 12 03:40:42 1999 Jeffrey A Law (law@cygnus.com)
13465
13466 * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
13467 that require PIC code sequences.
13468
13469 Wed Jun 9 16:29:01 1999 Nick Clifton <nickc@cygnus.com>
13470
13471 * configure.in: Add new target: thumb-elf.
13472 * configure: Regenerate.
13473 * config/arm/t-thumb-elf: New file: Makefile fragment for
13474 thumb-elf build.
13475 * config/arm/telf.h: New file: Header file for thumb-elf
13476 build.
13477
13478 Fri Jun 11 03:17:51 1999 Jeffrey A Law (law@cygnus.com)
13479
13480 * Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
13481 * libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
13482 initializers is some circumstances.
13483
13484 * fixinc/inclhack.def (endif_label): Add additional selector for
13485 more bogus stuff after #endif statements.
13486 * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
13487
13488 Thu Jun 10 20:44:36 1999 Mumit Khan <khan@xraylith.wisc.edu>
13489
13490 * i386/cygwin.h (SET_ASM_OP): Define.
13491
13492 Thu Jun 10 20:37:57 1999 Mumit Khan <khan@xraylith.wisc.edu>
13493
13494 * reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
13495
13496 Thu Jun 10 19:23:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13497
13498 * sh.h (TARGET_HARWARD, TARGET_HARVARD): Changed the former to the
13499 latter.
13500
13501 * sh.md (ic_invalidate_line_i): Remove second alternative.
13502
13503 Thu Jun 10 06:55 1999 Bruce Korb <ddsinc09@ix.netcom.com>
13504
13505 *fixinc/inclhack.def(sun_auth_proto): We do not know how to
13506 test for the presence of valid prototypes. Delete bypass expr.
13507 (ioctl_fix_ctrl): Correct the selection expression.
13508 (no_double_slash): Correct quoting rules
13509 *fixinc/fixincl.x: regen
13510 *fixinc/inclhack.sh: regen
13511
13512 Thu Jun 10 15:08:15 1999 Nick Clifton <nickc@cygnus.com>
13513
13514 * config/arm/arm.c (struct all_cores): Add ARM920 and ARM920t.
13515
13516 Wed Jun 9 15:57:57 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13517
13518 * rs6000.md (movsi_got_internal_mem): Delete.
13519 * rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
13520 (GOT_TOC_REGNUM): Delete.
13521 (PIC_OFFSET_TABLE_REGNUM): Define.
13522 (FINALIZE_PIC): Disable.
13523 * rs6000.c (rs6000_got_register): New code for fixed pic register.
13524 (rs6000_replace_regno): Delete.
13525 (rs6000_finalize_pic): Likewise.
13526 (output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
13527
13528 Wed Jun 9 19:44:26 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13529
13530 * loop.c (loop_insn_first_p): Don't compare LUIDs when P
13531 is a note; use <= for the compare; advance P while it is
13532 a NOTE.
13533
13534 Wed Jun 9 13:12:24 1999 Jeffrey A Law (law@cygnus.com)
13535
13536 * fixinc/inclhack.def (no_double_slash): Fix quoting for test.
13537 * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
13538
13539 * varasm.c (remove_from_pending_weak_list): Verify t->name
13540 is non-NULL before passing it to strcmp.
13541
13542 Wed Jun 9 06:50 1999 Bruce Korb <ddsinc09@ix.netcom.com>
13543
13544 *fixinc/inclhack.def(sun_auth_proto): bypass the patch if
13545 the typed arguments are not part of a comment
13546 (ioctl_fix_ctrl): Added a purpose comment
13547 *fixinc/fixincl.x: regenerate
13548 *fixinc/inclhack.sh: regenerate
13549
13550 Wed Jun 9 22:57:02 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
13551
13552 * invoke.texi: Add C4x invocation docs.
13553
13554 Wed Jun 9 22:34:38 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
13555
13556 * config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
13557 Define new macros.
13558 * config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
13559 TARGET_EXPOSE_LDP.
13560 (c4x_legitimize_reload_address): New function.
13561 * config/c4x/c4x.md: Update docs.
13562
13563 Wed Jun 9 04:14:48 1999 Jeffrey A Law (law@cygnus.com)
13564
13565 * fixincludes: Avoid removing '.'.
13566 * fixinc/fixinc.svr4: Likewise.
13567 * fixinc/fixinc.winnt: Likewise.
13568 * fixinc/inclhack.tpl: Likewise.
13569 * fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
13570
13571 1999-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13572
13573 * fixinc/inclhack.def (sun_catmacro): Escape parens in the select
13574 pattern.
13575 * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
13576
13577 Wed Jun 9 03:10:34 1999 Mumit Khan <khan@xraylith.wisc.edu>
13578
13579 * c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
13580 correctly.
13581
13582 Tue Jun 8 13:06:15 1999 Jim Wilson <wilson@cygnus.com>
13583
13584 * configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
13585 * configure: Regenerate.
13586
13587 Tue Jun 8 05:47:48 1999 Richard Earnshaw (rearnsha@arm.com)
13588
13589 * optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
13590 values.
13591
13592 Mon Jun 7 22:30:37 1999 Jeffrey A Law (law@cygnus.com)
13593
13594 * fixinc/inclhack.def (avoid_bool): Also catch
13595 "typedef [unsigned] int bool".
13596 * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
13597
13598 * m68k/x-hp3bsd44: Delete obsolete and incorrect file.
13599 * configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
13600 * configure: Rebuilt.
13601
13602 Mon Jun 7 22:05:03 1999 Mark Kettenis <kettenis@gnu.org>
13603
13604 * config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
13605 such that we can override its definitions if necessary.
13606 (CPP_SPEC): New define. Support processor specific predefines via
13607 %(cpp_cpu).
13608 (CC1_SPEC): New define. Support processor specific compiler
13609 options via %(cc1_cpu).
13610 (STARTFILE_SPEC): New define. Use crt0.o instead of crt1.o for
13611 -static.
13612
13613 1999-06-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13614
13615 * fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
13616 between sed's -e flag, and the open-quote following it.
13617 * fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
13618
13619 Mon Jun 7 20:34:20 1999 Robert Lipe <robertlipe@usa.net>
13620 Jeffrey A Law (law@cygnus.com)
13621
13622 * varasm.c (assemble_start_function): Remove the function
13623 from the pending weak decls list when we define a function.
13624 (assemble_variable): Similarly for variables.
13625 (weak_finish): Ignore items on the list with a NULL name.
13626 (remove_from_ending_weak_list); New function to "remove" an item
13627 from the pending weak declarations list.
13628
13629 Mon Jun 7 19:27:07 1999 Jerry Quinn <jquinn@nortelnetworks.com>
13630
13631 * pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
13632
13633 Mon Jun 7 14:07:39 1999 Dave Brolley <brolley@cygnus.com>
13634
13635 * c-lex.c (GETC): Redefine to call getch.
13636 (UNGETC): Redefine to call put_back.
13637 (putback_buffer): New structure type.
13638 (putback): New static structure.
13639 (getch): New function.
13640 (put_back): New function.
13641 (yylex): Replace unused bytes from bad multibyte character.
13642
13643 Mon Jun 7 13:33:39 1999 Dave Brolley <brolley@cygnus.com>
13644
13645 * cpplib.c (do_define): Cast `alloca' return value.
13646 (do_include, do_undef, do_pragma): Likewise.
13647 * cpphash.c (dump_definition): Cast `xstrdup' and `alloca' return
13648 values.
13649 * cppfiles.c (initialize_input_buffer): Cast `xmalloc' return values.
13650 * gcc/cppspec.c (lang_specific_driver): Cast xmalloc return value.
13651
13652 Sun Jun 6 11:58:34 1999 Jakub Jelinek <jj@ultra.linux.cz>
13653
13654 * sparc.md (abstf2): This should be an expand.
13655 (split after abstf2_notv9): Fix mode.
13656 (abstf2_hq_v9): New pattern.
13657 (abstf2_v9): Only use when no hard quad.
13658 (absdf2_v9): Fix if target is not the same as source.
13659 (ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
13660 Add correct output constraints.
13661
13662 Sat Jun 5 17:04:16 1999 Craig Burley <craig@jcb-sc.com>
13663
13664 From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
13665 * invoke.texi: Clarify text vis-a-vis Intel CPUs.
13666
13667 Sat Jun 5 12:11:24 1999 Mark Mitchell <mark@codesourcery.com>
13668
13669 * mips.h (mips_output_conditional_branch): New function.
13670 (mips_adjust_insn_length): Likewise.
13671 (ASSEMBLER_SCRATCH_REGNUM): New macro.
13672 (ADJUST_INSN_LENGTH): Likewise.
13673 * mips.c (print_operand): Add `F' and `W' for floating-point
13674 comparison opcodes.
13675 (machine_dependent_reorg): Adjust MIPS16 code; instruction-lengths
13676 are now in bytes.
13677 (mips_adjust_insn_length): New function.
13678 (mips_output_conditional_branch): New function.
13679 * mips.md (length): Adjust attribute definition to handle
13680 conditional branches. Change lengths to bytes, rather than
13681 instructions throughout. Remove length attribute from
13682 instructions whose length is four bytes, and rely on the default
13683 instead.
13684 (dslot): Fix typo in comment.
13685 Reword conditional branch patterns to use
13686 mips_output_conditional_branch.
13687
13688 Fri Jun 4 13:30:27 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13689
13690 * alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
13691 (LIB_SPEC): Likewise.
13692 Link with -lprof1_r for -g/-pg.
13693
13694 1999-06-04 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
13695
13696 * loop.c (check_dbra_loop): Fix change of Jan 19.
13697
13698 Fri Jun 4 00:12:40 1999 Marc Espie <espie@cvs.openbsd.org>
13699
13700 * freebsd-elf.h (SWITCH_TAKES_ARG): Redefine, not define.
13701 (STARTFILE_SPEC): Define, override the svr4.h version.
13702 (ENDFILE_SPEC): Likewise.
13703
13704 Thu Jun 3 23:58:55 1999 Jeffrey A Law (law@cygnus.com)
13705
13706 * fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
13707 * fixinc/fixincl.x: Regenerated.
13708 * fixinc/inclhack.sh: Regenerated.
13709
13710 Fri Jun 4 05:42:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13711
13712 * sh.c (barrier_align): Don't return early for normal branch/barrier
13713 when optimizing for SH2.
13714
13715 Thu Jun 3 22:27:50 1999 Robert Lipe <robertlipe@usa.net>
13716
13717 * i386/udk.h (LINK_SPEC): Correct linker search path for
13718 system libraries.
13719
13720 Fri Jun 4 03:20:40 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13721
13722 * sh.c (fixup_addr_diff_vecs): Emit braf reference label.
13723 (braf_label_ref_operand): Delete.
13724 * sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
13725 * sh.md (casesi_jump_2): Operand1 is now the inside of a
13726 label_ref, and has no predicate.
13727 The patten has a predicate to guard against invalid substitutions.
13728 (dummy_jump): Delete.
13729 (casesi): Update use of casesi_jump_2.
13730
13731 Thu Jun 3 07:48 1999 Bruce Korb <ddsinc09@ix.netcom.com>
13732
13733 *fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
13734 *fixinc/fixincl.x: regenerate
13735 *fixinc/inclhack.sh: regenerate
13736
13737 Thu Jun 3 02:15:07 1999 Jason Merrill <jason@yorick.cygnus.com>
13738
13739 * dwarf2out.c (add_incomplete_type): New fn.
13740 (gen_struct_or_union_type_die): Call it.
13741 (retry_incomplete_types): New fn.
13742 (dwarf2out_finish): Call it.
13743
13744 Thu Jun 3 01:19:03 1999 Jeffrey A Law (law@cygnus.com)
13745
13746 * gcse.c (insert_insn_end_bb): Correct placement of insns when the
13747 current block starts with a CODE_LABEL and ends with a CALL and
13748 we can not find all the argument setup instructions for the CALL.
13749
13750 Wed Jun 2 15:44:15 1999 Mark Mitchell <mark@codesourcery.com>
13751
13752 Revert this change:
13753 * fold-const.c (fold): STRIP_NOPS when deciding whether or not
13754 something is a candidate for optimize_bit_field_compare.
13755
13756 Wed Jun 2 21:53:05 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13757
13758 * sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.
13759
13760 Wed Jun 2 12:25:55 1999 Richard Henderson <rth@cygnus.com>
13761
13762 * alpha.c (override_options): Thinko in last patch.
13763
13764 * alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
13765 (LIB_SPEC): Recognize -pthread.
13766
13767 Wed Jun 2 08:42:55 1999 Nick Clifton <nickc@cygnus.com>
13768
13769 * config/arm/tcoff.h (USER_LABEL_PREFIX): Synchronise with
13770 definition in config/arm/coff.h
13771 * config/arm/coff.h: Add comment about USER_LABEL_PREFIX.
13772
13773 Wed Jun 2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
13774
13775 * fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
13776 fixes that need "file=xxx\n" prepended before invocation
13777 (start_fixer - new): starting the fixer process is complex enough
13778 to warrent its own routine. It prepends the "file=xxx\n" stuff.
13779 (process): uses the new routine; omit usage of putenv()
13780 * fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
13781 * fixinc/fixincl.x: regenerate
13782
13783 Wed Jun 2 02:29:07 1999 Jeffrey A Law (law@cygnus.com)
13784
13785 * README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
13786 and version #s (1.1 -> 2.96) as needed.
13787 * README.g77: Kill way out of date file in the toplevel directory.
13788
13789 Wed Jun 2 00:52:34 1999 David O'Brien <obrien@FreeBSD.org>
13790
13791 * configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
13792 i386/freebsd-elf.h no longer requires it. Instead include svr4.h.
13793 * configure: Rebuilt.
13794 * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
13795 (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
13796 (PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
13797 (SWITCH_TAKES_ARG): Likewise.
13798 * i386/freebsd.h: Remove FREEBSD_NATIVE support.
13799 * config/t-freebsd: Moved from config/i386/ so it can used for all
13800 FreeBSD targets.
13801
13802 Mon May 31 02:22:55 1999 Philippe De Muyter <phdm@macqel.be>
13803
13804 * m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
13805
13806 Wed Jun 2 00:08:34 1999 Robert Lipe <robertlipe@usa.net>
13807
13808 * configure.in (i[34567]86-*-udk*): Install headers with cpio.
13809 * configure: Rebuilt.
13810
13811 Tue Jun 1 19:06:22 1999 David Edelsohn <edelsohn@gnu.org>
13812
13813 * rs6000/aix41.h (RS6000_CALL_GLUE): Define.
13814 * rs6000/aix43.h (RS6000_CALL_GLUE): Likewise.
13815 * rs6000/rs6000.c (rs6000_file_start): Use putc.
13816 (rs6000_output_load_toc_table): Same.
13817 (output_prolog, output_mi_thunk): Same.
13818 * rs6000/rs6000.h (SELECT_SECTION): Formatting.
13819 (ASM_GLOBALIZE_LABEL): Use putc.
13820
13821 Mon May 31 15:23:23 1999 Richard Henderson <rth@cygnus.com>
13822
13823 * alpha.md (reload_*_help): New patterns and splitters.
13824 (reload_*): Use them.
13825 (mov[qh]i): Likewise.
13826
13827 Mon May 31 11:48:07 1999 Mark Mitchell <mark@codesourcery.com>
13828
13829 * cccp.c (handle_directive): Handle backslash-newlines in quoted
13830 strings correctly.
13831
13832 Mon May 31 09:36:11 1999 Cort Dougan <cort@cs.nmt.edu>
13833
13834 * rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
13835
13836 Mon May 31 11:40:20 EDT 1999 John Wehle (john@feith.com)
13837
13838 * flow.c (mark_regs_live_at_end, insn_dead_p,
13839 mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
13840 and HARD_FRAME_POINTER_REGNUM special treatment if reload
13841 hasn't run or the frame pointer is needed.
13842 * haifa-sched.c (attach_deaths): Likewise.
13843 * sched.c (attach_deaths): Likewise.
13844
13845 Mon May 31 00:46:17 1999 Jeffrey A Law (law@cygnus.com)
13846
13847 * jump.c (jump_optimize_1): Only set CAN_REACH_END if
13848 calculate_can_reach_end returns nonzero.
13849
13850 * configure.in (native gas tests): Search for an assembler in the
13851 same manner that the installed compiler will.
13852 * configure: Rebuilt.
13853 * tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
13854
13855 * alias.c (find_base_term): Improve handling of addresses
13856 constructed from binary operations.
13857
13858 Sun May 30 14:29:17 1999 Eric Raskin (ehr@listworks.com)
13859
13860 * dgux.h (STARTFILE_SPEC): Fix incorrectly matched curly-braces.
13861
13862 Sun May 30 14:19:13 1999 Jeffrey A Law (law@cygnus.com)
13863
13864 * function.h (cleanup_label, frame_offset): Declare.
13865 (tail_recursion_label, tail_recursion_reentry): Likewise.
13866 (arg_pointer_save_area, rtl_expr_chain): Likewise.
13867 * stmt.c (cleanup_label, frame_offset): Delete extern declarations.
13868 (tail_recursion_label, tail_recursion_reentry): Likewise.
13869 (arg_pointer_save_area, rtl_expr_chain): Likewise.
13870
13871 Sat May 29 19:08:10 1999 Philip Blundell <philb@gnu.org>
13872
13873 * config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already
13874 defined.
13875 * config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
13876 (MAX_OFILE_ALIGNMENT): Define.
13877
13878 Fri May 28 21:40 1999 Robert Lipe <robertlipe@usa.net>
13879
13880 * fixincl.c: Replace local include scheme with #includes of
13881 gansidecl.h and system.h.
13882 * procopen.c: Likewise.
13883 * server.c: Likewise.
13884
13885 Fri May 28 03:47:03 1999 Eric Raskin (ehr@listworks.com)
13886
13887 * i386/t-dgux (EXTRA_PARTS): Add crti.o
13888 (crti.o): Add build rule and dependencies.
13889 * fixinc/fixinc.dgux: Use modified _int_varargs.h
13890
13891 Fri May 28 03:41:02 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13892
13893 * rs6000/sysv4.h (CC1_SPEC): Add support for -profile
13894 (LIB_LINUX_SPEC): Likewise.
13895 (LIB_LINUX_SPEC): Add support for -pthread
13896 (CPP_OS_LINUX_SPEC): Likewise.
13897 (CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
13898 specified.
13899
13900 Thu May 27 13:04:52 1999 H.J. Lu (hjl@gnu.org)
13901
13902 * i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
13903 conditional move.
13904 (notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
13905 (output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
13906 for IEEE math and CC_FCOMI.
13907 (put_jump_code): No IEEE if CC_FCOMI is set.
13908
13909 1999-05-27 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
13910
13911 * fold-const.c (fold_truthop): Make the field reference unsigned
13912 when converting a single bit compare.
13913
13914 Thu May 27 02:40:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
13915
13916 * loop.c (strength_reduce): Don't do biv->giv conversion on constants.
13917
13918 Thu May 27 02:09:27 1999 Jeffrey A Law (law@cygnus.com)
13919
13920 * varasm.c (STRIP_NAME_ENCODING): Remove default definition.
13921 * output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
13922 version did.
13923
13924 * reload.c (push_reload): Do not call remove_address_replacements
13925 when presented with identical optional reloads.
13926
13927 Wed May 26 14:18:05 1999 Richard Henderson <rth@cygnus.com>
13928
13929 * alpha.h (MASK_FIX, TARGET_FIX): New.
13930 (MASK_*): Reorganize constants.
13931 (CPP_AM_FIX_SPEC): New.
13932 (TARGET_SWITCHES): Add FIX.
13933 (EXTRA_SPECS): Likewise.
13934 (CPP_CPU_EV6_SPEC): Use FIX, not CIX.
13935 (SECONDARY_MEMORY_NEEDED): Likewise.
13936 (REGISTER_MOVE_COST): Likewise.
13937 * alpha.c (override_options): Add FIX support. Always use
13938 ALPHA_TP_PROG for ev6.
13939 * alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
13940 * alpha/elf.h (ASM_FILE_START): Look at FIX too.
13941 * configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
13942
13943 Wed May 26 09:53:05 1999 Mark Mitchell <mark@codesourcery.com>
13944
13945 * fold-const.c (fold): STRIP_NOPS when deciding whether or not
13946 something is a candidate for optimize_bit_field_compare.
13947
13948 Wed May 26 09:40:02 1999 Mark Mitchell <mark@codesourcery.com>
13949
13950 * gcc.texi (Passes): Document branch-shortening.
13951 * invoke.texi (Debugging Options): Document the fact that `-dp'
13952 outputs length information for instructions.
13953
13954 Wed May 26 08:49:31 1999 Nick Clifton <nickc@cygnus.com>
13955
13956 * flow.c: Revert previous delta.
13957
13958 Wed May 26 06:05:10 1999 Nick Clifton <nickc@cygnus.com>
13959
13960 * flow.c (insn_dead_p): Check against frame_pointer_rtx not
13961 FRAME_POINTER_REGNUM.
13962 (mark_set_1): Ditto.
13963 (mark_used_regs): Ditto.
13964
13965 Wed May 26 02:19:31 1999 Philip Blundell <pb@nexus.co.uk>
13966
13967 * arm.h (NEED_PLT_GOT): Fix mistake in last change.
13968 (GOT_PCREL): New macro. Define to 1 if not already defined.
13969 * arm/elf.h (GOT_PCREL): Define to 0.
13970 * arm.c (arm_finalize_pic): Take into account the setting of
13971 GOT_PCREL.
13972
13973 Tue May 25 14:06:06 1999 Jeffrey A Law (law@cygnus.com)
13974
13975 * output.h (STRIP_NAME_ENCODING): Provide default definition.
13976 * dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
13977
13978 * flow.c (mark_set_1): Do not record BLKmode stores as dead
13979 store elimination candidates.
13980
13981 Tue May 25 08:55:57 1999 Gavin Romig-Koch <gavin@cygnus.com>
13982
13983 * config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if
13984 TARGET_GAS.
13985
13986 Mon May 24 20:30:08 1999 Jim Wilson <wilson@cygnus.com>
13987
13988 * configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
13989 Add use of x-aix41-gld.
13990
13991 Mon May 24 16:44:09 1999 Jakub Jelinek <jj@ultra.linux.cz>
13992
13993 * sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Define.
13994 (ASM_OUTPUT_DESTRUCTOR): Define.
13995
13996 Mon May 24 14:35:24 1999 Jeffrey A Law (law@cygnus.com)
13997
13998 * loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
13999 last CODE_LABEL in a loop if we have previously passed a jump
14000 to the top of the loop.
14001
14002 Mon May 24 07:56:29 1999 Nick Clifton <nickc@cygnus.com>
14003
14004 * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): Fix blunder made when
14005 applying Philip's patch.
14006
14007 Mon May 24 01:02:12 1999 Mark Mitchell <mark@codesourcery.com>
14008
14009 * stmt.c (expand_end_bindings): Ignore any elements of VARS that
14010 are not VAR_DECLs.
14011
14012 Sun May 23 20:31:16 1999 Jeffrey A Law (law@cygnus.com)
14013
14014 * loop.c (strength_reduce): Grow reg_single_usage as needed.
14015
14016 Sun May 23 10:13:20 1999 David O'Brien <obrien@FreeBSD.org>
14017
14018 * i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
14019 Also remove a useless comment.
14020
14021 Sun May 23 10:05:23 1999 Jerry Quinn <jquinn@nortelnetworks.com>
14022
14023 * pa.md (negdf2,negsf2): Use fneg instead of fsub on pa 2.0.
14024
14025 Sat May 22 21:02:06 1999 David Edelsohn <edelsohn@gnu.org>
14026
14027 * collect2.c (main): Only generate import or export file and add
14028 to link arguments if non-empty. Use xmalloc not alloca.
14029 (write_{export,import}_file): Delete.
14030 (write_aix_file): New function.
14031 (locatelib): Use xmalloc not malloc.
14032 (GCC_OK_SYMBOL): Do not check type if aix64.
14033
14034 Sat May 22 09:35:51 1999 Philip Blundell <pb@nexus.co.uk>
14035
14036 Based on patch by Scott Bambrough and Pat Beirne:
14037 * config/arm/arm.c (making_const_table): New variable.
14038 * config/arm/arm.h (making_const_table): Declare.
14039 (OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
14040 appropriate.
14041 * config/arm/arm.md (consttable_4, consttable_8, consttable_end):
14042 Keep track of when we are building the constant table.
14043
14044 Sat May 22 09:34:22 1999 Philip Blundell <pb@nexus.co.uk>
14045
14046 * config/arm/arm.c (arm_override_options): Fix erroneous warning
14047 message.
14048
14049 Sat May 22 09:06:33 1999 Nick Clifton <nickc@cygnus.com>
14050
14051 * config/arm/arm.h (NEED_PLT_GOT): Only define if not already
14052 defined.
14053
14054 Sat May 22 07:17:05 1999 Nick Clifton <nickc@cygnus.com>
14055
14056 * tm.texi (FUNCTION_ARG): Correct description of a stack element
14057 in a PARALLEL.
14058
14059 Sat May 22 01:27:49 1999 Mark Mitchell <mark@codesourcery.com>
14060
14061 * expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
14062
14063 Fri May 21 21:19:02 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14064
14065 * rs6000.c (output_mi_thunk): Enable full support again.
14066
14067 Fri May 21 20:09:52 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
14068
14069 * sh.h (BRANCH_COST): Define.
14070
14071 Thu May 20 10:00:42 1999 Stephen L Moshier <moshier@world.std.com>
14072
14073 * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
14074
14075 Thu May 20 09:58:57 1999 Jan Hubicka <hubicka@freesoft.cz>
14076
14077 * function.c (assign_stack_local): Align stack slot propertly.
14078 (assign_outer_stack_local): Likewise.
14079
14080 Thu May 20 10:38:43 1999 Mark Mitchell <mark@codesourcery.com>
14081
14082 * expr.h (lang_expand_constant): Declare.
14083 * toplev.c (lang_expand_constant): Define it.
14084 * varasm.c (output_constant): Use it.
14085
14086 Thu May 20 11:28:53 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14087
14088 * optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
14089 Change function definitions to K&R style.
14090
14091 Thu May 20 08:16:39 1999 Bruce Korb <ddsinc09@ix.netcom.com>
14092
14093 * fixinc/fixincl.c: We must not ignore SIGCLD now.
14094
14095 Thu May 20 07:06:39 1999 Alexandre Oliva <aoliva@acm.org>
14096
14097 * fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
14098 * fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
14099 (several places): omit static initialization
14100 (process): use single fd, since only the read fd is used
14101 * fixinc/gnu-regex.c: define 'const' away, if not supported
14102 * fixinc/procopen.c(several places): omit static initialization
14103 * fixinc/server.c: define 'volitile' away, if not supported
14104
14105 1999-05-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
14106
14107 * config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
14108 asm_fprintf and %L to generate the label name.
14109 * config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
14110 (ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
14111
14112 Thu May 20 01:40:55 1999 Jeffrey A Law (law@cygnus.com)
14113
14114 * jump.c (can_reverse_comparison_p): Do not abort if the comparison
14115 insn for a conditional jump can not be found.
14116
14117 Wed May 19 23:58:58 1999 Jeffrey A Law (law@cygnus.com)
14118
14119 * mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
14120 on variables in specific sections other than .sbss and .sdata.
14121
14122 Wed May 19 03:56:56 1999 Mark Mitchell <mark@codesourcery.com>
14123
14124 * stmt.c (expand_return): Call start_cleanup_deferral and
14125 end_cleanup_deferral around conditional code.
14126
14127 Wed May 19 08:40:08 1999 Bruce Korb <ddsinc09@ix.netcom.com>
14128
14129 * fixinc/fixincl.tpl: Avoid depending on ANSI C features for
14130 filename lists. Utilizes new "krstr" AutoGen function.
14131 * fixinc/fixincl.x: Rebuilt.
14132
14133 Wed May 19 02:47:11 1999 Jan Hubicka (hubicka@freesoft.cz)
14134
14135 * i386.c (output_float_compare): Avoid GNU-C extensions.
14136
14137 Wed May 19 00:34:40 1999 Jeffrey A Law (law@cygnus.com)
14138
14139 * version.c: Bump to distinguish mainline tree from the
14140 gcc-2.95 branch.
14141
14142 See ChangeLog.1 for earlier changes.
This page took 0.597338 seconds and 4 git commands to generate.