]>
Commit | Line | Data |
---|---|---|
a1cbdd7f JH |
1 | Fri Dec 17 01:32:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
2 | ||
3 | * i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify | |
4 | condition. | |
5 | (one_cmpl?i*): Pass "NOT" to unary_operator_ok. | |
6 | ||
a97901e6 MM |
7 | 1999-12-16 Mark Mitchell <mark@codesourcery.com> |
8 | ||
9 | * Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H. | |
10 | * function.c (insert_block_after_note): Remove. | |
11 | (retrofit_block): Likewise. | |
12 | (identify_blocks): Fix indentation. | |
13 | (reorder_blocks): Don't NULL out NOTE_SOURCE_FILE for a | |
14 | NOTE_INSN_BLOCK_BEG or NOTE_INSN_BLOCK_END. | |
15 | * function.h (insert_block_after_note): Remove prototype. | |
16 | (retrofit_block): Likewise. | |
17 | * integrate.c (expand_inline_function): Don't call | |
18 | find_loop_tree_blocks. Use expand_start_bindings_and_block, not | |
19 | just expand_start_bindings. Use the block_map to remap old | |
20 | NOTE_BLOCKs to new ones. | |
21 | (integrate_decl_tree): Keep track of remapped blocks. | |
22 | * integrate.h (struct inline_remap): Add block_map. | |
23 | * stmt.c (expand_fixup): Don't try to retrofit_blocks. Just set | |
24 | NOTE_BLOCK on the notes. | |
25 | (expand_start_bindings): Rename to ... | |
26 | (expand_start_bindings_and_block): Add parameter. Set NOTE_BLOCK. | |
27 | (expand_end_bindings): Set NOTE_BLOCK. | |
28 | * toplev.c (rest_of_compilation): In function-at-a-time-mode, | |
29 | reconstruct the BLOCK tree. | |
30 | * tree.h (expand_start_bindings): Macroize. Call ... | |
31 | (expand_start_bindings_and_block): New function. | |
32 | ||
0d9484c5 JJ |
33 | 1999-12-16 Jakub Jelinek <jakub@redhat.com> |
34 | ||
35 | * config/sparc/sparc.c (print_operand): Cast fprintf arguments | |
36 | to match the format. | |
37 | ||
235ae7be DM |
38 | 1999-12-16 David S. Miller <davem@redhat.com> |
39 | ||
40 | * expr.c (emit_move_insn_1): Only emit clobbers if one of | |
41 | the outputs is a SUBREG. | |
42 | * rtlanal.c (reg_overlap_mentioned_p): Revert December 15th | |
43 | change. | |
44 | ||
76a7c776 DM |
45 | * config/sparc/sparc.c (epilogue_renumber): Add default case |
46 | to switch stmt. | |
47 | ||
954d8e99 JH |
48 | Thu Dec 16 11:33:57 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
49 | ||
5b772bbd JH |
50 | * toplev.c (rest_of_compilation): Run branch shortening after |
51 | reg-stack. | |
52 | ||
954d8e99 JH |
53 | * regclass.c (loop_depth): Remove |
54 | (scan_one_insn): Do not handle LOOP_NOTE insns. | |
55 | (regclass): Go through basic blocks and set loop_cost | |
56 | ||
3d62d651 ZW |
57 | Thu Dec 16 02:56:25 1999 Zack Weinberg <zack@bitmover.com> |
58 | ||
59 | * tree.h (DECL_FROM_INLINE): Check DECL_ABSTRACT_ORIGIN too. | |
60 | ||
4cbfbb1b JH |
61 | Thu Dec 16 10:43:35 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
62 | ||
63 | * i386.md (movqi): Use "nonimmediate_operand" for output operand. | |
64 | (movstrictqi, movdi, movsf, movdf, movxf): Likewise. | |
65 | (adddi, addqi, addhi, subdi, subqi, subhi, ffs): Likewise. | |
66 | ||
0bd4b461 RH |
67 | Thu Dec 16 02:41:26 1999 Richard Henderson (rth@cygnus.com) |
68 | ||
27114460 RH |
69 | * loop.c (insert_loop_mem): Ignore memory clobbers. |
70 | ||
0bd4b461 RH |
71 | * combine.c (simplify_comparison): Reduce (OP (MINUS A B) 0) |
72 | to (OP A B). | |
73 | ||
41adf898 JL |
74 | Thu Dec 16 02:26:11 1999 Jeffrey A Law (law@cygnus.com) |
75 | ||
df55ea09 JL |
76 | * profile.c: Remove redundant #include "output.h". |
77 | ||
41adf898 JL |
78 | * h8300.md (HImode preinc peephole): Fix typo. |
79 | ||
5afb79e7 JM |
80 | 1999-12-15 Jason Merrill <jason@casey.cygnus.com> |
81 | ||
82 | * function.c (retrofit_block): Abort if we don't find a suitable insn. | |
83 | (insert_block_after_note): Abort if we don't have a previous block. | |
84 | Remove FN parameter. | |
85 | * function.h: Adjust. | |
86 | ||
5a626f11 MM |
87 | 1999-12-15 Mark Mitchell <mark@codesourcery.com> |
88 | ||
89 | * builtins.c (expand_builtin_mathfn): Make sure not to expand the | |
90 | argument more than once. | |
91 | ||
4d9af632 JM |
92 | 1999-12-15 Jason Merrill <jason@casey.cygnus.com> |
93 | ||
94 | * stmt.c (expand_decl): Expand upper bound of a dynamic array. | |
95 | ||
8b725198 JJ |
96 | 1999-12-15 Jakub Jelinek <jakub@redhat.com> |
97 | ||
98 | * expr.c (emit_group_load): Use dst mode if src is VOIDmode. | |
99 | ||
a0871656 JH |
100 | Wed Dec 15 16:11:55 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
101 | ||
102 | * function.c (PREFERRED_STACK_BOUDNARY): Provide default value. | |
103 | (assign_stack_local_1): Limit alignment to PREFERRED_STACK_BOUNDARY, | |
104 | update stack_alignment_needed. | |
105 | (prepare_function_start): Initialize stack_alignment_needed | |
106 | * function.h (struct function): Add field stack_alignment_needed. | |
107 | ||
285f3cf0 R |
108 | Wed Dec 15 14:55:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
109 | ||
110 | * caller-save.c (insert_one_insn): Returns struct insn_chain *. | |
111 | Handle live_throughout / dead_or_set instead of live_before / | |
112 | live_after. | |
113 | (save_call_clobbered_regs): Get register livenessinformation from | |
114 | chain->live_throughout. | |
115 | (add_stored_regs): New function. | |
116 | (insert_restore, insert_save): Add restored / saved registers to | |
117 | dead_or_set. | |
118 | * global.c (reg_dies): New parameter chain. | |
119 | (reg_becomes_live): Third parameter is regs_set now. | |
120 | Changed all callers. | |
121 | (reg_dies): New parameter chain. Changed all callers. | |
122 | (build_insn_chain): Set live_throughout instead of | |
123 | live_before / live_after. | |
124 | * reload.h (struct insn_chain): Replace members live_before / | |
125 | live_after with live_throughout / dead_or_set. | |
126 | * reload1.c (new_insn_chain): Handle live_throughout / dead_or_set | |
127 | instead of live_before / live_after. | |
128 | (maybe_fix_stack_asms, find_reload_regs, finish_spills): Likewise. | |
129 | (order_regs_for_reload, find_reg, finish_spills): Likewise. | |
130 | (choose_reload_regs_init): Likewise. | |
131 | * stupid.c (current_chain, find_clobbered_regs): Delete. | |
132 | (stupid_life_analysis): Set chain->live_throughout chain->dead_or_set | |
133 | instead of chain->live_before / chain->live_after. | |
134 | (mark_hard_ref): New function. | |
135 | (stupid_mark_refs): Call mark_hard_ref. Clear chain->live_throughout. | |
136 | ||
4940cd60 DM |
137 | 1999-12-15 David S. Miller <davem@redhat.com> |
138 | ||
139 | * rtlanal.c (reg_overlap_mentioned_p): Handle CONCAT. | |
140 | ||
ce4bbac7 JH |
141 | Wed Dec 15 15:05:30 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
142 | ||
35836a43 JH |
143 | * flow.c (calculate_loop_depth): Make global, remove prototype, |
144 | rewrite to use new loop infrastructure. | |
145 | (find_basic_block): Remove calculate_loop_depth call. | |
146 | * toplev.c (rest_of_compilation): Call find_basic_block. | |
147 | * output.h (calculate_loop_depth): Declare. | |
148 | ||
ce4bbac7 JH |
149 | * flow.c (dump_flow_info): Dump loop_depth. |
150 | (flow_loops_nodes_find): Increase loop_depth for basic block in the | |
151 | body. | |
152 | (flow_loops_find): Initialize the loop_depth for each basic block. | |
153 | ||
6ff7fb95 JM |
154 | 1999-12-15 Jason Merrill <jason@casey.cygnus.com> |
155 | ||
156 | * tree.c (decl_function_context): Handle virtual functions. | |
157 | ||
158 | * tlink.c (scan_linker_output): Don't look in demangled name when | |
159 | looking for linker output keywords. | |
160 | ||
161 | * dwarfout.c (output_type): We can defer namespace-scope classes. | |
162 | ||
accef103 JL |
163 | Wed Dec 15 01:23:29 1999 Jeffrey A Law (law@cygnus.com) |
164 | ||
165 | * regclass.c (record_reg_classes): Update comment for merging | |
166 | register class preferences in reg->reg copies. Tighten conditions | |
167 | for merging register class preferences in reg->reg copies. | |
168 | ||
fd2a1092 DE |
169 | Wed Dec 15 02:19:32 1999 David Edelsohn <edelsohn@gnu.org> |
170 | ||
171 | * rs6000.md (tablejumpdi): Generate DImode LABEL_REF. | |
172 | ||
f4f1acad GK |
173 | 1999-12-14 Geoff Keating <geoffk@cygnus.com> |
174 | ||
175 | * config/m68k/m68020-elf.h (ENDFILE_SPEC): Delete. | |
176 | (INIT_SECTION_ASM_OP): Delete. | |
177 | (FINI_SECTION_ASM_OP): Delete. | |
178 | (STARTFILE_SPEC): Define to hold just crtbegin.o. | |
179 | ||
9765e357 JM |
180 | 1999-12-14 Jason Merrill <jason@casey.cygnus.com> |
181 | ||
1ae8994f JM |
182 | * dwarf2out.c (add_abstract_origin_attribute): Do call abort if |
183 | the abstract origin wasn't emitted. | |
184 | ||
9765e357 JM |
185 | * dwarf2out.c (class_scope_p): New fn. |
186 | (gen_subprogram_die): Use it. | |
187 | (gen_variable_die): Use it. Tweak logic. | |
188 | (gen_struct_or_union_type_die): Check context_die to determine | |
189 | if we're function-local. | |
190 | (dwarf2out_decl): Check DECL_BUILT_IN, not DECL_FUNCTION_CODE. | |
191 | ||
6979065c BS |
192 | 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk> |
193 | ||
194 | * loop.c (check_dbra_loop): Can't reverse a biv that has | |
195 | maybe_multiple set. | |
196 | ||
a120a3bd NC |
197 | 1999-12-14 Nick Clifton <nickc@cygnus.com> |
198 | ||
199 | * config/arm/arm.c: Add support for -mcpu=arm720 command line | |
200 | switch. | |
201 | ||
e1bb2458 R |
202 | Tue Dec 14 18:13:32 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
203 | ||
204 | * loop.c (strength_reduce): Fix sign of giv lifetime calculation | |
205 | for givs made from biv increments. | |
206 | ||
d8ee3e20 RH |
207 | Tue Dec 14 08:11:27 1999 Richard Henderson <rth@cygnus.com> |
208 | ||
209 | * configure.in (alpha-osf, alpha-linux): Handle ev6[78]. | |
210 | * alpha.c (override_options): Recognize -mcpu=ev67. | |
211 | * alpha.h (CPP_CPU_EV67_SPEC): New. | |
212 | (CPP_CPU_DEFAULT_SPEC): Examine TARGET_CPU_DEFAULT to use it. | |
213 | (EXTRA_SPECS): Update. | |
214 | ||
215 | Tue Dec 14 08:04:28 1999 Richard Henderson <rth@cygnus.com> | |
216 | ||
217 | * cppp.c (main): Set trigraphs and __STRICT_ANSI__ as | |
218 | appropriate for -lang-c89 and -std=*. | |
219 | * cppinit.c (cpp_handle_option): Likewise. | |
220 | (new_pending_define): New, split out from cpp_handle_option. | |
221 | * gcc.c (default_compilers): Don't define __STRICT_ANSI__ | |
222 | or enable trigraphs for -ansi/-std=*. | |
223 | ||
224 | * ginclude/stdarg.h (__va_copy): New. | |
225 | (va_copy): Don't define for C89. | |
226 | ||
9e3fc430 CP |
227 | Tue Dec 14 08:37:27 CST 1999 Clinton Popetz <cpopetz@cygnus.com> |
228 | ||
229 | * config/arm/arm.md (mulsidi3adddi, umulsidi3adddi): New patterns | |
230 | for long long multiply-accumulate. | |
231 | ||
2f12c89d JH |
232 | Tue Dec 14 13:51:38 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
233 | ||
234 | * regclass.c (scan_one_insn): Set loop_cost to 1 when | |
235 | optimizing for size. | |
236 | ||
0a326ec9 BS |
237 | 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk> |
238 | ||
e483bf9c BS |
239 | * reload1.c (reload): Can't avoid select_reload_regs/finish_spills |
240 | if something changed. Back out that part of yesterday's changes. | |
241 | ||
0a326ec9 BS |
242 | * loop.c (loop_max_reg): New static variable. |
243 | (loop_optimize): Initialize it. Eliminate one unnecessary call to | |
244 | max_reg_num. | |
245 | (scan_loop): Call reg_scan_update whenever we may have added new | |
246 | registers, and update loop_max_reg. | |
247 | ||
d5e2075d JH |
248 | Tue Dec 14 12:07:29 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
249 | ||
0dc0641b JH |
250 | * regclass.c (record_reg_classes): Do not do the copying preferrencing |
251 | when source does not die. | |
252 | ||
d5e2075d JH |
253 | * regclass.c (record_reg_classes): Handle INOUT operands propertly. |
254 | ||
5a5e9ce6 JJ |
255 | 1999-12-14 Jakub Jelinek <jakub@redhat.com> |
256 | ||
257 | * config/sparc/linux64.h (TARGET_LIVE_G0, | |
258 | TARGET_BROKEN_SAVERESTORE): Don't support weird SPARC | |
259 | variants on Linux. | |
260 | * config/sparc/linux.h (TARGET_LIVE_G0, | |
261 | TARGET_BROKEN_SAVERESTORE): Likewise. | |
262 | * config/sparc/linux-aout.h (TARGET_LIVE_G0, | |
263 | TARGET_BROKEN_SAVERESTORE): Likewise. | |
264 | ||
a330e73b JJ |
265 | * config/sparc/sparc.h (SPARC_DEFAULT_CMODEL): Default to CM_32. |
266 | (CONDITIONAL_REGISTER_USAGE): For block profiling fix %g4 on sparc64, | |
267 | not %g2. | |
268 | (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Use %g4 instead of %g2 | |
269 | as sparc64 block profiling register. | |
270 | * config/sparc/sparc.c (sparc_override_options): Allow block | |
271 | profiling with -m32. | |
272 | (sparc_block_profiler): Use %g4 instead of %g2 as sparc64 block | |
273 | profiling register. | |
274 | * config/sparc/linux64.h (MACHINE_STATE_*): Only provide these | |
275 | macros on TARGET_ARCH32. sparc.h has macros good enough for sparc64. | |
276 | * config/sparc/sol2.h (MACHINE_STATE_*): Likewise. | |
277 | ||
afdac905 JJ |
278 | * config/sparc/xm-sp64.h: Avoid using __sparc_v9__ when testing |
279 | for sparc64. | |
280 | * config/sparc/sparc.h: Likewise. | |
281 | * config/sparc/xm-sysv4-64.h: Likewise. | |
282 | * config/float-sparc.h: Likewise. | |
283 | * glimits.h: Likewise. | |
284 | * longlong.h: Likewise. | |
285 | ||
9ac190b5 JJ |
286 | * config/sparc/linux64.h (DEFAULT_VTABLE_THUNKS): Define to 1. |
287 | (ASM_IDENTIFY_GCC): Remove. | |
288 | ||
3749f4ca BS |
289 | 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk> |
290 | ||
291 | * combine.c (combine_simplify_rtx): Don't make shared rtl. | |
292 | (simplify_logical): Likewise. | |
293 | ||
b9a341ba MK |
294 | 1999-12-14 Mumit Khan <khan@xraylith.wisc.edu> |
295 | ||
296 | * cccp.c (INO_T_EQ): Disable inode-based optimization for Cygwin. | |
297 | * cppfiles.c (INO_T_EQ): Likewise. | |
298 | ||
9b0b6c51 MK |
299 | 1999-12-14 Mumit Khan <khan@xraylith.wisc.edu> |
300 | ||
301 | * i386/crtdll.h (STARTFILE_SPEC): Add -pg profiling support. | |
302 | * i386/mingw32.h (LIB_SPEC): Likewise. | |
303 | (STARTFILE_SPEC): Likewise. | |
304 | * i386/uwin.h (LIB_SPEC): Likewise. | |
305 | (STARTFILE_SPEC): Likewise. | |
306 | ||
307 | * i386/mingw32.h (SUBTARGET_PROLOGUE): Override Cygwin definition. | |
308 | * i386/uwin.h (SUBTARGET_PROLOGUE): Likewise. | |
309 | ||
37ac53d9 JL |
310 | Mon Dec 13 20:25:29 1999 Jeffrey A Law (law@cygnus.com) |
311 | ||
312 | * combine.c (combine_simplify_rtx): Fix order of checks for | |
313 | (ashiftrt foo C) -> (lt foo (const_int 0)) simplification. | |
314 | ||
8debd288 CP |
315 | 1999-12-13 Clinton Popetz <cpopetz@cygnus.com> |
316 | ||
317 | * config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi) Backed out | |
318 | 12/10/99 change, reapplied to merged-arm-thumb-backend-branch. | |
319 | ||
f5d8c9f4 BS |
320 | 1999-12-10 Bernd Schmidt <bernds@cygnus.co.uk> |
321 | ||
322 | * hard-reg-set.h (inv_reg_alloc_order): Declare if REG_ALLOC_ORDER is | |
323 | defined. | |
324 | * regclass.c (inv_reg_alloc_order): New array. | |
325 | (regclass_init): If REG_ALLOC_ORDER is defined, initialize it. | |
326 | ||
327 | * reload.h (struct insn_chain): Delete fields group_size, group_mode, | |
328 | counted_for_groups, counted_for_nongroups. Add fields rld and | |
329 | n_reloads. | |
330 | * reload.c (push_secondary_reload): Don't set nongroup field of | |
331 | new reloads. | |
332 | (push_reload): Likewise. | |
333 | (find_reloads): Delete code to compute nongroup fields. | |
334 | * reload1.c (reload_insn_firstobj): New static variable. | |
335 | (pseudos_counted, spilled_pseudos): Now of type regset_head. All | |
336 | users changed. | |
337 | (calculate_needs, find_tworeg_group, find_group, possible_group_p, | |
338 | count_possible_groups, modes_equiv_for_class_p, new_spill_reg, | |
339 | dump_needs, maybe_mark_pseudo_spilled, hard_reg_use_compare): Delete | |
340 | functions. | |
341 | (count_pseudo, select_reload_regs, copy_reloads, find_reg): New | |
342 | functions. | |
343 | (struct hard_reg_n_uses): Deleted. | |
344 | (potential_reload_regs): Deleted. | |
345 | (init_reload): Initialize spilled_pseudos and pseudos_counted. | |
346 | (reload): Don't try to allocate reload registers if we already know | |
347 | we have to make another pass. Call select_reload_regs. Free memory | |
348 | starting with reload_firstobj when starting another pass. | |
349 | Don't allocate spilled_pseudos. | |
350 | (calculate_needs_all_insns): Call copy_reloads for an insn that | |
351 | needs reloads; don't call calculate_needs. | |
352 | (spill_cost): New static array. | |
353 | (used_spill_regs_local): New static variable. | |
354 | (order_regs_for_reload): Rewrite to lose hard_reg_n_uses and the code | |
355 | to compute potential_reload_regs. | |
356 | (find_reload_regs): Completely rewritten to use find_reg. | |
357 | (allocate_reload_reg): Don't test counted_for_groups or | |
358 | counted_for_nongroups. Lose NOERROR arg and code to give an error; | |
359 | all cllers changed. | |
360 | (choose_reload_regs): Add fallback code that uses the existing | |
361 | register allocation from find_reload_regs. | |
362 | ||
2c852885 JL |
363 | Mon Dec 13 00:54:14 1999 Philippe De Muyter <phdm@macqel.be> |
364 | ||
365 | * flow.c (create_edge_list): Cast xmalloc return value. | |
366 | ||
367 | Mon Dec 13 00:47:58 1999 Jeffrey A Law (law@cygnus.com) | |
368 | ||
2ecac433 JL |
369 | * doprnt.c: Remove incorrect comment closure. |
370 | ||
2c852885 JL |
371 | * cse.c: Fix a few minor whitespace goofs. |
372 | ||
fe0f7c16 DB |
373 | 1999-12-13 Don Bowman <don@pixstream.com> |
374 | ||
375 | * mips/vxworks.h: Fix problem with comment termination. | |
376 | (EXTRA_SECTIONS): Add in_sbss. | |
377 | (EXTRA_SECTION_FUNCTIONS): Corresponding changes. | |
378 | ||
9b1549b8 DM |
379 | 1999-12-12 David S. Miller <davem@redhat.com> |
380 | ||
381 | * cse.c (struct cse_reg_info): Add hash_next member, | |
382 | reorder rest of struct for better packing on 64-bit | |
383 | hosts. | |
384 | (cse_reg_info_tree): Kill. | |
385 | (REGHASH_SHIFT, REGHASH_SIZE, REGHASH_MASK, reg_hash, | |
386 | REGHASH_FN): New custom pow2 hash mechanism. | |
387 | (NBUCKETS): Kill. | |
388 | (HASH_SHIFT, HASH_SIZE, HASH_MASK, HASH, table): Rework to | |
389 | use a pow2 hash table. | |
390 | (get_cse_reg_info): Rework to use new REGHASH. | |
391 | (new_basic_block): Likewise, use HASH_SIZE, and inline | |
392 | free_element call. | |
393 | (remove_from_table): Rework to use HASH_SIZE/HASH_MASK, | |
394 | and inline free_element call. | |
395 | (lookup_as_function, insert, flush_hash_table, invalidate, | |
396 | remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg, | |
397 | invalidate_for_call, use_related_value, find_comparison_args, | |
398 | fold_rtx, equiv_constant, cse_insn, invalidate_memory): Likewise. | |
399 | (hash_cse_reg_info, cse_reg_info_equal_p, free_element, | |
400 | get_element): Kill. | |
401 | ||
fa0933ba JL |
402 | Sun Dec 12 21:31:44 1999 Jeffrey A Law (law@cygnus.com) |
403 | ||
404 | * cse.c (cse_basic_block): Free qty_table consistently. | |
405 | ||
ccd61a80 DM |
406 | 1999-12-12 David S. Miller <davem@redhat.com> |
407 | Jakub Jelinek <jakub@redhat.com> | |
408 | ||
409 | * config/sparc/sparc.md (movtf reg/reg split): Don't generate | |
410 | SUBREGs by hand, gen the appropriate hard reg directly. | |
411 | (movtf reg/mem split): Likewise and alter_subreg on destination | |
412 | if necessary. | |
413 | (movtf mem/reg split): Similarly. | |
414 | (movdf_cc_sp64): Rename from hidden pattern. | |
415 | (movtf_cc_hq_sp64): Renamed from movtf_cc_sp64. | |
416 | (movtf_cc_sp64, following split): New pattern and splitter. | |
417 | (movdf_cc_reg_sp64): Rename from hidden pattern. | |
418 | (movtf_cc_reg_hq_sp64): Renamed from movtf_cc_reg_sp64, require | |
419 | TARGET_HARD_QUAD. | |
420 | (movtf_cc_reg_sp64, following split): New pattern and splitter. | |
421 | ||
f0b60c1c SM |
422 | 1999-12-12 Stephen L Moshier <moshier@mediaone.net> |
423 | ||
424 | * loop.c (load_mems): Don't hoist written floating point mem | |
425 | if -ffloat-store. | |
426 | ||
f54a7f6f MM |
427 | 1999-12-12 Mark Mitchell <mark@codesourcery.com> |
428 | ||
429 | * except.h (struct eh_queue): Add `next' pointer. | |
430 | (struct eh_status): Make x_ehqueue a pointer. | |
431 | (push_ehqueue): Declare. | |
432 | (pop_ehqueue): Likewise. | |
433 | * except.c (expand_eh_region_end): Adjust now that ehqueue is a | |
434 | pointer. | |
435 | (expand_fixup_region_end): Likewise. | |
436 | (expand_leftover_cleanups): Likewise. | |
437 | (push_ehqueue): Define. | |
438 | (pop_ehqueue): Likewise. | |
439 | (emit_cleanup_handler): Use push_ehqueue and pop_ehqueue rather | |
440 | than doing it inline. | |
441 | (expand_start_all_catch): Adjust now that ehqueue is a | |
442 | pointer. | |
443 | (mark_eh_queue): Mark all level of the queue. | |
444 | (mark_eh_status): Adjust now that ehqueue is a | |
445 | pointer. | |
446 | (init_eh_for_function): Allocate ehqueue. | |
447 | (free_eh_status): Free it. | |
448 | * stmt.c (expand_cleanups): Save the ehqueue around the cleanup | |
449 | expansion for a fixup. | |
450 | ||
3e7d8ef1 KG |
451 | 1999-12-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
452 | ||
453 | * gthr-single.h (__gthread_active_p): Add prototype arguments. | |
454 | ||
455 | * libgcc2.c (__udivmoddi4): Remove unnecessary decls. | |
456 | (__dummy, __builtin_saveregs, __bb_exit_trace_func, __bb_init_prg, | |
457 | __bb_trace_func, __bb_trace_func_ret, __bb_trace_ret, | |
458 | function_ptr, getpagesize, __enable_execute_stack, | |
459 | __enable_execute_stack, __clear_insn_cache, | |
460 | __enable_execute_stack, __do_global_dtors, __do_global_ctors, | |
461 | _cleanup, _exit, __default_terminate, __terminate_func, | |
462 | __terminate, __empty, __throw, new_eh_context, | |
463 | eh_context_initialize, eh_context_static, eh_context_specific, | |
464 | get_eh_context, __get_eh_context, __get_eh_info, | |
465 | init_reg_size_table, eh_threads_initialize, | |
466 | __get_dynamic_handler_chain, __sjthrow, __sjpopnthrow, | |
467 | __unwinding_cleanup, throw_helper, __throw, __rethrow, | |
468 | __pure_virtual): Add prototype arguments. | |
469 | (__bb_exit_func): Cast a sizeof to long when comparing against one. | |
470 | Cast a signed value to unsigned long when comparing against one. | |
471 | (new_eh_context): Wrap in _GTHREADS macro. | |
472 | (__sjthrow, __sjpopnthrow): Initialize variable `cleanup' at | |
473 | declaration. | |
474 | (in_reg_window): Mark parameters with __attribute__ ((__unused__)). | |
475 | (throw_helper): Initialize variables `handler_p' and `pc_p'. | |
476 | ||
4a71b24f KG |
477 | 1999-12-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
478 | ||
479 | * combine.c (record_promoted_value): Remove unused variable | |
480 | `links2'. | |
481 | ||
482 | * emit-rtl.c (renumber_insns): Likewise for `old_max_uid'. | |
483 | ||
484 | * global.c (record_conflicts): Likewise for `j'. | |
485 | ||
486 | * genoutput.c (output_insn_data): Don't unnecessarily cast away | |
487 | const-ness. | |
488 | ||
69ddee61 KG |
489 | 1999-12-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
490 | ||
491 | * i386-protos.h (output_387_binary_op, output_fix_trunc, | |
492 | output_fp_compare): Constify a char*. | |
493 | ||
494 | * i386.c (ix86_split_to_parts, ix86_safe_length_prefix): Add | |
495 | static prototypes. | |
496 | (override_options, ix86_comp_type_attributes, print_operand, | |
497 | output_387_binary_op, output_fix_trunc, output_fp_compare): | |
498 | Constify a char*. | |
499 | (ix86_sched_reorder): Mark parameter `clock_var' with | |
500 | ATTRIBUTE_UNUSED. | |
501 | ||
502 | * i386.h (DEBUG_PRINT_REG): Constify a char*. | |
503 | ||
be821c5e APB |
504 | Fri Dec 10 16:12:13 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> |
505 | ||
506 | * tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third | |
507 | operand, for use in the Java front-end. | |
508 | ||
8a90b95d BC |
509 | 1999-12-10 Ben Collins <bcollins@debian.org> |
510 | ||
d8ee3e20 | 511 | * configure.in: Fix typo for "-64" in 64bit as check. |
8a90b95d BC |
512 | * configure: Rebuilt. |
513 | ||
d64554f9 JJ |
514 | 1999-12-10 Jakub Jelinek <jakub@redhat.com> |
515 | ||
516 | * longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT where | |
517 | appropriate. | |
518 | ||
bb66adca KG |
519 | 1999-12-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
520 | ||
521 | * c-parse.in (string): With -Wtraditional, warn if ANSI string | |
522 | concatenation is utilized. | |
523 | ||
524 | * invoke.texi (-Wtraditional): Document it. | |
525 | ||
d92398a2 KG |
526 | 1999-12-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
527 | ||
528 | * flow.c (flow_loops_dump): Avoid ANSI string concatenation. | |
529 | Cast a ptrdiff_t to long and pass it to printf with %ld. | |
530 | ||
15a17b72 GK |
531 | 1999-12-10 Geoff Keating <geoffk@cygnus.com> |
532 | ||
533 | * config/m68k/m68k.h (CONDITIONAL_REGISTER_USAGE): If we have no | |
534 | 68881, we have no 68881 registers at all. | |
535 | (HARD_REGNO_MODE_OK): It is always OK to put a MODE_FLOAT | |
536 | value in a 68881 register if it is available. | |
537 | ||
ff8ee66b CP |
538 | 1999-12-10 Clinton Popetz <cpopetz@cygnus.com> |
539 | ||
540 | * config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi): New patterns | |
541 | for long long multiply-accumulate. | |
542 | ||
22d37998 BS |
543 | 1999-12-10 Bernd Schmidt <bernds@cygnus.co.uk> |
544 | ||
545 | * loop.c (insert_loop_mem): Undo last change. | |
546 | ||
62190128 DM |
547 | 1999-12-10 David S. Miller <davem@redhat.com> |
548 | ||
549 | * config/sparc/sparc.c (fp_sethi_p, fp_mov_p, fp_high_losum_p): | |
550 | New functions. | |
551 | * config/sparc/sparc-protos.h: Add them. | |
552 | * config/sparc/sparc.h: Add them to PREDICATE_CODES. | |
553 | (EXTRA_CONSTRAINT_BASE): New macro, handling Q, R, and S | |
554 | constraints which use those helpers. | |
555 | (EXTRA_CONSTRAINT): Use this new macro. | |
556 | * md.texi: Update sparc target constraints documentation. | |
557 | * config/sparc/sparc.md (clear_sf, clear_sfp, movsf_const_intreg, | |
558 | movsf_const_high, movsf_const_lo, movsf_insn): Delete. | |
559 | (movsf_insn_novis_liveg0, movsf_insn_novis_noliveg0, | |
560 | movsf_insn_vis, movsf_lo_sum, movsf_high): New patterns. | |
561 | (movsf high/lo_sum split): Rework for new patterns. | |
562 | (movsf expander): Allow storing fp_zero to memory if ! live_g0. | |
563 | ||
29ae8f10 GRK |
564 | 1999-12-09 Gavin Romig-Koch <gavin@cetus.cygnus.com> |
565 | ||
566 | * c-common.c (c_common_nodes_and_builtins): | |
567 | Create __builtin_ptrdiff_t and __builtin_size_t. | |
568 | ||
27def0aa JL |
569 | Thu Dec 9 18:05:48 1999 Jeffrey A Law (law@cygnus.com) |
570 | ||
571 | * pa/elf.h (MAX_OFILE_ALIGNMENT): Define. | |
572 | ||
c07c7c9d R |
573 | Fri Dec 10 00:53:10 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
574 | ||
575 | * regclass.c (globalize_reg): Re-instate test that allows | |
576 | fixed registers to be declared as a variable even after functions | |
577 | are defined. | |
578 | ||
309ada50 JH |
579 | Fri Dec 10 00:52:13 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
580 | ||
581 | * i386.md (cpu attribute): Add "athlon". | |
582 | (athlon_decode): New attribute. | |
583 | (Athlon scheduling units definitions): New. | |
584 | (fcmp and shld patterns): Set athlon_decode to "vector". | |
585 | * i386.c (athlon_cost): New. | |
586 | (m_ATHLON): New. | |
587 | (x86_use_leave, x86_push_memory, x86_movx, x86_cmove, x86_deep_branch, | |
588 | x86_use_sahf): Set for Athlon. | |
589 | (x86_use_fiop): Unset for Athlon. | |
590 | (override_options): Define Athlon alignments and "athlon" name. | |
591 | (x86_adjust_cost): Penalize AGI and delayed latencies for Athlon. | |
592 | * i386.h (TARGET_ATHLON): New. | |
593 | (enum processor_type): Add PROCESSOR_ATHLON. | |
594 | (TARGET_CPU_DEFAULT_SPEC): Set to "-D__tune_athlon__" | |
595 | for CPU_DEFAULT==5 | |
596 | (TARGET_CPP_CPU_SPECS): Set -D__tune_athlon__ for Athlon. | |
597 | ||
009fef52 AJ |
598 | 1999-12-09 Andreas Jaeger <aj@suse.de> |
599 | ||
600 | * loop.c (record_biv): Declare parameter as int. | |
601 | ||
602 | * config/i386/i386-protos.h: Declare long_memory_operand. | |
603 | ||
1e54d32b MM |
604 | 1999-12-09 Mark Mitchell <mark@codesourcery.com> |
605 | ||
606 | * tree.c (copy_node): Do zero the TREE_CHAIN, even for an | |
607 | EXPR_WITH_FILE_LOCATION. | |
608 | ||
e73ccf83 JH |
609 | Thu Dec 9 11:36:24 MET 1999 Jan Hubicka <hubicka@freesoft.cz> |
610 | ||
2756c3d8 JH |
611 | * i386.md (neg??, abs?f, one_cmpl?i): Use nonimmediate_operand |
612 | in expander. | |
613 | ||
5dd56a93 JH |
614 | * flow.c (recompute_reg_usage): Use basic block info to get loop_depth. |
615 | ||
e73ccf83 JH |
616 | * combine.c (try_combine, distribute_notes): Remove REG_N_REFS |
617 | updating code. | |
618 | ||
699a42a6 JJ |
619 | 1999-12-09 Jakub Jelinek <jakub@redhat.com> |
620 | ||
621 | * config/sparc/linux64.h (TARGET_DEFAULT): Make -mapp-regs | |
622 | default on linux64 again. | |
623 | * config/sparc/t-linux64: Add mno-app-regs and non-medlow code | |
624 | models for multilibing. | |
625 | * genmultilib: Accept | as alternative separator within a set in | |
626 | MULTILIB_OPTIONS. | |
627 | ||
47841d1b JJ |
628 | * config/sparc/sparc.h (PROMOTE_FOR_CALL_ONLY): Define. |
629 | ||
630 | * calls.c (precompute_arguments): Make sure initial_value contains | |
631 | value pseudo which CSE expects. | |
632 | * cse.c (struct set): New entry orig_src. | |
633 | (cse_insn): Set it early on entry, use it for libcall EQUIV note | |
634 | replacement. | |
635 | ||
f1fcc261 RH |
636 | Wed Dec 8 22:24:15 1999 Richard Henderson <rth@cygnus.com> |
637 | ||
638 | * flow.c (count_basic_blocks): Don't add (use (const_int 0)) insns. | |
639 | ||
cd8998a3 BS |
640 | 1999-12-08 Bernd Schmidt <bernds@cygnus.co.uk> |
641 | ||
642 | * loop.c (insert_loop_mem): Don't hoist volatile mems out of loops. | |
643 | ||
1f0e6e28 JJ |
644 | 1999-12-08 Jakub Jelinek <jakub@redhat.com> |
645 | ||
646 | * config/sparc/sparc.c (ultra_cmove_results_ready_p, | |
647 | ultra_fpmode_conflict_exists, ultra_flush_pipeline): Typo fix. | |
648 | ||
dd4be5a1 JJ |
649 | * config/sparc/sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits |
650 | if TARGET_ARCH32. | |
651 | ||
021b3949 JJ |
652 | * longlong.h: Merge in changes from glibc. |
653 | Also don't clobber %g2 register in 32bit SPARC assembly, so that | |
654 | -mno-app-regs libgcc can be compiled. | |
655 | * libgcc2.c: Add defines so that the updated longlong.h | |
656 | can be used in libgcc2.a. Also, make sure on most architectures | |
657 | (at least on all which have optimized code in longlong.h defined | |
658 | for) {SI,W}_TYPE_SIZE is suitable for preprocessor tests. | |
659 | ||
3b1c302f AO |
660 | 1999-12-08 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
661 | ||
662 | * config/sparc/sol2-64.h: Same as sol2-sld-64.h, except that | |
663 | `-m EMULATION' is added to non-default LINK_ARCH_SPECs. | |
664 | * configure.in: Use sol2-64.h instead of sol2-sld-64.h if linker | |
665 | is GNU ld. | |
666 | * configure: Rebuilt. | |
667 | ||
35a414df RH |
668 | Wed Dec 8 03:45:40 1999 Richard Henderson <rth@cygnus.com> |
669 | ||
670 | * alpha.c (secondary_reload_class): For !BWX, sub-simode | |
671 | outputs require a register. | |
672 | ||
8dcd865f BK |
673 | 1999-12-08 Brendan Kehoe <brendan@cygnus.com> |
674 | ||
675 | * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi | |
676 | _df_to_usi. Required by some targets, so US_SOFTWARE_GOFAST calls to | |
677 | functions like dptoul will be resolved. | |
678 | (libgcc2.a): Make sure that the object files from DPBIT are named | |
679 | differently (prefix `_dp') from those that would be coming from | |
680 | FPBIT. | |
681 | ||
5b68c389 AO |
682 | 1999-12-08 Alexandre Oliva <oliva@lsd.ic.unicamp.br>, Jakub Jelinek <jakub@redhat.com> |
683 | ||
684 | * configure.in: When target is sparc* and tm_file contains 64, | |
685 | test for 64bit support in assembler. If not supported, remove | |
686 | sparc/t-sol2-64 from target-dependent Makefile fragments. | |
687 | (AS_SPARC64_FLAG): Define to the assembler flag for 64bit. | |
688 | (HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags. | |
689 | (HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache. | |
690 | * acconfig.h (AS_SPARC64_FLAG): Added. | |
691 | * configure, config.in: Rebuilt. | |
692 | * config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit | |
693 | support. Use AS_SPARC64_FLAG. | |
694 | ||
d0cee9ba JJ |
695 | 1999-12-07 Jakub Jelinek <jakub@redhat.com> |
696 | ||
697 | * config/sparc/sparc.c (hard_32bit_mode_classes): Mark registers | |
698 | suitable for holding OFmode values so that gcc works with complex | |
699 | quad long doubles. | |
700 | (hard_64bit_mode_classes): Likewise. | |
701 | ||
e1a2f7ae JJ |
702 | * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern |
703 | so that it is actually matched. | |
704 | (sethi_di_medlow): Likewise. | |
705 | ||
0f63333c JJ |
706 | * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L |
707 | as legitimate constant if -mvis. | |
708 | * config/sparc/sparc.md (movtf): Likewise. | |
709 | (clear_sf): Use const_double_operand. | |
710 | (clear_sfp, clear_dfp, clear_tf, clear_tfp): New patterns. | |
711 | ||
47ac041c JJ |
712 | * config/sparc/sparc.c (sparc_emit_float_lib_cmp): New function. |
713 | * config/sparc/sparc-protos.h (sparc_emit_float_lib_cmp): Prototype. | |
714 | * config/sparc/sparc.h (*_LIBCALL): Only use for _Q_* | |
715 | routines, _Qp_* cannot be handled like that now. | |
716 | (INIT_TARGET_OPTABS): Likewise. | |
717 | * config/sparc/sparc.md (cmptf): Accept soft float ARCH64. | |
718 | (seq, sne, sgt, sge, slt, sle, beq, bne, bgt, bge, blt, ble): Call | |
719 | sparc_emit_float_lib_cmp if ARCH64 and soft float. | |
720 | (extendsftf2, extenddftf2, trunctfsf2, trunctfdf2, floatsitf2, | |
721 | floatditf2, fix_trunctfsi2, fix_trunctfdi2, addtf3, subtf3, multf3, | |
722 | divtf3, sqrttf3): New expanders. | |
723 | (extendsftf2_hq, extenddftf2_hq, trunctfsf2_hq, trunctfdf2_hq, | |
724 | floatsitf2_hq, floatditf2_hq, fix_trunctfsi2_hq, fix_trunctfdi2_hq, | |
725 | addtf3_hq, subtf3_hq, multf3_hq, divtf3_hq, sqrttf3_hq): Rename from | |
726 | non-_hq patterns. | |
727 | ||
9ce13279 JJ |
728 | * configure.in (sparc64-*-linux*): Use posix threads if enabled. |
729 | * configure: Rebuilt. | |
730 | * config/sparc/linux64.h: Default to -mcpu=ultrasparc if no | |
731 | -mcpu is given and we're doing 64bit compiles. | |
732 | ||
60fb6df9 RH |
733 | Tue Dec 7 19:22:06 1999 Richard Henderson <rth@cygnus.com> |
734 | ||
735 | * loop.h (struct induction): Add multi_insn_incr. | |
736 | * loop.c (basic_induction_var): New multi_insn_incr argument. | |
737 | Set it if we search back through previous insns for the biv. | |
738 | (record_biv): New multi_insn_incr argument; fill in struct induction. | |
739 | (strength_reduce): Discard an iv with multiple bivs, any of | |
740 | which require multiple insns to increment. | |
741 | ||
3043b30e ML |
742 |