]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Allos suppression of some ARM multilibs
[gcc.git] / gcc / ChangeLog
CommitLineData
b768aa38
JL
1Wed Oct 20 22:57:58 1999 Jeffrey A Law (law@cygnus.com)
2
e54635a2
JL
3 * sparc.md (movsf_const_intreg): If splitting, length must be > 1.
4 (movdf_const_intreg_sp64): Similarly.
5
b768aa38
JL
6 * local-alloc.c (update_equiv_regs): Check the correct insn
7 for pre-existing REG_EQUIV notes.
8
16b702cd
MM
9Wed Oct 20 20:41:46 1999 Mark Mitchell <mark@codesourcery.com>
10
11 * cse.c (cse_end_of_basic_block): Don't return the end of a basic
12 block reached by a branch if we're not going to actually process
13 this block.
14
417d348c
JW
15Wed Oct 20 15:18:42 1999 Jim Wilson <wilson@cygnus.com>
16
17 * integrate.c (integrate_decl_tree): Set DECL_CONTEXT to 0 if this is
18 a local extern function declaration.
19
276ab4a4
RH
20Wed Oct 20 13:56:01 1999 Richard Henderson <rth@cygnus.com>
21
22 * i386.c (ix86_expand_prologue): Properly wrap USE around
23 reg for CALL_INSN_FUNCTION_USAGE.
24
c26040ee
AH
25Thu Oct 14 18:51:37 1999 Andrew Haley <aph@cygnus.com>
26
27 * config/mips/mips.md (movdf_internal1a): Allow floating-point
28 move between GP_REGs.
29
7086004d
AH
30Wed Oct 20 15:36:11 1999 Andrew Haley <aph@cygnus.com>
31
32 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of
33 the mode size when finding out if an offset is legal.
34
49c3bb12
RH
35Wed Oct 20 06:26:58 1999 Richard Henderson <rth@cygnus.com>
36
37 * basic-block.h (PROP_*): Move constants from ...
38 * flow.c: ... here.
39 (compute_bb_for_insn): Free the array before reallocating.
40 (update_life_info): New arg PROP_FLAGS; pass on to propagate_block.
41 (allocate_reg_life_data): Reset all reg variables collected by
42 propagate_block.
43 (get_block_head_tail): Don't convert from bb to block.
44 (get_bb_head_tail): New. Update all callers of get_block_head_tail.
45 (find_insn_reg_weight): Take block not bb.
46 (schedule_block): Don't set block num for moved insns.
47 (schedule_region): Don't update_life_info or find_insn_reg_weight.
48 (schedule_insns): Do it here instead.
49 * combine.c (combine_instructions): Invoke compute_bb_for_insn
50 before update_life_info.
51 * recog.c (split_all_insns, peephole2_optimize): Update for
52 new arg to update_life_info.
53 * rtlanal.c (remove_note): Cope with NULL note.
54 * toplev.c (rest_of_compilation): Don't invoke recompute_reg_usage
55 if we did sched1.
56
dc9e9f3f
RE
57Wed Oct 20 10:46:41 1999 Richard Earnshaw (rearnsha@arm.com)
58
59 * jump.c (jump_optimize_1): More accurately detect casesi insns.
60
ee7b8369
RE
61 * flow.c (merge_blocks_move_predecessor_nojumps): Re-order the basic
62 block records so that merge_blocks_nomove will clean up correctly.
506f9fbf 63 (split_edge): Handle casesi insns.
ee7b8369 64
5b918807
RE
65 * gcc-page.c: Try MAP_ANON if we don't have MAP_ANONYMOUS.
66
7978192f
JL
67Tue Oct 19 23:43:50 1999 Jeffrey A Law (law@cygnus.com)
68
69 * pa.md (call, call_value): Do not emit a blockage after restoring
70 the PIC register.
71
1bef1e7c
MM
72Tue Oct 19 17:22:39 1999 Mark Mitchell <mark@codesourcery.com>
73
74 * c-typeck.c (c_expand_asm_operands): Fix typo.
75
9ce71c6f
BS
76Tue Oct 19 18:42:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
77
78 * arm.c (fpu_rhs_operand): Verify modes.
79 (fpu_add_operand): Likewise.
80 (di_operand): Likewise.
81 (soft_df_operand): Likewise.
82
3a2ea258
RE
83Tue Oct 19 15:26:11 1999 Richard Earnshaw (rearnsha@arm.com)
84
85 * arm.c (arm_return_in_memory): APCS rules state that the elements
86 of a structure returned in a register must be 'integer-like'.
87
db025289
BK
881999-10-19 Bruce Korb <autogen@linuxbox.com>
89
90 * fixinc/Makefile.in: Change the generation rules to run `genfixes'
91 in the source tree when the generated targets are out of date
92 * fixinc/genfixes: Alter it to run individual fixes for make.
93 * fixinc/README: rewrite
94 * fixinc/inclhack.def: moved initial comments to README
95
0c70c30f
NC
96Tue Oct 19 14:01:34 1999 Nick Clifton <nickc@cygnus.com>
97
98 * toplev.c (main): Do not generate an error message if an
99 unrecognised command line switch is recognisable by another
100 language. If extra_warnings are enabled, then generate a
101 warning message instead.
102
61e8b354
MK
103Tue Oct 19 11:41:12 1999 Mumit Khan <khan@xraylith.wisc.edu>
104
105 * c-pragma.h (PRAGMA_INSERT_ATTRIBUTES): Delete macro.
106 (insert_pack_attributes): Delete prototype.
107
108 * c-pragma.c (default_alignment): New static variable.
109 (push_alignment): Initialize to current effective alignment.
110 (pop_alignment): Use to set new alignment.
111 (insert_pack_attributes): Delete function.
112 (handle_pragma_token): Set default_alignment as well each time
113 a #pragma pack(<n>) is encountered.
114
f099b1c9
JL
115Tue Oct 19 02:03:00 1999 Jeffrey A Law (law@cygnus.com)
116
117 * reg-stack.c (stack_result): Aggregates are not returned in
118 stack registers.
119
2af3e5fb
AB
120Tue Oct 19 01:26:48 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
121
122 * fold-const.c (fold): Fix thinko in x+(-0) -> x transformation.
123
c88e8206
RH
124Mon Oct 18 15:19:41 1999 Richard Henderson <rth@cygnus.com>
125
126 * basic-block.h (set_block_num): Declare.
127 * flow.c (update_life_info): Don't call compute_bb_for_insn
128 or free_basic_block_vars.
129 * haifa-sched.c (remove_dependence): Conditionalize on HAVE_cc0.
130 (insn_orig_block): Remove.
131 (INSN_BLOCK): Remove. Update all callers to use BLOCK_NUM.
132 (schedule_block): Keep BLOCK_NUM up-to-date.
133 (schedule_insns): Use compute_bb_for_insn.
134 * recog.c (split_all_insns): Likewise.
135 (peephole2_optimize): Likewise.
136
d3f4f2d6
AS
137Mon Oct 18 18:50:51 1999 Andreas Schwab <schwab@suse.de>
138
139 * config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
140 if the pic register is used.
141
e3d2508d
BS
142Mon Oct 18 02:38:46 1999 Bernd Schmidt <bernds@cygnus.co.uk>
143
144 * c-decl.c (pushdecl): Use TYPE_CONTEXT rather than TREE_PERMANENT.
145 (finish_decl): Duplicate test for TREE_ASM_WRITTEN in else branch of
146 if that tests TREE_PERMANENT.
147
ca4cd906
JL
148Mon Oct 18 01:41:35 1999 Jeffrey A Law (law@cygnus.com)
149
b61a6c81
JL
150 * cse.c (invalidate_for_call): Do not remove memory references from
151 the table here. It's handled elsewhere.
152
35c95c5a
JL
153 * haifa-sched.c (add_dependence): Protect references to the
154 true dependency cache with #ifdef INSN_SCHEDULING.
155 (remove_dependence): Similarly.
156
87b5c7e5
JL
157 * mn10200.md (outline_epilogue_jump): Embed a (return) to indicate
158 to the cfg code that this is a return instruction.
159 * mn10300.md (return_internal): Similarly.
160
ca4cd906
JL
161 * combine.c (get_last_value): If the last set of a register
162 is after subst_low_cuid, then we can not use it to determine
163 the register's last value.
164
d336e504
MM
165Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
166
167 * Makefile.in: Back out previous change.
168
aae0390e
JL
169Sun Oct 17 15:22:50 1999 Jeffrey A Law (law@cygnus.com)
170
7739ebae
JL
171 * pa.c (move_operand): Reject (lo_sum (reg) (unspec ...)).
172
aae0390e
JL
173 * haifa-sched.c (add_dependence): Only check/update the cache
174 if it exists.
175 (remove_dependence): Likewise.
176 (schedule_insns): Only create the true_dependency_cache if the
177 average number of instructions in a basic block is very large.
178
81631c48
MM
179Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
180
181 * Makefile.in (ggc-common.o): Depend on genrtl.h.
182 (ggc-simple.o): Likewise.
183 (ggc-page.o): Likewise.
184
3cce638b
AM
185Sun Oct 17 02:09:50 1999 Andrew MacLeod <amacleod@cygnus.com>
186
187 * basic-block.h (pre_edge_lcm, pre_edge_rev_lcm, compute_available):
188 Prototype for exported functions.
189 (pre_lcm, pre_rev_lcm): Remove prototypes.
190 * gcse.c (compute_ae_kill): Add ae_gen and ae_kill as parameters.
191 (compute_available): Move to lcm.c, and change parameter order.
192 (one_classic_gcse_pass): Call compute_ae_kill with parameters.
a42cd965
AM
193 (pre_insert, s_preds, s_succs, num_preds, num_succs): Delete.
194 (gcse_main): No longer call compute_preds_succs. Rebuild the
195 set table after reach pre pass.
196 (pre_insert_map, pre_delete_map, edge_list): New.
197 (alloc_pre_mem): Allocate edge vectors.
198 (free_pre_mem): Delete edge vectors.
199 (compute_pre_data): Call new edge based lcm routines.
200 (process_insert_insn): New function.
201 (insert_insn_end_bb): Use it.
202 (pre_edge_insert): New function.
203 (pre_insert_copy_insn): Formatting fixes. Update BLOCK_END as
204 needed.
205 (pre_insert_copies): Revamp using new edge based lcm outputs.
206 (pre_delete): Likewise.
207 (one_pre_gcse_pass): Insert & remove fake edges to the exit
208 block.
209 (compute_code_hoist_vbeinout): New new edge based routines.
3cce638b
AM
210 * lcm.c: Remove all the old LCM functions. Replace with new ones
211 that work with the new cfg datastructures and work with edges
212 instead of blocks.
213
8ec450a4
BS
214Sun Oct 17 00:44:17 1999 Bernd Schmidt <bernds@cygnus.co.uk>
215
216 * reload.h (struct reload): Add new fields "mode" and "nregs".
217 * reload1.c: Change all occurrences of reload_mode and reload_nregs
218 to reference the "mode" and "nregs" field within struct reload.
219
e75f2df7
JL
220Sat Oct 16 21:50:28 1999 Jeffrey A Law (law@cygnus.com)
221
356edbd7
JL
222 * haifa-sched.c (true_dependency_cache): New.
223 (add_dependence): Use the true dependency cache to avoid expensive
224 walks down the LOG_LINKS dependency list. Add entries to the
225 cache as necessary.
226 (remove_dependence): Remove entries from the true dependency cache
227 as needed.
228 (schedule_insns): Allocate and initialize and free the true
229 dependency cache.
230
e75f2df7
JL
231 * haifa-sched.c (schedule_insns): Do not remove inter-block
232 dependencies anymore.
233
1b284f05
RH
234Sat Oct 16 11:19:52 1999 Richard Henderson <rth@cygnus.com>
235
236 * i386/t-cygwin (winnt.o): Depend on RTL_H and TREE_H.
237 * i386/t-winnt: Likewise.
238
239Sat Oct 16 11:11:54 1999 Richard Henderson <rth@cygnus.com>
240
241 * ggc-page.c (init_ggc): Work around SunOS unaligned mmap bug.
242
28fe2fb7
MH
2431999-10-16 Manfred Hollstein <mhollstein@cygnus.com>
244
245 * Makefile.in (LANGUAGES): Omit "proto".
246 (clean): Remove stale comment about removing unprotoize.c.
247
9c592305
KG
248Sat Oct 16 11:29:14 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
249
250 * protoize.c (safe_read, safe_write): Avoid the gcc extension of
251 using arithmetic on void pointers.
252
706c5c2f
JL
253Sat Oct 16 02:48:22 1999 Jeffrey A Law (law@cygnus.com)
254
255 * haifa-sched.c (compute_block_forward_dependencies): Only check
256 for notes, deleted insns and duplicates if ENABLE_CHECKING is defined.
257
297c3335
RH
258Sat Oct 16 00:07:01 1999 Richard Henderson <rth@cygnus.com>
259
260 * gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
261 (expr_equiv_p): Reject memories with different alias sets.
262
a8aa7975
GM
263Fri Oct 15 15:17:29 1999 Greg McGary <gkm@gnu.org>
264
265 * flags.h (flag_bounds_check, flag_bounded_pointers): New extern decls.
266 * toplev.c (flag_bounds_check, flag_bounded_pointers): New flags.
267 (f_options): Add "bounded-pointers" and "bounds-check" entries.
268 * c-lang.c (lang_init_options): Set flag_bounds_check as "unspecified".
269 (lang_init): Set default for flag_bounds_check if still "unspecified".
270
a9d3cc3f
MH
271Sat Oct 16 13:42:29 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
272
273 * config/c4x/c4x.md (HF mode patterns): Add missing modes.
274
0dced2c7
MH
275Sat Oct 16 13:37:46 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
276
277 * config/c4x/c4x.md (movstrqi_small): Utilise parallel move
278 instructions.
279
6c7811a8
MH
280Sat Oct 16 13:26:47 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
281
282 * config/c4x/c4x.md (*db_noclobber,
283 *decrement_and_branch_until_zero_noclobber): New patterns and
284 associated splitters.
285
1f7c7f6f
MH
286Sat Oct 16 13:13:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
287
288 * config/c4x/c4x.md (parallel instruction patterns): Rework
289 constraints to keep reload happy.
290
57e5bce8
MH
291Sat Oct 16 13:03:16 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
292
293 * config/c4x/c4x.md (*absqi2_noclobber, *negqi2_noclobber,
294 *one_cmplqi2_noclobber, *subqi3_noclobber, *andqi3_255_noclobber,
295 *andqi3_65535_noclobber, *andnqi3_noclobber, *xorqi3_noclobber):
296 Add new patterns and associated post-reload splitters.
297
3411b713
MH
298Sat Oct 16 12:42:12 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
299
300 * config/c4x/c4x.c (c4x_emit_libcall): Use ggc_alloc_string.
301
3b5e8a16
MH
302Sat Oct 16 12:34:44 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
303
304 * config/c4x/c4x.c (c4x_rptb_insert): Emit rpts_top pattern
305 if appropriate.
306 * config/c4x/c4x.md (rpts_top): New pattern and splitter.
307
1a616dfc
MH
308Sat Oct 16 12:26:30 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
309
310 * config/c4x/c4x.c (src_operand): Check SYMBOL_REF and LABEL_REF
311 memory mode.
312
f9b5668e
JL
313Fri Oct 15 17:02:09 1999 Jeffrey A Law (law@cygnus.com)
314
315 * pa.c (move_operand): Rely on memory_address_p to determine the
316 validity of non-indexed memory addresses.
317 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow LO_SUM with a symbolic
318 operand in DFmode and SFmode when generating PA2.0 code.
319
d5e3e85b
RH
320Fri Oct 15 14:25:19 1999 Richard Henderson <rth@cygnus.com>
321
322 * print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF.
323
810c1b83
RH
324Fri Oct 15 13:48:45 1999 Richard Henderson <rth@cygnus.com>
325
326 * mips.c (function_prologue): Fix argument types.
327 * mips.md (casesi): Use emit_jump_insn for casesi_internal.
328 (casesi_internal): Write to the scratch register.
329
a2c8e144
ZW
3301999-10-15 11:16 -0700 Zack Weinberg <zack@bitmover.com>
331
332 * cppexp.c (cpp_parse_escape): Make static. Change second arg
333 to U_CHAR **.
334 (parse_charconst): Delete unnecessary cast when calling
335 cpp_parse_escape.
336 (cpplib.h): Kill prototype of cpp_parse_escape.
337
104dfaa8
RH
338Fri Oct 15 11:02:46 1999 Richard Henderson <rth@cygnus.com>
339
340 Based on patch from Michael Gschwind <mikeg@watson.ibm.com>:
341 * unroll.c (unroll_loop): Cast return value of alloca.
342 * i370/i370.c: Include function.h and toplev.h.
343 (i370_label_scan): Remove c++ commented abort.
344 * i370/i370.h (HANDLE_PRAGMA): Takes three arguments.
345 (ASM_OUTPUT_LABELREF): Fix TOUPPER/else broken 16 Sept.
346 * i370/xm-i370.h (HOST_BITS_PER_LONGLONG): Define.
347 * i370/xm-mvs.h, i370/xm-oe.h: Likewise.
348
370c81d6
LR
349Fri Oct 15 03:01:01 1999 Loren Rittle <ljrittle@acm.org>
350
351 * config/t-freebsd: Do not override USER_H.
352 * ginclude/stddef.h: Generalize check for _MACHINE_ANSI_H_.
353
ffc3b0f9
AH
354Fri Oct 15 02:37:28 1999 Alastair J. Houghton <ajh8@doc.ic.ac.uk>
355 Mumit Khan <khan@xraylith.wisc.edu>
356
357 * c-parse.in (component_decl): Support anonymous struct/union.
358 (%expect): Update.
359 * c-parse.y: Regenerate.
360 * c-parse.c: Likewise.
361 * objc/objc-parse.y: Likewise.
362 * objc/objc-parse.c: Likewise.
363 * c-decl.c (finish_struct): Don't sort the fields.
364 (field_decl_cmp): Delete unused function.
365
e57ad0c8
RH
366Fri Oct 15 01:20:52 1999 Richard Henderson <rth@cygnus.com>
367
368 * sparc.md (movsf_const_intreg): Revert last constraint change.
369 (movdf_const_intreg_sp32): Likewise.
370
c1edba58
VM
371Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com>
372
373 * cse.c: Include hashtab.h instead of splay-tree.h
374 (struct cse_reg_info): No longer use variant union. Add new
375 field "regno". All references changed to avoid union.
376 (cse_reg_info_used_list, cse_reg_info_used_list_end): New variables.
377 (free_cse_reg_info): Remove.
378 (hash_cse_reg_info, cse_reg_info_equal_p): New functions.
379 (get_cse_reg_info): Revamp to use expandable hash tables instead
380 of splay trees. Initialize new fields in cse_reg_info structure.
381 (new_basic_block): Similarly.
382
aece2740
RH
383Thu Oct 14 23:51:56 1999 Richard Henderson <rth@cygnus.com>
384
385 * genrecog.c (message_with_line): Prototype.
386 (validate_pattern): Pass along the set for the dest, not a flag.
387 Fix non-lvalue message. Don't warn for VOIDmode SET_DEST of CALL.
388 Check for PC/CC0 as sources.
389 (nodes_identical): Check for children position match before
390 allowing the combination.
391
392 * rtl.c (read_rtx): Track line number across \\\n.
393
0e7e9155
RH
394Thu Oct 14 23:50:25 1999 Richard Henderson <rth@cygnus.com>
395
396 * mips.h (SPECIAL_MODE_PREDICATES): New.
397 * mips.md (*) Use nonimmediate_operand not general_operand for outputs.
398 (movdi+1, movsi+1): Add output reload constraint.
399 (casesi_internal): Likewise. Fix commentary.
400 (return_internal): Use pmode_register_operand.
401
997718c7
RH
402Thu Oct 14 23:19:34 1999 Richard Henderson <rth@cygnus.com>
403
404 * 1750a.md (movstrqi): Add missing output reload constraint.
405 (call_value): Likewise.
406 * a29k.md (cpxxx patterns): Add missing match_operator mode.
407 (jmpfdec): Add missing inout reload constraint.
408 * elxsi.md (addsi patterns): Add missing output reload constraint.
409 (move from sp): Use @ alternates.
410 (call_value): No constraint on output.
411 * fr30.md (movsi_pop): Add missing output reload constraint.
412 (movsf_constant_store): Likewise.
413 (splits): Remove constraints.
414 (subsi3): Add missing mode.
415 * i370.md (cmpstrsi+1): Add missing output reload constraint.
416 (call_value): Likewise.
417 * i960.md (cmpinc/cmpdec patterns): Add inout reload constraints.
418 * m32r.h (PREDICATE_CODES): Add seth_add3_operand.
419 * m32r.md (movsicc_internal): Add output reload constraint.
420 (movstrsi_internal): Add inout reload constraints.
421 * m88k.h (reg_names): Don't declare.
422 (SPECIAL_MODE_PREDICATES): New.
423 * m88k.md (*): Use register_operand not reg_or_0_operand
424 on destinations.
425 * mn10200.h (PREDICATE_CODES): New.
426 * ns32k.md (ffs pattern): Add output reload constraint.
427 * pdp11.md (sob pattern): Add inout reload constraint.
428 * sh.md (splits): Remove constraints.
429 (indirect_jump_scratch, fpu_switch): Add output reload constraint.
430 * v850.md (pattern_is_ok_for_epilogue): Likewise.
431 * vax.md (jgequ pattern): Add inout reload constraint.
432
7901f53f
JL
433Fri Oct 15 00:05:00 1999 Jeffrey A Law (law@cygnus.com)
434
435 * configure.in (djgpp): Revert previous patch.
436 * configure: Rebuit.
437 * config/i386/djgpp.h: Revert previous patch.
438
70d42369
LR
439Fri Oct 15 00:00:24 1999 Loren J. Rittle <ljrittle@acm.org>
440
441 * fixinc/inclhack.def: Restore patch lost during last merge of
442 "no_bogosity" branch.
443 * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
444
abf7cec7
GRK
445Thu Oct 14 23:57:56 1999 Gavin Romig-Koch <gavin@cygnus.com>
446
447 * fixincludes: Add a HPUX 11 fix for inttypes.h.
448 * fixinc/inclhack.def: Same.
449 * fixinc/inclhack.sh, fixinc/fixincl.sh, fixinc/fixincl.x: Regenerate.
450
0c5912f4
RH
451Thu Oct 14 22:51:55 1999 Richard Henderson <rth@cygnus.com>
452
453 * alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Accept ADDRESSOF
454 as the base of a PLUS.
455
f959ff1a
MH
456Fri Oct 15 18:36:07 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
457
458 * config/c4x/c4x.md: Define mode for remaining unspec operators.
459 * config/c4x/c4x.c (dst_operand): Use nonimmediate_operand.
460
fc524c1c
RH
461Thu Oct 14 22:14:23 1999 Richard Henderson <rth@cygnus.com>
462
1c784a0e
RH
463 * pa.md (post_stw+1): Use pmode_register_operand.
464 (dcacheflush, icacheflush): Likewise.
465
fc524c1c
RH
466 * i386.md (movstricthi_1): Allow r/r.
467
79e8185c
JH
468Thu Oct 14 19:44:08 1999 Jan Hubicka <hubicka@freesoft.cz>
469
ccc5fd95
JH
470 * fold-const.c (fold): Convert (or (not arg0) (not arg1))
471 to (not (and (arg0) (arg1))). Similary for and.
472
79e8185c
JH
473 * fold-const.c (fold): Move bit_rotate code to the EXPR_PLUS case,
474 falltrought to assocate code.
475 Convert XOR to OR in code like (a&c1)^(a&c2) where c1 and c2 don't have
476 bits in common.
477
478 * combine.c (simplify_logical): Convert XOR to IOR if operands have
479 no bits in common; remove XOR to ROTATE conversion.
480
ce577467
MH
481Fri Oct 15 17:40:11 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
482
483 * config/c4x/c4x.h (c4x_va_start, c4x_va_arg): Declare.
484
f416f18c
MH
485Fri Oct 15 17:27:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
486
487 * config/c4x/c4x.c (dst_operand): New.
488 (PREDICATE_CODES): Update.
489 * config/c4x/c4x.h (dst_operand): Declare it.
490 * config/c4x/c4x.md: Define mode for each unspec usage.
491 (move patterns): Use dst_operand predicate instead of src_operand.
492 (movqi_update, movqf_update): Delete.
493
556ffcc5
RH
494Thu Oct 14 18:48:54 1999 Richard Henderson <rth@cygnus.com>
495
496 * recog.c (pmode_register_operand): New.
497 * recog.h: Declare it.
498 * genrecog.c (pred_codes): Likewise.
499 (special_mode_pred_table): Likewise.
500 (validate_pattern): Don't warn no mode for address_operand.
501
502 * print-rtl.c (print_rtx) [LABEL_REF]: Only do full subexpression
503 if the operand is not insn-like.
504
10414089
JL
505Thu Oct 14 19:38:42 1999 Jeffrey A Law (law@cygnus.com)
506 Sylvian Pion <Sylvain.Pion@sophia.inria.fr>
507
508 * fold-const.c (fold): Handle more simplifications allowed by IEEE.
509
db7eb3e8
RH
510Thu Oct 14 17:30:14 1999 Richard Henderson <rth@cygnus.com>
511
512 * sparc.md (*): Use {nonimmediate,register}_operand as appropriate
513 instead of general_operand in a SET_DEST. Use const_double_operand
514 instead of an explicit test against CONST_DOUBLE.
515 (movsf_const_lo): Add missing register mode.
516 (goto_handler_and_restore): Add auxiliary test for Pmode.
517 (flush): Adjust to use address_operand.
518 (return_sf_no_fpu): Add missing output constraint.
519
2d1086d8
RH
520Thu Oct 14 17:21:26 1999 Richard Henderson <rth@cygnus.com>
521
522 * rs6000.md (call_value_indirect_aix32): Use wildcard match_operand
523 for call return value.
524 (call_value_indirect_aix64, call_value_indirect_nt): Likewise.
525
43a8f6d5
JM
526Thu Oct 14 13:54:25 1999 Jason Merrill <jason@yorick.cygnus.com>
527
528 * toplev.c (main): Only warn about options for other languages.
529 * collect2.c (main): Pass -w to sub-gcc.
530
d1abb925
RH
531Thu Oct 14 16:27:50 1999 Richard Henderson <rth@cygnus.com>
532
533 * flow.c (propagate_block): Add call-clobbered registers to
534 significant too.
535
ff666313
RH
536 * flow.c (propagate_block): Use free_EXPR_LIST_list instead of
537 zapping mem_set_list.
538 (invalidate_mems_from_autoinc): Use free_EXPR_LIST_node.
539 (mark_set_1, mark_used_regs): Likewise.
540
e99b93ff
RH
541Thu Oct 14 10:51:49 1999 Richard Henderson <rth@cygnus.com>
542
543 * m68k.md (zero_extendsidi2): Add missing output reload constraint.
544
fe50c0eb
GP
545Wed Oct 13 00:09:18 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
546
547 * invoke.texi: Label -Wbad-function-cast, -Wmissing-prototypes,
548 -Wnested-externs, -Wstrict-prototypes, and -Wtraditional as C only
549 options. Also add a new item "C-only Warning Options" to the
550 option summary.
551
a4ebb0e6
GRK
5521999-10-14 Gavin Romig-Koch <gavin@cygnus.com>
553
554 * libgcc2.c (__do_global_dtors): Protect __deregister_frame_info
555 from multiple calls.
556
69404d6f
RH
557Thu Oct 14 04:54:54 1999 Richard Henderson <rth@cygnus.com>
558
559 * i386.md (call value patterns): Move to the end of the file.
560 (prologue_set_got, prologue_get_pc): Use register_operand for op 0.
561
65be5cf0
ME
5621999-10-14 Mark Elbrecht <snowball3@bigfoot.com>
563
564 * configure.in (djgpp configuration): Define extra_objects..
565 * configure: Rebuilt.
566 * config/i386/djgpp.h (CTORS_SECTION_ASM_OP): Define.
567 (DTORS_SECTION_ASM_OP): Define.
568 (INIT_SECTION_ASM_OP): Define.
569 (FINI_SECTION_ASM_OP): Define.
570 (DATA_SECTION_ASM_OP): Define.
571 (TEXT_SECTION_ASM_OP): Define.
572 (EH_FRAME_SECTION_ASM_OP): Define.
573 (LINK_COMMAND_SPEC): Remove -Tdjgpp.djl.
574 (STARTFILE_SPEC): Add crtbegin.o.
575 (ENDFILE_SPEC): Define and add crtend.o. Move argument -Tdjgpp.djl
576 to here from LINK_COMMAND_SPEC.
577 (DO_GLOBAL_CTORS_BODY): Define.
578 (CRTSTUFF_USE_FINI_SECTION): Define
579 (HAS_INIT_SECTION): Delete.
580
d81c9768
AS
581Thu Oct 14 05:08:14 1999 Andreas Schwab <schwab@suse.de>
582
583 * Makefile.in (all.cross): Depend on xcpp$(exeext).
584
476a33f4
RH
585Thu Oct 14 04:00:40 1999 Richard Henderson <rth@cygnus.com>
586
0c273d11
RH
587 * pa.h (PREDICATE_CODES): New.
588
476a33f4
RH
589 * genrecog.c (validate_pattern): Condense the destination
590 non-lvalue message.
591
d41395a5
RH
592Thu Oct 14 03:23:08 1999 Richard Henderson <rth@cygnus.com>
593
594 * alpha.md (call-1): Supply missing mode for operator.
595 (*): Add missing output reload constraints. Remove constraints
596 from define_splits.
597
c76aab11
RH
598 * i386.h (SPECIAL_MODE_PREDICATES): New.
599 * i386.md (movstricthi_1): Use nonimmediate_operand for op 0.
600 (movqi_1, movdi_1, movdi_2, some splits): Likewise.
601 (addsi_lea_3): Add missing mode for op 3.
602 (prologue_set_got, prologue_get_pc): Add missing modes.
603 (*) Add missing output reload constraints.
604
9180cca3
SC
605Thu Oct 14 03:59:57 1999 Stephane Carrez <stcarrez@worldnet.fr>
606
607 * stor-layout.c (layout_union): Use HOST_WIDE_INT for const_size;
608 check for member bit-size overflow and use var_size if it occurs.
609 (layout_record): Use bitsize_int() to define the type size in bits.
610 Likewise for computation and assignment to DECL_FIELD_BITPOS.
611 (layout_decl): Likewise when assigning to DECL_SIZE.
612
25238622
RH
613Thu Oct 14 02:57:05 1999 Richard Henderson <rth@cygnus.com>
614
615 * genrecog.c (validate_pattern): Typo last change. Verify
616 that output operands have output reloads.
617
8fe0ca0c
RH
618Thu Oct 14 01:49:54 1999 Richard Henderson <rth@cygnus.com>
619
620 * genrecog.c (special_mode_pred_table): New.
621 (NUM_SPECIAL_MODE_PREDS): New.
622 (find_operand): New.
623 (validate_pattern): New argument `insn'. Warn for assignment to
624 any predicate accepting non-lvalues. Conditionaly warn for
625 match_operand without a mode. Try much harder to match source
626 and destination modes on a set.
627 * tm.texi (SPECIAL_MODE_PREDICATES): Document.
628
03e0a65f
JL
629Thu Oct 14 02:54:13 1999 Jeffrey A Law (law@cygnus.com)
630
631 * fold-const.c (fold): Detect rotates built from BIT_XOR_EXPRs.
632
0918eca0
ME
633Thu Oct 14 02:18:19 1999 Marc Espie <espie@cvs.openbsd.org>
634
635 * combine.c (simplify_logical): Recognize xor pattern that encodes
636 rotation.
637
5ee95df6
FS
638Wed Oct 13 23:23:45 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
639
640 * rs6000.c (expand_block_move): Use INTVAL, not XINT to access
641 alignment.
642
8342b467
RH
643Wed Oct 13 21:47:18 1999 Richard Henderson <rth@cygnus.com>
644
645 * ggc-page.c (MAP_FAILED): Provide default.
646
6871dd65
RH
647Wed Oct 13 21:41:59 1999 Richard Henderson <rth@cygnus.com>
648
649 * sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
650 * sparc.h (PREDICATE_CODES): Update.
651
f711a22b
RH
652Wed Oct 13 21:18:17 1999 Richard Henderson <rth@cygnus.com>
653
654 * alpha.c (some_ni_operand): New.
655 * alpha-protos.h: Declare it.
656 * alpha.h (PREDICATE_CODES): Update.
657 * alpha.md (sXaddq reload insns): Use some_ni_operand
658 for SET_DEST instead of some_operand.
659
4dc320a5
RH
660Wed Oct 13 21:04:45 1999 Richard Henderson <rth@cygnus.com>
661 Jim Wilson <wilson@cygnus.com>
662
663 * genrecog.c (maybe_both_true_2): Don't compare modes of
664 two DT_pred tests.
665 (process_tree): Elide peephole2_insns. Invoke simplify_tests
666 after find_afterward.
667 (debug_decision_1): Dump next and afterward codes.
668
bcdaba58
RH
669Wed Oct 13 20:35:16 1999 Richard Henderson <rth@cygnus.com>
670
671 * rtl.c (dump_and_abort): Remove.
672 (fatal_with_file_and_line): New.
673 (fatal_expected_char): New.
674 (read_rtx_lineno, read_rtx_filename): New.
675 (read_skip_spaces): Track line number.
676 (read_name): Use fatal_with_file_and_line.
677 (read_rtx): Use fatal_expected_char. Track line number.
678 * rtl.h (read_rtx_filename, read_rtx_lineno): Declare.
679
680 * print-rtl.c (print_rtx): Don't special case LABEL_REF argument
681 if it isn't a CODE_LABEL.
682
683 * genattr.c (main): Set read_rtx_filename.
684 * genattrtab.c (main): Likewise.
685 * gencodes.c (main): Likewise.
686 * genconfig.c (main): Likewise.
687 * genemit.c (main): Likewise.
688 * genextract.c (main): Likewise.
689 * genflags.c (main): Likewise.
690 * genopinit.c (main): Likewise.
691 * genoutput.c (main): Likewise.
692 * genpeep.c (main): Likewise.
693
694 * genrecog.c (decision_test.u.insn): Add `lineno'.
695 (pattern_lineno, error_count): New variables.
696 (message_with_line): New.
697 (add_to_sequence): Break out checking code to ...
698 (validate_pattern): ... here. Detect SET_DEST matching CONST_INT.
699 (merge_insn): Use message_with_line.
700 (make_insn_sequence): Use validate_pattern. Record insn lineno.
701 (main): Set read_rtx_filename, pattern_lineno. Exit early on error.
702
a59f8640
R
703Wed Oct 13 22:01:35 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
704
705 * expr.c (store_constructor): Clear union if constructor is empty.
706
56e4a0eb
JW
707Wed Oct 13 15:19:04 1999 Jim Wilson <wilson@cygnus.com>
708
709 * config/rs6000/sysv4.h (CC1_SPEC): Fix errors from Jan 19 change.
710 Add !endian checks. Change %{...} to %(...).
711
7abd4e00
RH
712Wed Oct 13 13:30:34 1999 Richard Henderson <rth@cygnus.com>
713
714 * i386.md (*addsi3_cc): Renamed from addcsi3.
715 (*addsi3_carry): Renamed from addxsi3.
716 (*subsi3_cc): Renamed from subcsi3.
717 (*subsi3_carry): Renamed from subxsi3.
718 (*xorqi_cc_1): Renamed from xorcqi_1.
719 (xorqi_cc_ext_1): Renamed from xorcqi_ext_1.
720 * i386.c (ix86_expand_fp_compare): Update for xorqi_cc_ext_1.
721
a13c82d4
RH
722Wed Oct 13 13:10:46 1999 Richard Henderson <rth@cygnus.com>
723
724 * Makefile.in (ggc-common.o): Depend on RTL_H not RTL_BASE_H.
725 (ggc-simple.o, ggc-page.o, ggc-none.o, ggc-callbacks.o): Likewise.
726
9c07e479
BK
7271999-10-13 Brendan Kehoe <brendan@cygnus.com>
728
729 * regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we
730 climb up the chain of insns.
731
e8f9b13a
RH
732Wed Oct 13 10:20:58 1999 Richard Henderson <rth@cygnus.com>
733
734 * genrecog.c (write_subroutine): Careful for null trees.
735 (process_tree): Don't elide empty functions.
736
5c371bd0
RH
737Wed Oct 13 10:07:54 1999 Richard Henderson <rth@cygnus.com>
738
739 * Makefile.in (genrtl.o): Depend on ggc.h.
740 * configure.in (valloc): Probe for it.
741 (with-gc): Use ggc-page if valloc present.
742 * ggc-common.c (ggc_mark_rtx_children): Use ggc_mark_if_gcable.
743 (ggc_mark_rtvec_children): New from corpse of ggc_mark_rtvec.
744 (ggc_alloc_string): Moved from ggc-page.c.
745 * ggc-none.c (ggc_alloc_obj): New.
746 (ggc_alloc_rtx, ggc_alloc_rtvec): Remove.
747 * ggc-page.c (sys/mman.h): Only include if HAVE_MMAP.
748 (struct globals): Likewise for dev_zero_fd.
749 (init_ggc): Likewise for it's initialization.
750 (ggc_allocated_p): Move careful dereference from ...
751 (ggc_lookup_page_table): ... here. Delete.
752 (lookup_page_table_entry): Don't use ggc_lookup_page_table.
753 (alloc_anon): Use valloc if no mmap.
754 (release_pages): Use free if using valloc.
755 (ggc_alloc_obj): Renamed from alloc_obj.
756 (ggc_set_mark): Renamed from mark_obj.
757 (ggc_mark_if_gcable): Renamed from ggc_mark_string_if_gcable.
758 (ggc_alloc_rtx, ggc_alloc_rtvec): Delete.
759 (ggc_alloc_tree, ggc_alloc_string, ggc_alloc): Delete.
760 (ggc_set_mark_rtx, ggc_set_mark_rtvec): Delete.
761 (ggc_set_mark_tree, ggc_mark_string, ggc_mark): Delete.
762 (ggc_collect): Use fp printing instead of our own rounding.
763 * ggc-simple.c (IS_MARKED, IGNORE_MARK): Delete.
764 (GGC_STRING_MAGIC, GGC_STRING_MAGIC_MARK): Delete.
765 (GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): Delete.
766 (struct ggc_rtx, struct ggc_rtvec, struct ggc_tree): Delete.
767 (struct ggc_string, struct ggc_any): Delete.
768 (offsetof): Provide default definition.
769 (GGC_BALANCE, GGC_ALWAYS_COLLECT, GGC_ALWAYS_VERIFY): New.
770 (PTR_KEY): New.
771 (struct ggc_mem): New, from corpse of ggc_any.
772 (struct ggc_status): Delete.
773 (ggc_chain, ggc_allocated_strings, ggc_strings_used): Delete.
774 (n_rtxs_collected, n_vecs_collected, n_trees_collected): Delete.
775 (n_strings_collected, n_anys_collected): Delete.
776 (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Delete.
777 (ggc_alloc_string, ggc_alloc): Delete.
778 (ggc_free_rtx, ggc_free_rtvec, ggc_free_tree): Delete.
779 (ggc_free_string, ggc_free_any): Delete.
780 (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Delete.
781 (ggc_compare_addresses, ggc_mark_string): Delete.
782 (ggc_mark_string_if_gcable, ggc_mark): Delete.
783 (search_data): Delete.
784 (struct globals): New.
785 (GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED): New.
786 (tree_insert, tree_lookup): New.
787 (ggc_alloc_obj, ggc_set_mark, ggc_mark_if_gcable): New.
788 (clear_marks, sweep_objs): New.
789 (ggc_collect): Gut. Use clear_marks, sweep_objs.
790 (init_ggc): Set allocated_last_gc.
791 (ggc_push_context): Gut. Use G.context.
792 (ggc_pop_context): Likewise.
793 (ggc_pop_context_1): New.
794 (debug_ggc_tree): New.
795 (debug_ggc_balance, tally_leaves): New.
796 * ggc.h (ggc_mark_rtvec, ggc_mark_string, ggc_mark): Remove decl.
797 (ggc_mark_string_if_gcable): Remove decl.
798 (ggc_mark_rtx, ggc_mark_tree): Use ggc_set_mark.
799 (ggc_mark_rtvec_children): New.
800 (ggc_mark_rtvec, ggc_mark_string, ggc_mark): New.
801 (ggc_mark_if_gcable): New decl.
802 (ggc_alloc_rtx, ggc_alloc_rtvec): Remove decl.
803 (ggc_alloc_tree, ggc_alloc): Likewise.
804 (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Likewise.
805 (ggc_alloc_obj): New decl.
806 (ggc_alloc_rtx, ggc_alloc_rtvec): New macros.
807 (ggc_alloc_tree, ggc_alloc): Likewise.
808 (ggc_set_mark): New decl.
809 * rtl.h (struct rtx_def): Remove gc_mark.
810 (struct rtvec_def): Likewise.
811 * tree.h (struct tree_common): Likewise.
812
a5037588
CL
813Wed Oct 13 01:44:29 1999 Carol LePage <carolo@hal.com>
814
0e7e9155 815 * configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines,
a5037588
CL
816 float_format and thread_file definitions.
817 * configure: Rebuilt.
818
22acfb79
NM
819