]>
Commit | Line | Data |
---|---|---|
18862b5a | 1 | Tue 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 | 36 | 2000-02-15 Loren Rittle <ljrittle@acm.org> |
37 | ||
38 | * ginclude/stddef.h: Correct usage of _BSD_RUNE_T_ for FreeBSD. | |
39 | ||
56fc5f02 | 40 | 2000-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 | 79 | 2000-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 | 89 | 2000-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 | 96 | Mon 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 | 109 | Mon 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 | 115 | 2000-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 | 120 | 2000-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 | 127 | 2000-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 | 134 | Sun 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 | 138 | Sun Feb 13 13:21:55 2000 Jeffrey A Law (law@cygnus.com) |
139 | ||
140 | * combine.c (simplify_comparison): Fix typo. | |
141 | ||
779740c5 | 142 | Sun 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 | 147 | 2000-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 | ||
152 | 2000-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 | 156 | 2000-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 | 171 | Sat 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 | 178 | 2000-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 | 221 | 2000-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 | 226 | 2000-02-11 Andreas Jaeger <aj@suse.de> |
227 | ||
228 | * fixinc/Makefile.in (FIXINC_DEFS): Remove unneeded @fixinc_defs@. | |
229 | ||
4e29fcb2 | 230 | 2000-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 | 258 | Feb 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 | 265 | 2000-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 | 270 | 2000-02-11 Geoff Keating <geoffk@cygnus.com> |
271 | ||
272 | * haifa-sched.c (BUF_LEN): Increase a lot. | |
273 | ||
be565a8b | 274 | 2000-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 | 282 | 2000-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 | 288 | 2000-02-11 Nathan Sidwell <nathan@acm.org> |
289 | ||
290 | * cpphash.c (special_symbol): Remove spurious argument to | |
291 | cpp_lookup. | |
292 | ||
2eba8a5a | 293 | 2000-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 | 299 | 2000-02-11 Rodney Brown <RodneyBrown@pmsc.com> |
300 | ||
301 | * pa-protos.h: Wrap function_arg_padding in TREE_CODE #ifdef. | |
302 | ||
9dc4cbf1 | 303 | Fri 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 | 307 | Fri 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 | 311 | Fri Feb 11 02:48:30 2000 Brad Lucier (lucier@math.purdue.edu) |
312 | ||
313 | * sbitmap.h: Make SBITMAP_ELT_BITS unsigned. | |
314 | ||
d7ccb4fd | 315 | 2000-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 | 319 | 2000-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 | 331 | 2000-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 | 367 | 2000-02-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
368 | ||
369 | * c-pragma.c (maximum_field_alignment): Remove duplicate declaration. | |
370 | ||
bb0f15b4 | 371 | 2000-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 | 376 | Thu 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 | 421 | Thu 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 | 429 | 2000-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 | 435 | Thu 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 | 444 | 2000-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 | 458 | 2000-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 | 467 | 2000-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 | 477 | 2000-02-09 Clinton Popetz <cpopetz@cygnus.com> |
478 | * function.c (thread_prologue_and_epilogue_insns): Uncomment | |
479 | last change. | |
480 | ||
a311e300 | 481 | 2000-02-09 Richard Henderson <rth@cygnus.com> |
482 | ||
483 | * jump.c (delete_insn): Don't delete user labels at -O0. | |
484 | ||
e65966c3 | 485 | 2000-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 | 490 | 2000-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 | 498 | 2000-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 | 555 | 2000-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 | 561 | 2000-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 | 566 | 2000-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 | 575 | 2000-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 | 581 | Wed 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 | 586 | 2000-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 | 595 | 2000-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 | 601 | Tue 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 | 605 | 2000-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 | 618 | 2000-02-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
619 | ||
620 | * i386.h (TARGET_SWITCHES): Fix typo in option name. | |
621 | ||
d7c2892c | 622 | 2000-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 | 627 | Tue Feb 8 07:53:55 2000 Jan Hubicka <jh@suse.cz> |
628 | ||
629 | * i386.md (addqi3_cc): Fix contraints. | |
630 | ||
2bb09e1e | 631 | Tue 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 | 635 | 2000-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 | 640 | 2000-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 | 645 | 2000-02-07 Zack Weinberg <zack@wolery.cumb.org> |
646 | ||
647 | * cppfiles.c (deps_output): Count spacers in deps_column. | |
648 | ||
649 | 2000-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 | 655 | Mon 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 | 673 | 2000-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 | 715 | 2000-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 | 732 | 2000-02-06 Richard Henderson <rth@cygnus.com> |
733 | ||
734 | * simplify-rtx.c (simplify_relational_operation): Canonicalize | |
735 | constant to op1 for testing. | |
736 | ||
2ffc1517 | 737 | 2000-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 | 742 | 2000-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 | 750 | 2000-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 | 782 | 2000-02-05 Zack Weinberg <zack@wolery.cumb.org> |
783 | ||
784 | * i386/osf1elf.h: Add missing backslash to multiline string. | |
785 | ||
5b391870 | 786 | 2000-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
787 | ||
788 | * longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg. | |
789 | ||
74647769 | 790 | 2000-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 | 831 | 2000-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 | 836 | 2000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
837 | ||
838 | * caller-save.c: Include tm_p.h. | |
839 | ||
51045f0c | 840 | 2000-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 | 844 | 2000-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 | 849 | 2000-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 | 860 | 2000-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
861 | ||
862 | * fixinc/Makefile.in (HDR): Add machname.h. | |
863 | (clean): Likewise. | |
864 | ||
792db0c2 | 865 | 2000-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 | 872 | 2000-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 | 877 | 2000-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 | 882 | 2000-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 | 907 | 2000-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 | 927 | 2000-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 | 940 | Fri 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 | 945 | 2000-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 | 950 | 2000-02-04 Richard Henderson <rth@cygnus.com> |
951 | ||
952 | * i386/openbsd.h (INT_ASM_OP): Define. | |
953 | ||
3387c533 | 954 | Fri Feb 4 10:51:30 2000 Hans-Peter Nilsson <hp@bitrange.com> |
955 | ||
956 | * tm.texi: Fix various typos. | |
957 | ||
b6d00c99 | 958 | Thu 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 | 963 | Thu 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 | 974 | Wed Feb 2 23:04:47 2000 Krister Walfridsson <cato@df.lth.se> |
975 | ||
976 | * i386/netbsd.h (INT_ASM_OP): Define. | |
977 | ||
7189e1d2 | 978 | 2000-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 | 985 | Wed 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 | 990 | 2000-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 | 996 | Wed 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 | 1001 | 2000-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 | 1006 | 2000-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 | 1011 | 2000-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 | 1021 | 2000-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 | 1026 | 2000-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 | 1067 | 2000-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 | 1075 | Wed 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 | 1080 | 2000-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 | 1085 | 2000-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 | 1093 | 2000-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 | 1104 | Tue 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 | 1109 | 2000-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 | 1114 | Tue 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 | 1120 | 2000-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 | 1128 | 2000-01-31 Dave Brolley <brolley@redhat.com> |
1129 | ||
1130 | * cccp.c (struct argdata): Redeclare 'newlines' field as 'int'. | |
1131 | ||
9cf49039 | 1132 | 2000-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 | 1137 | 2000-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 | 1144 | 2000-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 | 1163 | 2000-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 | 1170 | 2000-01-30 Richard Henderson <rth@cygnus.com> |
1171 | ||
1172 | * alpha.md (return_internal): Allow after reload only. | |
1173 | ||
3dcd0d86 | 1174 | 2000-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 | 1179 | 2000-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 | 1187 | 2000-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 | 1193 | 2000-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 | 1200 | 2000-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 | 1206 | 2000-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 | 1217 | 2000-01-29 Mark Mitchell <mark@codesourcery.com> |
1218 | ||
1219 | * flow.c (mark_regs_live_at_end): Fix typo. | |
1220 | ||
02345968 | 1221 | 2000-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 | 1232 | 2000-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 | 1243 | 2000-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 | ||
1254 | 2000-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 | 1262 | 2000-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 | 1268 | Fri 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 | ||
1275 | 2000-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 | ||
1282 | Fri 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 | 1289 | 2000-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 | 1309 | 2000-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 | 1318 | 2000-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 | 1324 | 2000-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 | 1329 | 2000-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 | 1335 | 2000-01-27 Richard Henderson <rth@cygnus.com> |
1336 | ||
7e7a0814 | 1337 | * alpha.md (trunctfsf2): New. |
7bbf1f8d | 1338 | |
27e19e34 | 1339 | 2000-01-27 Andrew Hobson <ahobson@eng.mindspring.net> |
1340 | ||
1341 | * configure.in (alpha-dec-osf5): Enable MASK_SUPPORT_ARCH. | |
1342 | ||
3dace059 | 1343 | 2000-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 | 1362 | 2000-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 | ||
1377 | 2000-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 | 1383 | 2000-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 | 1430 | 2000-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 | 1439 | 2000-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 | 1444 | 2000-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 | 1453 | 2000-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 | 1458 | Wed 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 | 1469 | 2000-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 | 1477 | 2000-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
1478 | ||
1479 | * i386/cygwin.h: PROTO -> PARAMS. | |
1480 | ||
b59496fa | 1481 | 2000-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 | 1497 | 2000-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 | 1503 | 2000-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 | 1512 | 2000-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 | 1517 | 2000-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 | 1536 | 2000-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 | 1541 | 2000-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 | 1547 | 2000-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 | 1580 | 2000-01-25 Gavin Romig-Koch <gavin@cygnus.com> |
1581 | ||
1582 | * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Fix for mips16. | |
1583 | ||
d73e991a | 1584 | 2000-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 | 1589 | 2000-01-25 Clinton Popetz <cpopetz@cygnus.com> |
1590 | ||
1591 | * config/fp-bit.c (_unord_f2): Fix typo. | |
1592 | ||
f8b540f2 | 1593 | 2000-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 | 1609 | 2000-01-25 Clinton Popetz <cpopetz@cygnus.com> |
1610 | ||
1611 | * config/mips/mips.md (zero_extendsidi2_internal): Disable for | |
1612 | mips16. | |
1613 | ||
9312a956 | 1614 | 2000-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 | 1625 | 2000-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 | 1634 | 2000-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 | 1640 | 2000-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 | 1665 | 2000-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 | ||
1682 | 2000-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 | 1693 | Mon 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 | 1698 | 2000-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 | 1703 | 2000-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 | 1711 | 2000-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 | 1716 | 2000-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 | 1761 | 2000-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 | 1766 | Mon 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 | 1771 | Mon 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 | 1805 | Mon 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 | 1813 | 2000-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 | 1819 | 2000-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 | 1851 | 2000-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 | 1856 | 2000-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 | 1864 | 2000-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 | 1869 | 2000-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 | 1878 | 2000-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 | 1884 | 2000-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 | 1890 | 2000-01-23 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
1891 | ||
1892 | * config/c4x/c4x.h (ASM_OUTPUT_BSS): Redefine. | |
1893 | ||
137f9f6b | 1894 | 2000-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 | 1900 | 2000-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 | 1910 | 2000-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 | 1915 | 2000-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 | 1920 | 2000-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 | 1926 | 2000-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 | 1934 | 2000-01-21 Zack Weinberg <zack@wolery.cumb.org> |
1935 | ||
1936 | * fixinc/fixfixes.c (machine_name_fix): Don't free 'scratch'. | |
1937 | ||
bf7619bc | 1938 | 2000-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 | 1944 | 2000-01-20 Richard Henderson <rth@cygnus.com> |
1945 | ||
1946 | * jump.c (jump_optimize_1): Don't do addr_vec optimizations at -O0. | |
1947 | ||
17f8e521 | 1948 | 2000-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 | 1972 | 2000-01-20 Brad Lucier <lucier@math.purdue.edu> |
1973 | ||
1974 | * Makefile.in (predict.o): Depend on $(EXPR_H), not expr.h. | |
1975 | ||
f057320a | 1976 | 2000-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 | 1981 | 2000-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 | 1986 | Thu 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 | 2001 | 2000-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 | 2007 | 2000-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 | 2026 | 2000-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 | 2037 | 2000-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 | 2046 | Wed 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 | 2051 | 2000-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 | 2073 | 2000-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 | 2078 | 2000-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 | 2083 | Wed 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 | 2088 | Wed 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 | 2092 | 2000-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 | 2103 | 2000-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 | 2146 | 2000-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 | 2161 | 2000-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 | 2172 | 2000-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 | 2185 | 2000-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 | 2196 | 2000-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 | 2205 | 2000-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 | 2215 | Tue 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 | 2238 | 2000-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 |