]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
* Makefile.in (lcm.o): Depend on insn-attr.h.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
18862b5a 1Tue Feb 15 22:30:36 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2 Andrew MacLeod <amacleod@cygnus.com>
3
4 * Makefile.in (lcm.o): Depend on insn-attr.h.
5 * basic-block.h (optimize_mode_switching): Declare.
6 * lcm.c (tm_p.h, insn-attr.h): #include.
7 (seginfo, bb_info): New structs.
8 (antic, transp, comp, delete, insert) : New file-scope static variables.
9 (new_seginfo, add_seginfo, make_preds_opaque, reg_dies): New functions.
10 (reg_becomes_live, optimize_mode_switching): Likewise.
11 * tm.texi: Add description of mode switching macros.
12 * toplev.c (rest_of_compilation): Call optimize_mode_switching.
13
14 * sh-protos.h (remove_dead_before_cse): Remove prototype.
15 (fldi_ok, fpscr_set_from_mem): New prototypes.
16 * sh.h (OPTIMIZATION_OPTION): Remove sh_flag_remove_dead_before_cse set.
17 (CONST_DOUBLE_OK_FOR_LETTER_P, SECONDARY_INPUT_RELOAD_CLASS):
18 Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD).
19 (sh_flag_remove_dead_before_cse): Remove declaration.
20 (NUM_MODES_FOR_MODE_SWITCHING, OPTIMIZE_MODE_SWITCHING): New macros.
21 (MODE_USES_IN_EXIT_BLOCK, MODE_NEEDED, MODE_AT_ENTRY): Likewise.
22 (MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
23 * sh.c (broken_move): Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD).
24 (barrier_align): Allow for JUMP_INSNS containing a parallel.
25 (machine_dependent_reorg): Remove sh_flag_remove_dead_before_cse set.
26 (fldi_ok): New function.
27 (get_fpscr_rtx): Add fpscr_rtx as GC root.
28 (emit_sf_insn): Only generate fpu switches when optimize < 1.
29 (emit_df_insn): Likewise.
30 (expand_fp_branch, emit_fpscr_use, remove_dead_before_cse): Delete.
31 (sh_flag_remove_dead_before_cse): Delete.
32 (get_free_reg, fpscr_set_from_mem): New functions.
33 * sh.md (movdf, movsf): Remove no_new_pseudos code.
34 (return): Remove emit_fpscr_use / remove_dead_before_cse calls.
35
df283112 362000-02-15 Loren Rittle <ljrittle@acm.org>
37
38 * ginclude/stddef.h: Correct usage of _BSD_RUNE_T_ for FreeBSD.
39
56fc5f02 402000-02-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
41
42 * Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o,
43 cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h.
44
45 * cccp.c: Include version.h and/or don't declare `version_string'.
46 * collect2.c: Likewise.
47 * alpha.c: Likewise.
48 * arm/aof.h: Likewise.
49 * arm/coff.h: Likewise.
50 * arm/elf.h: Likewise.
51 * arm/pe.h: Likewise.
52 * arm/tcoff.h: Likewise.
53 * arm/telf.h: Likewise.
54 * arm/tpe.h: Likewise.
55 * arm/vxarm.h: Likewise.
56 * convex/convex.c: Likewise.
57 * i386/dgux.c: Likewise.
58 * i386/sun386.h: Likewise.
59 * m88k/m88k.c: Likewise.
60 * mcore/mcore-pe.h: Likewise.
61 * mips/mips.h: Likewise.
62 * romp/romp.h: Likewise.
63 * sh/sh.c: Likewise.
64 * cpphash.c: Likewise.
65 * cppinit.c: Likewise.
66 * dwarf2out.c: Likewise.
67 * dwarfout.c: Likewise.
68 * gcc.c: Likewise.
69 * gcc.h: Likewise.
70 * mips-tfile.c: Likewise.
71 * protoize.c: Likewise.
72 * toplev.c: Likewise.
73 * tree.h: Likewise.
74
75 * version.c (version_string): Constify a char*.
76
77 * version.h: New file.
78
68fec005 792000-02-14 Nick Clifton <nickc@cygnus.com>
80
81 * configure.in: Add mcore-elf and mcore-pe targets.
82 * configure: Regenerate.
83
84 * NEWS: Add note that MCore port has been contributed.
85
86 * invoke.texi: Document command line switches for MCore port.
87 * install.texi: Add MCore to list of supported targets.
88
d14933cf 892000-02-14 Geoff Keating <geoffk@cygnus.com>
90
91 * collect2.c (main) [COLLECT_EXPORT_LIST]: If we have frames,
92 then we will need to import the frame handling functions.
93 (scan_prog_file) [COLLECT_EXPORT_LIST]: We will also need
94 to import the frames themselves.
95
5a88ea64 96Mon Feb 14 13:31:01 2000 Stan Cox <scox@cygnus.com>
97 Jason Eckhardt <jle@cygnus.com>
98
99 * basic_block.h: Added prototype for reorder_basic_blocks.
100 * toplev.c: Changes to add -freorder-blocks and graph dump after
101 block reordering is done.
102 * flow.c (reorder_block_def): New structure for use during block
103 reordering.
104 (REORDER_BLOCK_*): New macros to access members of above structure.
105 (skip_insns_between_block, get_common_dest, chain_reorder_blocks,
106 make_reorder_chain, fixup_reorder_chain, reorder_basic_blocks): New
107 functions for block reordering.
108
d76d9d87 109Mon Feb 14 11:24:44 2000 Hans-Peter Nilsson <hp@bitrange.com>
110
111 * gcc.texi (Passes): Fix typo.
112 * md.texi (Standard Names): Ditto.
113 * tm.texi (Storage Layout): Ditto.
114
a31b2abf 1152000-02-13 Zack Weinberg <zack@wolery.cumb.org>
116
117 * cpplib.c (do_define): Only free the old definition if it
118 actually had one.
119
4b69e29b 1202000-02-13 Neil Booth <NeilB@earthling.net>
121
122 * cppfiles.c (read_and_prescan): When emitting deferred
123 newlines, test speccase[] again instead of checking each
124 possible whitespace character in turn. When we encounter \r,
125 look behind for \n first, then ahead.
126
ea2fde7c 1272000-02-13 Zack Weinberg <zack@wolery.cumb.org>
128
129 * cse.c (cse_altered): New internal flag.
130 (cse_insn): Set it if we changed an insn.
131 (cse_main): Clear cse_altered before each basic block.
132 Only garbage collect if cse_altered is true afterward.
133
47a649f9 134Sun Feb 13 14:12:28 2000 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
135
136 * sparc/sol2.h (LIB_SPEC): Link -ldl if profiling.
137
e53624d0 138Sun Feb 13 13:21:55 2000 Jeffrey A Law (law@cygnus.com)
139
140 * combine.c (simplify_comparison): Fix typo.
141
779740c5 142Sun Feb 13 12:57:52 2000 Neil Booth <NeilB@earthling.net>
143
144 * prefix.c (concat, lookup_key): Use xmalloc and xrealloc
145 consistently.
146
052f57a6 1472000-02-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
148
149 * flow.c (flow_loop_tree_node_add): Use better algorithm by passing
150 previously inserted node instead of root node. Caller changed.
151
1522000-02-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3b3151e2 153
154 * basic-block.h (FLOW_LOOP_FIRST_BLOCK, FLOW_LOOP_LAST_BLOCK): Delete.
155
205b5771 1562000-02-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
157
158 * crtstuff.c (__do_global_ctors_aux, __reg_frame_ctor,
159 __dereg_frame_dtor): Add prototype argument.
160
161 * gthr-dce.h (__gthread_active_p, __gthread_once): Likewise.
162
163 * gthr-posix.h (__gthread_active_p, __gthread_once): Likewise.
164
165 * gthr-solaris.h (__gthread_active_p, __gthread_once): Likewise.
166
167 * gthr-vxworks.h (__gthread_once): Likewise.
168
169 * gthr-win32.h (__gthread_active_p, __gthread_once): Likewise.
170
bd35be89 171Sat Feb 12 01:44:26 MET 2000 Jan Hubicka <jh@suse.cz>
172
173 * i386.c (ix86_emit_restore_regs_using_mov): Break out from ...
174 (ix86_expand_epilogue): ... here. Use mov instead of add to restore
175 stack pointer in functions w/o saved registers, output LEAVE more often
176 on TARGET_USE_LEAVE machines.
177
af1b847e 1782000-02-07 Dmitri Makarov <dim@wrs.com> & Bernd Schmidt <bernds@redhat.com>
179
180 * config/arm/arm.c (arm_init_cumulative_args); New function:
181 Initlaise the CUMULATIE_ARGS strcuture for a function
182 defintion.
183 (arm_function_arg): New function: Determine where to place a
184 function's argument. Also handles deciding the function's
185 call cookie.
186 (current_file_function_operand): New function: Return true if
187 the symbol is a function which has already been compiled.
188 (arm_is_long_call_p): New function: Return true if the
189 indicated function should be called via a long call.
190 (arm_valid_type_attribute_p): New function: Return true if the
191 attribute is a valid, arm specific, attribute.
192 (arm_comp_type_attribute): New function: Return true if the
193 two types have compatable, arm specific, attributes.
194
195 * config/arm/arm.h (CUMULATIVE_ARGS): Redefine to be a
196 structure.
197 (FUNCTION_ARG): Redefine to call arm_function_arg.
198 (FUNCTION_ARG_PARTIAL_NREGS): Redefine to use correct
199 structure field.
200 (INIT_CUMULATIVE_ARGS): Redefine to call
201 arm_init_cumulative_args.
202 (FUNCTION_ARG_ADVANCE): Redefine to use correct structure
203 field.
204 (SETUP_INCOMING_VARARGS): Redefine to use correct structure
205 field.
206 (ARM_MARK_NEARBY_FUNCTION): New macro: Mark already compiled
207 functions.
208 (ENCODE_SECTION): Add call to ARM_MARK_NEARBY_FUNCTION.
209 (VALID_MACHINE_TYPE_ATTRIBUTE): Define.
210 (COMP_TYPE_ATTRIBUTES): Define.
211
212 * config/arm/arm.md (call): Call arm_is_long_call_p to decide
213 if a long call is needed.
214 (call_value): Call arm_is_long_call_p to decide if a long call
215 is needed.
216 (call_symbol): Call arm_is_long_call_p to decide if a long call
217 is needed.
218
219 * config/arm/arm-protos.h: Add prototype for arm_is_long_call_p.
220
a28e4651 2212000-02-11 Denis Chertykov <denisc@overta.ru>
222
223 * README.AVR: New file with information about the avr ports.
224 * config/avr: New directory with avr port files.
225
77351d8e 2262000-02-11 Andreas Jaeger <aj@suse.de>
227
228 * fixinc/Makefile.in (FIXINC_DEFS): Remove unneeded @fixinc_defs@.
229
4e29fcb2 2302000-02-11 Zack Weinberg <zack@wolery.cumb.org>
231
232 * cpphash.c: Fix formatting, update commentary.
233 (dump_definition): Take three separate arguments instead of a
234 MACRODEF structure argument.
235 * cpphash.h: Update prototype of dump_definition.
236 * cppinit.c (cpp_finish): Update call of dump_definition.
237
238 * cpplib.c (do_define): Always create new hash entry with
239 T_MACRO type. Remove redundant check for redefinition of
240 poisoned identifier. Update call of dump_definition.
241 (do_undef): Don't call check_macro_name. Rename sym_length to
242 len.
243 (do_error, do_warning): Don't use copy_rest_of_line or
244 SKIP_WHITE_SPACE.
245 (do_warning): Don't use pedwarn for the actual warning,
246 only the notice about its not being in the standard. (Fixes
247 bug with #warning in system headers.)
248 (do_ident): Stricter argument checking - accept only a single
249 string after #ident. Also, macro-expand the line.
250 (do_xifdef): Use cpp_defined. De-obfuscate.
251
252 (do_pragma): Split out specific pragma handling to separate
253 functions. Use get_directive_token. Update commentary. Do
254 not pass on #pragma once or #pragma poison to the front end.
255 (do_pragma_once, do_pragma_implementation, do_pragma_poison,
256 do_pragma_default): New.
257
3cc4218a 258Feb 11 12:30:53 2000 Jeffrey A Law (law@cygnus.com)
259
260 * jump.c (jump_optimize_1): The first operand in a relational
261 can be a CONST_INT.
262 * optabs.c (emit_conditional_move): Handle relationals which
263 have a known true/false result.
264
ffb61627 2652000-02-11 Geoff Keating <geoffk@cygnus.com>
266
267 * function.c (thread_prologue_and_epilogue_insns): Don't insert
268 a RETURN insn into a block which already ends with a jump.
269
a76d7570 2702000-02-11 Geoff Keating <geoffk@cygnus.com>
271
272 * haifa-sched.c (BUF_LEN): Increase a lot.
273
be565a8b 2742000-02-11 Nick Clifton <nickc@cygnus.com>
275
276 * configure.in: Add tm_p_file specification for thumb targets.
277 * configure: Regenerate.
278
279 * config/arm/thumb-protos.h: New file: Prototypes for exported
280 functions defined in thumb.c.
281
fef36666 2822000-02-11 Robert Lipe <robertl@sco.com>
283
284 * Makefile.in (bootstrap-lean): Remove additional files.
a76d7570 285 (bootstrap2-lean): Likewise.
286 (VOL_FILES): List of files for above.
fef36666 287
fc721923 2882000-02-11 Nathan Sidwell <nathan@acm.org>
289
290 * cpphash.c (special_symbol): Remove spurious argument to
291 cpp_lookup.
292
2eba8a5a 2932000-02-11 Joel Sherrill (joel@OARcorp.com>
294
295 * configure.in: (i*86-*-rtems*): Swapped elf and coff
296 stanzas.
297 * configure: Rebuilt.
298
5d591e6f 2992000-02-11 Rodney Brown <RodneyBrown@pmsc.com>
300
301 * pa-protos.h: Wrap function_arg_padding in TREE_CODE #ifdef.
302
9dc4cbf1 303Fri Feb 11 02:59:05 2000 Jeffrey A Law (law@cygnus.com)
304
305 * pa.c, pa.h: Remove trigraph sequences within comments.
306
8ad6ce48 307Fri Feb 11 02:51:56 2000 Pavel Roskin <pavel_roskin@geocities.com>
308
309 * invoke.texi (PPC Options): -mno-new-mnenomics -> -mold-mnemonics.
310
75cee667 311Fri Feb 11 02:48:30 2000 Brad Lucier (lucier@math.purdue.edu)
312
313 * sbitmap.h: Make SBITMAP_ELT_BITS unsigned.
314
d7ccb4fd 3152000-02-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
316
317 * config/c4x/c4x.c (fp_zero_operand): Check for CONST_DOUBLE.
318
d26296cf 3192000-02-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
320
321 * config/c4x/c4x.h (ASM_GLOBALIZE_LABEL): Use c4x_global_label.
322 (ASM_OUTPUT_EXTERNAL): Use c4x_external_ref.
323 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
324 (ASM_FILE_END): Use c4x_file_end.
325 * config/c4x/c4x.c (c4x_global_label): New function.
326 (c4x_external_ref, c4x_file_end): Likewise.
d7ccb4fd 327
d26296cf 328 * config/c4x/c4x-protos.h (c4x_global_label): Add prototype.
329 (c4x_external_ref, c4x_end_file): Likewise.
d26296cf 330
eb3948d1 3312000-02-10 Zack Weinberg <zack@wolery.cumb.org>
332
333 * cppexp.c: Don't include cpphash.h.
334 (parse_charconst, cpp_lex): Use cpp_defined.
335 (cpp_lex): Use get_directive_token throughout. Remove
336 unnecessary cases from switch. Move assertion-handling code
337 down to OTHER case.
338 (cpp_parse_expr): If we see '+' or '-', check the context to
339 determine if they are unary or binary operators. Streamline
340 the jumps a bit. Do not call skip_rest_of_line.
341
342 * cpplib.c: Make skip_rest_of_line and cpp_skip_hspace
343 static. Export get_directive_token. Update commentary.
344 (cpp_defined): New function.
345 (do_define): Remove reference to T_PCSTRING. Call
346 free_definition to release memory for old definition, when
347 redefining a macro.
348 (eval_if_expression): Set only_seen_white to 0 before calling
349 cpp_parse_expr. Call skip_rest_of_line after it returns.
350 (cpp_read_check_assertion): Don't preserve a pointer into the
351 token buffer across a call to cpp_get_token.
352
353 * Makefile.in (cppexp.o): Don't depend on cpphash.h.
354 * cppfiles.c (redundant_include_p): Use cpp_defined.
355 * cpphash.c (free_definition): New function.
356 (delete_macro): Use it. Update commentary.
357 * cpphash.h: Typedef HASHNODE here. Prototype cpp_lookup and
358 free_definition.
359 * cpplib.h: Don't typedef HASHNODE here. Delete T_PCSTRING
360 from enum node_type. Prototype cpp_defined and get_directive_token.
361 Don't prototype cpp_lookup, skip_rest_of_line, or cpp_skip_hspace.
362
363 * fix-header.c (check_macro_names): Use cpp_defined.
364 (read_scan_file): Set inhibit_warnings and inhibit_errors in
365 the options structure.
366
a40bef3c 3672000-02-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
368
369 * c-pragma.c (maximum_field_alignment): Remove duplicate declaration.
370
bb0f15b4 3712000-02-10 Jason Merrill <jason@casey.cygnus.com>
372
373 * dwarf2out.c (add_abstract_origin_attribute): Check TREE_CODE (origin)
374 rather than die->die_tag.
375
fe352cf1 376Thu Feb 10 16:26:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
377
378 * combine.c (make_extraction, force_to_mode): Avoid warning on
379 mixed-signedness conditionals.
380 (make_field_assignment, nonzero_bits): Likewise.
381 * expmed.c (store_fixed_bit_field): ALIGN arg now unsigned.
382 (store_split_bit_field, extract_split_bit_field): Likewise.
383 (extract_fixed_bit_field, store_bit_field,
384 * expr.c: Change alignment to be unsigned everywhere.
385 (move_by_pieces, store_constructor_field, store_constructor):
386 Alignment parm is unsigned.
387 (emit_block_move, emit_group_load, emit_group_store): Likewise.
388 (clear_storage, emit_push_insn, compare_from_rtx): Likewise.
389 (do_compare_rtx_and_jump): Likewise.
390 (move_by_pieces_ninsns, clear_by_pieces): Likewise.
391 Compare align with GET_MODE_ALIGNMENT.
392 (expand_expr_unaligned): Pointer to alignment is pointer to unsigned.
393 (get_inner_reference): Likewise.
394 (copy_blkmode_from_reg, emit_push_insn): Remove unneeded casts.
395 (expand_assignment): Local vars for alignment now unsigned.
396 (store_constructor, store_field, expand_expr, do_jump): Likewise.
397 (do_compare_and_jump): Likewise.
398 (store_field): Call new function expr_align.
399 * expr.h (emit_block_move, emit_group_load, emit_group_store):
400 Alignment arg now unsigned.
401 (clear_storage, emit_push_insn, compare_from_rtx): Likewise.
402 (do_compare_rtx_and_jump, store_bit_field): Likewise.
403 (extract_bit_field): Likewise.
404 * fold-const.c (add_double): Add cast to eliminate signedness warning.
405 * machmode.h (GET_MODE_ALIGNMENT): Result is unsigned.
406 (get_best_mode): Alignment arg is unsigned.
407 * rtl.h (move_by_pieces): Likewise.
408 * store-layout.c (maximum_field_alignment, set_alignment):
409 Now unsigned.
410 (layout_decl): Alignment arg is now unsigned.
411 Remove unneeded casts.
412 (layout_record, layout_union, layout_type): Remove unneeded casts.
413 Local alignment variables now unsigned.
414 (get_best_mode): Alignment arg now unsigned.
415 * tree.c (expr_align): New function.
416 * tree.h (expr_align): Likewise.
417 (maximum_field_alignment, set_alignment): Now unsigned.
418 (get_inner_reference): Alignment argument is now pointer to unsigned.
419 * varasm.c (assemble_variable): Add cast to eliminate warning.
420
02c736f4 421Thu Feb 10 12:56:47 2000 Jim Wilson <wilson@cygnus.com>
422
ee2ba10c 423 * expmed.c (store_bit_field): If op0 and fieldmode are the same size,
424 then store directly into op0.
425
02c736f4 426 * calls.c (expand_call): When emitting a NOTE_INSN_SETJMP, search for
427 the CALL_INSN, and emit the note immediately after it.
428
c25a70c1 4292000-02-10 Nick Clifton <nickc@cygnus.com>
430
431 * config/arm/thumb.md (epilogue): Include a (return) in the
432 generated insn, and emit it using emit_jump_insn not
433 emit_insn.
434
779a20c8 435Thu Feb 10 18:28:59 MET 2000 Jan Hubicka <jh@suse.cz>
436
437 * function.c (assign_temp): Change zero-sized arrays to size 1.
438 * integrate.c (expand_inline_function): Do not update
439 stack_alignment_needed
440 * i386.c (compute_frame_size): Remove #ifdef PREFERRED_FRAME_BOUNDARY,
441 add some sanity checking, remove optimization for function with
442 zero frame size.
443
3e9d8cee 4442000-02-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
445
446 * flow.c (mark_regs_live_at_end): Delete unused variables.
447
448 * ggc-page.c (ggc_page_print_statistics): bzero -> memset.
449
450 * integrate.c (copy_rtx_and_substitute): Wrap variable `alignment'
451 in macro FRAME_GROWS_DOWNWARD.
452
453 * stmt.c (expand_end_bindings): Delete unused variable.
454
455 * unroll.c (iteration_info): Mark parameter `loop' with
456 ATTRIBUTE_UNUSED.
457
e36dc2c1 4582000-02-10 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
459
8bb5d2a6 460 * fixinc/server.c (load_data): Return NULL if the marker line is
461 not found.
462 (run_shell): If load_data returns NULL, retry the command once, in
463 a new shell.
464
e36dc2c1 465 * configure: Rebuilt.
466
912270cc 4672000-02-09 Bruce Korb <bkorb@gnu.org>
468
469 * gcc/fixincludes: ** DELETED **
470 * gcc/fixcpp: ** DELETED **
471 * gcc/fixinc-nt.sed: ** DELETED **
472 * gcc/just-fixinc: ** DELETED **
473 * gcc/Makefile.in: Removed out-dated commentary
474 * gcc/configure.in: Removed fast-fixincludes disablement.
475 * MAINTAINERS(Ian Taylor) moved to "Write after approval" group.
476
e8ad1c7f 4772000-02-09 Clinton Popetz <cpopetz@cygnus.com>
478 * function.c (thread_prologue_and_epilogue_insns): Uncomment
479 last change.
480
a311e300 4812000-02-09 Richard Henderson <rth@cygnus.com>
482
483 * jump.c (delete_insn): Don't delete user labels at -O0.
484
e65966c3 4852000-02-09 Robert Lipe <robertl@sco.com>
486
487 * Makefile.in (gen-protos): Don't depend on HOST_LIBDEPS.
488 Don't link with HOST_LIBS.
489
b65d2e3c 4902000-02-09 Zack Weinberg <zack@wolery.cumb.org>
491
492 * configure.in: Correct --help text for --with-dwarf2.
493 Put tm-dwarf2.h after other tm files, if it's requested.
494 * configure: Regenerate.
495 * config/tm-dwarf2.h: #undef PREFERRED_DEBUGGING_TYPE before
496 defining it.
497
0f0b3789 4982000-02-09 Zack Weinberg <zack@wolery.cumb.org>
499
73a17672 500 * cpplib.h: Provide HASHNODE typedef and forward decl of
501 struct hashnode only. Kill cpp_hashnode typedef. MACRODEF,
502 DEFINITION, struct hashnode, struct macrodef, struct
503 definition, scan_decls prototype, default defn of
504 INCLUDE_LEN_FUDGE moved elsewhere.
505
506 * cpphash.h: MACRODEF, DEFINITION, struct macrodef, struct
507 definition, and struct hashnode moved here. Remove the unused
508 'predefined' field from struct definition. Replace the 'args'
509 union with its sole member. All users updated (cpphash.c).
510 Delete HASHSTEP and MAKE_POS macros, and hashf prototype. Add
511 multiple include guard.
512
513 * cpphash.c (hashf): Make static; use better algorithm; drop
514 HASHSIZE parameter; return an unsigned int.
515 (cpp_lookup): Drop HASH parameter. PFILE parameter is
516 used. Calculate HASHSIZE modulus here.
517 (cpp_install): Drop HASH parameter. Calculate HASHSIZE modulus
518 here.
519 (create_definition): Drop PREDEFINITION parameter.
520 * cpplib.c (do_define): Don't calculate a hash value here.
521 Don't pass (keyword == NULL) to create_definition.
522
523 * scan.h: Prototype scan_decls here.
524 * cppfiles.c: Move INCLUDE_LEN_FUDGE default defn here.
525 * cppexp.c, cppfiles.c, cppinit.c, cpplib.c, fix-header.c: All
526 callers of cpp_lookup and cpp_install updated.
527
0f0b3789 528 * cpphash.c (macarg): Hoist all the flag diddling out of the
529 function...
530 (macroexpand): ... and out of the loop that calls macarg.
531 Skip over the initial paren before macro arguments with
532 cpp_get_non_space_token; point may be some distance before
533 that paren. Abort if it's not there.
534
535 * cpplib.c (parse_clear_mark): Delete function.
536 (parse_set_mark, parse_goto_mark): Make static.
537 (ACTIVE_MARK_P): New macro.
538 (skip_block_comment, skip_line_comment): Do not bump the line
539 if ACTIVE_MARK_P is true.
540 (cpp_pop_buffer): The buffer to be popped may not have an
541 active mark.
542 (cpp_get_token): When looking for the initial paren before
543 macro arguments, only set a mark in a file buffer, Always
544 return to that mark before proceeding to call macroexpand or
545 return a NAME token.
546
547 * cpplib.h: Remove prototypes of parse_set_mark,
548 parse_clear_mark, parse_goto_mark.
549 (struct cpp_options): Rename 'put_out_comments' to
550 'discard_comments' and invert its sense.
551 * cppinit.c, cpphash.c, cpplib.c: All users of
552 put_out_comments changed to use discard_comments, with
553 opposite sense.
554
f7cfde85 5552000-02-09 Clinton Popetz <cpopetz@cygnus.com>
556
557 * function.c (thread_prologue_and_epilogue_insns): Don't delete
558 the edge from a block that both jumps and falls through to the
559 fallthru block.
560
bbe777ea 5612000-02-09 Scott Bambrough <scottb@netwinder.org>
562
a28e4651 563 * config/arm/arm.md (movsi): In PIC mode, make sure that a
564 constant source address is legitimate.
bbe777ea 565
a52eca60 5662000-02-09 Philip Blundell <pb@futuretv.com>
567
a28e4651 568 * config/arm/arm.c (legitimize_pic_address): Handle LABEL_REF
569 correctly.
a52eca60 570
a28e4651 571 * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Allow anything when
572 generating PIC.
573 (LEGITIMATE_PIC_OPERAND): Disallow references to labels.
a52eca60 574
ecdc0cd1 5752000-02-09 Zack Weinberg <zack@wolery.cumb.org>
576
577 * cpplib.c (cpp_define, cpp_undef): Make sure the stacked buffer
578 ends with a newline and a NUL. Don't be so clever manipulating
579 strings.
580
fd663a4f 581Wed Feb 9 14:18:08 MET 2000 Jan Hubicka <jh@suse.cz>
582
583 * reload1.c (reload) Align stack frame to cfun->stack_alignment_needed,
584 not to BIGGEST_ALIGNMENT.
585
db3d4a18 5862000-02-08 Geoff Keating <geoffk@cygnus.com>
587
588 * dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant.
589 * dwarf2out.c (dwarf_cfi_name): Print name of new constant.
590 (reg_save): Use DW_CFA_GNU_negative_offset_extended when needed.
591 (output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended.
592 * frame.c (execute_cfa_insn): Handle
593 DW_CFA_GNU_negative_offset_extended.
594
3a716efb 5952000-02-08 Richard Henderson <rth@cygnus.com>
596
597 * flow.c (tidy_fallthru_edges): Split out from ...
598 (delete_unreachable_blocks): ... here.
599 (find_basic_blocks): Use it.
600
b76d5fd3 601Tue Feb 8 15:51:50 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
602
603 * stmt.c (expand_decl): Do set RTX_UNCHANGING_P for TREE_READONLY.
604
745272db 6052000-02-08 Zack Weinberg <zack@wolery.cumb.org>
606
607 * Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a.
608 (gen_protos.o): Don't depend on cpplib.h or cpphash.h.
609 (fix-header.o): Don't depend on cpphash.h.
610
611 * scan.c (hashstr): New function.
612 * scan.h: Prototype it.
613 * fix-header.c: Don't include cpphash.h. Use hashstr.
614 * gen-protos.c: Don't include cpphash.h or cpplib.h. Use
615 hashstr. Report hash table statistics. Add private
616 definition of xrealloc.
617
2e931aff 6182000-02-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
619
620 * i386.h (TARGET_SWITCHES): Fix typo in option name.
621
d7c2892c 6222000-02-08 Clinton Popetz <cpopetz@cygnus.com>
623
a28e4651 624 * function.c (thread_prologue_and_epilogue_insns): Don't replace
625 jumps with returns unless they are jumps to the fallthru block.
d7c2892c 626
4046a057 627Tue Feb 8 07:53:55 2000 Jan Hubicka <jh@suse.cz>
628
629 * i386.md (addqi3_cc): Fix contraints.
630
2bb09e1e 631Tue Feb 8 01:39:45 2000 Hans-Peter Nilsson <hp@bitrange.com>
632
633 * function.c (emit_return_into_block): Wrap in #ifdef HAVE_return.
634
bfb3fb17 6352000-02-07 Mark Mitchell <mark@codesourcery.com>
636
637 * cpplib.c (cpp_get_token): Call CPP_BUMP_LINE after reading a
638 carriage return after a macro name.
639
18f52923 6402000-02-07 Fred Fish <fnf@be.com>
641
642 * i386/beos-elf.h: (ASM_IDENTIFY_GCC): Define to nothing
643 so the gcc2_compiled symbol doesn't confuse BeOS debuggers.
644
d5037ad2 6452000-02-07 Zack Weinberg <zack@wolery.cumb.org>
646
647 * cppfiles.c (deps_output): Count spacers in deps_column.
648
6492000-02-07 Neil Booth <NeilB@earthling.net>
650
651 * cppinit.c (initialize_dependency_output): If there is no
652 suffix, don't try to look for known suffixes. Use strrchr.
653 (cpp_start_read): Remove duplicate initialization.
654
d0285dd8 655Mon Feb 7 18:36:41 MET 2000 Jan Hubicka <jh@suse.cz>
656
657 * calls.c (compute_argument_block_size): New argument
658 preferred_stack_boundary.
659 (expand_call): update cfun->preferred_stack_boundary, update call of
660 compute_argument_block_size
661 (emit_library_call): Increate cfun->preferred_stack_boundary
662 to PREFERRED_STACK_BOUNDARY
663 (emit_library_call_value): Likewise.
664 * explow.c (allocate_dynamic_stack_spave): Likewise.
665 * function.c (prepare_function_start): Set
666 cfun->preferred_stack_boundary
667 * function.h (struct function): Add preferred_stack_boundary field.
668 * integrate.c (expand_inline_function): Update
669 cfun->preferred_stack_boundary and cfun->stack_alignment_needed.
670 (copy_rtx_and_substitute): Align frame to stack_alignment_needed only.
671 * i386.c (compute_frame_size): Use cfun->preferred_stack_boundary.
672
235c0c0f 6732000-02-06 Zack Weinberg <zack@wolery.cumb.org>
674
9e87fa80 675 * cpplib.c (my_strerror, cpp_error, cpp_error_with_line,
676 cpp_error_from_errno, cpp_warning, cpp_warning_with_line,
677 cpp_pedwarn, cpp_pedwarn_with_line,
678 cpp_pedwarn_with_file_and_line): Move to cpperror.c.
679 (cpp_print_file_and_line, v_cpp_error, v_cpp_warning,
680 v_cpp_error_with_line, v_cpp_warning_with_line,
681 cpp_message_from_errno, cpp_perror_with_name): Delete.
682
683 * cpperror.c (cpp_print_containing_files): Take starting
684 buffer as argument.
685 (cpp_file_line_for_message): Rename to cpp_print_file_and_line.
686 (v_cpp_message): Now called directly by all entry points.
687 Remove -1 case.
688 (cpp_pfatal_with_name, cpp_message): Delete.
689 (cpp_notice_from_errno, cpp_ice): New functions.
690 (cpp_notice): Is now for reporting error conditions, just
691 without an associated file.
692 (cpp_error, cpp_error_with_line): Don't do anything if
693 opts->inhibit_errors is on.
694 (cpp_pedwarn_with_file_and_line): Take column argument also.
695
696 * cpplib.h: Update prototypes of exported functions.
697 (struct cpp_options): Add inhibit_errors.
698
699 * cppalloc.c, cppfiles.c: Use fprintf not cpp_notice for
700 non-error messages. Include intl.h.
701
702 * cppinit.c, cppmain.c: Likewise. Also, use
703 cpp_notice_from_errno instead of cpp_perror_with_name or
704 cpp_pfatal_with_name, and cpp_notice instead of cpp_message.
705
706 * cppexp.c, cpphash.c, cppinit.c, cpplib.c: Use cpp_ice to
707 report internal errors.
708
709 * cpplib.c (do_define): Switch bcopy to memcpy.
710 Give cpp_pedwarn_with_file_and_line a dummy column argument.
711
235c0c0f 712 * cpplib.c (copy_rest_of_line): Revert previous change: don't
713 bail out early if we hit a line comment.
714
2215ca0d 7152000-02-06 Richard Henderson <rth@cygnus.com>
716
717 * flow.c (flow_delete_insn, make_edge, remove_edge): Export.
718 * basic-block.h: Declare them.
719 * emit-rtl.h (active_insn_p): New.
720 (next_active_insn, prev_active_insn): Use it.
721 * rtl.h: Declare it.
722 * function.c (emit_return_into_block): New.
723 (thread_prologue_and_epilogue_insns): Insert return insns instead
724 of epilogues when possible.
725 * jump.c (jump_optimize_1): Remove code to insert a return insn
726 on the fallthru to the exit block.
727
a97194e1 728 * i386.c (ix86_can_use_return_insn_p): Fail for large poped args
729 and for non-empty stack frames.
730 * i386.md (return): Expand to return-pop as needed.
731
125b9253 7322000-02-06 Richard Henderson <rth@cygnus.com>
733
734 * simplify-rtx.c (simplify_relational_operation): Canonicalize
735 constant to op1 for testing.
736
2ffc1517 7372000-02-06 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
738
739 * config/c4x/c4x.md (*ldi_on_overflow): New pattern.
740 (fixuns_truncqfqi2): Use it.
741
c435d70b 7422000-02-06 Richard Henderson <rth@cygnus.com>
743
744 * i386.c (ix86_agi_dependant): Handle pro_epilogue_adjust_stack
745 as a TYPE_LEA insn.
746
747 * i386.md (widening and peepholes): Mask the constant instead of
748 using gen_lowpart.
749
0b60628c 7502000-02-05 Zack Weinberg <zack@wolery.cumb.org>
751
ecb68251 752 * cppfiles.c (read_and_prescan) [case SPECCASE_QUESTION]: Bump
753 input pointer before possibly branching off to the backslash
754 code.
755 * cpphash.c (macroexpand): Correctly delete \r escapes when
756 stringifying parameters.
757 * cpplib.c (copy_rest_of_line): Go directly to skip_block_comment
758 if we can; bail out early if we hit a line comment.
759 (handle_directive): Treat '# 123' in an .S file just like
760 '# <punctuation>'. Discard the shifted '#' if we hit '#\n'.
761 Return 1 for '# not_a_directive'.
762 (get_directive_token): Pop macro buffers here, so that
763 cpp_get_token can't sneakily move past a newline.
764 Add sanity checks.
765 (cpp_get_token): goto randomchar if handle_directive returns 0.
766
08c74ec4 767 * cppalloc.c: Update copyright.
768 * cpplib.c: Merge all the static function prototypes into one
769 block.
770 * cpplib.h: Remove #if 0 block.
771
0b60628c 772 * cpperror.c: Remove #ifdef EMACS block.
773 * cppmain.c: Likewise.
774 * cpphash.c: Remove #if 0 blocks.
775 * cppinit.c: Remove #if 0 blocks, and the -lint option.
776 * cpplib.c: Remove #if 0 blocks and code referencing
777 pcp_inside_if or for_lint. Remove duplicate error message.
778 Fix error messages for #else after #else or #elif. Reformat.
779 Remove archaic TODO list.
780 * cpplib.h: Remove pcp_inside_if and for_lint flags.
781
e15686f1 7822000-02-05 Zack Weinberg <zack@wolery.cumb.org>
783
784 * i386/osf1elf.h: Add missing backslash to multiline string.
785
5b391870 7862000-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
787
788 * longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg.
789
74647769 7902000-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
791
792 * Makefile.in (c-common.o): Depend on $(EXPR_H).
793
794 * c-common.c: Include expr.h.
795
796 * c-pragma.c (mark_align_stack): Add prototype.
797
798 * caller-save.c (add_stored_regs): Likewise.
799
800 * combine.c (record_promoted_value): Likewise.
801
802 * i386.c (ix86_sched_reorder_pentium, ix86_sched_reorder_ppro):
803 Likewise.
804
805 * cppinit.c (new_pending_define): Likewise.
806
807 * cpplib.c (skip_block_comment, skip_line_comment): Likewise.
808
809 * dwarf2out.c (save_rtx, splice_child_die, reverse_die_lists,
810 AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
811 AT_addr, AT_lbl, get_AT_ref, free_AT, free_die, local_scope_p,
812 class_scope_p): Likewise.
813
814 * dwarf2out.h (dwarf2out_set_demangle_name_func,
815 dwarf2out_add_library_unit_info): Likewise.
816
817 * ggc.h (ggc_page_print_statistics): Likewise.
818
819 * haifa-sched.c (propagate_deps): Likewise.
820
821 * reg-stack.c (next_flags_user, record_label_references): Likewise.
822
823 * rtl.h (set_stack_check_libfunc): Likewise.
824
825 * toplev.h (set_fatal_function): Likewise.
826
827 * toplev.c (set_fatal_function): Delete prototype.
828
829 * diagnostic.c: Deconstify functions returning malloc'ed ptrs.
830
a2de0599 8312000-02-05 Geoff Keating <geoffk@cygnus.com>
832
833 * ginclude/ppc-asm.h (FUNC_START): Use USER_LABEL_PREFIX.
834 (FUNC_END): Likewise.
835
6956b388 8362000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
837
838 * caller-save.c: Include tm_p.h.
839
51045f0c 8402000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
841
842 * Makefile.in (libgcc.a): Add $(LIBGCC1) to libgcc.a after $(LIBGCC2).
843
9805b058 8442000-02-04 Neil Booth <NeilB@earthling.net>
845
846 * cccp.c (main): Check 'dir' for a NULL pointer before passing
847 it to strcmp.
848
0d2d46ac 8492000-02-04 Zack Weinberg <zack@wolery.cumb.org>
850
851 * recog.h: Remove NO_MD_PROTOTYPES ifdefs.
852 * genflags.c: Use the max_operand_1 logic from genemit.c to
853 calculate how many arguments gen_insn prototypes have. Remove
854 NO_MD_PROTOTYPES ifdefs from the generated file.
855 * genoutput.c: Don't define NO_MD_PROTOTYPES in the generated
856 file. Cast gen_insn initializers to insn_gen_fn.
857 * config/alpha/vms.h: Don't define NO_MD_PROTOTYPES.
858 * gcc.texi: Remove documentation of NO_MD_PROTOTYPES.
859
ffd92f3c 8602000-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
861
862 * fixinc/Makefile.in (HDR): Add machname.h.
863 (clean): Likewise.
864
792db0c2 8652000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
866
867 * config/c4x/c4x.h (c4x_compare_op0, c4x_compare_op1): Move ...
868 (c4x_regclass_map, c4x_caller_save_map, c4x_rpts_cycles): Ditto.
869 (c4x_cpu_version): Ditto.
870 * config/c4x/c4x-protos.h: ... here.
871
6c92ff4f 8722000-02-04 Jason Merrill <jason@casey.cygnus.com>
873
874 * dwarf2out.c (add_abstract_origin_attribute): Don't call
875 gen_abstract_function on our context if we're a nested function.
876
cc0204c5 8772000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
878
879 * config/c4x/c4x.md (fixuns_truncqfqi2): Rewrite.
880 * config/c4x/libgcc.S (ufix_truncqfhi2n): Fix.
881
cde396ad 8822000-02-04 Bruce Korb <bkorb@gnu.org>
883
884 * fixinc/genfixes(machname.h):
885 Move the functionality from gen-machine.h into this file.
886 UNdef MN_NAME_PAT if there are no names to change.
887 Also, be a little kinder when AutoGen is not present.
888
889 * fixinc/Makefile.in(machname.h):
890 Change the generation rule to use genfixes.
891
892 * fixinc/fixfixes.c(machine_name):
893 machine_name_fix's functionality now dependent upon whether
894 MN_NAME_PAT is defined.
895
896 * fixinc/fixtests.c(machine_name):
897 ditto.
898
899 * fixinc/fixlib.c(mn_get_regexps): conditional on definition
900 of MN_NAME_PAT.
901
902 * fixinc/fixlib.h(mn_get_regexps):
903 ditto
904
905 * fixinc/gen-machine.h: DELETED
906
38cc6f0c 9072000-02-04 Jan Hubicka <jh@suse.cz>
908 Richard Henderson <rth@cygnus.com>
909
125b9253 910 * i386.c (SAVE_REGS_FIRST): Remove.
911 (ix86_initial_elimination_offset): Handle only SAVE_REGS_FIRST mode.
912 (ix86_compute_frame_size): Likewise.
38cc6f0c 913 (ix86_expand_prologue): Likewise. Use pro_epilogue_adjust_stack.
125b9253 914 (ix86_emit_restore_regs): Remove.
38cc6f0c 915 (ix86_emit_epilogue_esp_adjustment): Use pro_epilogue_adjust_stack
916 when a frame pointer is in use.
125b9253 917 (ix86_expand_epilogue): Handle only SAVE_REGS_FIRST mode. Use mov
38cc6f0c 918 instead of pop to restore a register when profitable; emit leave
919 when profitable.
125b9253 920 (ix86_attr_length_default): Handle pro_epilogue_adjust_stack
921 as a TYPE_LEA insn.
38cc6f0c 922 (ix86_adjust_cost): Handle pro_epilogue_adjust_stack as TYPE_ALU.
125b9253 923 * i386.md (prologue_allocate_stack): Remove.
38cc6f0c 924 (epilogue_deallocate_stack): Remove.
925 (pro_epilogue_adjust_stack): New.
926
2766437e 9272000-02-04 Richard Henderson <rth@cygnus.com>
928
929 * function.c (diddle_return_value): Rework to use a callback function.
930 Use current_function_return_rtx if it's been set up.
931 (do_clobber_return_reg, clobber_return_register): New.
932 (do_use_return_reg, use_return_register): New.
933 (expand_function_end): Use them.
934 * stmt.c (expand_null_return): Likewise.
935 * function.h: Declare them.
936 * flow.c (mark_regs_live_at_end): Use diddle_return_value.
937 (mark_reg): Change arguments as appropriate for callback.
938 * integrate.c (expand_inline_function): Revert 19 Jan change.
939
a61eb77e 940Fri Feb 4 20:25:42 2000 Hans-Peter Nilsson <hp@bitrange.com>
941
942 * tm.texi (Values in Registers): Fix typo: "fo" "for".
943 (Misc): Say the scheduler, not the Haifa scheduler.
944
190099a6 9452000-02-04 Clinton Popetz <cpopetz@cygnus.com>
946
947 * jump.c (mark_jump_label): Add in_mem param, check SYMBOL_REFs
948 when in_mem is set. Update all callers.
949
5008dc92 9502000-02-04 Richard Henderson <rth@cygnus.com>
951
952 * i386/openbsd.h (INT_ASM_OP): Define.
953
3387c533 954Fri Feb 4 10:51:30 2000 Hans-Peter Nilsson <hp@bitrange.com>
955
956 * tm.texi: Fix various typos.
957
b6d00c99 958Thu Feb 3 17:17:32 2000 Steve Ellcey <sje@cup.hp.com>
959
960 * config/pa/pa-hpux11.h (LIB_SPEC): Correct typo in !p case.
961 (MD_STARTFILE_PREFIX_1): New macro.
962
2196a3bb 963Thu Feb 3 15:08:13 MET 2000 Jan Hubicka <jh@suse.cz>
964
965 * i386.md (movstrsi, clrstrsi): Support variable sized copies, align
966 destination when needed.
967 (strmovsi, strsetsi): New expander.
968 (strmovsi_1, strsetsi_1): New pattern.
969 * i386.h (MASK_NO_ALIGN_STROP, MASK_INLINE_ALL_STROP,
970 TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS): New macros.
971 (TARGET_SWITCHES) Add align-stringops and inline-all-stringops.
972 * invoke.texi (align-stringops, inline-all-stringops): Document.
973
1d656f74 974Wed Feb 2 23:04:47 2000 Krister Walfridsson <cato@df.lth.se>
975
976 * i386/netbsd.h (INT_ASM_OP): Define.
977
7189e1d2 9782000-02-02 Zack Weinberg <zack@wolery.cumb.org>
979
980 * cpplib.h (cpp_reader): Add new flag, no_directives.
981 * cpphash.c (macarg): Set it.
982 * cpplib.c (handle_directive): If no_directives is on and we
983 find a directive, issue an error and discard the line.
984
640c0501 985Wed Feb 2 13:07:10 2000 Jim Wilson <wilson@cygnus.com>
986
987 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Delete 'E' check for
988 FP constants. Add ! TARGET_FPU check for FP constants.
989
4cbd1be8 9902000-02-02 Clinton Popetz <cpopetz@cygnus.com>
991
992 * flow.c (find_basic_blocks): Don't kill label_value_list
993 here.
994 (cleanup_cfg): Kill it here.
995
e697918d 996Wed Feb 2 08:12:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
997
998 * expr.c (store_field): Ensure ALIGN is no stricter than the
999 alignment of EXP.
1000
8ad78370 10012000-02-02 Richard Henderson <rth@cygnus.com>
1002
1003 * jump.c (delete_insn): Partially revert 19 Jan change;
1004 don't convert unused code labels to notes at -O0.
1005
c8bd8466 10062000-02-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1007
1008 * toplev.c (rest_of_compilation): Run rebuild_jump_labels after
1009 split_all_insns to recreate REG_LABEL notes for flow2 pass.
1010
83070725 10112000-02-01 Richard Henderson <rth@cygnus.com>
1012
1013 * i386.c (general_no_elim_operand): New.
1014 (nonmemory_no_elim_operand): New.
1015 (ix86_expand_move): Copy eliminable operands before a push.
1016 * i386-protos.h: Declare new functions.
1017 * i386.h (CAN_ELIMINATE): Simplify.
1018 (PREDICATE_CODES): Update.
1019 * i386.md (push insns): Don't allow eliminable register operands.
1020
7e7a0814 10212000-02-01 Richard Henderson <rth@cygnus.com>
1022
1023 * flow.c (mark_regs_live_at_end): Follow expand_function_end and
1024 replace BLKmode with DECL_RTL's mode.
1025
6ded1a60 10262000-02-01 Zack Weinberg <zack@wolery.cumb.org>
1027
1028 * frame.c (find_fde): Convert for loop to do-while so compiler
1029 sees it's always executed at least once.
1030 * libgcc2.c (BBINBUFSIZE): Kill.
1031 (__bb_init_prg): Use fgets.
1032 (__bb_exit_trace_func): Don't paste strings.
1033 * unroll.c (unroll_loop): Initialize unroll_type, not
1034 unroll_number, and tweak logic to match.
1035
1036 * i386.c (ix86_expand_int_movcc): Add explicit 'return 0' in
1037 all failure paths.
1038 (ix86_flags_dependant): Likewise. Disentangle control flow.
1039 (ix86_sched_reorder): Break guts out to
1040 ix86_sched_reorder_pentium and ix86_sched_reorder_ppro.
1041 (ix86_sched_reorder_ppro): Initialize pair2 and insnp before
1042 any possible use.
1043
1044 * i386.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Don't
1045 use string concatenation. Don't save and restore esi.
1046
1047 * fixinc/Makefile.in (fixincl.sh): Don't depend on inclhack.def.
1048 (machname.h): Remove script to separate file. Use two-step
1049 sequence so target is not created if script fails.
1050 * fixinc/gen-machname.h: New file. Handle case where no non-reserved
1051 identifiers are defined.
1052 * fixinc/fixlib.c (mn_get_regexps): Return a flag: if MN_NAME_PAT is
1053 an empty string, machine_name doesn't need to do anything at
1054 all.
1055 (is_cxx_header): Add more cases to regexp.
1056 * fixinc/fixlib.h: Update prototype.
1057 * fixinc/fixtests.c, fixinc/fixfixes.c: Update callers of
1058 mn_get_regexps.
1059 * fixinc/fixincl.c: Define NO_BOGOSITY.
1060
1061 * fixinc/inclhack.def (no_double_slash, else_endif_label): Ifdef out.
1062 (hp_sysfile): Add missing comma.
1063 (math_exception): Put the wrapper ifdefs at the beginning and
1064 the end of the file.
1065 * fixinc/fixincl.x, fixinc/inclhack.sh: Regenerate.
1066
909e6c77 10672000-02-01 Richard Henderson <rth@cygnus.com>
1068
1069 * sparc.c (fp_zero_operand): Turn into a normal predicate.
1070 Use CONST0_RTX. Update all callers.
1071 * sparc.h, sparc-protos.h: Update accordingly.
1072 * sparc.md (fp mov insns): Use fp_zero_operand directly
1073 where applicable.
1074
84bf2056 1075Wed Feb 2 02:59:45 2000 Hans-Peter Nilsson <hp@bitrange.com>
1076
1077 * tm.texi (Values in Registers): Fix typo in HARD_REGNO_NREGS
1078 example.
1079
584727c9 10802000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1081
1082 * Makefile.in (specs.ready): New target.
1083 (fixinc.sh): Depend on `specs.ready' instead of `specs'.
1084
42b2bf3e 10852000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1086
1087 * fixinc.irix: Use unique filenames for writing into /tmp,
1088 * fixinc.ptx: Likewise.
1089 * fixinc.sco: Likewise.
1090 * fixinc.svr4: Likewise.
1091 * fixinc.winnt: Likewise.
1092
069631e1 10932000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1094
1095 * tsystem.h: New file.
1096
1097 * Makefile.in (libgcc2.a, stmp-multilib, crtbegin.o, crtend.o,
1098 s-crtS): Depend on tsystem.h.
1099
1100 * crtstuff.c: Include tsystem.h.
1101 * frame.c: Likewise.
1102 * libgcc2.c: Likewise.
1103
9c69bdf3 1104Tue Feb 1 19:53:27 CET 2000 Jan Hubicka <jh@suse.cz>
1105
1106 * builtins.c (expand_builtin_memset): Expand for variable sized
1107 lengths too.
1108
24e8e66b 11092000-02-01 David Billinghurst <David.Billinghurst@riotinto.com.au>
1110
1111 * config/mips/iris6.h (SUBTARGET_ASM_SPEC) : Default ISA based
1112 on ABI.
1113
79fa2a87 1114Tue Feb 1 00:57:40 2000 Hans-Peter Nilsson <hp@bitrange.com>
1115
1116 * dwarfout.c (SHORT_TYPE_SIZE): Correct default.
1117
1118 * tm.texi (Type Layout): Correct entry for CHAR_TYPE_SIZE.
1119
25288c4e 11202000-01-31 Chandra Chavva <cchavva@cygnus.com>
1121
1122 * combine.c (try_combine) [HAVE_cc0]: Trying to check the missed
1123 case 3->2 combining (combining with splitting) in which 2 is CC0
1124 setter/user and 3 is user. The rest of cases 2->1 and 3->2 are
1125 checked at the begining of the function with the aid of calling
1126 function 'can_combine_p'.
1127
98d4234b 11282000-01-31 Dave Brolley <brolley@redhat.com>
1129
1130 * cccp.c (struct argdata): Redeclare 'newlines' field as 'int'.
1131
9cf49039 11322000-01-31 Jason Merrill <jason@casey.cygnus.com>
1133
1134 * jump.c (redirect_jump): Move a NOTE_INSN_FUNCTION_END to the
1135 new label.
1136
1b15c907 11372000-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1138
1139 * gansidecl.h (PROTO, VPROTO, PVPROTO): Delete macros.
1140
1141 * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit):
1142 PROTO -> PARAMS.
1143
1cc929a1 11442000-01-30 Zack Weinberg <zack@wolery.cumb.org>
1145
1146 * i386/386bsd.h, i386/beos-pe.h, i386/bsd386.h, i386/crtdll.h,
1147 i386/cygwin.h, i386/dgux.h, i386/djgpp-rtems.h, i386/djgpp.h,
1148 i386/freebsd.h, i386/gnu.h, i386/i386-aout.h, i386/i386-coff.h,
1149 i386/i386-interix.h, i386/i386elf.h, i386/linux.h, i386/lynx-ng.h,
1150 i386/lynx.h, i386/mach.h, i386/mingw32.h, i386/moss.h,
1151 i386/netbsd.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
1152 i386/ptx4-i.h, i386/rtems.h, i386/rtemself.h, i386/sco.h,
1153 i386/sequent.h, i386/sun.h, i386/sysv4.h, i386/uwin.h, i386/vsta.h,
1154 i386/vxi386.h, i386/win-nt.h, i386/win32.h:
1155 Remove -Di386 -Acpu(i386) -Amachine(i386) from CPP_PREDEFINES.
1156
1157 * i386/osf1elf.h, i386/scodbx.h, i386/seq-sysv3.h, i386/sysv5.h:
1158 Add %(cpp_cpu) to CPP_SPEC.
1159
1160 * i386/osf1elf.h, i386/osfelf.h, i386/osfrose.h:
1161 Add %(cc1_cpu) to CC1_SPEC.
1162
70f6ee86 11632000-01-28 Ulrich Drepper <drepper@redhat.com>
1164
1165 * c-decl.c (c_decode_option): Accept optional numeric argument to
1166 -Wformat and set warn_format.
1167 * c-common.c: Don't emit warning about non-constant printf format
1168 string unless warn_format > 1.
1169
1067a44e 11702000-01-30 Richard Henderson <rth@cygnus.com>
1171
1172 * alpha.md (return_internal): Allow after reload only.
1173
3dcd0d86 11742000-01-30 Richard Henderson <rth@cygnus.com>
1175
1176 * i386.c (ix86_compute_frame_size): Omit padding1 if the
1177 local frame size is zero.
1178
cdd2135b 11792000-01-30 Richard Henderson <rth@cygnus.com>
1180
1181 * alpha.c (alpha_expand_epilogue): Don't emit the return insn.
1182 * alpha.h (EPILOGUE_USES): New. Mark $26 live.
1183 * alpha.md (return): Turn into an expander.
1184 (return_internal): Don't use $26.
1185 (epilogue): Emit the return insn.
1186
89c4e055 11872000-01-30 Richard Henderson <rth@cygnus.com>
1188
1189 * alpha.md (negtf2, abstf2): Fix word order thinko.
1190 (extendsftf2): New.
1191 (trunctfsf2): Avoid intermediate rounding errors.
1192
191af331 11932000-01-30 Zack Weinberg <zack@wolery.cumb.org>
1194
1195 * cppfiles.c (find_position): Drop 'colp' argument, return the
1196 new line base.
1197 (read_and_prescan): Adjust to match. Don't ever manipulate
1198 line or line_base except via find_position.
1199
61c9e9ec 12002000-01-29 Zack Weinberg <zack@wolery.cumb.org>
1201
1202 * c-parse.in: Apply Ulrich's changes from c-parse.y.
1203 * c-parse.y, objc/objc-parse.y, c-parse.c, objc/objc-parse.c:
1204 Regenerate.
1205
2b9117af 12062000-01-29 Zack Weinberg <zack@wolery.cumb.org>
1207
1208 * cpperror.c (cpp_file_line_for_message): If 'line' is zero,
1209 just print "<command line>". If 'filename' is null or an
1210 empty string, print "<stdin>" for the filename.
1211 * cpplib.c (do_define): Don't print the 'location of the
1212 previous definition' message if we're still parsing the
1213 command line.
1214 (cpp_pedwarn_with_file_and_line): Always call
1215 cpp_file_line_for_message.
1216
0748bb79 12172000-01-29 Mark Mitchell <mark@codesourcery.com>
1218
1219 * flow.c (mark_regs_live_at_end): Fix typo.
1220
02345968 12212000-01-28 Ulrich Drepper <drepper@redhat.com>
1222
1223 * c-common.c: Adjust variable names, comments, help strings to c99.
1224 * c-lex.c: Likewise.
1225 * c-parse.y: Likewise.
1226 * c-tree.h: Likewise.
1227 * cccp.c: Likewise.
1228 * cpplib.h: Likewise.
1229 * c-decl.c: Likewise. Recognize options with names "*99" as well.
1230 * cppinit.c: Likewise.
1231
6cc56c00 12322000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1233
7e7a0814 1234 * c4x.h (INIT_TARGET_OPTABS): Add all missing local optab entries.
6cc56c00 1235 * c4x.c: Define the optab rtx values.
1236 (c4x_add_gc_roots): Add the ggc roots for these optab rtx values.
1237 (c4x_emit_libcall): Use new optab rtx values.
1238 (c4x_emit_libcall3): Likewise.
1239 (c4x_emit_libcall_mulhi): Likewise.
1240 * c4x-protos.h: Add prototypes for optab rtx values and change
1241 prototypes for above c4x_emit_libcall functions.
1242
b9c319d4 12432000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1244
7e7a0814 1245 * c4x.c (c4x_output_ascii): Restrict line length of output when TI
b9c319d4 1246 syntax is used.
1247 (c4x_function_prologue): Use regnames intead of float_reg_names when
1248 TI syntax is used.
1249 (c4x_function_epilogue): Likewise.
1250 (c4x_print_operand): Likewise.
1251 * c4x.h (HOST_WIDE_INT_PRINT_HEX): Redefine.
1252 * c4x.md (set_high): Disable for TARGET_TI.
1253
12542000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
e877bdb9 1255
1256 * c4x.h (PREFERRED_RELOAD_CLASS): Change to restrict the reloading
1257 of framepointer + constant to ADDR_REGS class.
1258 * c4x.md (addqi3, addqi3_noclobber_reload): Update.
1259 * c4x.c (std_or_reg_operand): New function.
1260 * c4x-protos.h (std_or_reg_operand): Prototype it.
1261
1d8c085b 12622000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1263
1264 * t-c4x: Change qi,qf,di,df into si,sf,hi,hf to generate same
1265 object names as libgcc2.c.
1266 * libgcc.S: Use newly defined names.
1267
7fcadf62 1268Fri Jan 7 19:48:04 CET 2000 Jan Hubicka <jh@suse.cz>
1269 * sbitmap.c (sbitmap_first_set_bit, sbitmap_last_set_bit): New
1270 function.
1271 * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): Declare.
1272 * basic_block.h (FLOW_LOOP_FIRST_BLOCK): New macro.
1273 (FLOW_LOOP_LAST_BLOCK): Likewise.
1274
12752000-01-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1276
1277 * basic-block.h (struct loop): New fields 'first' and 'last'.
1278 * flow.c (flow_loops_find): Compute loop->first and loop->last.
1279 (flow_loops_dump): Use loop->first to check for NOTE_INSN_LOOP_BEG
1280 and loop->last to check for NOTE_INSN_LOOP_END.
1281
1282Fri Jan 28 10:57:58 2000 Jason Eckhardt <jle@cygnus.com>
1283
1284 * predict.c (estimate_probability): Use the new FIRST and LAST fields
1285 of the loop descriptor rather than HEADER and LATCH. Also added
1286 missing break statements as well making some coding style modifications
1287 as suggested by Michael Hayes.
1288
777e249a 12892000-01-28 Richard Henderson <rth@cygnus.com>
1290
1291 * flow.c (find_basic_blocks): Remove do_cleanup argument.
1292 Break out that code ...
1293 (cleanup_cfg): ... here.
1294 (commit_one_edge_insertion): Detect a return instruction being
1295 emitted to an edge. Emit a barrier following; clear fallthru.
1296 (commit_edge_insertions): Verify CFG consistency.
1297 * function.c (expand_function_start): Kill unused variable.
1298 (expand_function_end): Likewise.
1299 (thread_prologue_and_epilogue_insns): Use insert_insn_on_edge
1300 to insert the epilogue.
1301
1302 * gcse.c (gcse_main): Adjust for find_basic_blocks change.
1303 (delete_null_pointer_checks): Likewise.
1304 * output.h: Likewise.
1305 * reg-stack.c (reg_to_stack): Likewise.
1306 * toplev.c (rest_of_compilation): Likewise. Run
1307 thread_prologue_and_epilogue_insns after rebuilding the CFG.
1308
8bdd9961 13092000-01-28 Richard Henderson <rth@cygnus.com>
1310
1311 * Makefile.in (flow.o): Revert 24 Jan change.
1312 * flow.c (mark_regs_live_at_end): Likewise. Force BLKmode
1313 FUNCTION_VALUE result to DECL_RESULT's mode.
1314
271f3c2e 1315 * haifa-sched.c (schedule_insns): Don't recompute reg info
1316 after reload.
1317
f2187d4d 13182000-01-28 Zack Weinberg <zack@wolery.cumb.org>
1319
1320 * configure.in: Make --enable-cpplib the default.
1321 * configure: Regenerate.
1322 * gcc.dg/990119-1.c: No longer expected to fail.
1323
3b444bd5 13242000-01-28 Bernd Schmidt <bernds@cygnus.co.uk>
1325
1326 * jump.c (jump_optimize_1): Delete an optimization that is also done
1327 by merge_blocks in flow.
1328
76a75ed9 13292000-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1330
1331 * diagnostic.c (build_message_string, output_printf,
1332 line_wrapper_printf): Add ATTRIBUTE_PRINTF_*.
1333 (build_location_prefix): Fix non-literal format string.
1334
7bbf1f8d 13352000-01-27 Richard Henderson <rth@cygnus.com>
1336
7e7a0814 1337 * alpha.md (trunctfsf2): New.
7bbf1f8d 1338
27e19e34 13392000-01-27 Andrew Hobson <ahobson@eng.mindspring.net>
1340
1341 * configure.in (alpha-dec-osf5): Enable MASK_SUPPORT_ARCH.
1342
3dace059 13432000-01-27 Zack Weinberg <zack@wolery.cumb.org>
1344
1345 * cppinit.c (cpp_handle_option): Recognize C++ comments under
1346 -std=gnu89.
1347 * cpplib.c (skip_block_comment, skip_line_comment): Split code
1348 out of...
1349 (skip_comment) ... here. Permit C++ comments in system
1350 headers always. Warn about C++ comments in user code under
1351 -std=gnu89 -pedantic.
1352 (copy_comment): Use skip_comment.
1353 (cpp_skip_hspace, cpp_get_token): skip_comment can no longer
1354 return EOF.
1355 (consider_directive_while_skipping, do_else, do_endif): Call
1356 validate_else unconditionally.
1357 (validate_else): Check CPP_PEDANTIC here. Accept non-comment
1358 text after the conditional in a system header.
1359 * cpplib.h (struct cpp_buffer): Add flag
1360 warned_cplusplus_comments.
1361
2d96a59a 13622000-01-27 Geoffrey Keating <geoffk@cygnus.com>
1363
1364 * emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too.
1365 Use unshare_all_rtl_1.
1366 (unshare_all_rtl_again): New function.
1367 (unshare_all_rtl_1): New function split out of unshare_all_rtl.
1368
1369 * function.c (purge_addressof_1): Use unshare_all_rtl_again
1370 rather than resetting the 'used' flags ourself.
1371
1372 * toplev.c (rest_of_compilation): Add current_function_decl
1373 to the unshare_all_rtl call.
1374 * tree.h: Prototype unshare_all_rtl.
1375 * rtl.h: Prototype unshare_all_rtl_again here.
1376
13772000-01-27 Geoffrey Keating <geoffk@cygnus.com>
bde3a957 1378
1379 * genoutput.c (output_prologue): Include ggc.h in generated
1380 files.
1381 * Makefile.in (insn-output.o): Depends on ggc.h.
1382
3e7486d7 13832000-01-27 Ian Dall <ian@sibyl.beware.dropbear.id.au>
1384 Hans-Peter Nilsson <hp@bitrange.com>
1385
1386 * ns32k/xm-ns32k.h (memcpy, memset, memcmp): Delete.
1387 Remove redundant include of xm-ns32k.h.
1388 * ns32k/xm-genix.h (memcpy, memset, memcmp): Add definitions.
1389 Remove redundant include of xm-ns32k.h.
1390 * ns32k/xm-netbsd.h (memcpy, memset, memcmp): No longer undefine.
1391 Remove redundant include of xm-ns32k.h.
1392 * ns32k/netbsd.h (TARGET_DEFAULT): Enable multiply-add instructions.
1393
1394 * ns32k/ns32k.h: Update comment on multiply-add instructions.
86395a1c 1395 (TARGET_SWITCHES): Add documentation strings.
3e7486d7 1396 (DWARF_FRAME_REGNUM): Override default definition.
1397 (REG_CLASS_CONTENTS): Add comments.
1398 (SUBSET_P): Format to reduce line length.
1399 (SMALL_REGISTER_CLASSES): Make a run time option.
1400 (GO_IF_NONINDEXED_ADDRESS): Reformat.
1401 (GO_IF_LEGITIMATE_ADDRESS): Ensure that cfun is non NULL before
86395a1c 1402 dereferencing it. Braces to avoid "ambiguous else" were misplaced.
3e7486d7 1403 (regclass_map): fix typo in comment.
1404 * ns32k/ns32k.c: Add spaces before parentheses for consistant style.
1405 Prefer gen_rtx_FOO(...) to gen_rtx(FOO,...).
1406 (trace, reg_or_mem_operand): Delete, unused function.
1407 (calc_address_cost): Small offsets are cheaper than large ones.
1408 (expand_block_move): Generate more efficient code when bytes is a
86395a1c 1409 known at compile time.
3e7486d7 1410 * ns32k/ns32k.md: Alternate constraints for multiply-add instructions.
1411 (udivmodsi4, udivmodhi4, udivmodqi4): Use nonimmediate_operand
bb831b93 1412 instead of reg_or_mem_operand.
86395a1c 1413
3e7486d7 1414 * ns32k/ns32k.md: Use nonimmediate_operand or stricter for outputs,
1415 not general_operand. Similarly use "=rm" or stricter, not "=g".
1416 For input operands, use stricter constraints than "g" if not
1417 general_operand. Similarly use stricter predicate than
1418 "general_operand" when stricter constraints than "g" are present,
1419 except for matching constraints.
1420 (movstrsi): Use "memory_operand" for operands 0 and 1.
1421 (truncsiqi2, truncsihi2, trunchiqi2): Remove.
1422 (udivmoddisi4_internal): Use nonimmediate_operand for operand 0,
1423 not reg_or_mem_operand.
1424 (udivmoddisi4): Ditto.
1425 Use nonimmediate_operand for operand 1, not reg_or_mem_operand.
1426 Use nonimmediate_operand for operand 3, not register_operand.
1427 (udivmoddiqi4_internal): Use register_operand for operand 1, not
1428 reg_or_mem_operand.
1429
00a2e859 14302000-01-27 Fred Fish <fnf@be.com>
1431
1432 * gthr-posix.h: Fix typo; compatibily -> compatibility.
1433 * gthr-single.h: Likewise.
1434 * gthr-solaris.h: Likewise.
1435 * gthr-vxworks.h: Likewise.
1436 * gthr-win32.h: Likewise.
1437 * gthr.h: Likewise.
1438
af3cb4c3 14392000-01-27 Zack Weinberg <zack@wolery.cumb.org>
1440
1441 * cppinit.c: Add " (cpplib)" to end of string printed by
1442 -v / --version.
1443
2a42ba09 14442000-01-27 Richard Henderson <rth@cygnus.com>
1445
1446 * alpha.c (alpha_emit_conditional_move): Use VOIDmode when
1447 testing for a signed comparison.
1448 (alpha_emit_floatuns): New.
1449 * alpha-protos.h: Declare it.
1450 * alpha.md (floatunsdisf2, floatunsdidf2): New.
1451 (extendsfdf2): Tidy.
1452
52bec1f6 14532000-01-27 Jakub Jelinek <jakub@redhat.com>
1454
1455 * config/sparc/linux64.h (CC1_SPEC): If compiling -m32 with -g but
1456 no -g option specifying debugging format, default to -gstabs+.
1457
86395a1c 1458Wed Jan 26 22:19:14 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
255b8f3f 1459
1460 * calls.c (special_function_p): New argument fork_or_exec.
1461 (expand_call): When profile_arc_flag is set and the function
1462 is in the fork_or_exec group, call __bb_fork_func first.
1463 * libgcc2.c, _bb module (__bb_fork_func): New function.
1464 (__bb_exit_func): If fcntl F_SETLKW is available, use it to lock
1465 output file.
1466 * config/svr4.h (TARGET_HAS_F_SETLKW): Define.
1467 * tree.h (special_function_p): Update prototype.
1468
3420680b 14692000-01-26 Richard Henderson <rth@cygnus.com>
1470
1471 * alpha.c (alpha_split_tfmode_pair): New.
1472 * alpha-protos.h: Declare it.
1473 * alpha.md (abstf2, negtf2): New.
1474 (movtf insn): Add input G constraint.
1475 (movtf splitter): Use alpha_split_tfmode_pair.
1476
d2a195ef 14772000-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1478
1479 * i386/cygwin.h: PROTO -> PARAMS.
1480
b59496fa 14812000-01-26 Jakub Jelinek <jakub@redhat.com>
1482
1483 * config/sparc/sparc.c (sparc_emit_float_lib_cmp): Handle
1484 TARGET_ARCH32 again. Handle ORDERED, UN* and LTGT comparisons
1485 using _Qp_cmp/_Q_cmp and testing the return value.
1486 (print_operand): Call reverse_condition_maybe_unordered if
1487 we are handling CCFPmode or CCFPEmode.
1488 Handle ORDERED, UN* and LTGT comparisons.
1489 * config/sparc/sparc.md (cmptf): Use even on TARGET_ARCH32
1490 if not TARGET_HARD_QUAD.
1491 (seq, sne, sgt, slt, sge, sle, beq, bne, bgt, blt, bge, ble,
1492 bunordered, bordered, bungt, bunlt, buneq, bunge, bunle, bltgt):
1493 Call sparc_emit_float_lib_cmp even on TARGET_ARCH32.
1494 Adjust gen_b* calls so that they reflect return comparison of
1495 sparc_emit_float_lib_cmp.
1496
b90b6519 14972000-01-26 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
1498
1499 * config/alpha/alpha.c (alpha_emit_xfloating_cvt): Do not assume
1500 incoming operands array is large enough for one more operand.
1501 (alpha_emit_xfloating_arith): Likewise.
1502
313945de 15032000-01-25 Zack Weinberg <zack@wolery.cumb.org>
1504
1505 * fixinc/Makefile.in (machname.h): SunOS 4 sed can't handle a
1506 file with one line and no trailing newline.
1507 Patch by Kaveh Ghazi <ghazi@caip.rutgers.edu>.
1508 * fixinc/fixtests.c (machine_name_test): Fix fencepost error
1509 checking if the match is on the line.
1510 * fixinc/gnu-regex.c: Provide regerror not __regerror.
1511
b76e5a9b 15122000-01-25 Richard Henderson <rth@cygnus.com>
1513
1514 * sparc.c (output_cbranch): Fix accidental squashing of the
1515 fp branch pre-delay nop.
1516
79777bad 15172000-01-25 Richard Henderson <rth@cygnus.com>
1518
1519 * tree.def (UNNE_EXPR): Remove.
1520 * c-typeck.c (build_binary_op): Don't handle it.
1521 * expr.c (expand_expr, do_jump, do_store_flag): Likewise.
1522
1523 * rtl.def (UNNE): Remove.
1524 (LTGT): Add.
1525 * jump.c (reverse_condition): Update accordingly.
1526 (swap_condition): Likewise.
1527 (comparison_dominates_p): Handle unordered comparisons.
1528 (reverse_condition_maybe_unordered): New.
1529 * rtl.h (reverse_condition_maybe_unordered): Declare.
1530
1531 * sparc.c (select_cc_mode): Update for UNNE/LTGT.
1532 (output_cbranch): Use reverse_condition_maybe_unordered and LTGT.
1533 * sparc.h (REVERSIBLE_CC_MODE): Always true. Update docs.
1534 * sparc.md (bltgt): New.
1535
06fe29c4 15362000-01-25 Nick Clifton <nickc@redhat.com>
1537
1538 * emit-rtl.c (emit_insn): Only check machine class insns for
1539 improper emission of a RETURN.
1540
655ee98e 15412000-01-25 Richard Henderson <rth@cygnus.com>
1542
1543 * Makefile.in (flow.o): Depend on $(EXPR_H).
1544 * flow.c (mark_regs_live_at_end): Use hard_function_value, i.e.
1545 duplicate the structure of diddle_return_value for keeping regs live.
1546
15fc3eb7 15472000-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1548
1549 * loop.c (current_loop_info): Delete.
1550 (consec_sets_invariant_p): Add loop argument, update callers.
1551 (get_condition_for_loop): Likewise.
1552 (count_nonfixed_reads, update_giv_derive): Likewise.
1553 (simplify_giv_expr, general_induction_var): Likewise.
1554 (consec_sets_giv, recombine_givs): Likewise.
1555 (move_movables): Delete loop_start and loop_end arguments,
1556 add loop argument, and update callers.
1557 (find_mem_givs, check_final_value): Likewise.
1558 (record_giv, maybe_eliminate_biv, maybe_eliminate_biv_1): Likewise.
1559 (loop_invariant_p): Rename from invariant_p, add loop argument, and
1560 update callers.
1561 (basic_induction_var): Add loop argument, delete loop_level argument,
1562 and update callers.
1563 * unroll.c (iteration_info): Delete loop_start and loop_end arguments,
1564 add loop argument, and update callers.
1565 (find_splittable_regs, find_splittable_givs): Likewise.
1566 (reg_dead_after_loop, loop_find_equiv_value): Likewise.
1567 (final_biv_value, final_giv_value, back_branch_in_range_p): Likewise.
1568 (biv_total_increment): Delete loop_start and loop_end arguments;
1569 update callers.
1570 (precondition_loop_p): Delete loop_start and loop_info arguments;
1571 update callers.
1572 * loop.h (get_condition_for_loop): Add loop argument.
1573 (biv_total_increment): Delete loop_start and loop_end arguments.
1574 (precondition_loop_p): Delete loop_start and loop_info arguments;
1575 add loop argument.
1576 (final_biv_value): Delete loop_start and loop_end arguments;
1577 add loop argument.
1578 (final_giv_value, back_branch_in_range_p): Likewise.
1579
65c1406b 15802000-01-25 Gavin Romig-Koch <gavin@cygnus.com>
1581
1582 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Fix for mips16.
1583
d73e991a 15842000-01-25 Gavin Romig-Koch <gavin@cygnus.com>
1585
1586 * Makefile.in (c-gperf.h) : Change the "See" pointer to
1587 point to the new "generated_files" doc.
1588
13b7c373 15892000-01-25 Clinton Popetz <cpopetz@cygnus.com>
1590
1591 * config/fp-bit.c (_unord_f2): Fix typo.
1592
f8b540f2 15932000-01-25 Zack Weinberg <zack@wolery.cumb.org>
1594
1595 * c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c,
1596 c-typeck.c, objc/objc-act.c: Remove all references to obstack
1597 functions obsoleted by GC, such as push_obstacks_nochange,
1598 end_temporary_allocation, savealloc, saveable_tree_cons, etc.
1599 and code which existed only to decide whether or not to call
1600 them. Remove now-unused NESTED argument from start_function;
1601 all callers changed. Do not change behavior based on ggc_p.
1602 The use of the ixp_obstack in c-iterate.c and the util_obstack
1603 in objc/objc-act.c remain; these are not obsoleted by garbage
1604 collection.
1605 * c-tree.h: Update prototype for start_function.
1606
1607 * c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild.
1608
3afe7663 16092000-01-25 Clinton Popetz <cpopetz@cygnus.com>
1610
1611 * config/mips/mips.md (zero_extendsidi2_internal): Disable for
1612 mips16.
1613
9312a956 16142000-01-25 Richard Henderson <rth@cygnus.com>
1615
1616 * sparc-protos.h (select_cc_mode): Declare.
1617 * sparc.c (select_cc_mode): New. Handle unordered compares.
1618 (output_cbranch): Always reverse via code change. Handle
1619 unordered compares. Factor tests and string updates.
1620 * sparc.h (SELECT_CC_MODE): Split out to select_cc_mode.
1621 (REVERSIBLE_CC_MODE): Also exclude CCFPmode.
1622 * sparc.md (bunordered, bordered): New.
1623 (bungt, bunlt, buneq, bunge, bunle): New.
1624
cf6cce73 16252000-01-25 Richard Henderson <rth@cygnus.com>
1626
1627 * dwarf2out.c (dwarf2out_init): Use ggc_add_rtx_varray_root.
1628 * ggc-common.c (ggc_add_rtx_varray_root): New.
1629 (ggc_mark_rtx_varray): New.
1630 (ggc_mark_rtx_varray_ptr): New. Shift all ggc_mark_foo_ptr
1631 functions down below ggc_mark_foo.
1632 * ggc.h (ggc_add_rtx_varray_root, ggc_mark_rtx_varray): Declare.
1633
d60e9bbd 16342000-01-25 Richard Henderson <rth@cygnus.com>
1635
1636 * alpha.c (secondary_reload_class): Don't allocate a secondary
1637 for integral mode memories into FLOAT_REGS. Rearrange the more
1638 complicated memory expression inward.
1639
d4c4b01d 16402000-01-25 Zack Weinberg <zack@wolery.cumb.org>
1641
1642 * inclhack.def: Fixes to play nicer with FreeBSD, and
1643 corrections to comments.
1644 (cxx_unready): Add select expression.
1645 (irix_sockaddr): Add bypass expression.
1646 (machine_ansi_h_va_list): New fix.
1647 (stdio_va_list): No need to edit _BSD_VA_LIST_.
1648 Split out addition of "#include <stdarg.h>" to...
1649 (stdio_stdarg_h): ... here.
1650 (systypes_for_aix): Rename to systypes_stdlib_size_t. Apply
1651 to stdlib.h also. Do not munge _BSD_SIZE_T_.
1652 (sysz_stdlib_for_sun): Delete duplicate fix for unprotected
1653 size_t.
1654 (ultrix_ifdef): Tighten up select expression.
1655
1656 * fixincl.tpl: Exorcise 'exesel'. Rewrite calculations of
1657 re_ct and max_mach to avoid use of shell. Make printed names
1658 match names in inclhack.def. Use static copyright date.
1659 Don't count c_test and test expressions as requiring regex_t
1660 slots. Add some commentary.
1661 * inclhack.tpl: Do not include the 'This script contains N
1662 fixup scripts' line if PROGRAM is defined. Use static
1663 copyright date.
1664
eacbfaac 16652000-01-24 Jason Merrill <jason@casey.cygnus.com>
1666
1667 * dwarf2out.c: include "varray.h", not dyn-string.h.
1668 (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_NAME_TO_STRING): Lose.
1669 (addr_const_to_string, addr_to_string): Lose.
1670 (ASM_OUTPUT_DWARF_ADDR_CONST): Copy from dwarfout.c.
1671 (struct dw_val_struct): val_addr is now an rtx.
1672 (add_AT_addr, AT_addr, free_AT, output_aranges): Adjust.
1673 (used_rtx_varray): New varray.
1674 (dwarf2out_init): Initialize it.
1675 (save_rtx): New fn.
1676 (mem_loc_descriptor, add_const_value_attribute): Call it instead of
1677 addr_to_string.
86395a1c 1678 * arm/telf.h, arm/unknown-elf.h, mn10200.h, mn10300.h,
eacbfaac 1679 sparc/sp64-elf.h: Remove definition of ASM_OUTPUT_DWARF2_ADDR_CONST.
1680 * Makefile.in (dwarf2out.o): Update dependencies.
1681
16822000-01-24 Richard Henderson <rth@cygnus.com>
1683
1684 * i386.c (i386_dwarf_output_addr_const): New.
1685 * i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): New.
1686
1687 * dwarf2out.c (mem_loc_descriptor): Call ASM_SIMPLIFY_DWARF_ADDR
1688 if defined.
1689 * dwarfout.c (output_mem_loc_descriptor): Likewise.
1690 * i386.c (i386_simplify_dwarf_addr): New.
1691 * i386.h (ASM_SIMPLIFY_DWARF_ADDR): New.
1692
87ccbd32 1693Mon Jan 24 16:56:10 2000 Jim Wilson <wilson@cygnus.com>
1694
1695 * dwarf2out.c (gen_struct_or_union_type_die): Set complete if
1696 TYPE_STUB_DECL is NULL.
1697
605fb01e 16982000-01-24 Richard Henderson <rth@cygnus.com>
1699
1700 * builtins.c (expand_tree_builtin): Move ...
1701 * c-common.c (expand_tree_builtin): ... here.
1702
7bc9de79 17032000-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1704
1705 * loop.h (LOOP_INFO): New accessor macro.
1706 * basic-block.h (struct loop): Rename field `info' to `aux'.
1707 * loop.c (scan_loop): Replace loop->info with LOOP_INFO (loop).
1708 (prescan_loop, strength_reduce, check_dbra_loop, insert_bct): Likewise.
1709 * unroll.c (loop_iterations, unroll_loop): Likewise.
1710
23718fc7 17112000-01-24 Christopher Faylor <cgf@cygnus.com>
1712
1713 * config/i386/t-cygwin: Accomodate new winsup directory layout
1714 when searching for include files.
1715
a4110d9a 17162000-01-24 Richard Henderson <rth@cygnus.com>
1717
1718 * rtl.def: Add unordered fp comparisions.
1719 * tree.def: Likewise.
1720 * tree.h: Add ISO C 9x unordered fp comparision builtins.
1721
1722 * builtins.c (expand_tree_builtin): New function.
1723 * c-typeck.c (build_function_call): Use it.
1724 (build_binary_op): Support unordered compares.
1725 * c-common.c (c_common_nodes_and_builtins): Add unordered compares.
1726
1727 * combine.c (known_cond): Handle reverse_condition returning UNKNOWN.
1728 (reversible_comparison_p): Allow UNORDERED/ORDERED to be reversed.
1729 * cse.c (fold_rtx): Check FLOAT_MODE_P before reversing.
1730 (record_jump_equiv): Handle reverse_condition returning UNKNOWN.
1731 * jump.c (reverse_condition): Don't abort for UNLE etc, but
1732 return UNKNOWN.
1733 (swap_condition): Handle unordered compares.
1734 (thread_jumps): Check can_reverse before reversing.
1735 * loop.c (get_condition): Likewise. Allow UNORERED/ORDERED to be
1736 reversed for FP.
1737
1738 * optabs.c (can_compare_p): New argument CODE. Verify branch or
1739 setcc is present before acking for cmp_optab. Update all callers.
1740 (prepare_float_lib_cmp, init_optabs): Handle UNORDERED.
1741 * expmed.c (do_cmp_and_jump): Update for can_compare_p.
1742 * expr.c (expand_expr): Likewise. Support unordered compares.
1743 (do_jump, do_store_flag): Likewise.
1744 * expr.h (enum libfunc_index): Add unordered compares.
1745
1746 * Makefile.in (FPBIT_FUNCS): Add _unord_sf.
1747 (DPBIT_FUNCS): Add _unord_df.
1748 * config/fp-bit.c (_unord_f2): New.
1749 * fp-test.c (main): Try unordered compare builtins.
1750
1751 * alpha-protos.h (alpha_fp_comparison_operator): Declare.
1752 * alpha.c (alpha_comparison_operator): Check mode properly.
1753 (alpha_swapped_comparison_operator): Likewise.
1754 (signed_comparison_operator): Likewise.
1755 (alpha_fp_comparison_operator): New.
1756 (alpha_emit_conditional_branch): Handle unordered compares.
1757 * alpha.h (PREDICATE_CODES): Update.
1758 * alpha.md (fp compares): Use alpha_fp_comparison_operator.
1759 (bunordered, bordered): New.
1760
8581412d 17612000-01-24 Richard Henderson <rth@cygnus.com>
1762
1763 * alpha.c (alpha_emit_xfloating_cvt): Thinko in operand manipulation.
1764 * alpha.md (movtf): New expander, insn, and splitter.
1765
c95cfc31 1766Mon Jan 24 19:49:47 MET 2000 Jan Hubicka <jh@suse.cz>
1767
1768 * reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
1769 dead registers.
1770
8c5dc77f 1771Mon Jan 24 17:37:31 MET 2000 Jan Hubicka <jh@suse.cz>
1772
1773 * i386.h (FIRST_PSEUDO_REGISTER): Set to 21.
1774 (FIXED_REGISTERS, CALL_USED_REGISTERS,
1775 REG_ALLOC_ORDER): Add frame pointer
1776 (FRAME_POINTER_REGNUM): Set to 20
1777 (HARD_FRAME_POINTER_REGNUM): New macro.
1778 (ELIMINABLE_REGS): Eliminate ARG_POINTER and FRAME_POINTER
1779 to HARD_FRAME_POINTER.
1780 (REGNO_OK_FOR_BASE_P): Accept FRAME_POINTER_REGNUM
1781 (REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
1782 (REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
1783 (HI_REGISTER_NAMES): Add "frame".
1784 (CAN_ELIMINATE): Handle FRAME_POINTER_REGNUM elimination.
1785 (debug_reg): Handle FRAME_POINTER_REGNUM.
1786 (reg_class): Add arg pointer and frame pointer to NON_Q_REGS,
1787 GENERAL_REGS and INDEX_REGS.
1788 * i386.c (SAVED_REGS_FIRST): new macro.
1789 (AT_BP): Use hard_frame_pointer_rtx instead of frame_pointer_rtx
1790 (ix86_decompose_address, memory_address_length): Likewise.
1791 (regclass_map): Add frame pointer.
1792 (call_insn_operand): Handle frame_pointer_rtx.
1793 (reg_no_sp_operand): Likewise.
1794 (ix86_decompose_address): Handle frame_pointer_rtx as stack_pointer_rtx.
1795 (print_operand, legitimize_pic_address): Fix formating.
1796 (ix86_compute_frame_size): Make static, update prototype, new
1797 parameters padding1, padding2, use ix86_nsaved_regs, use
1798 stack_alignment_needed.
1799 (ix86_initial_elimination_offset): Handle FRAME_POINTER_REGNUM
1800 to HARD_FRAME_POINTER_REGNUM conversions.
1801 (ix86_expand_prologue): Handle SAVED_REGS_FIRST prologues.
1802 (ix86_expand_epilogue): Handle SAVED_REGS_FIRST epilogues.
1803 (print_reg): Abort on FRAME_POINTER_REGNUM
1804
7df932a8 1805Mon Jan 24 16:50:08 MET 2000 Jan Hubicka <jh@suse.cz>
1806
1807 * i386.h (PREDICATE_CODES): Add aligned_operand.
1808 * i386.c (aligned_operand): New function.
1809 (ix86_aligned_p): Kill.
1810 * i386.md (movhi_1): Emit mov for aligned operands.
1811 (promoting peep2s): Use aligned_operand.
1812
d1bb6e57 18132000-01-23 Zack Weinberg <zack@wolery.cumb.org>
1814
1815 * fixinc/fixfixes.c (fix_char_macro_uses): Correct regular
1816 expression to allow underscores in macro names.
1817 (fix_char_macro_defines): Increment scanning pointer.
1818
915c336f 18192000-01-23 Richard Henderson <rth@cygnus.com>
1820
1821 * alpha/osf.h (TARGET_HAS_XFLOATING_LIBS): Define.
1822 * alpha/osf5.h: New file.
1823 * configure.in (alpha-*-osf5): Add it to tm_file.
1824
1825 * emit-rtl.c (operand_subword): Support TFmode on a 64-bit target.
1826
1827 * alpha-protos.h (alpha_emit_xfloating_arith): Declare.
1828 (alpha_emit_xfloating_cvt, function_arg): Declare.
1829 * alpha.c (alpha_emit_conditional_branch): Call
1830 alpha_emit_xfloating_compare for TFmode compares.
1831 (alpha_lookup_xfloating_lib_func): New.
1832 (alpha_compute_xfloating_mode_arg): New.
1833 (alpha_emit_xfloating_libcall): New.
1834 (alpha_emit_xfloating_arith): New.
1835 (alpha_emit_xfloating_compare): New.
1836 (alpha_emit_xfloating_cvt): New.
1837 (print_operand): Add default abort case.
1838 (function_arg): Mind FUNCTION_ARG_PASS_BY_REFERENCE.
1839 * alpha.h (TARGET_HAS_XFLOATING_LIBS): New.
1840 (BIGGEST_ALIGNMENT): Increase to 128 bits.
1841 (RETURN_IN_MEMORY): True for TF/TCmode.
1842 (ALPHA_ARG_SIZE): TF/TCmode is passed indirect.
1843 (FUNCTION_ARG): Move to function_arg.
1844 (FUNCTION_ARG_PASS_BY_REFERENCE): New.
1845 (ASM_OUTPUT_LONG_DOUBLE): New.
1846 (ASM_OUTPUT_DOUBLE): Always output bits.
1847 * alpha.md (addtf3, divtf3, multf3, subtf3, cmptf): New.
1848 (fix_trunctfdi2, floatditf2, floatunsditf2): New.
1849 (extenddftf2, trunctfdf2): New.
1850
8be97799 18512000-01-23 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
1852
1853 * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved...
1854 * config/sparc/sol2.h: ... here.
1855
8c567f7b 18562000-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1857
1858 * basic-block.h (struct loops): New field `levels'.
1859 * flow.c (flow_loops_level_compute): Traverse all outer loops.
1860 (flow_loop_level_compute): Initialise level to 1.
1861 (flow_loops_find): Set loops->levels.
1862 (flow_loops_dump): Print loops->levels.
1863
1e98be2e 18642000-01-23 Richard Henderson <rth@cygnus.com>
1865
1866 * libgcc2.c (dwarf_reg_size_table): Size with DWARF_FRAME_REGISTERS.
1867 (throw_helper): Iterate over DWARF_FRAME_REGISTERS.
1868
eb26ca2c 18692000-01-23 Richard Henderson <rth@cygnus.com>
1870
1871 * i386.c (dbx_register_map, svr4_dbx_register_map): New.
1872 * i386.h (DBX_REGISTER_NUMBER): Use them.
1873 * i386/beos-elf.h, i386/freebsd-elf.h, i386/i386elf.h: Likewise.
1874 * i386/linux.h, i386/osfrose.h, i386/ptx4-i.h: Likewise.
1875 * i386/rtemself.h, i386/sco5.h, i386/sysv4.h: Likewise.
1876 * i386/sequent.h: Kill incorrect comment.
1877
938cf571 18782000-01-23 Mark Mitchell <mark@codesourcery.com>
1879
1880 * ggc-page.c (struct page_entry): Make `context_depth' an
1881 `unsigned short'.
2d15cd89 1882 (struct globals): Likewise.
938cf571 1883
d9716d9c 18842000-01-23 Clinton Popetz <cpopetz@cygnus.com>
1885
1886 * loop.c (check_dbra_loop): When checking a loop for
1887 reversability, check the source of any stores to ensure
1888 they don't depend on an initial value.
1889
cfe5bc2d 18902000-01-23 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1891
1892 * config/c4x/c4x.h (ASM_OUTPUT_BSS): Redefine.
1893
137f9f6b 18942000-01-22 Zack Weinberg <zack@wolery.cumb.org>
1895
86395a1c 1896 * fixinc/fixincl.c: Move declarations of 'pz_fname' and
137f9f6b 1897 'pz_scan' into scope of entire function. Only affects
1898 compiles with -DDEBUG.
1899
481d7cfb 19002000-01-22 Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>
1901
a4110d9a 1902 * config/elfos.h (UNIQUE_SECTION): Restore uninitialised data
1903 section naming to that prior to 2000-01-07 patch.
481d7cfb 1904 * config/mips/elf.h (UNIQUE_SECTION): Ditto.
1905 * config/mips/elf64.h (UNIQUE_SECTION): Ditto.
1906 * config/mips/iris6gld.h (UNIQUE_SECTION): Ditto.
1907 * config/i386/interix.c (UNIQUE_SECTION): Ditto.
1908 * config/i386/winnt.c (UNIQUE_SECTION): Ditto.
1909
3f3bdc5d 19102000-01-22 Bernd Schmidt <bernds@cygnus.co.uk>
1911
1912 * config/arm/arm.c (soft_df_operand): Reject SUBREGs containing a
1913 constant.
1914
fa28adb8 19152000-01-21 Jim Wilson <wilson@cygnus.com>
1916
1917 * fixinc/inclhack.tpl: Test for directory before trying to cd into it.
1918 * fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate.
1919
3ad29bc4 19202000-01-21 Zack Weinberg <zack@wolery.cumb.org>
1921
1922 * cpphash.c (change_newlines): Delete function.
1923 (struct argdata): Delete 'newlines' and 'use_count' fields.
1924 (macroexpand): Remove code referencing those fields.
1925
5ba8b451 19262000-01-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1927
1928 * loop.c (loops_info): New variable.
1929 (loop_optimize): Allocate loops->array and free it on exit.
1930 Allocate memory for loops_info and assign to each loop,
86395a1c 1931 replacing alloca.
5ba8b451 1932 (find_and_verify_loops): Do not allocate loops->array.
1933
fe53b93c 19342000-01-21 Zack Weinberg <zack@wolery.cumb.org>
1935
1936 * fixinc/fixfixes.c (machine_name_fix): Don't free 'scratch'.
1937
bf7619bc 19382000-01-21 Jakub Jelinek <jakub@redhat.com>
1939
1940 * config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new
1941 pseudos if expanded after first flow.
1942 (movdi_pic_label_ref): Likewise.
1943
574a2ea5 19442000-01-20 Richard Henderson <rth@cygnus.com>
1945
1946 * jump.c (jump_optimize_1): Don't do addr_vec optimizations at -O0.
1947
17f8e521 19482000-01-20 Zack Weinberg <zack@wolery.cumb.org>
1949
1950 * Makefile.in (fixinc.sh): Depend on specs.
a4110d9a 1951 * fixinc/Makefile.in: Add rule to create machname.h.
1952 (fixlib.o): Depend on machname.h.
1953 * fixinc/fixtests.c (machine_name): New test.
1954 * fixinc/fixfixes.c (machine_name): New fix.
1955 * fixinc/fixlib.c (mn_get_regexps): New helper function for
1956 the machine_name test and fix.
1957 * fixinc/fixlib.h: Prototype it.
1958 * fixinc/inclhack.def (machine_name): Use the C test and fix.
17f8e521 1959 * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuild.
1960
a4110d9a 1961 * gcc.c (do_spec_1) [case P]: Take care not to create
1962 identifiers with three leading or trailing underscores.
17f8e521 1963
1964 * fixinc/Makefile.in (FIXINC_DEFS): Add -DIN_GCC.
1965 (fixincl): Don't specify libraries twice on link line.
1966 (gnu-regex.o): Remove special rule.
1967 * fixinc/gnu-regex.c: Define REGEX_MALLOC if C_ALLOCA was
1968 defined by config.h. Do not define _REGEX_RE_COMP.
1969 (regcomp): Allocate and initialize a fastmap.
1970 * fixinc/gnu-regex.h: Do not define _REGEX_RE_COMP.
17f8e521 1971
1e53290d 19722000-01-20 Brad Lucier <lucier@math.purdue.edu>
1973
1974 * Makefile.in (predict.o): Depend on $(EXPR_H), not expr.h.
1975
f057320a 19762000-01-19 Richard Henderson <rth@cygnus.com>
1977
86395a1c 1978 * flow.c (propagate_block): Replace FIRST, LAST and BNUM
f057320a 1979 arguments with BB. Update all callers. Tidy line wrapping.
1980
068a89d7 19812000-01-19 Clinton Popetz <cpopetz@cygnus.com>
1982
86395a1c 1983 * emit-rtl.c (try_split): Return last_insn if we split the
068a89d7 1984 last_insn.
1985
b4f76903 1986Thu Jan 20 01:01:23 MET 2000 Jan Hubicka <jh@suse.cz>
1987
1988 * i386-protos.h (ix86_compute_frame_size): Remove prototype.
1989 (ix86_initial_elimination_offset): Declare.
1990 * i386.c (ix86_nsaved_regs): Break out from ...
1991 (ix86_can_use_return_insn_p): ... here.
1992 (ix86_emit_save_regs): Break out from ...
1993 (ix86_expand_prologue): ... here.
1994 (ix86_emit_epilogue_esp_adjustment, ix86_emit_restore_regs): Break
1995 out from ...
1996 (ix86_expand_epilogue): ... here.
1997 (ix86_compute_frame_size): Make static, add prototype.
1998 (ix86_initial_elimination_offset): Break out from ...
1999 * i386.h (INITIAL_ELIMINATION_OFFSET): ... here.
2000
b6f2a99e 20012000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2002
2003 * recog.h (OUT_FCN): Delete.
2004
2005 * vax.md: Call `get_insn_template' instead of OUT_FCN.
2006
e750712b 20072000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
86395a1c 2008
5102b38e 2009 * cppalloc.c: PROTO -> PARAMS.
2010 * cpperror.c: Likewise.
2011 * cppfiles.c: Likewise.
2012 * cpplib.c: Likewise.
2013 * cpplib.h: Likewise.
e750712b 2014
2015 * config/arm/arm-protos.h: PROTO -> PARAMS.
2016 * config/arm/arm.c: Likewise.
2017 * config/c4x/c4x.c: Likewise.
2018 * config/fr30/fr30-protos.h: Likewise.
2019 * config/nextstep.c: Likewise.
2020 * config/pa/pa.c: Likewise.
2021 * config/pj/pj.c: Likewise.
2022 * config/rs6000/rs6000.c: Likewise.
2023 * config/v850/v850-protos.h: Likewise.
2024 * config/v850/v850.c: Likewise.
2025
5e4ed5f1 20262000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2027
2028 * i370-protos.h: New file.
2029
2030 * i370.c: Include tm_p.h. Fix compile time warnings.
86395a1c 2031
5e4ed5f1 2032 * i370.h: Move prototypes to i370-protos.h. Fix compile time
2033 warnings.
86395a1c 2034
5e4ed5f1 2035 * i370.md: Likewise.
2036
368ee706 20372000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2038
2039 * real.c (enan, einan, eiisnan, eiisneg, make_nan): Wrap in NANS.
2040 (target_isinf, target_isnan, eisnan): Mark parameter with
2041 ATTRIBUTE_UNUSED.
2042 (eiisinf): Wrap in INFINITY.
2043 (etoe113, etoe64, etoe53, etoe24): Wrap label `nonorm' in INFINITY.
2044 (ibmtoe): Remove unused variable `rndsav'.
2045
48e8831e 2046Wed Jan 19 20:23:06 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2047
2048 * sh.h (PASS_IN_REG_P): Remove extraneous paranthesis.
2049 (GO_IF_LEGITIMATE_ADDRESS): Added missing tab.
2050
ada96dc2 20512000-01-19 Zack Weinberg <zack@wolery.cumb.org>
2052
2053 * fixinc/Makefile.in: Correct dependencies of fixincl and fixincl.o.
2054 * fixinc/fixfixes.c (IO_use, CTRL_use, IO_defn, CTRL_defn): New fixes.
2055 (fix_char_macro_defines, fix_char_macro_uses): New functions.
2056
2057 * fixinc/fixlib.c (is_cxx_header): Do the text scan with a regexp.
2058 Recognize Emacs mode markers also.
2059 * fixinc/fixtests.c (else_endif_label): Fix bug in recognition of
2060 C++ comments in C++ headers. Call is_cxx_header only if
2061 necessary.
2062
2063 * fixinc/inclhack.def (avoid_bool): Add select for the problem and
2064 bypass for ncurses.
2065 (bsd43_io_macros, io_def_quotes, ioctl_fix_ctrl): Replace with...
2066 (io_def_quotes, io_use_quotes, ctrl_def_quotes, ctrl_use_quotes):
2067 ... these, which use the new C fixes.
2068 (math_exception): Escape literal '+' in bypass expression.
2069
2070 * fixinc/fixincl.x, fixinc/fixincl.sh, fixinc/inclhack.sh:
2071 Regenerate.
2072
cccfd0f9 20732000-01-19 Geoff Keating <geoffk@cygnus.com>
2074
2075 * rtlanal.c (reg_referenced_p): A CLOBBER of a MEM uses any REGs
2076 inside the MEM.
2077
85f4f7fe 20782000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2079
2080 * loop.c (loop_optimize): Allocate loop_info structure for each loop
2081 prior to calling scan_loop.
2082
17bec211 2083Wed Jan 19 19:54:38 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2084
7984f145 2085 * sh.c (find_barrier, gen_block_redirect): Fix indentation.
2086 (split_branches, calc_live_regs): Likewise.
17bec211 2087
588cd7d3 2088Wed Jan 19 19:12:36 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2089
2090 * sh.md (fpu_single, fp_mode): New attributes.
2091
c5aaf45f 20922000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2093
2094 * loop.c (current_loop_info): Renamed from loop_info_data
2095 and changed to a pointer.
2096 (loop_optimize): Allocate loop_info structure for each loop
2097 and initialise to zero.
2098 (scan_loop): Set current_loop_info.
2099
2100 * unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set
2101 on iteration_var.
2102
dd2acd83 21032000-01-19 Richard Henderson <rth@cygnus.com>
2104
2105 * stupid.c: Die die die.
2106 * Makefile.in (OBJS): Remove stupid.o.
2107 (stupid.o): Likewise.
2108
2109 * except.c (emit_eh_context): Don't emit USEs for stupid.
2110 * explow.c (probe_stack_range): Likewise.
2111 * flags.h (obey_regdecls): Remove.
2112 * flow.c (find_basic_blocks): Don't run try_merge_blocks
2113 when not optimizing.
2114 (life_analysis): Limit data collection when not optimizing.
2115 (mark_regs_live_at_end): Always mark the return value registers.
2116 (mark_used_regs): Remove dummy RETURN case.
2117 (print_rtl_with_bb): Don't consult obey_regdecls.
2118 * function.c (use_variable, use_variable_after): Remove.
2119 (assign_parms): Consult optimize not obey_regdecls.
2120 (expand_function_start): Don't emit USEs for stupid.
2121 (expand_function_end): Likewise.
2122 * global.c (build_insn_chain): Export.
2123 * integrate.c (expand_inline_function): Kill return-value USE
2124 handling code.
2125 * jump.c (jump_optimize_1): Do simple jump optimizations and
2126 dead code elimination.
2127 (calculate_can_reach_end): Remove check_deleted argument.
2128 (delete_insn): Patch out insns even when not optimizing.
2129 * local-alloc.c (block_alloc): Don't do tying when not optimizing.
2130 * rtl.h (use_variable, use_variable_after): Remove declarations.
2131 (build_insn_chain): Declare.
2132 * stmt.c (expand_value_return): Don't emit USEs for stupid.
2133 (expand_end_bindings): Likewise.
2134 (expand_decl): Likewise. Consult optimize not obey_regdecls.
2135 * toplev.c (obey_regdecls): Remove.
2136 (rest_of_compilation): Don't set it. Kill stupid in favour of
2137 flow1, local-alloc, and reload.
2138 (main): Don't set obey_regdecls.
2139
2140 * config/nextstep.c (handle_pragma): Likewise.
2141
2142 * alpha/alpha.md (allocate_stack): Don't emit USEs for stupid.
2143
2144 * arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't fix reg 0 for stupid.
2145
32bd1bda 21462000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2147
2148 * alpha-protos.h: PROTO -> PARAMS.
2149 * alpha.c: Likewise.
2150 * elf.h: Likewise.
2151 * h8300.c: Likewise.
2152 * i386-protos.h: Likewise.
2153 * i386.c: Likewise.
2154 * m32r-protos.h: Likewise.
2155 * m32r.c: Likewise.
2156 * mips.c: Likewise.
2157 * mips.md: Likewise.
2158 * gmon-sol2.c: Likewise.
2159 * sparc.c: Likewise.
2160
995e6529 21612000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2162
2163 * ns32k-protos.h: New file.
2164
2165 * ns32k.c: Fix compile time warnings.
86395a1c 2166
995e6529 2167 * ns32k.h: Move prototypes to ns32k-protos.h. Fix compile time
2168 warnings.
2169
2170 * ns32k.md: Likewise.
2171
559c7180 21722000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2173
2174 * vax-protos.h: New file.
2175
2176 * vax.c: Fix compile time warnings.
86395a1c 2177
559c7180 2178 * vax.h: Move prototypes to vax-protos.h. Fix compile time
2179 warnings.
2180
2181 * vax.md: Likewise.
2182
2183 * vaxv.md: Likewise.
2184
51b2cbe1 21852000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2186
2187 * romp-protos.h: New file.
2188
2189 * romp.c: Fix compile time warnings.
86395a1c 2190
51b2cbe1 2191 * romp.h: Move prototypes to romp-protos.h. Fix compile time
2192 warnings.
2193
2194 * romp.md: Likewise.
2195
6c7e0e00 21962000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2197
2198 * we32k-protos.h: New file.
2199
2200 * we32k.c: Fix compile time warnings.
86395a1c 2201
6c7e0e00 2202 * we32k.h: Move prototypes to we32k-protos.h. Fix compile time
2203 warnings.
2204
2c3bea77 22052000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2206
2207 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
2208
2209 * except.c (eh_regs): Likewise.
2210
2211 * final.c (output_operand): Likewise.
2212
2213 * fold-const.c (target_isinf, target_isnan): Likewise.
2214
a746fd01 2215Tue Jan 18 16:19:55 MET 2000 Jan Hubicka <hubicka@freesoft.cz>
2216
4e17b634 2217 * i386.h (BIGGEST_ALIGNMENT): Set to 128.
2218 (BIGGEST_FIELD_ALIGNMENT): Set to (TARGET_ALIGN_DOUBLE ? 64 : 32)
2219
a746fd01 2220 * i386.md (memstr): Do not use rep stosb for counts divisible by 4
2221 when optimize_size.
2222 (clrstrsi): Rewrite.
2223 (strsethi, strsetqi): New expanders.
2224 (strsethi_1, strsetqi_1, rep_stossi, rep_stosqi): New insn patterns.
2225 (cmpstrsi): Emit compare insn before cmpstrsi_1
2226 (cmpstrsi_nz): use flags, set type to str, prefix_length to 1.
2227 (strlensi_1): Likewise.
2228 (cmpstrsi_1): Likewise; do not output compare.
2229 (strlen expander): Do not unroll when optimizing for size.
2230 (*subsi3_carry): Rename to subsi3_carry
2231 (addqi3_cc): New pattern.
2232 * i386.h (processor_costs): Add move_ratio field.
2233 (MOVE_RATIO): Use move_ratio field, set to 3 for OPTIMIZE_SIZE
2234 * i386.c (*_cost): Set move_ratio.
2235 (x86_unroll_strlen): Enable for Athlon, PPro and K6 too.
2236 (x86_expand_strlensi_1): Rewrite the main loop.
2237
5936efd3 22382000-01-17 Richard Henderson <rth@cygnus.com>
2239
2240 * combine.c (combine_simplify_rtx): Give FLOAT_STORE_FLAG_VALUE a mode.
2241 * cse.c (find_comparison_args, fold_rtx): Likewise.
2242 * integrate.c (subst_constants): Likewise.
2243 * loop.c (get_condition): Likewise.
2244
2245 * tm.texi (FLOAT_STORE_FLAG_VALUE): Update docs.
2246
2247 * alpha.h (FLOAT_STORE_FLAG_VALUE): Use REAL_VALUE_ATOF.
2248
ece7cbbe 2249