]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
c-parse.in: Apply Ulrich's changes from c-parse.y.
[gcc.git] / gcc / ChangeLog
CommitLineData
b919445a
ZW
12000-01-29 Zack Weinberg <zack@wolery.cumb.org>
2
3 * c-parse.in: Apply Ulrich's changes from c-parse.y.
4 * c-parse.y, objc/objc-parse.y, c-parse.c, objc/objc-parse.c:
5 Regenerate.
6
59495f38
ZW
72000-01-29 Zack Weinberg <zack@wolery.cumb.org>
8
9 * cpperror.c (cpp_file_line_for_message): If 'line' is zero,
10 just print "<command line>". If 'filename' is null or an
11 empty string, print "<stdin>" for the filename.
12 * cpplib.c (do_define): Don't print the 'location of the
13 previous definition' message if we're still parsing the
14 command line.
15 (cpp_pedwarn_with_file_and_line): Always call
16 cpp_file_line_for_message.
17
607ace9b
MM
182000-01-29 Mark Mitchell <mark@codesourcery.com>
19
20 * flow.c (mark_regs_live_at_end): Fix typo.
21
e38beabc
UD
222000-01-28 Ulrich Drepper <drepper@redhat.com>
23
24 * c-common.c: Adjust variable names, comments, help strings to c99.
25 * c-lex.c: Likewise.
26 * c-parse.y: Likewise.
27 * c-tree.h: Likewise.
28 * cccp.c: Likewise.
29 * cpplib.h: Likewise.
30 * c-decl.c: Likewise. Recognize options with names "*99" as well.
31 * cppinit.c: Likewise.
32
4fda2521
HB
332000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
34
35 * c4x.h (INIT_TARGET_OPTABS): Add all missing local optab entries.
36 * c4x.c: Define the optab rtx values.
37 (c4x_add_gc_roots): Add the ggc roots for these optab rtx values.
38 (c4x_emit_libcall): Use new optab rtx values.
39 (c4x_emit_libcall3): Likewise.
40 (c4x_emit_libcall_mulhi): Likewise.
41 * c4x-protos.h: Add prototypes for optab rtx values and change
42 prototypes for above c4x_emit_libcall functions.
43
dfafcb4d
HB
442000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
45
46 * c4x.c (c4x_output_ascii): Restrict line length of output when TI
47 syntax is used.
48 (c4x_function_prologue): Use regnames intead of float_reg_names when
49 TI syntax is used.
50 (c4x_function_epilogue): Likewise.
51 (c4x_print_operand): Likewise.
52 * c4x.h (HOST_WIDE_INT_PRINT_HEX): Redefine.
53 * c4x.md (set_high): Disable for TARGET_TI.
54
552000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
ed3614cd
HB
56
57 * c4x.h (PREFERRED_RELOAD_CLASS): Change to restrict the reloading
58 of framepointer + constant to ADDR_REGS class.
59 * c4x.md (addqi3, addqi3_noclobber_reload): Update.
60 * c4x.c (std_or_reg_operand): New function.
61 * c4x-protos.h (std_or_reg_operand): Prototype it.
62
29a963d3
HB
632000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
64
65 * t-c4x: Change qi,qf,di,df into si,sf,hi,hf to generate same
66 object names as libgcc2.c.
67 * libgcc.S: Use newly defined names.
68
65169dcf
JE
69Fri Jan 7 19:48:04 CET 2000 Jan Hubicka <jh@suse.cz>
70 * sbitmap.c (sbitmap_first_set_bit, sbitmap_last_set_bit): New
71 function.
72 * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): Declare.
73 * basic_block.h (FLOW_LOOP_FIRST_BLOCK): New macro.
74 (FLOW_LOOP_LAST_BLOCK): Likewise.
75
762000-01-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
77
78 * basic-block.h (struct loop): New fields 'first' and 'last'.
79 * flow.c (flow_loops_find): Compute loop->first and loop->last.
80 (flow_loops_dump): Use loop->first to check for NOTE_INSN_LOOP_BEG
81 and loop->last to check for NOTE_INSN_LOOP_END.
82
83Fri Jan 28 10:57:58 2000 Jason Eckhardt <jle@cygnus.com>
84
85 * predict.c (estimate_probability): Use the new FIRST and LAST fields
86 of the loop descriptor rather than HEADER and LATCH. Also added
87 missing break statements as well making some coding style modifications
88 as suggested by Michael Hayes.
89
19d3c25c
RH
902000-01-28 Richard Henderson <rth@cygnus.com>
91
92 * flow.c (find_basic_blocks): Remove do_cleanup argument.
93 Break out that code ...
94 (cleanup_cfg): ... here.
95 (commit_one_edge_insertion): Detect a return instruction being
96 emitted to an edge. Emit a barrier following; clear fallthru.
97 (commit_edge_insertions): Verify CFG consistency.
98 * function.c (expand_function_start): Kill unused variable.
99 (expand_function_end): Likewise.
100 (thread_prologue_and_epilogue_insns): Use insert_insn_on_edge
101 to insert the epilogue.
102
103 * gcse.c (gcse_main): Adjust for find_basic_blocks change.
104 (delete_null_pointer_checks): Likewise.
105 * output.h: Likewise.
106 * reg-stack.c (reg_to_stack): Likewise.
107 * toplev.c (rest_of_compilation): Likewise. Run
108 thread_prologue_and_epilogue_insns after rebuilding the CFG.
109
ae20388c
RH
1102000-01-28 Richard Henderson <rth@cygnus.com>
111
112 * Makefile.in (flow.o): Revert 24 Jan change.
113 * flow.c (mark_regs_live_at_end): Likewise. Force BLKmode
114 FUNCTION_VALUE result to DECL_RESULT's mode.
115
47e6ea66
RH
116 * haifa-sched.c (schedule_insns): Don't recompute reg info
117 after reload.
118
a3e0a73b
ZW
1192000-01-28 Zack Weinberg <zack@wolery.cumb.org>
120
121 * configure.in: Make --enable-cpplib the default.
122 * configure: Regenerate.
123 * gcc.dg/990119-1.c: No longer expected to fail.
124
52bea684
BS
1252000-01-28 Bernd Schmidt <bernds@cygnus.co.uk>
126
127 * jump.c (jump_optimize_1): Delete an optimization that is also done
128 by merge_blocks in flow.
129
b9ff4814
KG
1302000-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
131
132 * diagnostic.c (build_message_string, output_printf,
133 line_wrapper_printf): Add ATTRIBUTE_PRINTF_*.
134 (build_location_prefix): Fix non-literal format string.
135
138eff91
RH
1362000-01-27 Richard Henderson <rth@cygnus.com>
137
138 * alpha.md (trunctfsf2): New.
139
cd038ac2
AH
1402000-01-27 Andrew Hobson <ahobson@eng.mindspring.net>
141
142 * configure.in (alpha-dec-osf5): Enable MASK_SUPPORT_ARCH.
143
75ec21db
ZW
1442000-01-27 Zack Weinberg <zack@wolery.cumb.org>
145
146 * cppinit.c (cpp_handle_option): Recognize C++ comments under
147 -std=gnu89.
148 * cpplib.c (skip_block_comment, skip_line_comment): Split code
149 out of...
150 (skip_comment) ... here. Permit C++ comments in system
151 headers always. Warn about C++ comments in user code under
152 -std=gnu89 -pedantic.
153 (copy_comment): Use skip_comment.
154 (cpp_skip_hspace, cpp_get_token): skip_comment can no longer
155 return EOF.
156 (consider_directive_while_skipping, do_else, do_endif): Call
157 validate_else unconditionally.
158 (validate_else): Check CPP_PEDANTIC here. Accept non-comment
159 text after the conditional in a system header.
160 * cpplib.h (struct cpp_buffer): Add flag
161 warned_cplusplus_comments.
162
d1b81779
GK
1632000-01-27 Geoffrey Keating <geoffk@cygnus.com>
164
165 * emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too.
166 Use unshare_all_rtl_1.
167 (unshare_all_rtl_again): New function.
168 (unshare_all_rtl_1): New function split out of unshare_all_rtl.
169
170 * function.c (purge_addressof_1): Use unshare_all_rtl_again
171 rather than resetting the 'used' flags ourself.
172
173 * toplev.c (rest_of_compilation): Add current_function_decl
174 to the unshare_all_rtl call.
175 * tree.h: Prototype unshare_all_rtl.
176 * rtl.h: Prototype unshare_all_rtl_again here.
177
1782000-01-27 Geoffrey Keating <geoffk@cygnus.com>
3bc9f12b
GK
179
180 * genoutput.c (output_prologue): Include ggc.h in generated
181 files.
182 * Makefile.in (insn-output.o): Depends on ggc.h.
183
4c54e4e4
ID
1842000-01-27 Ian Dall <ian@sibyl.beware.dropbear.id.au>
185 Hans-Peter Nilsson <hp@bitrange.com>
186
187 * ns32k/xm-ns32k.h (memcpy, memset, memcmp): Delete.
188 Remove redundant include of xm-ns32k.h.
189 * ns32k/xm-genix.h (memcpy, memset, memcmp): Add definitions.
190 Remove redundant include of xm-ns32k.h.
191 * ns32k/xm-netbsd.h (memcpy, memset, memcmp): No longer undefine.
192 Remove redundant include of xm-ns32k.h.
193 * ns32k/netbsd.h (TARGET_DEFAULT): Enable multiply-add instructions.
194
195 * ns32k/ns32k.h: Update comment on multiply-add instructions.
0843179b 196 (TARGET_SWITCHES): Add documentation strings.
4c54e4e4
ID
197 (DWARF_FRAME_REGNUM): Override default definition.
198 (REG_CLASS_CONTENTS): Add comments.
199 (SUBSET_P): Format to reduce line length.
200 (SMALL_REGISTER_CLASSES): Make a run time option.
201 (GO_IF_NONINDEXED_ADDRESS): Reformat.
202 (GO_IF_LEGITIMATE_ADDRESS): Ensure that cfun is non NULL before
0843179b 203 dereferencing it. Braces to avoid "ambiguous else" were misplaced.
4c54e4e4
ID
204 (regclass_map): fix typo in comment.
205 * ns32k/ns32k.c: Add spaces before parentheses for consistant style.
206 Prefer gen_rtx_FOO(...) to gen_rtx(FOO,...).
207 (trace, reg_or_mem_operand): Delete, unused function.
208 (calc_address_cost): Small offsets are cheaper than large ones.
209 (expand_block_move): Generate more efficient code when bytes is a
0843179b 210 known at compile time.
4c54e4e4
ID
211 * ns32k/ns32k.md: Alternate constraints for multiply-add instructions.
212 (udivmodsi4, udivmodhi4, udivmodqi4): Use nonimmediate_operand
10b52f46 213 instead of reg_or_mem_operand.
0843179b 214
4c54e4e4
ID
215 * ns32k/ns32k.md: Use nonimmediate_operand or stricter for outputs,
216 not general_operand. Similarly use "=rm" or stricter, not "=g".
217 For input operands, use stricter constraints than "g" if not
218 general_operand. Similarly use stricter predicate than
219 "general_operand" when stricter constraints than "g" are present,
220 except for matching constraints.
221 (movstrsi): Use "memory_operand" for operands 0 and 1.
222 (truncsiqi2, truncsihi2, trunchiqi2): Remove.
223 (udivmoddisi4_internal): Use nonimmediate_operand for operand 0,
224 not reg_or_mem_operand.
225 (udivmoddisi4): Ditto.
226 Use nonimmediate_operand for operand 1, not reg_or_mem_operand.
227 Use nonimmediate_operand for operand 3, not register_operand.
228 (udivmoddiqi4_internal): Use register_operand for operand 1, not
229 reg_or_mem_operand.
230
899905f6
FF
2312000-01-27 Fred Fish <fnf@be.com>
232
233 * gthr-posix.h: Fix typo; compatibily -> compatibility.
234 * gthr-single.h: Likewise.
235 * gthr-solaris.h: Likewise.
236 * gthr-vxworks.h: Likewise.
237 * gthr-win32.h: Likewise.
238 * gthr.h: Likewise.
239
9082f847
ZW
2402000-01-27 Zack Weinberg <zack@wolery.cumb.org>
241
242 * cppinit.c: Add " (cpplib)" to end of string printed by
243 -v / --version.
244
01b9e84e
RH
2452000-01-27 Richard Henderson <rth@cygnus.com>
246
247 * alpha.c (alpha_emit_conditional_move): Use VOIDmode when
248 testing for a signed comparison.
249 (alpha_emit_floatuns): New.
250 * alpha-protos.h: Declare it.
251 * alpha.md (floatunsdisf2, floatunsdidf2): New.
252 (extendsfdf2): Tidy.
253
31cedf89
JJ
2542000-01-27 Jakub Jelinek <jakub@redhat.com>
255
256 * config/sparc/linux64.h (CC1_SPEC): If compiling -m32 with -g but
257 no -g option specifying debugging format, default to -gstabs+.
258
0843179b 259Wed Jan 26 22:19:14 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
e09d24ff
R
260
261 * calls.c (special_function_p): New argument fork_or_exec.
262 (expand_call): When profile_arc_flag is set and the function
263 is in the fork_or_exec group, call __bb_fork_func first.
264 * libgcc2.c, _bb module (__bb_fork_func): New function.
265 (__bb_exit_func): If fcntl F_SETLKW is available, use it to lock
266 output file.
267 * config/svr4.h (TARGET_HAS_F_SETLKW): Define.
268 * tree.h (special_function_p): Update prototype.
269
628d74de
RH
2702000-01-26 Richard Henderson <rth@cygnus.com>
271
272 * alpha.c (alpha_split_tfmode_pair): New.
273 * alpha-protos.h: Declare it.
274 * alpha.md (abstf2, negtf2): New.
275 (movtf insn): Add input G constraint.
276 (movtf splitter): Use alpha_split_tfmode_pair.
277
c96a8082
KG
2782000-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
279
280 * i386/cygwin.h: PROTO -> PARAMS.
281
5c5c34a4
JJ
2822000-01-26 Jakub Jelinek <jakub@redhat.com>
283
284 * config/sparc/sparc.c (sparc_emit_float_lib_cmp): Handle
285 TARGET_ARCH32 again. Handle ORDERED, UN* and LTGT comparisons
286 using _Qp_cmp/_Q_cmp and testing the return value.
287 (print_operand): Call reverse_condition_maybe_unordered if
288 we are handling CCFPmode or CCFPEmode.
289 Handle ORDERED, UN* and LTGT comparisons.
290 * config/sparc/sparc.md (cmptf): Use even on TARGET_ARCH32
291 if not TARGET_HARD_QUAD.
292 (seq, sne, sgt, slt, sge, sle, beq, bne, bgt, blt, bge, ble,
293 bunordered, bordered, bungt, bunlt, buneq, bunge, bunle, bltgt):
294 Call sparc_emit_float_lib_cmp even on TARGET_ARCH32.
295 Adjust gen_b* calls so that they reflect return comparison of
296 sparc_emit_float_lib_cmp.
297
c77f46c6
AO
2982000-01-26 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
299
300 * config/alpha/alpha.c (alpha_emit_xfloating_cvt): Do not assume
301 incoming operands array is large enough for one more operand.
302 (alpha_emit_xfloating_arith): Likewise.
303
cef40e9f
ZW
3042000-01-25 Zack Weinberg <zack@wolery.cumb.org>
305
306 * fixinc/Makefile.in (machname.h): SunOS 4 sed can't handle a
307 file with one line and no trailing newline.
308 Patch by Kaveh Ghazi <ghazi@caip.rutgers.edu>.
309 * fixinc/fixtests.c (machine_name_test): Fix fencepost error
310 checking if the match is on the line.
311 * fixinc/gnu-regex.c: Provide regerror not __regerror.
312
5850dc00
RH
3132000-01-25 Richard Henderson <rth@cygnus.com>
314
315 * sparc.c (output_cbranch): Fix accidental squashing of the
316 fp branch pre-delay nop.
317
7913f3d0
RH
3182000-01-25 Richard Henderson <rth@cygnus.com>
319
320 * tree.def (UNNE_EXPR): Remove.
321 * c-typeck.c (build_binary_op): Don't handle it.
322 * expr.c (expand_expr, do_jump, do_store_flag): Likewise.
323
324 * rtl.def (UNNE): Remove.
325 (LTGT): Add.
326 * jump.c (reverse_condition): Update accordingly.
327 (swap_condition): Likewise.
328 (comparison_dominates_p): Handle unordered comparisons.
329 (reverse_condition_maybe_unordered): New.
330 * rtl.h (reverse_condition_maybe_unordered): Declare.
331
332 * sparc.c (select_cc_mode): Update for UNNE/LTGT.
333 (output_cbranch): Use reverse_condition_maybe_unordered and LTGT.
334 * sparc.h (REVERSIBLE_CC_MODE): Always true. Update docs.
335 * sparc.md (bltgt): New.
336
78340c9f
NC
3372000-01-25 Nick Clifton <nickc@redhat.com>
338
339 * emit-rtl.c (emit_insn): Only check machine class insns for
340 improper emission of a RETURN.
341
7554ad67
RH
3422000-01-25 Richard Henderson <rth@cygnus.com>
343
344 * Makefile.in (flow.o): Depend on $(EXPR_H).
345 * flow.c (mark_regs_live_at_end): Use hard_function_value, i.e.
346 duplicate the structure of diddle_return_value for keeping regs live.
347
0534b804
MH
3482000-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
349
350 * loop.c (current_loop_info): Delete.
351 (consec_sets_invariant_p): Add loop argument, update callers.
352 (get_condition_for_loop): Likewise.
353 (count_nonfixed_reads, update_giv_derive): Likewise.
354 (simplify_giv_expr, general_induction_var): Likewise.
355 (consec_sets_giv, recombine_givs): Likewise.
356 (move_movables): Delete loop_start and loop_end arguments,
357 add loop argument, and update callers.
358 (find_mem_givs, check_final_value): Likewise.
359 (record_giv, maybe_eliminate_biv, maybe_eliminate_biv_1): Likewise.
360 (loop_invariant_p): Rename from invariant_p, add loop argument, and
361 update callers.
362 (basic_induction_var): Add loop argument, delete loop_level argument,
363 and update callers.
364 * unroll.c (iteration_info): Delete loop_start and loop_end arguments,
365 add loop argument, and update callers.
366 (find_splittable_regs, find_splittable_givs): Likewise.
367 (reg_dead_after_loop, loop_find_equiv_value): Likewise.
368 (final_biv_value, final_giv_value, back_branch_in_range_p): Likewise.
369 (biv_total_increment): Delete loop_start and loop_end arguments;
370 update callers.
371 (precondition_loop_p): Delete loop_start and loop_info arguments;
372 update callers.
373 * loop.h (get_condition_for_loop): Add loop argument.
374 (biv_total_increment): Delete loop_start and loop_end arguments.
375 (precondition_loop_p): Delete loop_start and loop_info arguments;
376 add loop argument.
377 (final_biv_value): Delete loop_start and loop_end arguments;
378 add loop argument.
379 (final_giv_value, back_branch_in_range_p): Likewise.
380
8e466531
GRK
3812000-01-25 Gavin Romig-Koch <gavin@cygnus.com>
382
383 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Fix for mips16.
384
490cab72
GRK
3852000-01-25 Gavin Romig-Koch <gavin@cygnus.com>
386
387 * Makefile.in (c-gperf.h) : Change the "See" pointer to
388 point to the new "generated_files" doc.
389
8c135f84
CP
3902000-01-25 Clinton Popetz <cpopetz@cygnus.com>
391
392 * config/fp-bit.c (_unord_f2): Fix typo.
393
4dd7201e
ZW
3942000-01-25 Zack Weinberg <zack@wolery.cumb.org>
395
396 * c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c,
397 c-typeck.c, objc/objc-act.c: Remove all references to obstack
398 functions obsoleted by GC, such as push_obstacks_nochange,
399 end_temporary_allocation, savealloc, saveable_tree_cons, etc.
400 and code which existed only to decide whether or not to call
401 them. Remove now-unused NESTED argument from start_function;
402 all callers changed. Do not change behavior based on ggc_p.
403 The use of the ixp_obstack in c-iterate.c and the util_obstack
404 in objc/objc-act.c remain; these are not obsoleted by garbage
405 collection.
406 * c-tree.h: Update prototype for start_function.
407
408 * c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild.
409
b5031ab7
CP
4102000-01-25 Clinton Popetz <cpopetz@cygnus.com>
411
412 * config/mips/mips.md (zero_extendsidi2_internal): Disable for
413 mips16.
414
e267e177
RH
4152000-01-25 Richard Henderson <rth@cygnus.com>
416
417 * sparc-protos.h (select_cc_mode): Declare.
418 * sparc.c (select_cc_mode): New. Handle unordered compares.
419 (output_cbranch): Always reverse via code change. Handle
420 unordered compares. Factor tests and string updates.
421 * sparc.h (SELECT_CC_MODE): Split out to select_cc_mode.
422 (REVERSIBLE_CC_MODE): Also exclude CCFPmode.
423 * sparc.md (bunordered, bordered): New.
424 (bungt, bunlt, buneq, bunge, bunle): New.
425
ef8288f7
RH
4262000-01-25 Richard Henderson <rth@cygnus.com>
427
428 * dwarf2out.c (dwarf2out_init): Use ggc_add_rtx_varray_root.
429 * ggc-common.c (ggc_add_rtx_varray_root): New.
430 (ggc_mark_rtx_varray): New.
431 (ggc_mark_rtx_varray_ptr): New. Shift all ggc_mark_foo_ptr
432 functions down below ggc_mark_foo.
433 * ggc.h (ggc_add_rtx_varray_root, ggc_mark_rtx_varray): Declare.
434
41bd3d41
RH
4352000-01-25 Richard Henderson <rth@cygnus.com>
436
437 * alpha.c (secondary_reload_class): Don't allocate a secondary
438 for integral mode memories into FLOAT_REGS. Rearrange the more
439 complicated memory expression inward.
440
3be1fb72
ZW
4412000-01-25 Zack Weinberg <zack@wolery.cumb.org>
442
443 * inclhack.def: Fixes to play nicer with FreeBSD, and
444 corrections to comments.
445 (cxx_unready): Add select expression.
446 (irix_sockaddr): Add bypass expression.
447 (machine_ansi_h_va_list): New fix.
448 (stdio_va_list): No need to edit _BSD_VA_LIST_.
449 Split out addition of "#include <stdarg.h>" to...
450 (stdio_stdarg_h): ... here.
451 (systypes_for_aix): Rename to systypes_stdlib_size_t. Apply
452 to stdlib.h also. Do not munge _BSD_SIZE_T_.
453 (sysz_stdlib_for_sun): Delete duplicate fix for unprotected
454 size_t.
455 (ultrix_ifdef): Tighten up select expression.
456
457 * fixincl.tpl: Exorcise 'exesel'. Rewrite calculations of
458 re_ct and max_mach to avoid use of shell. Make printed names
459 match names in inclhack.def. Use static copyright date.
460 Don't count c_test and test expressions as requiring regex_t
461 slots. Add some commentary.
462 * inclhack.tpl: Do not include the 'This script contains N
463 fixup scripts' line if PROGRAM is defined. Use static
464 copyright date.
465
1865dbb5
JM
4662000-01-24 Jason Merrill <jason@casey.cygnus.com>
467
468 * dwarf2out.c: include "varray.h", not dyn-string.h.
469 (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_NAME_TO_STRING): Lose.
470 (addr_const_to_string, addr_to_string): Lose.
471 (ASM_OUTPUT_DWARF_ADDR_CONST): Copy from dwarfout.c.
472 (struct dw_val_struct): val_addr is now an rtx.
473 (add_AT_addr, AT_addr, free_AT, output_aranges): Adjust.
474 (used_rtx_varray): New varray.
475 (dwarf2out_init): Initialize it.
476 (save_rtx): New fn.
477 (mem_loc_descriptor, add_const_value_attribute): Call it instead of
478 addr_to_string.
0843179b 479 * arm/telf.h, arm/unknown-elf.h, mn10200.h, mn10300.h,
1865dbb5
JM
480 sparc/sp64-elf.h: Remove definition of ASM_OUTPUT_DWARF2_ADDR_CONST.
481 * Makefile.in (dwarf2out.o): Update dependencies.
482
4832000-01-24 Richard Henderson <rth@cygnus.com>
484
485 * i386.c (i386_dwarf_output_addr_const): New.
486 * i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): New.
487
488 * dwarf2out.c (mem_loc_descriptor): Call ASM_SIMPLIFY_DWARF_ADDR
489 if defined.
490 * dwarfout.c (output_mem_loc_descriptor): Likewise.
491 * i386.c (i386_simplify_dwarf_addr): New.
492 * i386.h (ASM_SIMPLIFY_DWARF_ADDR): New.
493
65e1263a
JW
494Mon Jan 24 16:56:10 2000 Jim Wilson <wilson@cygnus.com>
495
496 * dwarf2out.c (gen_struct_or_union_type_die): Set complete if
497 TYPE_STUB_DECL is NULL.
498
5eda3d66
RH
4992000-01-24 Richard Henderson <rth@cygnus.com>
500
501 * builtins.c (expand_tree_builtin): Move ...
502 * c-common.c (expand_tree_builtin): ... here.
503
52b38064
MH
5042000-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
505
506 * loop.h (LOOP_INFO): New accessor macro.
507 * basic-block.h (struct loop): Rename field `info' to `aux'.
508 * loop.c (scan_loop): Replace loop->info with LOOP_INFO (loop).
509 (prescan_loop, strength_reduce, check_dbra_loop, insert_bct): Likewise.
510 * unroll.c (loop_iterations, unroll_loop): Likewise.
511
a1e3399a
CF
5122000-01-24 Christopher Faylor <cgf@cygnus.com>
513
514 * config/i386/t-cygwin: Accomodate new winsup directory layout
515 when searching for include files.
516
1eb8759b
RH
5172000-01-24 Richard Henderson <rth@cygnus.com>
518
519 * rtl.def: Add unordered fp comparisions.
520 * tree.def: Likewise.
521 * tree.h: Add ISO C 9x unordered fp comparision builtins.
522
523 * builtins.c (expand_tree_builtin): New function.
524 * c-typeck.c (build_function_call): Use it.
525 (build_binary_op): Support unordered compares.
526 * c-common.c (c_common_nodes_and_builtins): Add unordered compares.
527
528 * combine.c (known_cond): Handle reverse_condition returning UNKNOWN.
529 (reversible_comparison_p): Allow UNORDERED/ORDERED to be reversed.
530 * cse.c (fold_rtx): Check FLOAT_MODE_P before reversing.
531 (record_jump_equiv): Handle reverse_condition returning UNKNOWN.
532 * jump.c (reverse_condition): Don't abort for UNLE etc, but
533 return UNKNOWN.
534 (swap_condition): Handle unordered compares.
535 (thread_jumps): Check can_reverse before reversing.
536 * loop.c (get_condition): Likewise. Allow UNORERED/ORDERED to be
537 reversed for FP.
538
539 * optabs.c (can_compare_p): New argument CODE. Verify branch or
540 setcc is present before acking for cmp_optab. Update all callers.
541 (prepare_float_lib_cmp, init_optabs): Handle UNORDERED.
542 * expmed.c (do_cmp_and_jump): Update for can_compare_p.
543 * expr.c (expand_expr): Likewise. Support unordered compares.
544 (do_jump, do_store_flag): Likewise.
545 * expr.h (enum libfunc_index): Add unordered compares.
546
547 * Makefile.in (FPBIT_FUNCS): Add _unord_sf.
548 (DPBIT_FUNCS): Add _unord_df.
549 * config/fp-bit.c (_unord_f2): New.
550 * fp-test.c (main): Try unordered compare builtins.
551
552 * alpha-protos.h (alpha_fp_comparison_operator): Declare.
553 * alpha.c (alpha_comparison_operator): Check mode properly.
554 (alpha_swapped_comparison_operator): Likewise.
555 (signed_comparison_operator): Likewise.
556 (alpha_fp_comparison_operator): New.
557 (alpha_emit_conditional_branch): Handle unordered compares.
558 * alpha.h (PREDICATE_CODES): Update.
559 * alpha.md (fp compares): Use alpha_fp_comparison_operator.
560 (bunordered, bordered): New.
561
d6cde845
RH
5622000-01-24 Richard Henderson <rth@cygnus.com>
563
564 * alpha.c (alpha_emit_xfloating_cvt): Thinko in operand manipulation.
565 * alpha.md (movtf): New expander, insn, and splitter.
566
eedf2f55
JH
567Mon Jan 24 19:49:47 MET 2000 Jan Hubicka <jh@suse.cz>
568
569 * reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
570 dead registers.
571
564d80f4
JH
572Mon Jan 24 17:37:31 MET 2000 Jan Hubicka <jh@suse.cz>
573
574 * i386.h (FIRST_PSEUDO_REGISTER): Set to 21.
575 (FIXED_REGISTERS, CALL_USED_REGISTERS,
576 REG_ALLOC_ORDER): Add frame pointer
577 (FRAME_POINTER_REGNUM): Set to 20
578 (HARD_FRAME_POINTER_REGNUM): New macro.
579 (ELIMINABLE_REGS): Eliminate ARG_POINTER and FRAME_POINTER
580 to HARD_FRAME_POINTER.
581 (REGNO_OK_FOR_BASE_P): Accept FRAME_POINTER_REGNUM
582 (REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
583 (REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
584 (HI_REGISTER_NAMES): Add "frame".
585 (CAN_ELIMINATE): Handle FRAME_POINTER_REGNUM elimination.
586 (debug_reg): Handle FRAME_POINTER_REGNUM.
587 (reg_class): Add arg pointer and frame pointer to NON_Q_REGS,
588 GENERAL_REGS and INDEX_REGS.
589 * i386.c (SAVED_REGS_FIRST): new macro.
590 (AT_BP): Use hard_frame_pointer_rtx instead of frame_pointer_rtx
591 (ix86_decompose_address, memory_address_length): Likewise.
592 (regclass_map): Add frame pointer.
593 (call_insn_operand): Handle frame_pointer_rtx.
594 (reg_no_sp_operand): Likewise.
595 (ix86_decompose_address): Handle frame_pointer_rtx as stack_pointer_rtx.
596 (print_operand, legitimize_pic_address): Fix formating.
597 (ix86_compute_frame_size): Make static, update prototype, new
598 parameters padding1, padding2, use ix86_nsaved_regs, use
599 stack_alignment_needed.
600 (ix86_initial_elimination_offset): Handle FRAME_POINTER_REGNUM
601 to HARD_FRAME_POINTER_REGNUM conversions.
602 (ix86_expand_prologue): Handle SAVED_REGS_FIRST prologues.
603 (ix86_expand_epilogue): Handle SAVED_REGS_FIRST epilogues.
604 (print_reg): Abort on FRAME_POINTER_REGNUM
605
2247f6ed
JH
606Mon Jan 24 16:50:08 MET 2000 Jan Hubicka <jh@suse.cz>
607
608 * i386.h (PREDICATE_CODES): Add aligned_operand.
609 * i386.c (aligned_operand): New function.
610 (ix86_aligned_p): Kill.
611 * i386.md (movhi_1): Emit mov for aligned operands.
612 (promoting peep2s): Use aligned_operand.
613
3a2e9dd2
ZW
6142000-01-23 Zack Weinberg <zack@wolery.cumb.org>
615
616 * fixinc/fixfixes.c (fix_char_macro_uses): Correct regular
617 expression to allow underscores in macro names.
618 (fix_char_macro_defines): Increment scanning pointer.
619
5495cc55
RH
6202000-01-23 Richard Henderson <rth@cygnus.com>
621
622 * alpha/osf.h (TARGET_HAS_XFLOATING_LIBS): Define.
623 * alpha/osf5.h: New file.
624 * configure.in (alpha-*-osf5): Add it to tm_file.
625
626 * emit-rtl.c (operand_subword): Support TFmode on a 64-bit target.
627
628 * alpha-protos.h (alpha_emit_xfloating_arith): Declare.
629 (alpha_emit_xfloating_cvt, function_arg): Declare.
630 * alpha.c (alpha_emit_conditional_branch): Call
631 alpha_emit_xfloating_compare for TFmode compares.
632 (alpha_lookup_xfloating_lib_func): New.
633 (alpha_compute_xfloating_mode_arg): New.
634 (alpha_emit_xfloating_libcall): New.
635 (alpha_emit_xfloating_arith): New.
636 (alpha_emit_xfloating_compare): New.
637 (alpha_emit_xfloating_cvt): New.
638 (print_operand): Add default abort case.
639 (function_arg): Mind FUNCTION_ARG_PASS_BY_REFERENCE.
640 * alpha.h (TARGET_HAS_XFLOATING_LIBS): New.
641 (BIGGEST_ALIGNMENT): Increase to 128 bits.
642 (RETURN_IN_MEMORY): True for TF/TCmode.
643 (ALPHA_ARG_SIZE): TF/TCmode is passed indirect.
644 (FUNCTION_ARG): Move to function_arg.
645 (FUNCTION_ARG_PASS_BY_REFERENCE): New.
646 (ASM_OUTPUT_LONG_DOUBLE): New.
647 (ASM_OUTPUT_DOUBLE): Always output bits.
648 * alpha.md (addtf3, divtf3, multf3, subtf3, cmptf): New.
649 (fix_trunctfdi2, floatditf2, floatunsditf2): New.
650 (extenddftf2, trunctfdf2): New.
651
ac490444
AO
6522000-01-23 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
653
654 * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved...
655 * config/sparc/sol2.h: ... here.
656
d6181b1b
MH
6572000-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
658
659 * basic-block.h (struct loops): New field `levels'.
660 * flow.c (flow_loops_level_compute): Traverse all outer loops.
661 (flow_loop_level_compute): Initialise level to 1.
662 (flow_loops_find): Set loops->levels.
663 (flow_loops_dump): Print loops->levels.
664
7e259f25
RH
6652000-01-23 Richard Henderson <rth@cygnus.com>
666
667 * libgcc2.c (dwarf_reg_size_table): Size with DWARF_FRAME_REGISTERS.
668 (throw_helper): Iterate over DWARF_FRAME_REGISTERS.
669
83774849
RH
6702000-01-23 Richard Henderson <rth@cygnus.com>
671
672 * i386.c (dbx_register_map, svr4_dbx_register_map): New.
673 * i386.h (DBX_REGISTER_NUMBER): Use them.
674 * i386/beos-elf.h, i386/freebsd-elf.h, i386/i386elf.h: Likewise.
675 * i386/linux.h, i386/osfrose.h, i386/ptx4-i.h: Likewise.
676 * i386/rtemself.h, i386/sco5.h, i386/sysv4.h: Likewise.
677 * i386/sequent.h: Kill incorrect comment.
678
ae373eda
MM
6792000-01-23 Mark Mitchell <mark@codesourcery.com>
680
681 * ggc-page.c (struct page_entry): Make `context_depth' an
682 `unsigned short'.
d416576b 683 (struct globals): Likewise.
ae373eda 684
5c75f60e
CP
6852000-01-23 Clinton Popetz <cpopetz@cygnus.com>
686
687 * loop.c (check_dbra_loop): When checking a loop for
688 reversability, check the source of any stores to ensure
689 they don't depend on an initial value.
690
7bea4e7a
MH
6912000-01-23 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
692
693 * config/c4x/c4x.h (ASM_OUTPUT_BSS): Redefine.
694
ae5c839b
ZW
6952000-01-22 Zack Weinberg <zack@wolery.cumb.org>
696
0843179b 697 * fixinc/fixincl.c: Move declarations of 'pz_fname' and
ae5c839b
ZW
698 'pz_scan' into scope of entire function. Only affects
699 compiles with -DDEBUG.
700
e8c3586a
AM
7012000-01-22 Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>
702
1eb8759b
RH
703 * config/elfos.h (UNIQUE_SECTION): Restore uninitialised data
704 section naming to that prior to 2000-01-07 patch.
e8c3586a
AM
705 * config/mips/elf.h (UNIQUE_SECTION): Ditto.
706 * config/mips/elf64.h (UNIQUE_SECTION): Ditto.
707 * config/mips/iris6gld.h (UNIQUE_SECTION): Ditto.
708 * config/i386/interix.c (UNIQUE_SECTION): Ditto.
709 * config/i386/winnt.c (UNIQUE_SECTION): Ditto.
710
37b80d2e
BS
7112000-01-22 Bernd Schmidt <bernds@cygnus.co.uk>
712
713 * config/arm/arm.c (soft_df_operand): Reject SUBREGs containing a
714 constant.
715
5787d8da
JW
7162000-01-21 Jim Wilson <wilson@cygnus.com>
717
718 * fixinc/inclhack.tpl: Test for directory before trying to cd into it.
719 * fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate.
720
4571dc27
ZW
7212000-01-21 Zack Weinberg <zack@wolery.cumb.org>
722
723 * cpphash.c (change_newlines): Delete function.
724 (struct argdata): Delete 'newlines' and 'use_count' fields.
725 (macroexpand): Remove code referencing those fields.
726
4cda35d4
MH
7272000-01-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
728
729 * loop.c (loops_info): New variable.
730 (loop_optimize): Allocate loops->array and free it on exit.
731 Allocate memory for loops_info and assign to each loop,
0843179b 732 replacing alloca.
4cda35d4
MH
733 (find_and_verify_loops): Do not allocate loops->array.
734
84c70dec
ZW
7352000-01-21 Zack Weinberg <zack@wolery.cumb.org>
736
737 * fixinc/fixfixes.c (machine_name_fix): Don't free 'scratch'.
738
7652adb5
JJ
7392000-01-21 Jakub Jelinek <jakub@redhat.com>
740
741 * config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new
742 pseudos if expanded after first flow.
743 (movdi_pic_label_ref): Likewise.
744
7c22ee2b
RH
7452000-01-20 Richard Henderson <rth@cygnus.com>
746
747 * jump.c (jump_optimize_1): Don't do addr_vec optimizations at -O0.
748
52c207e2
ZW
7492000-01-20 Zack Weinberg <zack@wolery.cumb.org>
750
751 * Makefile.in (fixinc.sh): Depend on specs.
1eb8759b
RH
752 * fixinc/Makefile.in: Add rule to create machname.h.
753 (fixlib.o): Depend on machname.h.
754 * fixinc/fixtests.c (machine_name): New test.
755 * fixinc/fixfixes.c (machine_name): New fix.
756 * fixinc/fixlib.c (mn_get_regexps): New helper function for
757 the machine_name test and fix.
758 * fixinc/fixlib.h: Prototype it.
759 * fixinc/inclhack.def (machine_name): Use the C test and fix.
52c207e2
ZW
760 * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuild.
761
1eb8759b
RH
762 * gcc.c (do_spec_1) [case P]: Take care not to create
763 identifiers with three leading or trailing underscores.
52c207e2
ZW
764
765 * fixinc/Makefile.in (FIXINC_DEFS): Add -DIN_GCC.
766 (fixincl): Don't specify libraries twice on link line.
767 (gnu-regex.o): Remove special rule.
768 * fixinc/gnu-regex.c: Define REGEX_MALLOC if C_ALLOCA was
769 defined by config.h. Do not define _REGEX_RE_COMP.
770 (regcomp): Allocate and initialize a fastmap.
771 * fixinc/gnu-regex.h: Do not define _REGEX_RE_COMP.
52c207e2 772
d3de1cf7
BL
7732000-01-20 Brad Lucier <lucier@math.purdue.edu>
774
775 * Makefile.in (predict.o): Depend on $(EXPR_H), not expr.h.
776
65f6fa24
RH
7772000-01-19 Richard Henderson <rth@cygnus.com>
778
0843179b 779 * flow.c (propagate_block): Replace FIRST, LAST and BNUM
65f6fa24
RH
780 arguments with BB. Update all callers. Tidy line wrapping.
781
ba52f355
CP
7822000-01-19 Clinton Popetz <cpopetz@cygnus.com>
783
0843179b 784 * emit-rtl.c (try_split): Return last_insn if we split the
ba52f355
CP
785 last_insn.
786
0903fcab
JH
787Thu Jan 20 01:01:23 MET 2000 Jan Hubicka <jh@suse.cz>
788
789 * i386-protos.h (ix86_compute_frame_size): Remove prototype.
790 (ix86_initial_elimination_offset): Declare.
791 * i386.c (ix86_nsaved_regs): Break out from ...
792 (ix86_can_use_return_insn_p): ... here.
793 (ix86_emit_save_regs): Break out from ...
794 (ix86_expand_prologue): ... here.
795 (ix86_emit_epilogue_esp_adjustment, ix86_emit_restore_regs): Break
796 out from ...
797 (ix86_expand_epilogue): ... here.
798 (ix86_compute_frame_size): Make static, add prototype.
799 (ix86_initial_elimination_offset): Break out from ...
800 * i386.h (INITIAL_ELIMINATION_OFFSET): ... here.
801
0bee0290
KG
8022000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
803
804 * recog.h (OUT_FCN): Delete.
805
806 * vax.md: Call `get_insn_template' instead of OUT_FCN.
807
299d06ad 8082000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
0843179b 809
f84c2018
KG
810 * cppalloc.c: PROTO -> PARAMS.
811 * cpperror.c: Likewise.
812 * cppfiles.c: Likewise.
813 * cpplib.c: Likewise.
814 * cpplib.h: Likewise.
299d06ad
KG
815
816 * config/arm/arm-protos.h: PROTO -> PARAMS.
817 * config/arm/arm.c: Likewise.
818 * config/c4x/c4x.c: Likewise.
819 * config/fr30/fr30-protos.h: Likewise.
820 * config/nextstep.c: Likewise.
821 * config/pa/pa.c: Likewise.
822 * config/pj/pj.c: Likewise.
823 * config/rs6000/rs6000.c: Likewise.
824 * config/v850/v850-protos.h: Likewise.
825 * config/v850/v850.c: Likewise.
826
f50ec635
KG
8272000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
828
829 * i370-protos.h: New file.
830
831 * i370.c: Include tm_p.h. Fix compile time warnings.
0843179b 832
f50ec635
KG
833 * i370.h: Move prototypes to i370-protos.h. Fix compile time
834 warnings.
0843179b 835
f50ec635
KG
836 * i370.md: Likewise.
837
b42b4d2c
KG
8382000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
839
840 * real.c (enan, einan, eiisnan, eiisneg, make_nan): Wrap in NANS.
841 (target_isinf, target_isnan, eisnan): Mark parameter with
842 ATTRIBUTE_UNUSED.
843 (eiisinf): Wrap in INFINITY.
844 (etoe113, etoe64, etoe53, etoe24): Wrap label `nonorm' in INFINITY.
845 (ibmtoe): Remove unused variable `rndsav'.
846
229f17cf
R
847Wed Jan 19 20:23:06 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
848
849 * sh.h (PASS_IN_REG_P): Remove extraneous paranthesis.
850 (GO_IF_LEGITIMATE_ADDRESS): Added missing tab.
851
5c0d5b94
ZW
8522000-01-19 Zack Weinberg <zack@wolery.cumb.org>
853
854 * fixinc/Makefile.in: Correct dependencies of fixincl and fixincl.o.
855 * fixinc/fixfixes.c (IO_use, CTRL_use, IO_defn, CTRL_defn): New fixes.
856 (fix_char_macro_defines, fix_char_macro_uses): New functions.
857
858 * fixinc/fixlib.c (is_cxx_header): Do the text scan with a regexp.
859 Recognize Emacs mode markers also.
860 * fixinc/fixtests.c (else_endif_label): Fix bug in recognition of
861 C++ comments in C++ headers. Call is_cxx_header only if
862 necessary.
863
864 * fixinc/inclhack.def (avoid_bool): Add select for the problem and
865 bypass for ncurses.
866 (bsd43_io_macros, io_def_quotes, ioctl_fix_ctrl): Replace with...
867 (io_def_quotes, io_use_quotes, ctrl_def_quotes, ctrl_use_quotes):
868 ... these, which use the new C fixes.
869 (math_exception): Escape literal '+' in bypass expression.
870
871 * fixinc/fixincl.x, fixinc/fixincl.sh, fixinc/inclhack.sh:
872 Regenerate.
873
0d3ffb5a
GK
8742000-01-19 Geoff Keating <geoffk@cygnus.com>
875
876 * rtlanal.c (reg_referenced_p): A CLOBBER of a MEM uses any REGs
877 inside the MEM.
878
78458962
MH
8792000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
880
881 * loop.c (loop_optimize): Allocate loop_info structure for each loop
882 prior to calling scan_loop.
883
eda44c78
R
884Wed Jan 19 19:54:38 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
885
10db12e0
R
886 * sh.c (find_barrier, gen_block_redirect): Fix indentation.
887 (split_branches, calc_live_regs): Likewise.
eda44c78 888
d64264ff
R
889Wed Jan 19 19:12:36 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
890
891 * sh.md (fpu_single, fp_mode): New attributes.
892
e4b68ced
MH
8932000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
894
895 * loop.c (current_loop_info): Renamed from loop_info_data
896 and changed to a pointer.
897 (loop_optimize): Allocate loop_info structure for each loop
898 and initialise to zero.
899 (scan_loop): Set current_loop_info.
900
901 * unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set
902 on iteration_var.
903
d29c259b
RH
9042000-01-19 Richard Henderson <rth@cygnus.com>
905
906 * stupid.c: Die die die.
907 * Makefile.in (OBJS): Remove stupid.o.
908 (stupid.o): Likewise.
909
910 * except.c (emit_eh_context): Don't emit USEs for stupid.
911 * explow.c (probe_stack_range): Likewise.
912 * flags.h (obey_regdecls): Remove.
913 * flow.c (find_basic_blocks): Don't run try_merge_blocks
914 when not optimizing.
915 (life_analysis): Limit data collection when not optimizing.
916 (mark_regs_live_at_end): Always mark the return value registers.
917 (mark_used_regs): Remove dummy RETURN case.
918 (print_rtl_with_bb): Don't consult obey_regdecls.
919 * function.c (use_variable, use_variable_after): Remove.
920 (assign_parms): Consult optimize not obey_regdecls.
921 (expand_function_start): Don't emit USEs for stupid.
922 (expand_function_end): Likewise.
923 * global.c (build_insn_chain): Export.
924 * integrate.c (expand_inline_function): Kill return-value USE
925 handling code.
926 * jump.c (jump_optimize_1): Do simple jump optimizations and
927 dead code elimination.
928 (calculate_can_reach_end): Remove check_deleted argument.
929 (delete_insn): Patch out insns even when not optimizing.
930 * local-alloc.c (block_alloc): Don't do tying when not optimizing.
931 * rtl.h (use_variable, use_variable_after): Remove declarations.
932 (build_insn_chain): Declare.
933 * stmt.c (expand_value_return): Don't emit USEs for stupid.
934 (expand_end_bindings): Likewise.
935 (expand_decl): Likewise. Consult optimize not obey_regdecls.
936 * toplev.c (obey_regdecls): Remove.
937 (rest_of_compilation): Don't set it. Kill stupid in favour of
938 flow1, local-alloc, and reload.
939 (main): Don't set obey_regdecls.
940
941 * config/nextstep.c (handle_pragma): Likewise.
942
943 * alpha/alpha.md (allocate_stack): Don't emit USEs for stupid.
944
945 * arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't fix reg 0 for stupid.
946
f6da8bc3
KG
9472000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
948
949 * alpha-protos.h: PROTO -> PARAMS.
950 * alpha.c: Likewise.
951 * elf.h: Likewise.
952 * h8300.c: Likewise.
953 * i386-protos.h: Likewise.
954 * i386.c: Likewise.
955 * m32r-protos.h: Likewise.
956 * m32r.c: Likewise.
957 * mips.c: Likewise.
958 * mips.md: Likewise.
959 * gmon-sol2.c: Likewise.
960 * sparc.c: Likewise.
961
fabf04b6
KG
9622000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
963
964 * ns32k-protos.h: New file.
965
966 * ns32k.c: Fix compile time warnings.
0843179b 967
fabf04b6
KG
968 * ns32k.h: Move prototypes to ns32k-protos.h. Fix compile time
969 warnings.
970
971 * ns32k.md: Likewise.
972
2fd58acb
KG
9732000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
974
975 * vax-protos.h: New file.
976
977 * vax.c: Fix compile time warnings.
0843179b 978
2fd58acb
KG
979 * vax.h: Move prototypes to vax-protos.h. Fix compile time
980 warnings.
981
982 * vax.md: Likewise.
983
984 * vaxv.md: Likewise.
985
13d516d9
KG
9862000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
987
988 * romp-protos.h: New file.
989
990 * romp.c: Fix compile time warnings.
0843179b 991
13d516d9
KG
992 * romp.h: Move prototypes to romp-protos.h. Fix compile time
993 warnings.
994
995 * romp.md: Likewise.
996
253f1045
KG
9972000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
998
999 * we32k-protos.h: New file.
1000
1001 * we32k.c: Fix compile time warnings.
0843179b 1002
253f1045
KG
1003 * we32k.h: Move prototypes to we32k-protos.h. Fix compile time
1004 warnings.
1005
962f1324
KG
10062000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1007
1008 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
1009
1010 * except.c (eh_regs): Likewise.
1011
1012 * final.c (output_operand): Likewise.
1013
1014 * fold-const.c (target_isinf, target_isnan): Likewise.
1015
e2e52e1b
JH
1016Tue Jan 18 16:19:55 MET 2000 Jan Hubicka <hubicka@freesoft.cz>
1017
17f24ff0
JH
1018 * i386.h (BIGGEST_ALIGNMENT): Set to 128.
1019 (BIGGEST_FIELD_ALIGNMENT): Set to (TARGET_ALIGN_DOUBLE ? 64 : 32)
1020
e2e52e1b
JH
1021 * i386.md (memstr): Do not use rep stosb for counts divisible by 4
1022 when optimize_size.
1023 (clrstrsi): Rewrite.
1024 (strsethi, strsetqi): New expanders.
1025 (strsethi_1, strsetqi_1, rep_stossi, rep_stosqi): New insn patterns.
1026 (cmpstrsi): Emit compare insn before cmpstrsi_1
1027 (cmpstrsi_nz): use flags, set type to str, prefix_length to 1.
1028 (strlensi_1): Likewise.
1029 (cmpstrsi_1): Likewise; do not output compare.
1030 (strlen expander): Do not unroll when optimizing for size.
1031 (*subsi3_carry): Rename to subsi3_carry
1032 (addqi3_cc): New pattern.
1033 * i386.h (processor_costs): Add move_ratio field.
1034 (MOVE_RATIO): Use move_ratio field, set to 3 for OPTIMIZE_SIZE
1035 * i386.c (*_cost): Set move_ratio.
1036 (x86_unroll_strlen): Enable for Athlon, PPro and K6 too.
1037 (x86_expand_strlensi_1): Rewrite the main loop.
1038
12530dbe
RH
10392000-01-17 Richard Henderson <rth@cygnus.com>
1040
1041 * combine.c (combine_simplify_rtx): Give FLOAT_STORE_FLAG_VALUE a mode.
1042 * cse.c (find_comparison_args, fold_rtx): Likewise.
1043 * integrate.c (subst_constants): Likewise.
1044 * loop.c (get_condition): Likewise.
1045
1046 * tm.texi (FLOAT_STORE_FLAG_VALUE): Update docs.
1047
1048 * alpha.h (FLOAT_STORE_FLAG_VALUE): Use REAL_VALUE_ATOF.
1049
101e59f4
ML
1050