ia64.c (gen_thread_pointer): Fix typo in marking thread_pointer_rtx as unchanging.
[gcc.git] / gcc / ChangeLog
1 2002-07-24 David Mosberger <davidm@hpl.hp.com>
2
3 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
4 thread_pointer_rtx as unchanging.
5
6 2002-07-24 Michael Matz <matz@suse.de>
7
8 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
9 (free_reg): Use it.
10
11 2002-07-24 Richard Earnshaw <rearnsha@arm.com>
12
13 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14 pattern.
15 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
16 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
17
18 2002-07-24 Chris Demetriou <cgd@broadcom.com>
19
20 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
21 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
22 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
23
24 Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
25
26 * toplev.c (rest_of_compilation): Dump loops before clobbering
27 the structure.
28
29 Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
30
31 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
32
33 2002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
34
35 PR optimization/7291
36 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
37 problem on x86_64.
38
39 2002-07-24 Gabriel Dos Reis <gdr@nerim.net>
40
41 * pretty-print.h: Add macros from cp/error.c
42
43 2002-07-24 Alan Modra <amodra@bigpond.net.au>
44
45 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
46 (mask64_2_operand): Declare.
47 (build_mask64_2_operands): Declare.
48 (and64_2_operand): Declare.
49 (extract_MB): Declare.
50 (extract_ME): Declare.
51 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
52 CONST_DOUBLE code.
53 (mask_operand_wrap): New insn predicate.
54 (mask64_2_operand): Likewise.
55 (and64_2_operand): Likewise.
56 (build_mask64_2_operands): New function.
57 (extract_MB): New function.
58 (extract_ME): New function.
59 (print_operand <case m,M>): Use extract_MB and extract_ME.
60 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
61 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
62 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
63 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
64 * config/rs6000/rs6000.md (andsi3_internal3): New
65 (andsi3_internal3+1): Enable split for powerpc64.
66 (andsi3_internal3+2): New split.
67 (andsi3_internal4): Renamed old andsi3_internal3.
68 (andsi3_internal5): New.
69 (andsi3_internal5+1): Enable split for powerpc64.
70 (andsi3_internal5+2): New split.
71 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
72 (anddi3): Handle 't' constraint.
73 (anddi3+1): New split.
74 (anddi3_internal2): Handle 't' constraint.
75 (anddi3_internal2+1): New split.
76 (anddi3_internal3): Handle 't' constraint.
77 (anddi3_internal3+1): New split.
78
79 2002-07-24 Alan Modra <amodra@bigpond.net.au>
80
81 * config/rs6000/rs6000.md: Remove scratch reg on insns using
82 addze and similar (plus (comparison r1 r2) r3) insns. Add
83 missing scratch reg in one case. Formatting fixes.
84
85 2002-07-24 Neil Booth <neil@daikokuya.co.uk>
86
87 * cppexp.c (parse_defined): Mark macro used.
88 * cpphash.h (struct cpp_macro): New member "used".
89 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
90 (struct cpp_reader): New member.
91 * cppinit.c (cpp_finish_options): Set first_unused_line.
92 (cpp_finish): Warn of unused macros if requested.
93 (OPT_TABLE): New switches.
94 (cpp_handle_option): Handle them.
95 * cpplib.c (do_undef): Warn if macro unused.
96 (do_ifdef, do_ifndef): Mark macro used.
97 * cpplib.h (struct cpp_options): New member.
98 * cppmacro.c (_cpp_warn_if_unused_macro): New.
99 (enter_macro_context): Mark macro used.
100 (_cpp_create_definition): Mark macro unused; warn if unused
101 when redefined.
102 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
103 Mark macros used.
104 * doc/cppopts.texi: Update.
105
106 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
107
108 * dwarf2out.c (SECTION_ASM_OP,
109 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
110 * system.h (SECTION_ASM_OP): Poison.
111 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
112 * config/alpha/alpha-interix.h, config/mips/linux.h
113 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
114 * config/mmix/mmix-protos.h, config/mmix/mmix.c
115 (mmix_asm_output_define_label_difference_symbol): Remove.
116 * config/mmix/mmix.h
117 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
118 * doc/tm.texi: Remove documentation.
119
120 Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
121
122 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
123 (constrain_operands): Likewise.
124 * regclass.c (record_reg_classes): Likewise.
125 * reload.c (find_reloads): Likewise.
126 * doc/md.texi: Likewise.
127
128 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
129 * simplify-rtx.c (simplify_subreg): When converting to a non-int
130 mode, try to convert to an integer mode of matching size first.
131
132 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
133 from individual subregs, check that each subreg has been generated
134 sucessfully.
135
136 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
137
138 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
139 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
140 FOR_EACH_BB_IN_SBITMAP): Remove.
141 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
142 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
143 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
144 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
145 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
146 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
147
148 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
149
150 * pretty-print.h: New file.
151
152 2002-07-23 Paul Koning <pkoning@equallogic.com>
153
154 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
155 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
156 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
157 (TARGET_G_FLOAT): Default to 0 if not defined.
158 (ieeetoe): New, common routine to convert target format floats
159 to internal form.
160 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
161 vs. others.
162 (e113toe): Change to use ieeetoe.
163
164 2002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
165
166 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
167 IBM.
168 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
169 (e64toe): Remove special cases for DEC and IBM. Remove support for
170 ARM_EXTENDED_IEEE_FORMAT.
171 (e24toe): Remove special cases for DEC.
172 (significand_size): Simplify. Indent.
173 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
174 (etoieee, toieee): New.
175 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
176 etoieee and toieee for IEEE arithmetic.
177
178 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
179
180 * doc/extend.texi: Say ISO C90, not ISO C89.
181 * doc/invoke.texi: Likewise.
182 * doc/standards.texi: Likewise.
183
184 2002-07-23 Steve Ellcey <sje@cup.hp.com>
185
186 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
187 Fix permutation of conversion and plus/mult.
188 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
189 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
190 (expand_builtin_strncpy) Ditto.
191 (expand_builtin_memset) Ditto.
192
193 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
194
195 Fix PR/7363:
196 * c-common.c (c_sizeof_or_alignof_type): New function.
197 (c_alignof): Remove definition.
198 * c-common.h (c_sizeof, c_alignof): Define as macros.
199 (c_sizeof_or_alignof_type): Declare.
200 (my_friendly_assert): Moved from cp/cp-tree.h
201 * c-typeck.c (c_sizeof): Remove definition.
202
203 2002-07-23 Jan Hubicka <jh@suse.cz>
204
205 * gcse.c (try_replace_reg): Use num_changes_pending.
206 * recog.c (num_changes_pending): New function.
207 (validate_replace_src): Use validate_repalce_src_group.
208 (validate_replace_src_group): New.
209 * recog.h (validate_repalce_src_group): New.
210 (num_changes_pending): Likewise.
211
212 Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
213
214 * calls.c (emit_library_call_value_1): If
215 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
216 libcall, const call nor pure call.
217
218 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
219
220 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
221
222 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
223
224 * vmsdbgout.c (SECTION_ASM_OP): Remove.
225
226 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
227
228 * config/i386/i386.c (AT_BP): Remove.
229
230 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
231
232 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
233 Default definition.
234 * gcse.c: Don't define obstack_chunk_free.
235 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
236 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
237 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
238 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
239 Don't define obstack macros.
240
241 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
242
243 PR target/6744
244 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
245 ASM_OPERANDS instructions.
246
247 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
248
249 PR target/7361
250 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
251 constant addresses only on 68HC12.
252
253 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
254
255 * cppfiles.c (stack_include_file): Correct test of whether
256 a dependency should be output.
257
258 2002-07-22 David Edelsohn <edelsohn@gnu.org>
259
260 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
261
262 2002-07-22 Richard Earnshaw <rearnsha@arm.com>
263
264 * arm.md (movqi): If optimizing and we can create pseudos, use
265 a ZERO_EXTEND to load from memory, then copy the result into the
266 target.
267 (movhi): Likewise, but only for ARMv4.
268
269 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
270
271 * ssa-ccp.c (PHI_PARMS): Remove.
272
273 2002-07-22 Richard Sandiford <rsandifo@redhat.com>
274
275 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
276 on big-endian targets.
277
278 2002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
279
280 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
281 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
282 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
283 New formatting macros.
284
285 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
286
287 Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
288
289 * rtlanal.c (subreg_regno_offset): Return correct offset for
290 big endian paradoxical subregs.
291
292 * optabs.c (expand_vector_unop): Don't expand using sub_optab
293 if we got the wrong mode.
294
295 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
296 * genrecog.c (write_switch, write_cond): Use it.
297 * genemit.c (gen_exp): Likewise.
298
299 2002-07-22 Jakub Jelinek <jakub@redhat.com>
300
301 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
302
303 2002-07-22 Jakub Jelinek <jakub@redhat.com>
304
305 * c-decl.c (build_compound_literal): Defer compound literal decls
306 until until file end to emit them only if they are actually used.
307
308 2002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
309
310 * ra-build.c (check_conflict_numbers): Hide unused function.
311 (livethrough_conflicts_bb): Avoid automatic aggregate
312 initialization.
313 (parts_to_webs_1): Avoid `U' integer constant modifier.
314 (conflicts_between_webs): Wrap a variable in the macro controlling
315 its usage.
316 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
317 (dump_igraph, dump_graph_cost): Avoid string concatenation
318 (dump_static_insn_cost): Avoid automatic aggregate
319 initialization.
320 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
321 initialization.
322 (dump_cost): Avoid string concatenation
323
324 2002-07-21 Richard Henderson <rth@redhat.com>
325
326 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
327 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
328
329 2002-07-21 Richard Henderson <rth@redhat.com>
330
331 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
332 that are not unrolled completely.
333
334 2002-07-21 Richard Henderson <rth@redhat.com>
335
336 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
337 * loop.c (strength_reduce): Update.
338 * toplev.c (rest_of_compilation): Do unrolling in the first
339 loop pass, not the second.
340
341 2002-07-21 Richard Henderson <rth@redhat.com>
342
343 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
344 when flag_argument_noalias == 2.
345 * alias.c (nonoverlapping_memrefs_p): Handle that.
346 * print-rtl.c (print_mem_expr): Likewise.
347
348 2002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
349
350 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
351 instead of __negdi2 directly.
352
353 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
354
355 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
356 * function.c (SYMBOL__MAIN): Remove definition.
357 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
358 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
359 * profile.c (GCOV_INDEX_TO_BB): Remove.
360 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
361 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
362
363 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
364
365 * c-lex.c (GET_ENVIRONMENT): Remove.
366 * collect2.c (GET_ENV_PATH_LIST): Remove.
367 (prefix_from_env): Use GET_ENVIRONMENT.
368 * cppinit.c (GET_ENV_PATH_LIST): Remove.
369 (init_standard_includes): Use GET_ENVIRONMENT.
370 * defaults.h (GET_ENVIRONMENT): Define here if not already.
371 * gcc.c (GET_ENV_PATH_LIST): Remove.
372 (make_relative_prefix, process_command): Update.
373 * protoize.c (GET_ENV_PATH_LIST): Remove.
374 (do_processing): Update.
375
376 2002-07-21 Gabriel Dos Reis <gdr@nerim.net>
377
378 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
379 (grokdeclarator): Likewise.
380 * c-format.c (C_STD_NAME): Likewise.
381 * c-lex.c (interpret_integer): Likewise.
382 * c-typeck.c (build_array_ref): Likewise.
383 * cpplex.c (_cpp_lex_direct): Likewise.
384 * toplev.c (documented_lang_options): Likewise.
385
386 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
387
388 * c-format.c (T99_I, T99_UI): Remove.
389
390 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
391
392 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
393
394 Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
395
396 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
397 do_local_cprop.
398
399 2002-07-21 Andreas Jaeger <aj@suse.de>
400
401 * reload1.c (fixup_abnormal_edges): Remove unused variable.
402
403 2002-07-21 Bernd Schmidt <bernds@redhat.com>
404
405 Improvements for the ifcvt pass from Michael Meissner, with patches
406 by Richard Sandiford <rsandifo@redhat.com>
407 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
408 * ifcvt.c (cond_exec_changed_p): New static variable.
409 (last_active_insn): New function, renamed from last_active_insn_p
410 and changed to return the last active insn in a basic block. All
411 callers updated.
412 (block_fallthru): New function.
413 (cond_exec_process_insns): New argument CE_INFO. Pass it to
414 IFCVT_MODIFY_INSN. All callers updated.
415 Return false if START or END are NULL.
416 Handle case where we're processing an insn that is already
417 conditional.
418
419 (noce_process_if_block): CE_INFO argument rather than
420 multiple args containing the involved basic blocks. All callers
421 changed.
422 (process_if_block, merge_if_block, find_if_block,
423 cond_exec_process_if_block): Likewise.
424
425 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
426 changed.
427 Use new function last_active_insn to simplify some code.
428 New code to handle multiple tests.
429 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
430 cond_exec_changed_p to TRUE.
431
432 (process_if_block): New code to handle multiple tests.
433 (merge_if_block): Likewise.
434 (find_if_header): New arg PASS. Changed to return the currently
435 processed basic block or NULL instead of true/false. All callers
436 changed.
437 Call IFCVT_INIT_EXTRA_FIELDS.
438 (block_jumps_and_fallthru_p): New function.
439 (find_if_block): Discover opportunities to convert multiple tests.
440 Add additional debugging output.
441 Update the ce_info structure before returning.
442
443 (if_convert): Run multiple passes of if-conversion.
444 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
445 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
446 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
447 these macros.
448
449 Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
450
451 * gcse.c: Include cselib.h
452 (constptop_register): Break out from ...
453 (cprop_insn): ... here; kill basic_block argument.
454 (do_local_cprop, local_cprop_pass): New functions.
455 (one_cprop_pass): Call local_cprop_pass.
456
457 2002-07-20 Roger Sayle <roger@eyesopen.com>
458
459 * simplify-rtx.c (simplify_relational_operation): Optimize
460 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
461
462 2002-07-20 Michae Matz <matz@suse.de>
463
464 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
465
466 2002-07-20 Neil Booth <neil@daikokuya.co.uk>
467
468 * cppexp.c (struct op): Add token pointer.
469 (check_promotion, CHECK_PROMOTION): New.
470 (optab): Update.
471 (_cpp_parse_expr): Update, use token pointer of struct op.
472 (reduce): Warn about change of sign owing to promotion.
473 * cppinit.c (cpp_handle_option): New warning if -Wall.
474 * cpplib.h (struct cpp_options): New member.
475
476 2002-07-19 David Edelsohn <edelsohn@gnu.org>
477
478 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
479 fpu list. Separate Power4 compare and delayed_compare. Correct
480 Power4 fpcompare.
481 (fix_truncdfsi2_internal): Restore FPR preference.
482 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
483 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
484
485 2002-07-19 Momchil Velikov <velco@fadata.bg>
486
487 * reload1.c (reload_as_needed): Duplicate oldpat.
488
489 2002-07-20 Alan Modra <amodra@bigpond.net.au>
490
491 PR optimization/7130
492 * loop.h (struct loop_info): Add "preconditioned".
493 * unroll.c (unroll_loop): Set it.
494 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
495
496 2002-07-19 Zack Weinberg <zack@codesourcery.com>
497
498 * rtl.def (CODE_LABEL): Remove slot 8.
499 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
500 (LABEL_ALTERNATE_NAME): Delete.
501 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
502 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
503
504 * final.c (output_alternate_entry_point): New.
505 (final_scan_insn): Use it instead of
506 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
507 of a case label being an alternate entry point.
508
509 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
510 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
511 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
512 (field deleted).
513 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
514
515 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
516 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
517 * doc/tm.texi: Delete documentation of
518 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
519
520 2002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
521
522 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
523 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
524 (LINK_SPEC): Define.
525 (STARTFILE_SPEC): Define.
526 (ENDFILE_SPEC): Define.
527
528 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
529 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
530
531 * config/mips/iris6-o32-gas.h: New file.
532 * config.gcc (mips-sgi-irix6*o32): Use it.
533
534 * config/mips/t-iris5-gas: New file.
535 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
536
537 2002-07-19 Neil Booth <neil@daikokuya.co.uk>
538
539 * cppexp.c (ALWAYS_EVAL): Remove.
540 (optab, reduce): Always evaluate.
541 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
542 only if not skipping evaluation.
543
544 2002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
545
546 * config/avr/avr.c (debug_hard_reg_set): Remove.
547
548 2002-07-19 Chris Demetriou <cgd@broadcom.com>
549
550 * gcc.c (cpp_options): Include "%1" (cc1_spec).
551
552 2002-07-19 Richard Henderson <rth@redhat.com>
553
554 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
555
556 2002-07-19 Alan Modra <amodra@bigpond.net.au>
557
558 * prefix.c (update_path): Don't zap single `.' path components
559 unless followed by another `.' and fix typo last patch.
560
561 2002-07-18 Neil Booth <neil@daikokuya.co.uk>
562
563 * cppexp.c (cpp_num_mul): Remove unused parameter.
564 (UNARY, BINARY, OTHER, binary_handler): Remove.
565 (ALWAYS_EVAL): New.
566 (optab): Update.
567 (reduce): Refactor to a large switch, don't use a function
568 pointer.
569
570 2002-07-18 Bo Thorsen <bo@berlioz.suse.de>
571
572 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
573
574 Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
575
576 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
577 (sh_expand_binop_v2sf): Likewise.
578 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
579 (int_gpr_dest, trunc_hi_operand): New functions.
580 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
581 trunc_hi_operand.
582 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
583 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
584 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
585 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
586 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
587 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
588 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
589 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
590 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
591 (movsf_ie+1): Likewise.
592 (loaddi_trunc): Use int_gpr_dest predicate.
593 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
594 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
595 (casesi_worker_0+[12], casesi_worker): Likewise.
596 (shcompact_preserve_incoming_args): Likewise.
597 (mov_nop): Use any_register_operand predicate.
598 (mperm_w0): Use trunc_hi_operand predicate.
599
600 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
601
602 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
603 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
604 numbering.
605
606 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
607
608 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
609
610 2002-07-18 Richard Henderson <rth@redhat.com>
611
612 PR optimization/7147
613 * ifcvt.c (noce_get_condition): Make certain that the condition
614 is valid at JUMP.
615
616 Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
617
618 * sh.c (barrier_align, push): Shut up compiler warnings.
619 (initial_elimination_offset,sh_media_init_builtins): Likewise.
620 (reg_no_subreg_operand): Delete.
621
622 2002-07-17 Bo Thorsen <bo@suse.de>
623
624 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
625 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
626 (STARTFILE_SPEC): Remove hardcoded library paths.
627 (ENDFILE_SPEC): Likewise.
628
629 Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
630
631 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
632
633 * gcse.c (try_replace_reg): Do not return false positives.
634
635 2002-07-18 Alan Modra <amodra@bigpond.net.au>
636
637 * prefix.c: (update_path): Strip ".." components when prior dir
638 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
639
640 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
641 (ASM_OUTPUT_REG_POP): Likewise.
642
643 2002-07-18 Alan Modra <amodra@bigpond.net.au>
644
645 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
646 adjustments to first_reg for profiling case.
647 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
648 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
649 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
650 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
651 (ASM_OUTPUT_REG_POP): Define.
652 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
653 (ASM_OUTPUT_REG_POP): Undef.
654
655 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
656
657 * cpplib.c (do_sccs): Handle #sccs on all systems.
658 * system.h (SCCS_DIRECTIVE): Poison.
659 * config/darwin.h, config/freebsd.h, config/netbsd.h,
660 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
661 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
662 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
663 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
664 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
665 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
666 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
667 Remove all references to SCCS_DIRECTIVE.
668 * doc/cpp.texi, doc/tm.texi: Update.
669
670 Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
671
672 * regrename.c (maybe_mode_change): New function.
673 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
674
675 2002-07-17 Rodney Brown <rbrown64@csc.com.au>
676
677 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
678 suppress addition when either ct or cf are zero.
679
680 2002-06-17 Eric Botcazou <ebotcazou@multimania.com>
681 Glen Nakamura <glen@imodulo.com>
682
683 PR optimization/6713
684 * loop.c (loop_givs_rescan): Explicitly delete the insn that
685 sets a non-replaceable giv after issuing the new one.
686
687 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
688
689 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
690 eval_token): Clarify and correct use of "bool" variables.
691 * cpplib.h (struct cpp_options): Similarly.
692 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
693 * cpptrad.c (recursive_macro): Similarly.
694
695 Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
696
697 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
698 SHmedia code.
699
700 * sh.md (cmpgtudi_media): Remove spurious @.
701
702 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
703 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
704
705 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
706 * sh-protos.h (sh_initialize_trampoline): Declare.
707 * sh.c (sh_initialize_trampoline): New function.
708 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
709 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
710 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
711 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
712 * sh.md (initialize_trampoline, double_shori): New patterns.
713 (initialize_trampoline_compact): Likewise.
714 (shmedia32_initialize_trampoline_big): Remove.
715 (shmedia32_initialize_trampoline_little): Likewise.
716
717 * sh-protos.h (binary_float_operator): Remove declaration.
718 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
719 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
720 (unary_float_operator, sh_expand_unop_v2sf): New functions.
721 (sh_expand_binop_v2sf): Likewise.
722 (zero_vec_operand): Delete.
723 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
724 all non-shared ones.
725 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
726 Enable nsb and byterev.
727 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
728 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
729 in general regs.
730 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
731 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
732 immediate operands.
733 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
734 Add DF_HI_REGS.
735 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
736 lowpart fp regs - only for big endian for now.
737 (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
738 when FPU is in use.
739 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
740 (LOAD_EXTEND_OP): NIL for SImode.
741 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
742 general and fp registers is 4.
743 PREDICATE_CODES: Amend binary_float_operator entry.
744 Remove zero_vec_operand. Add unary_float_operator.
745 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
746 subreg SET_DEST.
747 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
748 (truncdiqi2): Do sign extension.
749 (movsi_media, movdi_media): Allow to use r63 to an fp register.
750 (movdf_media, movsf_media): Likewise.
751 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
752 Collapse to one define_insn_and_split. Allow immediate sources.
753 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
754 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
755 (movv4sf): Allow immediate sources.
756 (movsf_media_nofpu+1): Don't split moves to FP registers.
757 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
758 (movv8qi_i+3): Check against CONST0_RTX.
759 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
760 for input and output operands. Fix argument 3 to gen_mextr_rl.
761 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
762 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
763 (mshf0_w, fipr, ftrv): Likewise.
764 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
765
766 2002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
767
768 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
769 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
770 * arm.c: Similarly.
771
772 2002-07-17 Richard Sandiford <rsandifo@redhat.com>
773
774 * config/mips/mips-protos.h (mips_sign_extend): Declare.
775 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
776 (TARGET_SWITCHES): Remove debugh.
777 (ISA_HAS_TRUNC_W): New macro.
778 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
779 (PREDICATE_CODES): Remove se_nonimmediate_operand.
780 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
781 any SImode move_operand.
782 (se_nonimmediate_operand): Remove.
783 (mips_sign_extend): New.
784 (mips_move_2words): Use it for sign-extended source operands.
785 (override_options): Allow integers to be put into single FPRs.
786 (mips_secondary_reload_class): Handle integers in float registers.
787 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
788 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
789 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
790 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
791 (fix_truncdfdi2): Provide only a single alternative, in which the
792 integer is in a float register. Depend on TARGET_FLOAT64 rather
793 than TARGET_64BIT.
794 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
795 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
796 (movdi_internal2): Don't allow the source operand to be sign-extended.
797 Add alternatives for float registers.
798 (*movdi_internal2_extend): New. Version of movdi_internal2 that
799 allows sign-extension.
800 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
801 (movsi_internal2): Rename to movsi_internal. Add alternatives for
802 float registers. Remove TARGET_DEBUG_H_MODE test.
803 (movhi_internal1): Rename to movhi_internal. Don't check
804 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
805 (movqi_internal1): Rename to movqi_internal and remove
806 TARGET_DEBUG_H_MODE dependency.
807 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
808
809 2002-07-16 Jim Wilson <wilson@redhat.com>
810
811 * toplev.c (lang_dependent_init): Create function context for
812 init_expr_once.
813
814 2002-07-16 Hans-Peter Nilsson <hp@axis.com>
815
816 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
817 --gc-sections if -r.
818 * config/cris/cris.h: Ditto.
819
820 2002-07-16 Rodney Brown <rbrown64@csc.com.au>
821
822 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
823 the comparison directly gives a mask suppress addition when cf is
824 zero by complementing the mask.
825
826 2002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
827
828 * Makefile.in: Delete references to enquire.
829 * enquire.c: Move to contrib.
830
831 2002-07-16 Stan Shebs <shebs@apple.com>
832
833 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
834 config/rs6000/darwin.h.
835 (ASM_OUTPUT_SKIP): Ditto.
836 (TEXT_SECTION_ASM_OP): Ditto.
837 (DATA_SECTION_ASM_OP): Ditto.
838 (ASM_APP_ON): Define.
839 (ASM_APP_OFF): Define.
840 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
841 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
842
843 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
844 (machopic_function_base_name): Declare result to be const.
845 (machopic_non_lazy_ptr_name): Ditto.
846 (machopic_stub_name): Ditto.
847 * config/darwin-protos.h: Ditto for the prototypes.
848
849 Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
850
851 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
852
853 Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
854
855 * i386.md (prefetch): Fix for 64bit mode.
856 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
857
858 Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
859
860 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
861 * i386.c (x86_machine_dependent_reorg): New function.
862 * i386-protos.h (x86_machine_dependent_reorg): Declare.
863
864 2002-07-16 Zack Weinberg <zack@codesourcery.com>
865
866 * builtins.c (std_expand_builtin_va_start): Remove unused
867 first argument.
868 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
869 std_expand_builtin_va_start with just two arguments.
870 * expr.h: Update prototypes.
871
872 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
873 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
874 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
875 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
876 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
877 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
878 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
879 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
880 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
881 argument from all implementations of EXPAND_BUILTIN_VA_START
882 and all uses of std_expand_builtin_va_start.
883
884 Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
885
886 * regrename.c (copy_value): Don't record high part copies.
887
888 2002-07-16 Steve Ellcey <sje@cup.hp.com>
889
890 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
891 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
892 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
893
894 2002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
895
896 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
897
898 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
899 into addsi3 using register class "x" and "y".
900
901 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
902 "earlyclobber" constraint modifier for some alternative.
903
904 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
905 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
906 unordered.
907 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
908
909 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
910 (TARGET_SWITCHES): Add -mieee-compare option.
911 (OVERRIDE_OPTIONS): 32332 is a subset of
912 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
913 (TARGET_SWITCHES): Fix description of bitfield option.
914 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
915 -mieee-compare option. Remove 32332 flag.
916
917 2002-07-16 Steve Ellcey <sje@cup.hp.com>
918
919 * explow.c (convert_memory_address): Remove special handling
920 when POINTERS_EXTEND_UNSIGNED < 0.
921 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
922 (movedi_symbolic): Fix typo.
923 (load_fptr): Remove mode restriction so it works for SI and DI.
924 (load_fptr_internal1): Ditto.
925 (load_gprel): Ditto.
926 (load_symptr_internal1): Ditto.
927 (call_pic): Ditto.
928 * config/ia64.c (call_operand): Modify mode check.
929 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
930 (ia64_expand_move): Ditto.
931 (ia64_assemble_integer): Handle SImode function pointers.
932 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
933 (ia64_expand_op_and_fetch): Ditto.
934 (ia64_expand_compare_and_swap): Ditto.
935 (ia64_expand_lock_test_and_set): Ditto.
936 (ia64_expand_lock_release): Ditto.
937
938 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
939
940 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
941
942 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
943 Richard Earnshaw <rearnsha@arm.com>
944
945 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
946 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
947
948 2002-07-16 Richard Earnshaw <rearnsha@arm.com>
949
950 * arm.md (stack_tie): New insn. Use an idiom that the alias code
951 understands to be a memory clobber.
952 * arm.c (arm_expand_prologue): Use it.
953
954 2002-07-16 Daniel Berlin <dberlin@dberlin.org>
955
956 * ra-rewrite.c: #include reload.h, insn-config.h
957 * ra-build.c: #include reload.h
958 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
959 depend on reload.h, insn-config.h.
960
961 Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
962
963 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
964 the same size as a word.
965
966 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
967 BYTES_BIG_ENDIAN into account.
968
969 Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
970
971 * i386.md (prefetch): Fix for 64bit mode.
972 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
973
974 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
975
976 2002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
977
978 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
979
980 2002-07-15 Zack Weinberg <zack@codesourcery.com>
981
982 * ginclude/varargs.h: Replace with stub which issues #error.
983 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
984 __builtin_va_start.
985
986 * builtins.def (BUILT_IN_VARARGS_START): Delete.
987 (BUILT_IN_VA_START): New.
988 * builtins.c (expand_builtin_va_start): Eliminate first
989 argument and code to implement pre-ISO varargs.
990 (std_expand_builtin_va_start): Ignore first argument; it is
991 always 1.
992 (expand_builtin): Handle BUILT_IN_VA_START and
993 BUILT_IN_STDARG_START identically. Delete
994 BUILT_IN_VARARGS_START case.
995
996 * function.c (assign_parms): Delete hide_last_arg and all
997 its uses.
998 (mark_varargs): Delete function.
999 * function.h (struct function): Delete 'varargs' bit.
1000 (current_function_varargs): Delete macro.
1001 * tree.h: Don't declare mark_varargs.
1002
1003 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
1004 (c_expand_body): Don't call mark_varargs.
1005 * c-objc-common.c: Handle BUILT_IN_VA_START and
1006 BUILT_IN_STDARG_START identically. Delete
1007 BUILT_IN_VARARGS_START case.
1008 * c-tree.h: Don't declare c_mark_varargs.
1009 * c-parse.in: Remove grammar rules for '&...' (which has been
1010 commented out since before 2.7.2) and for '...' in K+R
1011 argument declarations.
1012
1013 * builtins.c, function.c, integrate.c, sibcall.c,
1014 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
1015 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
1016 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
1017 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
1018 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
1019 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
1020 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
1021 config/stormy16/stormy16.c: Delete all references to
1022 current_function_varargs, and code predicated on that flag.
1023
1024 * config/alpha/alpha.c (alpha_va_start),
1025 config/arc/arc.c (arc_va_start),
1026 config/i386/i386.c (ix86_va_start),
1027 config/mips/mips.c (mips_va_start),
1028 config/mn10300/mn10300.c (mn10300_va_start),
1029 config/rs6000/rs6000.c (rs6000_va_start),
1030 config/s390/s390.c (s390_va_start),
1031 config/sh/sh.c (sh_va_start),
1032 Ignore first argument; it is always 1.
1033
1034 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
1035 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
1036 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
1037 Delete m68hc11_va_start.
1038 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
1039 No need to define EXPAND_BUILTIN_VA_START.
1040
1041 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
1042 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
1043
1044 2002-07-15 Eric Botcazou <ebotcazou@multimania.com>
1045
1046 PR optimization/7153
1047 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
1048 dies in more than one insn.
1049
1050 2002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
1051
1052 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
1053
1054 2002-07-15 Michael Matz <matz@suse.de>,
1055 Daniel Berlin <dberlin@dberlin.org>,
1056 Denis Chertykov <denisc@overta.ru>
1057
1058 Add a new register allocator.
1059
1060 * ra.c: New file.
1061 * ra.h: New file.
1062 * ra-build.c: New file.
1063 * ra-colorize.c: New file.
1064 * ra-debug.c: New file.
1065 * ra-rewrite.c: New file.
1066
1067 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
1068 (ra-rewrite.o): New .o files for libbackend.a.
1069 (GTFILES): Add basic-block.h.
1070
1071 * toplev.c (flag_new_regalloc): New.
1072 (f_options): New option "new-ra".
1073 (rest_of_compilation): Call initialize_uninitialized_subregs()
1074 only for the old allocator. If flag_new_regalloc is set, call
1075 new allocator, instead of local_alloc(), global_alloc() and
1076 friends.
1077
1078 * doc/invoke.texi: Document -fnew-ra.
1079 * basic-block.h (FOR_ALL_BB): New.
1080 * config/rs6000/rs6000.c (print_operand): Write small constants
1081 as @l+80.
1082
1083 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
1084 (df_reg_table_realloc): Make size at least as large as max_reg_num().
1085 (df_insn_table_realloc): Size argument now is absolute, not relative.
1086 Changed all callers.
1087
1088 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
1089 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
1090
1091 2002-06-20 Michael Matz <matz@suse.de>
1092
1093 * df.h (struct ref.id): Make unsigned.
1094 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
1095
1096 2002-06-13 Michael Matz <matz@suse.de>
1097
1098 * df.h (DF_REF_MODE_CHANGE): New flag.
1099 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
1100 involving subregs with invalid mode changes, when
1101 CLASS_CANNOT_CHANGE_MODE is defined.
1102
1103 2002-05-07 Michael Matz <matz@suse.de>
1104
1105 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
1106
1107 2002-05-03 Michael Matz <matz@suse.de>
1108
1109 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
1110
1111 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
1112
1113 * regclass.c (regclass): Work with all regs which have sets or
1114 refs.
1115 (reg_scan_mark_refs): Count regs inside (clobber ...).
1116
1117 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
1118
1119 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
1120 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
1121 add new refs.
1122 (df_bb_refs_update): Don't clear insns_modified here, ...
1123 (df_analyse): ... but here.
1124
1125 * sbitmap.c (dump_sbitmap_file): New.
1126 (debug_sbitmap): Use it.
1127
1128 * sbitmap.h (dump_sbitmap_file): Add prototype.
1129
1130 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
1131
1132 * df.c (df_insn_modify): Grow the UID table if necessary, rather
1133 than assume all emits go through df_insns_modify.
1134
1135 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
1136
1137 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
1138 increase REG_N_REFS (like flow does), so that regclass doesn't
1139 think a reg is useless, and thus, not calculate a class, when it
1140 really should have.
1141
1142 2001-01-28 Daniel Berlin <dberlin@redhat.com>
1143
1144 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
1145 dataflow analysis.
1146
1147 2002-07-15 Jakub Jelinek <jakub@redhat.com>
1148
1149 PR middle-end/7245
1150 * config/i386/i386.c (const_int_1_31_operand): New.
1151 * config/i386/i386.h (PREDICATE_CODES): Add it.
1152 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
1153 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
1154 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
1155
1156 2002-07-14 Alan Modra <amodra@bigpond.net.au>
1157
1158 PR target/7282
1159 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
1160 (floatunssidf2): Likewise.
1161 (floatsidf_ppc64): New insn_and_split.
1162 (floatunssidf_ppc64): Likewise.
1163
1164 2002-07-14 Andreas Jaeger <aj@suse.de>
1165
1166 * config.gcc (sh64): Remove unused
1167 target_requires_64bit_host_wide_int.
1168
1169 2002-07-12 Roger Sayle <roger@eyesopen.com>
1170
1171 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
1172 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
1173 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
1174 whether clear_by_pieces should be used to clear storage.
1175 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
1176
1177 * doc/tm.texi: Document these two new target macros.
1178
1179 2002-07-12 Stephane Carrez <stcarrez@nerim.fr>
1180
1181 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
1182 the scratch register.
1183 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
1184 of it, forbid reload to use it.
1185
1186 2002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
1187
1188 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
1189 usage on 64-bit hosts, return value was truncated to 32 bits.
1190
1191 Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
1192
1193 * simplify-rtx.c (simplify_subreg): Handle floating point
1194 CONST_DOUBLEs. When an integer subreg of a smaller mode than
1195 the element mode is requested, compute a subreg with an
1196 integer mode of the same size as the element mode first.
1197
1198 Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
1199
1200 * combine.c (try_combine): When converting a paradoxical subreg
1201 to an extension, take LOAD_EXTEND_OP into account.
1202
1203 2002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1204
1205 * config.gcc (mips-sgi-irix6*o32): New configuration.
1206
1207 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
1208 configurations.
1209 * configure: Regenerate.
1210
1211 * config/mips/iris6-o32-as.h: New file.
1212 * config/mips/iris6-o32.h: New file.
1213
1214 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
1215 (NM_FLAGS): Define.
1216 (HAVE_AS_SHF_MERGE): Undefine.
1217
1218 * config/mips/t-iris5-as: New file.
1219 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
1220
1221 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
1222 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
1223 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
1224 dp-bit.c, fp-bit.c): Move ...
1225 * config/mips/t-iris5-6: ... here.
1226 New file, shared by IRIX 5 and IRIX 6.
1227 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
1228 mips-sgi-irix5*): Use it.
1229
1230 * config/mips/iris6.h: Remove duplicate comment.
1231
1232 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
1233 !TARGET_IRIX6]: Define.
1234 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
1235
1236 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
1237
1238 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1239
1240 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
1241 and delete code to force constant to register.
1242 * pa-protos.h (adddi3_operand): Add prototype.
1243 * pa.c (adddi3_operand): New function.
1244
1245 2002-07-11 Roger Sayle <roger@eyesopen.com>
1246
1247 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
1248 non-ANSI builtin functions.
1249
1250 Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
1251
1252 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
1253 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
1254 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
1255 (gen_const_vector_0): Use it.
1256
1257 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1258
1259 * pa.md (adddi3): For 32-bit targets, force constants to a register
1260 if they don't fit in an 11-bit immediate. Change insn predicate to
1261 arith11_operand. Remove comment.
1262 * pa.c (cint_ok_for_move): Fix comment.
1263 (emit_move_sequence): Don't directly split DImode constants on 32-bit
1264 targets.
1265
1266 2002-07-11 Tim Josling <tej@melbpc.org.au>
1267
1268 Remove front end hard coding from gengtype.c.
1269
1270 * Makefile.in
1271 (STAGESTUFF): add gtyp-gen.h
1272 (GTFILES): Remove front end specific files.
1273 (GTFILES_FILES_LANGS): New, from configure..
1274 (GTFILES_FILES_FILES): Likewise.
1275 (GTFILES_LANG_DIR_NAMES): Likewise.
1276 (GTFILES_SRCDIR): Likewise.
1277 (gtyp-gen.h): Build from configure information.
1278 (s-gtype): Remove command line parameters from gengtype.
1279 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
1280 (mostlyclean): Delete files generated by and for gengtype.
1281
1282 * c-config-lang.in: New file.
1283
1284 * configure.in (all_gtfiles_files_langs): New. Accumulate files
1285 for each language.
1286 (all_gtfiles_files_files): New. Accumulate language for each file
1287 accumulated.
1288 (gtfiles): Pick up value for C.
1289 (srcdir): AC-SUBST this variable.
1290 (all_gtfiles_files_langs): AC-SUBST this variable.
1291 (all_gtfiles_files_files): AC-SUBST this variable.
1292
1293 * configure: Regenerate.
1294
1295 * gengtype-lex.l (parse_file): Make parameter const.
1296
1297 * gengtype.c (toplevel): include gtyp-gen.h.
1298 (BASE_FILE_<language> unnamed enum): Delete.
1299 (lang_names): Delete (replaced by gtyp-gen.h)
1300 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
1301 all references.
1302 (NUM_GT_FILES): New.
1303 (NUM_LANG_FILES): New.
1304 (srcdir_len): New.
1305 (NUM_BASE_FILES): Change calculation.
1306 (open_base_files): Change prototype to avoid warning.
1307 (startswith): Delete.
1308 (get_file_basename): Iterate through generated language list not
1309 hard coded list.
1310 (get_base_file_bitmap): Use generated list of files and languages.
1311 (close_output_files): Add prototype to rmove warning.
1312 (main): Iterate through list of generated files from gtyp-gen.h
1313 rather than command line paramaters. Ignore duplicated file
1314 names.
1315
1316 * gengtype.h (parse_file): Amend prototype for const parameter.
1317
1318 * doc/sourcebuild.texi: Document gtfiles variable.
1319
1320 * doc/gty.texi: Document changes to gtfiles variable for front
1321 ends.
1322
1323 * objc/config-lang.in (gtfiles): Add files needed for objc front
1324 end.
1325
1326 2002-07-10 Roger Sayle <roger@eyesopen.com>
1327
1328 PR c/2454
1329 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
1330 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
1331
1332 2002-07-10 Roger Sayle <roger@eyesopen.com>
1333 Zack Weinberg <zack@codesourcery.com>
1334
1335 * builtins.def: Make the argument types of abort and exit
1336 independent of the front-end.
1337
1338 2002-07-11 Alan Modra <amodra@bigpond.net.au>
1339
1340 * config/rs6000/linux64.h (ASM_SPEC): Define.
1341
1342 2002-07-10 Aldy Hernandez <aldyh@redhat.com>
1343
1344 * config/rs6000/rs6000.c (emit_frame_save): New.
1345 (rs6000_frame_related): Replace reg2 before reg.
1346 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
1347 and eh_return registers.
1348
1349 2002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
1350
1351 Revert all patches for optimization of Complex .op. Real.
1352 * complex_part_zero_p: Remove
1353 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
1354 with x.
1355 * expand_cmplxdiv_wide: Ditto.
1356 * expand_binop: Ditto.
1357
1358 2002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
1359
1360 * config/avr/avr.md: Fix two 0x80000000 constants to make them
1361 negative also on 64-bit hosts.
1362
1363 Default to -fno-reorder-blocks when optimizing for size.
1364 * config/avr/avr-protos.h (avr_optimization_options): Declare.
1365 * config/avr/avr.c (avr_optimization_options): New function.
1366 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
1367
1368 Optimize returning from simple functions.
1369 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
1370 * config/avr/avr.c (avr_simple_epilogue): New function.
1371 * config/avr/avr.md (return): New insn.
1372
1373 2002-07-10 Douglas B Rupp <rupp@gnat.com>
1374
1375 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
1376 HAS_INIT_SECTION to protection.
1377
1378 2002-07-10 Mark Mitchell <mark@codesourcery.com>
1379
1380 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
1381 deprecated.
1382
1383 Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
1384
1385 * combine.c (gen_lowpart_for_combine): Handle vector modes.
1386 Supply non-VOID mode to simplify_gen_subreg.
1387
1388 Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
1389
1390 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
1391
1392 2002-07-10 Jeffrey A Law <law@redhat.com>
1393
1394 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
1395 as appropriate.
1396
1397 * mn10200.c (expand_epilogue): Fix test to determine which scratch
1398 register to use.
1399
1400 Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
1401
1402 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
1403 Get mode from dest.
1404 If simplify_gen_subreg fails, try next equivalent.
1405
1406 2002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
1407
1408 * diagnostic.h: #include location.h
1409 (location_t): Move definition to..
1410 * location.h: ... here. New file.
1411 * tree.h: #include location.h
1412 (DECL_SOURCE_LOCATION): New macro.
1413 (DECL_SOURCE_FILE): Use.
1414 (DECL_SOURCE_LINE): Likewise.
1415 (struct tree_decl): REplace filename and linenum with locus.
1416 * Makefile.in (TREE_H): add location.h
1417 (diagnostic.o): Depends on gt-location.h
1418 (gt-location.h): Depends on s-gtype
1419
1420 2002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
1421
1422 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
1423 TARGET_OS_CPP_BUILTINS.
1424 * config/rs6000/aix31.h: Likewise.
1425 * config/rs6000/aix41.h: Likewise.
1426 * config/rs6000/aix43.h: Likewise.
1427 * config/rs6000/aix51.h: Likewise.
1428 * config/rs6000/beos.h: Likewise.
1429 * config/rs6000/darwin.h: Likewise.
1430 * config/rs6000/eabi.h: Likewise.
1431 * config/rs6000/eabisim.h: Likewise.
1432 * config/rs6000/linux.h: Likewise.
1433 * config/rs6000/linux64.h: Likewise.
1434 * config/rs6000/lynx.h: Likewise.
1435 * config/rs6000/mach.h: Likewise.
1436 * config/rs6000/rtems.h: Likewise.
1437 * config/rs6000/sysv4.h: Likewise.
1438 * config/rs6000/vxppc.h: Likewise.
1439
1440 2002-07-09 Devang Patel <dpatel@apple.com>
1441 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
1442 Do not allow ObjC objects as a parameter type for Objective-C methods.
1443 My previous patch restricted 'struct' also.
1444
1445 2002-07-09 Neil Booth <neil@daikokuya.co.uk>
1446
1447 * cpperror.c (cpp_error): Default to directive_line within
1448 directives here.
1449 * cppexp.c (cpp_interpret_integer): Only use traditional
1450 number semantics in directives.
1451 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
1452 (do_include_common): Similarly.
1453 * cpptrad.c (scan_out_logical_line): Implement accurate
1454 quoting of <> in #include.
1455 * doc/cpp.texi: Update.
1456
1457 Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
1458 J"orn Rennecke <joern.rennecke@superh.com>
1459
1460 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
1461 * sh.md (attribute issues): Replace with:
1462 (attribute pipe_model). All users changed.
1463 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
1464 All users changed.
1465 (function units sh5issue, sh5fds): New.
1466 (attribute is_mac_media): New.
1467 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
1468 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
1469 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
1470 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
1471 (call_media, call_value_media, sibcall_media): Likewise.
1472 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
1473 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
1474 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
1475 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
1476 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
1477 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
1478 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
1479 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
1480 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
1481 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
1482 (truncdfsf2_media): Likewise.
1483 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
1484 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
1485
1486 Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
1487
1488 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
1489 * sh.c (general_extend_operand, inqhi_operand): New functions.
1490 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
1491 alternatives using 'N' modifier. Add type.
1492 (adddi3z_media): Likewise. Enable generator function generation.
1493 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
1494 exact predicates / constraints. Add type.
1495 (subsi3): Allow 0 for SHMEDIA.
1496 (udivsi3_i4_media): Use match_operand for input values
1497 rather than hard registers.
1498 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
1499 unnecessarily through hard registers. Keep copies of pseudo
1500 registers outside of the libcall sequence.
1501 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
1502 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
1503 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
1504 (extendhidi2, extendqidi2): Likewise.
1505 (andsi3_compact): Name.
1506 (andcdi3): Enable generator function generation.
1507 (zero_extendhisi2, zero_extendqisi2): Rename to
1508 (zero_extendhisi2_compact, zero_extendqisi2_compact).
1509 (extendhisi2, extendqisi2): Rename to
1510 (extendhisi2_compact, extendqisi2_compact).
1511 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
1512 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
1513 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
1514 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
1515 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
1516 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
1517 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
1518 (shmedia32_initialize_trampoline_big): Likewise.
1519 (shmedia32_initialize_trampoline_little): Likewise.
1520 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
1521 (negdi2): Remove spurious T clobber.
1522 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
1523 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
1524 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
1525 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
1526 (ic_invalidate_line_media): Write back data cache before invalidating
1527 instruction cache. Add type.
1528 (movsf_media): Sign-extend when the destination is a general
1529 purpose register. Add type.
1530 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
1531 (casesi_worker_0+1): Only increment ref count for proper label.
1532 (casesi_worker_0+2): Likewise.
1533
1534 2002-07-09 Mark Mitchell <mark@codesourcery.com>
1535
1536 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
1537
1538 2002-07-09 Steve Ellcey <sje@cup.hp.com>
1539
1540 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
1541 from Pmode to ptr_mode.
1542 (get_exception_pointer): Ditto.
1543 (connect_post_landing_pads): Ditto.
1544 (dw2_build_landing_pads): Ditto.
1545
1546 2002-07-08 Steve Ellcey <sje@cup.hp.com>
1547 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
1548 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
1549 (handle_pragma_redefine_extname): Change to use new function.
1550
1551 2002-07-08 Roger Sayle <roger@eyesopen.com>
1552
1553 * combine.c (combine_simplify_rtx): Add an explicit cast
1554 to avoid signed/unsigned comparison warning.
1555 (simplify_if_then_else): Likewise.
1556 (extended_count): Likewise.
1557 (simplify_shift_const): Likewise.
1558 (simplify_comparison): Likewise.
1559
1560 2002-07-08 Richard Sandiford <rsandifo@redhat.com>
1561
1562 * config/mips/mips.md: Add imadd type. Update scheduler description
1563 to use imadd as well as imul.
1564 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
1565 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
1566 (*mul_sub_si): Likewise for first alternative. Change second
1567 alternative from imul to multi.
1568
1569 2002-07-07 Neil Booth <neil@daikokuya.co.uk>
1570
1571 * c-common.c (c_common_post_options): Update prototype;
1572 don't init backends if preprocessing only.
1573 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
1574 * langhooks.h (struct lang_hooks): Update post_options to
1575 return a boolean.
1576 * toplev.c (parse_options_and_default_flags, do_compile,
1577 lang_independent_init): Update prototypes. Allow the
1578 front end to specify that there is no need to initialize
1579 the back end.
1580 (general_init): Move call to hex_init here...
1581 (toplev_main): ...from here. Pass flag for back end init
1582 suppression.
1583
1584 Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
1585
1586 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
1587 (PREDICATE_CODES): Add entries for equality_comparison_operator,
1588 greater_comparison_operator and less_comparison_operator.
1589 * sh.c (print_operand): Add '\'' code. Make 'o' handle
1590 more operators.
1591 (equality_comparison_operator): New function.
1592 (greater_comparison_operator, less_comparison_operator): Likewise.
1593 * sh.md (beq_media_i): Disable generator function generation.
1594 Use match_operator to handle a whole class of comparisons. Add
1595 modifier in output template to provide branch prediction. Add type.
1596 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
1597 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
1598 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
1599 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
1600
1601 2002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
1602
1603 Emit MMIX function prologue and epilogue as rtl.
1604 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
1605 not unprototyped get_hard_reg_initial_val.
1606 ("call_value", "nonlocal_goto_receiver"): Ditto.
1607 ("return"): Make define_expand. Move real insn to...
1608 ("*expanded_return"): New pattern.
1609 ("prologue", "epilogue"): New define_expands.
1610 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
1611 (struct machine_function): New member in_prologue.
1612 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
1613 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
1614 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
1615 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
1616 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
1617 (LOCAL_REGNO): Define. Adjust comment.
1618 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
1619 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
1620 leaf_function_p.
1621 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
1622 the prologue.
1623 (mmix_target_asm_function_prologue): Make static. Just mark that
1624 the prologue is being emitted. Move guts to...
1625 (mmix_expand_prologue): New function. Adjust for emitting
1626 prologue as rtl. For sizes, use HOST_WIDE_INT only.
1627 (mmix_target_asm_function_epilogue): Make static. Simply emit a
1628 \n. Move guts to...
1629 (mmix_expand_epilogue): New function. Adjust for emitting
1630 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
1631 (mmix_target_asm_function_end_prologue): Mark that the prologue
1632 has ended.
1633 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
1634 (mmix_conditional_register_usage): Improve comments.
1635 (mmix_local_regno): New function.
1636 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
1637 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
1638 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
1639 (mmix_get_hard_reg_initial_val): Ditto.
1640
1641 2002-07-06 Andreas Jaeger <aj@suse.de>
1642
1643 * toplev.c (set_fast_math_flags): Don't use ISO C style function
1644 definitions.
1645 * gengtype.c (open_base_files): Likewise.
1646 (close_output_files): Likewise.
1647 * tracer.c (find_best_predecessor): Likewise.
1648 (find_best_successor): Likewise.
1649 (ignore_bb_p): Likewise.
1650
1651 2002-07-05 Roger Sayle <roger@eyesopen.com>
1652
1653 PR c++/7099
1654 * builtin-attrs.def: Define new attribute lists for use in
1655 builtins.def.
1656 * builtins.def [DEF_BUILTIN]: Modify to take an additional
1657 ATTRS argument, an enumerated value defined in builtin-attrs.def
1658 that represents the attribute list for the builtins. Modify
1659 all builtin functions to pass an appropriate attribute list.
1660 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
1661 their required noreturn attributes.
1662 * tree.h (enum_builtin_function): Ignore the additional parameter
1663 to DEF_BUILTIN.
1664 * builtins.c (built_in_names): Likewise.
1665 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
1666 argument with a tree representing the functions attribute list.
1667 Pass this "attrs" argument to builtin_function. No longer handle
1668 the noreturn_p processing manually.
1669 (built_in_attributes): Move the definitions from builtin-attrs.def
1670 before c_common_nodes_and_builtins.
1671 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
1672 DEF_BUILTIN, passing it to both builtin_function and the changed
1673 builtin_function_2.
1674
1675 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
1676 __builtin__exit and __builtin__Exit.
1677
1678 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
1679
1680 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
1681 QI mode registers in soft registers.
1682 ("zero_extendqihi2"): Do not take into account soft registers
1683 for register allocation (use '*' constraint).
1684
1685 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
1686
1687 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
1688 it is dead.
1689 ("*ashrsi3"): Likewise.
1690 ("*lshrsi3"): Likewise.
1691
1692 2002-07-05 Vladimir Makarov <vmakarov@redhat.com>
1693
1694 * genautomata.c (output_max_insn_queue_index_def): Take latencies
1695 into account.
1696
1697 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
1698
1699 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
1700 address computation and memory moves.
1701
1702 2002-07-03 Mark Mitchell <mark@codesourcery.com>
1703
1704 PR c++/6706
1705 * dwarfout.c (output_reg_number): Fix warning message.
1706 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
1707 before using it.
1708
1709 2002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1710
1711 * gcc/gcc.c (asm_debug): Move initialization ...
1712 (init_spec): ... here.
1713
1714 2002-07-05 Nathan Sidwell <nathan@codesourcery.com>
1715
1716 * c-parse.in (extdef): Append ';'.
1717 (old_style_parm_decls): Append ';'.
1718
1719 2002-07-04 Daniel Jacobowitz <drow@mvista.com>
1720
1721 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
1722 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
1723 to gcc_cv_as_gstabs_flag.
1724 * configure: Rebuilt.
1725
1726 2002-07-04 Geoffrey Keating <geoffk@redhat.com>
1727
1728 * ggc.h (ggc_add_root): Document as obsolete.
1729
1730 Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
1731
1732 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
1733 (mshflo_w): Likewise.
1734
1735 Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
1736
1737 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
1738 vector mode subregs of constants to finding integer mode
1739 subregs of constants.
1740 * cse.c (cse_insn): Use simplify_gen_subreg.
1741 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
1742 From a vector mode expression of different size than the
1743 target mode.
1744
1745 2002-07-03 Eric Christopher <echristo@redhat.com>
1746
1747 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
1748 * config/mips/mips.h: Remove deprecated -m<processor> options
1749 and cc1_cpu_spec associated.
1750 (CONSTANT_ADDRESS_P): Fix last patch.
1751 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
1752 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
1753 sunge_sf): Remove.
1754
1755 2002-07-03 Stan Shebs <shebs@apple.com>
1756
1757 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
1758 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
1759 (CPP_SPEC): Remove insertion of APPLE_CC definition.
1760
1761 2002-07-03 Roger Sayle <roger@eyesopen.com>
1762
1763 * combine.c (struct_undo): Change types of recorded substitutions
1764 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
1765 (do_SUBST_INT): Change types of the substitution from unsigned int
1766 to int, to avoid compilation warning from SUBST_INT's only caller.
1767
1768 (make_extraction): Add cast to avoid compilation warning.
1769 (force_to_mode): Remove cast to avoid compilation warning.
1770
1771 2002-07-03 Eric Botcazou <ebotcazou@multimania.com>
1772 Jeff Law <law@redhat.com>
1773
1774 * i386.md (length_immediate attribute): Fix typo.
1775 (length_address attribute): Likewise.
1776 (modrm attribute): Set it to 0 for immediate call instructions.
1777 (jcc_1 pattern): Set modrm attribute to 0.
1778 (jcc_2 pattern ): Likewise.
1779 (jump pattern): Likewise.
1780 (doloop_end_internal pattern): Explicitly set length.
1781 (leave pattern): Fix typo.
1782 (leave_rex64 pattern): Likewise.
1783
1784 2002-07-03 David Edelsohn <edelsohn@gnu.org>
1785
1786 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
1787 in FPR as preference.
1788 (fctiwz): Same.
1789 (floatdidf2, fix_truncdfdi2): Same.
1790 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
1791 (floatditf2): Same.
1792 (floatsitf2, fix_trunctfsi2): SImode in GPR.
1793 (ctrdi): Remove FPR alternative and splitter.
1794
1795 2002-07-03 Will Cohen <wcohen@redhat.com>
1796
1797 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
1798
1799 Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
1800
1801 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
1802 than UNITS_PER_WORD, unless this is little endian and the first unit
1803 in this word. Let extract_bit_field decide how to load an element.
1804 Force arguments to matching mode.
1805 (expand_vector_unop): Likewise.
1806
1807 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
1808 consist of word_mode elements.
1809 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
1810 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
1811 (build_unary_op): Allow vector types for BIT_NOT_EPR.
1812 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
1813 CONST_VECTOR.
1814 * optabs.c (expand_vector_binop): Try to perform operation in
1815 smaller vector modes with same inner size. Add handling of AND, IOR
1816 and XOR. Reject expansion to inner-mode sized scalars when using
1817 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
1818 (expand_vector_unop): Try to perform operation in smaller vector
1819 modes with same inner size. Add handling of one's complement.
1820 When there is no vector negate operation, try a vector subtract
1821 operation. Use simplify_gen_subreg on constants.
1822 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
1823 constants into smaller vectors with same inner mode, and to
1824 integer CONST_DOUBLEs.
1825
1826 2002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1827
1828 * c-parse.in (parsing_iso_function_signature): New variable.
1829 (extdef_1): New, copied from...
1830 (extdef): ... here. Reset parsing_iso_function_signature.
1831 (old_style_parm_decls): Reset parsing_iso_function_signature.
1832 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
1833 Warn about ISO C style function definitions.
1834 (nested_function, notype_nested_function): Reset
1835 parsing_iso_function_signature.
1836 (parmlist_2): Set parsing_iso_function_signature.
1837
1838 * doc/invoke.texi (-Wtraditional): Document new behavior.
1839
1840 2002-07-02 Chris Demetriou <cgd@broadcom.com>
1841
1842 * config.gcc (mips*el-*-*): Use tm_defines to set
1843 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
1844 * config/mips/little.h: Remove.
1845
1846 2002-07-02 Devang Patel <dpatel@apple.com>
1847
1848 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
1849 object as parameter. Prevent something like 'NSObject' to be
1850 used as the type for a method argument.
1851
1852 2002-07-03 Neil Booth <neil@daikokuya.co.uk>
1853
1854 * cpptrad.c: Update comment.
1855
1856 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
1857
1858 * doc/cpp.texi: Update for traditional preprocessing changes.
1859 * goc/cppopts.texi: Similarly.
1860
1861 2002-07-02 Ziemowit Laski <zlaski@apple.com>
1862
1863 * c-parse.in (designator): Enable designated initializers if ObjC.
1864 (objcmessageexpr): Remove references to objc_receiver_context.
1865 * objc/objc-act.h (objc_receiver_context): Remove decl.
1866 * objc/objc-act.c (objc_receiver_context): Remove.
1867 (lookup_objc_ivar): Test objc_method_context instead of
1868 objc_receiver_context.
1869
1870 Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
1871
1872 * sh.c (print_operand, case 'N'): Allow zero vector.
1873 (arith_reg_or_0_operand): Likewise.
1874 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
1875 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
1876 IOR, XOR, PLUS and SET and take their respective constant
1877 ranges into account.
1878 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
1879 * sh.md (subdi3, subdi3_media): Allow zero operand.
1880 (movv8qi_i+3): Only vector that is not split is the zero vector.
1881 Fix operand 3 to simplify_subreg.
1882 (movv2si_i): Split alternative 1.
1883 (mshfhi_l_di_rev+1): New splitter.
1884
1885 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
1886
1887 PR preprocessor/7029
1888 * cppinit.c (cpp_handle_option): Suppress warnings with an
1889 implicit "-w" for "-M" and "-MM".
1890 * doc/cppopts.texi: Update.
1891
1892 2002-07-01 Roger Sayle <roger@eyesopen.com>
1893
1894 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
1895 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
1896 builtin_function.
1897
1898 2002-07-02 Alan Modra <amodra@bigpond.net.au>
1899
1900 * README.Portability: Fix typos.
1901
1902 2002-07-01 Hans-Peter Nilsson <hp@axis.com>
1903
1904 PR target/7177
1905 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
1906 of indirections for register inside sign-extended mem part.
1907
1908 2002-07-01 Roger Sayle <roger@eyesopen.com>
1909
1910 * tree.h: Modify builtin_function interface to take an extra
1911 argument ATTRS, which is a tree representing an attribute list.
1912
1913 * c-decl.c (builtin_function): Accept additional parameter.
1914 * objc/objc-act.c (builtin_function): Likewise.
1915 * f/com.c (builtin_function): Likewise.
1916 * java/decl.c (builtin_function): Likewise.
1917 * ada/utils.c (builtin_function): Likewise.
1918 * cp/decl.c (builtin_function): Likewise.
1919 (builtin_function_1): Likewise.
1920
1921 * c-common.c (c_common_nodes_and_builtins): Pass an additional
1922 NULL_TREE argument to builtin_function. (builtin_function_2):
1923 Likewise.
1924 * cp/call.c (build_java_interface_fn_ref): Likewise.
1925 * objc/objc-act.c (synth_module_prologue): Likewise.
1926 * java/decl.c (java_init_decl_processing): Likewise.
1927 * f/com.c (ffe_com_init_0): Likewise.
1928
1929 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
1930 NULL_TREE argument to builtin_function.
1931 * config/arm/arm.c (def_builtin): Likewise.
1932 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
1933 * config/i386/i386.c (def_builtin): Likewise.
1934 * config/ia64/ia64.c (def_builtin): Likewise.
1935 * config/rs6000/rs6000.c (def_builtin): Likewise.
1936
1937 2002-07-01 Zack Weinberg <zack@codesourcery.com>
1938
1939 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
1940 * config/mips/t-isa3264: Likewise.
1941 * config/mmix/t-mmix: Likewise.
1942
1943 2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
1944
1945 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
1946
1947 2002-07-01 Roger Sayle <roger@eyesopen.com>
1948
1949 PR opt/4046
1950 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
1951 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
1952 B are truth values.
1953
1954 2002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
1955
1956 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
1957
1958 2002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
1959
1960 * README.Portability (Function prototypes): Give an example of
1961 declaring and defining a function with no arguments.
1962
1963 * README.Portability (Function prototypes): Document new
1964 variable-argument function macros.
1965
1966 Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
1967
1968 * sh.c (langhooks.h): Include.
1969 (sh_init_builtins, sh_media_init_builtins): New functions.
1970 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
1971 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
1972 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
1973 (builtin_description): New struct tag.
1974 (signature_args, bdesc): New arrays.
1975 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
1976 (print_operand): Add 'N' modifier.
1977 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
1978 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
1979 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
1980 (CONST_COSTS): Add special case for SHmedia AND.
1981 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
1982 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
1983 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
1984 target_operand can also be const or unspec.
1985 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
1986 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
1987 (attribute type): Add new types.
1988 (anddi3): Add splitter.
1989 (movdi_const_16bit+1): Add code to handle vector constants and
1990 bitmasks efficiently.
1991 (shori_media): Have generator function made.
1992 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
1993 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
1994 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
1995 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
1996 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
1997 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
1998 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
1999 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
2000 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
2001 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
2002 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
2003 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
2004 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
2005 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
2006 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
2007 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
2008 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
2009 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
2010 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
2011 (ftrv): Likewise.
2012
2013 (fpu_switch+1, fpu_switch+2): Remove constraint.
2014
2015 2002-07-01 Aldy Hernandez <aldyh@redhat.com>
2016
2017 * tree.c (build_function_type_list): Update function comment.
2018 Rename first argument to return_type.
2019
2020 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
2021
2022 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
2023 tradcif.y and related files.
2024
2025 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
2026
2027 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
2028
2029 2002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2030
2031 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
2032
2033 2002-06-30 Devang Patel <dpatel@apple.com>
2034
2035 * objc/objc-act.c (finish_file): Avoid finish_objc() if
2036 -fsyntax-only.
2037
2038 Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru>
2039 Frank Ch. Eigler <fche@redhat.com>
2040 Matthew Green <mrg@redhat.com>
2041 Richard Henderson <rtl@redhat.com>
2042 Dave Hudson <dave.hudson@ubicom.com>
2043 Jeff Johnston <jjohnstn@redhat.com>
2044 Alan Lehotsky <apl@alum.mit.edu>
2045 Bernd Schmidt <bernds@redhat.com>
2046 Graham Stott <grahams@redhat.com>
2047
2048 * doc/extend.texi: Add ip2k port to description of attribute
2049 naked.
2050 * doc/install.texi (Specific): Add ip2k description.
2051 * doc/install-old.texi (Configurations): Add ip2k to possible
2052 cpu types.
2053 * doc/md.texi: Document ip2k constraints.
2054 * config/ip2k/crt0.S: New file.
2055 * config/ip2k/ip2k-protos.h: New file.
2056 * config/ip2k/ip2k.c: New file.
2057 * config/ip2k/ip2k.h: New file.
2058 * config/ip2k/ip2k.md: New file.
2059 * config/ip2k/libgcc.S: New file.
2060 * config/ip2k/t-ip2k: New file.
2061
2062 2002-06-30 Hans-Peter Nilsson <hp@bitrange.com>
2063
2064 * config/mmix/mmix.md ("return"): New pattern.
2065 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
2066 (TARGET_USE_RETURN_INSN): New macros.
2067 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
2068 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
2069 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
2070 (MMIX_POP_ARGUMENT): New macro.
2071 (mmix_target_asm_function_prologue): When no epilogue is executed,
2072 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
2073 (mmix_print_operand) <case '.'>: New case.
2074 (mmix_print_operand_punct_valid_p): Match '.'.
2075 (mmix_use_simple_return): New function.
2076 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
2077 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
2078 -msingle-exit, -mno-single-exit.
2079 (MMIX Options): Ditto.
2080
2081 2002-06-30 Aldy Hernandez <aldyh@redhat.com>
2082
2083 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
2084
2085 2002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2086
2087 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
2088
2089 2002-06-30 Alan Modra <amodra@bigpond.net.au>
2090
2091 * unroll.c (loop_iterations): Handle EQ loops.
2092
2093 2002-06-29 David Edelsohn <edelsohn@gnu.org>
2094
2095 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
2096 constraint in define_expand, not splitter.
2097 Formatting.
2098
2099 2002-06-29 Aldy Hernandez <aldyh@redhat.com>
2100
2101 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
2102 build_function_type_list instead of build_function_type.
2103
2104 * config/ia64/ia64.c (ia64_init_builtins): Same.
2105
2106 * config/alpha/alpha.c (alpha_init_builtins): Same.
2107
2108 * config/rs6000/rs6000.c (altivec_init_builtins): Same.
2109
2110 * config/arm/arm.c (arm_init_builtins): Same.
2111
2112 * tree.h: Add build_function_type_list prototype.
2113
2114 * tree.c (build_function_type_list): New.
2115
2116 2002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2117
2118 * collect2.c (scan_prog_file): Fix typo in message.
2119
2120 2002-06-28 Aaron Lehmann <aaronl@vitelus.com>
2121
2122 * fold-cont.c: Remove unused CHARMASK.
2123
2124 2002-06-29 Neil Booth <neil@daikokuya.co.uk>
2125
2126 PR preprocessor/7150
2127 * cppmain.c (scan_translation_unit_trad): Simplify.
2128 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
2129
2130 2002-06-29 Neil Booth <neil@daikokuya.demon.co.uk>
2131
2132 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
2133 Don't use CPP_PREDEFINES.
2134 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
2135 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
2136 * config/i386/djgpp.h, config/i386/i386-coff.h,
2137 config/i386/i386-interix.h, config/i386/i386-interix3.h,
2138 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
2139 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
2140 config/i386/uwin.h: Similarly.
2141
2142 2002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2143
2144 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
2145 flag_inline_trees to enable inlining.
2146
2147 2002-06-28 Phil Edwards <pme@gcc.gnu.org>
2148
2149 * configure.in (gcc_gxx_include_dir): Change to match versioned
2150 C++ headers if --enable-version-specific-runtime-libs is used.
2151 * configure: Regenerate.
2152
2153 2002-06-28 Jan Hubicka <jh@suse.cz>
2154
2155 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
2156
2157 2002-06-28 Stephen Clarke <stephen.clarke@superh.com>
2158
2159 * combine.c (combine_simplify_rtx): Pass the mode of the
2160 shift count, not the shift operation when trying to simplify
2161 a shift on a SHIFT_COUNT_TRUNCATED target.
2162
2163 2002-06-28 Stephane Carrez <stcarrez@nerim.fr>
2164
2165 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
2166 avoid the auto increment addressing modes.
2167 ("*subsi3"): Likewise.
2168 (split for add/sub on address): For 68HC12 push the value on
2169 the stack and do the operation with a pop.
2170
2171 2002-06-28 Neil Booth <neil@daikokuya.co.uk>
2172
2173 * cpplib.c (_cpp_handle_directive): Move #define-specific
2174 code to the #define handler...
2175 (do_define): ...here.
2176 (lex_macro_node): No longer a need to check for comments here.
2177
2178 2002-06-28 Stephane Carrez <stcarrez@nerim.fr>
2179
2180 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
2181 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
2182 Declare.
2183 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
2184 do not reorder basic blocks at the end when optimizing for size.
2185
2186 2002-06-28 Stephane Carrez <stcarrez@nerim.fr>
2187
2188 * config/m68hc11/m68hc11.c (autoinc_mode): New function.
2189 (m68hc11_make_autoinc_notes): New function.
2190 (m68hc11_split_move): Be very cautious when spliting a move with
2191 auto increment/decrement modes because this may result in incompatible
2192 directions; add REG_INC notes to the resulting insn for CSE reg.
2193
2194 2002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr>
2195
2196 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
2197 can be a valid address.
2198
2199 2002-06-28 Aldy Hernandez <aldyh@redhat.com>
2200
2201 * config/rs6000/rs6000.c: Remove unusued variables from last
2202 patch.
2203
2204 2002-06-27 Aldy Hernandez <aldyh@redhat.com>
2205
2206 Revert:
2207 * config/rs6000/rs6000.c (rs6000_override_options): Move
2208 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
2209
2210 2002-06-27 Aldy Hernandez <aldyh@redhat.com>
2211
2212 * config/rs6000/rs6000.c (altivec_expand_builtin): Move
2213 lvx/stv/dst builtins...
2214 (altivec_expand_ld_builtin): ...to here.
2215 (altivec_expand_st_builtin): ...here.
2216 (altivec_expand_dst_builtin): ...and here (respectively).
2217
2218 2002-06-28 Bob Wilson <bob.wilson@acm.org>
2219
2220 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
2221
2222 2001-06-08 Bernd Schmidt <bernds@redhat.com>
2223
2224 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
2225 subregs.
2226 * recog.c (general_operand, register_operand): Disallow them.
2227
2228 2002-06-28 Neil Booth <neil@daikokuya.co.uk>
2229
2230 PR preprocessor/7138
2231 * cpplib.c (_cpp_handle_directive): Do traditional
2232 preparation after setting state.angled_headers.
2233 * cpptrad.c (scan_out_logical_line): Fix potential
2234 quote bug.
2235
2236 2002-06-27 Aldy Hernandez <aldyh@redhat.com>
2237
2238 * config/rs6000/rs6000.c (rs6000_override_options): Move
2239 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
2240
2241 2002-06-27 Bob Wilson <bob.wilson@acm.org>
2242
2243 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
2244 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
2245 zero_cost_loop_end): Remove unnecessary "parallel" from insns.
2246
2247 2002-06-27 Roger Sayle <roger@eyesopen.com>
2248
2249 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
2250 * config/stormy16/stormy16.h: Likewise.
2251
2252 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
2253 with #define.
2254
2255 2002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2256
2257 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
2258 Hitachi entry. Make punctuation more consistent.
2259
2260 2002-06-27 Matt Kraai <kraai@alumni.cmu.edu>
2261
2262 * doc/install.texi: Change ` bit' to `-bit'.
2263 * doc/md.texi: Change `-bits' to `-bit'.
2264 * doc/tm.texi: Change `-bits' to ` bits'.
2265
2266 2002-06-27 Daniel Berlin <dberlin@dberlin.org>
2267
2268 * gcse.c (hoist_code): Rewrite to only get list of dominated
2269 blocks once per BB. Also fix reversed test (by removing need for
2270 the test at all).
2271
2272 2002-06-27 Neil Booth <neil@daikokuya.co.uk>
2273
2274 * cpphash.h (_cpp_set_trad_context): Remove.
2275 * cpplib.c (prepare_directive_trad): Do nothing for #define.
2276 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
2277 * cpptrad.c: Update comments.
2278 (_cpp_read_logical_line_trad): Let scan_logical_line handle
2279 updating the current context.
2280 (scan_logical_line): Update the current context.
2281 (_cpp_create_trad_definition): Similarly.
2282 (_cpp_set_trad_context): Remove.
2283
2284 2002-06-27 Neil Booth <neil@daikokuya.co.uk>
2285
2286 PR preprocessor/7070
2287 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
2288
2289 2002-06-26 Bob Wilson <bob.wilson@acm.org>
2290
2291 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
2292 config/xtensa/xtensa.c (xtensa_return_addr): New function.
2293 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
2294 config/xtensa/xtensa.md (fix_return_addr): New pattern.
2295
2296 2002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2297
2298 * mips.c (coprocessor_operand, coprocessor2_operand,
2299 symbolic_operand): Move prototypes from here...
2300 * mips-protos.h (coprocessor_operand, coprocessor2_operand,
2301 symbolic_operand): ...to here.
2302
2303 Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
2304
2305 * config/sh/crt1.asm: remove _stack label definition
2306 and sentinel value.
2307
2308 2002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2309
2310 * varasm.c: Include real.h before output.h.
2311
2312 2002-06-26 Aldy Hernandez <aldyh@redhat.com>
2313
2314 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
2315 check for TARGET_ALTIVEC.
2316
2317 2002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
2318
2319 * config.gcc (vax-*-vms*): Make obselete.
2320
2321 2002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2322
2323 * gcc.c (warn_std): Delete.
2324
2325 2002-06-25 Loren J. Rittle <ljrittle@acm.org>
2326
2327 * doc/extend.texi: Fix formatting of last checkin.
2328
2329 2002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2330
2331 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
2332 underscore from __IEEE_FP and __IEEE_FP_INEXACT.
2333
2334 2002-06-25 Aldy Hernandez <aldyh@redhat.com>
2335
2336 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
2337 discrepancies from motorola's documentation.
2338
2339 Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
2340
2341 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
2342 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
2343
2344 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
2345 produce a 32 bit result before normalization, then normalize with a
2346 left shift. Compute approximative error of 2nd reciprocal
2347 approximation in 2's complement. Fix mask generation from upper
2348 longword of second divide stage result.
2349 For large divisor, fix shift count used to truncate first stage
2350 divide result; make decision if to adjust upwards based on comparison
2351 of higher parts of normalized values.
2352 (udivdi): Likewise. Undo normalization of result for large divisor
2353 case.
2354
2355 2002-06-25 David S. Miller <davem@redhat.com>
2356
2357 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
2358
2359 2002-06-25 Neil Booth <neil@daikokuya.co.uk>
2360
2361 * cpplib.c (do_include_common): Revert to correct line number
2362 if -traditional.
2363 * cpptrad.c (scan_out_logical_line): Treat null directive as
2364 white space. Invlidate MI optimization for non-whitespace
2365 text outside a directive.
2366
2367 2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2368
2369 * Makefile.in (SHELL): Set to @SHELL@.
2370 * fixinc/Makefile.in (SHELL): Likewise.
2371
2372 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
2373 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
2374 initialization.
2375
2376 2002-06-24 Jeff Law <law@redhat.com>
2377
2378 * flow.c (propagate_one_insn): When removing an insn
2379 with a REG_LIBCALL note but not the entire libcall sequence,
2380 delete the associated REG_RETVAL note.
2381
2382 Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
2383
2384 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
2385 (udivsi3): Likewise. Rewrite SH1 implementation.
2386 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
2387 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
2388 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
2389 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
2390 (_moddi3): Likewise.
2391
2392 * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
2393
2394 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
2395 arguments into account for stack_regs.
2396
2397 2002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
2398
2399 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
2400 in examples.
2401
2402 2002-06-24 Art Haas <ahaas@neosoft.com>
2403
2404 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
2405 * doc/tm.texi (Frame Layout): Likewise.
2406
2407 2002-06-20 Steve Ellcey <sje@cup.hp.com>
2408
2409 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
2410 Set float_format to i128.
2411
2412 2002-06-24 David S. Miller <davem@redhat.com>
2413
2414 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
2415 32-bit ABI libfuncs to NULL.
2416
2417 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
2418 strings instead of quoted strings for code blocks.
2419
2420 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
2421 optabs if op1 is const0_rtx.
2422
2423 * Makefile.in (GTFILES): Add basic-block.h
2424 * basic-block.h (label_value_list, tail_recursion_label_list):
2425 Mark with GTY.
2426
2427 2002-06-24 Neil Booth <neil@daikokuya.co.uk>
2428
2429 * cpptrad.c (scan_out_logical_line): Check recursing only when
2430 we know we have a macro invocation in the function-like case.
2431 Only call _cpp_handle_directive if we know we have a good
2432 directive, or we want to reject a bad directive.
2433
2434 2002-06-24 Alan Modra <amodra@bigpond.net.au>
2435
2436 * doloop.c (doloop_valid_p): Correct comment.
2437 (doloop_modify_runtime <abs_inc != 1>): Simplify.
2438 (doloop_modify_runtime <do-while>): Don't emit code when NE.
2439
2440 Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
2441
2442 * config.gcc: Add support for ip2k.
2443
2444 2002-06-23 Jan Hubicka <jh@suse.cz>
2445 Jeff Law <law@redhat.com>
2446
2447 * function.h (struct emit_status): Clarify potential contents
2448 of regno_reg_rtx array.
2449 * integrate.c (copy_rtx_and_substitute): Update comments. Make
2450 sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
2451
2452 * reg-stack.c (convert_regs_exit): Push the registers to stack in
2453 proper order.
2454
2455 2002-06-22 Ulrich Weigand <uweigand@de.ibm.com>
2456
2457 PR middle-end/6963
2458 * function.c (assign_stack_temp_for_type): Do not return
2459 the same MEM rtx for multiple uses of a stack slot.
2460
2461 2002-06-22 David S. Miller <davem@redhat.com>
2462
2463 PR target/6841 target/6770 target/6719
2464 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
2465 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
2466 GENERAL_OR_EXTRA_FP_REGS.
2467
2468 2002-06-22 Neil Booth <neil@daikokuya.co.uk>
2469
2470 * cpptrad.c (struct fun_macro): Add line number.
2471 (scan_out_logical_line): Set it, and use it to report unterminated
2472 macro invocations.
2473
2474 2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2475
2476 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
2477 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
2478 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
2479 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
2480 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
2481 REGEXP_ONEOF, check_name): Const-ify.
2482
2483 2002-06-21 Matt Thomas <matt@3am-software.com>
2484
2485 * config/vax/vax.c (vax_output_function_prologue): Use
2486 REGISTER_PREFIX. Fix some indentation.
2487 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
2488 (VAX_ISTREAM_SYNC): Define.
2489 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
2490 i-stream sync to the end.
2491 (REGISTER_PREFIX): Define as "".
2492 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
2493
2494 2002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
2495
2496 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
2497 configurations.
2498
2499 2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2500
2501 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
2502 tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
2503
2504 2002-06-21 Matt Thomas <matt@3am-software.com>
2505
2506 * config/vax/netbsd.h: Adjust a comment.
2507 (TARGET_DEFAULT): Redefine as 0.
2508
2509 2002-06-21 Richard Henderson <rth@redhat.com>
2510
2511 * bb-reorder.c (make_reorder_chain_1): Search harder for the
2512 vax casesi fallthru edge.
2513 * cfglayout.c (cleanup_unconditional_jumps): Use
2514 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead.
2515 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
2516 block after ADDR_VEC.
2517
2518 2002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2519
2520 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
2521
2522 2002-06-21 Neil Booth <neil@daikokuya.co.uk>
2523
2524 * cpperror.c (cpp_error): For traditional CPP, default to
2525 diagnostics on pfile->line.
2526 * cpplib.c (prepare_directive_trad): Set line number for
2527 diagnostics for #define too.
2528 * cpptrad.c (skip_whitespace): Skip comments properly.
2529 (_cpp_expansions_different_trad): Initialize quote2.
2530
2531 2002-06-21 Hans-Peter Nilsson <hp@bitrange.com>
2532
2533 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
2534 * config/mmix/mmix.h: Ditto.
2535 * config/mmix/mmix-protos.h: Ditto.
2536 * config/mmix/mmix.c: Ditto. Fix typo in comment.
2537 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
2538 comment. Comment extra CC modes.
2539
2540 2002-06-20 Jan Hubicka <jh@suse.cz>
2541
2542 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
2543 (scope_to_insns_finalize): Do not call set_block_levels; handle
2544 sequences.
2545 (choose_inner_scope): New.
2546 * rtl.h (choose_inner_scope): Declare.
2547
2548 2002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
2549
2550 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
2551 HOST_WIDE_INT.
2552 * pa.c (pa_asm_output_mi_thunk): Likewise.
2553 (n_deferred_plabels): Change type to size_t.
2554 (output_deferred_plabels, output_call): Use size_t instead of int.
2555
2556 2002-06-20 Richard Henderson <rth@redhat.com>
2557
2558 PR target/4041
2559 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
2560 pattern and adjust constraints for coldfire.
2561
2562 2002-06-20 Richard Henderson <rth@redhat.com>
2563
2564 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
2565
2566 2002-06-20 Chris Demetriou <cgd@broadcom.com>
2567
2568 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
2569
2570 2002-06-20 Chris Demetriou <cgd@broadcom.com>
2571
2572 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
2573
2574 2002-06-20 Stan Shebs <shebs@apple.com>
2575
2576 * dominance.c: Include errors.h instead of error.h.
2577
2578 2002-06-20 Neil Booth <neil@daikokuya.co.uk>
2579
2580 * cppexp.c (cpp_interpret_integer): Don't force traditional
2581 numbers to be unsigned.
2582 * cpplib.c (prepare_directive_trad): Set line number for
2583 diagnostics.
2584 * cpptrad.c (scan_out_logical_line): Continue scanning out
2585 at start of buffer.
2586 * gcc.c (trad_capable_cpp): Use cc1 always.
2587
2588 2002-06-20 Jeffrey Law <law@redhat.com>
2589
2590 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
2591 elimination in leaf functions by default yet.
2592
2593 2002-06-20 Richard Sandiford <rsandifo@redhat.com>
2594
2595 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
2596
2597 2002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2598
2599 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
2600 multilibs.
2601 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
2602 Fixes PR other/6836.
2603
2604 Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
2605 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
2606
2607 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
2608
2609 * basic-block.h: Do not include et-forest.h
2610 (dominance_info): Declare as struct dominance-info.
2611 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
2612 deleting block.
2613 * dominance.c (struct dominance_info): Define.
2614 (BB_NODE, SET_BB_NODE): New macros.
2615 (bb_hash_func, bb_eq_func): Kill.
2616 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
2617 nearest_common_dominator, dominated_by_p, recount_dominator,
2618 add_to_dominance_info, delete_from_dominance_info): update for new
2619 representation.
2620 (get_dominated_by, redirect_immediate_dominators): Rewrite using
2621 enumerate_sons.
2622 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
2623 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
2624 structure.
2625
2626 * et-forest.h: Update copyright; revamp all function to operate on
2627 nodes
2628 (et_forest_value): Kill.
2629 (et_forest_enumerate_sons, et_forest_node_value): New.
2630 * et-forest.c: Update copyright.
2631 * et-forest.h: Update copyright; revamp all function to operate on
2632 nodes
2633 (et_forest_value): Kill.
2634 (et_forest_enumerate_sons, et_forest_node_value): New.
2635
2636 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
2637
2638 * basic-block.h: Inlude et-forest.h
2639 (basic_block_def): Kill dominator.
2640 (dominance_info): New type.
2641 (loops): Use dominace_info.
2642 (dominace handling functions): Take dominace_info as argument
2643 instead of bitmaps.
2644 (create_preheader): Likewise.
2645 * cfg.c (entry_exit_blocks): Kill dominator.
2646 (dump_flow_info): Do not dump dominators.
2647 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
2648 dominators.
2649 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
2650 (flow_loops_pre_header_scan, make_forwarder_block,
2651 canonicale_loop_headers, flow_loops_find): Likewise.
2652 * dominance.c: Include error.h
2653 (idoms_to_doms): Kill.
2654 (bb_hash_func, bb_eq_func): New static functions.
2655 (debug_dominace_info): New global function.
2656 (calculate_dominance_info): Use new et forest structure.
2657 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
2658 get_dominated_by, redirect_immediate_dominators,
2659 nearest_common_dominator, dominated_by_p, verify_dominators,
2660 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
2661 delete_from_dominance_info): New global functions.
2662 * gcse.c (domnators): CHange to dominance_info.
2663 (alloc_hoist_mem): Do not alloc dominators
2664 (free_code_hoist_mem): Use free_dominance_info.
2665 (compute_code_hoist_data): Use dominance_info.
2666 (hoist_code): Likewise.
2667 * ifcvt.c (post_dominators): Likewise.
2668 (find_if_case_2, if_convert): Likewise.
2669 * predict.c (process_note_predictions, process_note_prediction,
2670 estimate-probability): Likewise.
2671 * sched-rgn.c (find_rgns, init_regions): Likewise.
2672 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
2673 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
2674 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
2675 find_evaluations, convert_to_ssa): Likewise.
2676 * ssa.h (compute_dominance_frontiers): Likewise.
2677
2678 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
2679
2680 * Makefile.in (et-forest.c): Add.
2681 * et-forest.c: New file.
2682 * at-forest.h: New file.
2683
2684 2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2685
2686 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
2687 array size calculation.
2688 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
2689 Likewise.
2690
2691 * diagnostic.c (diagnostic_kind_text): Const-ify.
2692 * gengtype.c (lang_names): Likewise.
2693
2694 Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
2695
2696 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
2697
2698 2002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2699
2700 * config/sol2.h: New file.
2701 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
2702 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
2703 (sparc-*-chorusos*): Likewise.
2704 (sparc-*-elf*): Likewise.
2705 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
2706 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
2707 (sparc-hal-solaris2*): Likewise.
2708 (sparc-*-solaris2*): Likewise.
2709 (sparclite-*-elf*): Likewise.
2710 (sparc86x-*-elf*): Likewise.
2711 (sparc64-*-elf*): Likewise.
2712
2713 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
2714 config/sol2.h.
2715 (ASM_SPEC): Override config/sol2.h version for now.
2716 Removed obsolete GAS_REJECTS_MINUS_S variant.
2717 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
2718 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
2719 (TARGET_OS_CPP_BUILTINS): Likewise.
2720 Assert system=unix.
2721 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
2722 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
2723 config/sol2.h.
2724 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
2725 (ASM_CPU_SPEC): Define.
2726 (SUBTARGET_EXTRA_SPECS): Define.
2727
2728 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
2729 in config/sparc/sol2.h.
2730 (ASM_SPEC): Moved to config/sol2.h.
2731 (CPP_CPU_SPEC): Simplified.
2732 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
2733 consistency.
2734 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
2735 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
2736 STARTFILE_ARCH64_SPEC.
2737 (STARTFILE_SPEC): Moved to config/sol2.h
2738 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
2739 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
2740 (LINK_ARCH64_SPEC): Simplified.
2741 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
2742 (LINK_SPEC): Moved to config/sol2.h
2743
2744 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
2745 config/sol2.h.
2746 Use BITS_PER_WORD for size.
2747 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
2748 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
2749 (CPP_PREDEFINES): Removed OS-specific part handled by
2750 TARGET_OS_CPP_BUILTINS.
2751 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
2752 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
2753 (ASM_SPEC): Moved to config/sol2.h.
2754 (PREFERRED_DEBUGGING_TYPE): Likewise.
2755 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
2756 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
2757 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
2758 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
2759
2760 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
2761 * config/i386/sol2gas.h: Removed.
2762
2763 Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
2764
2765 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
2766
2767 2002-06-16 Aldy Hernandez <aldyh@redhat.com>
2768
2769 * gcc.c-torture/execute/simd-1.c: New.
2770
2771 * gcc.dg/simd-1.c: New.
2772
2773 * doc/extend.texi (Vector Extensions): Document that we can
2774 specify simd types not specifically supported by the hardware.
2775 Document that simd types can be used as function arguments.
2776 Document that signness does make a difference in SIMD types.
2777 Misc cleanups and revisions to the vector extensions section.
2778
2779 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
2780 constants.
2781
2782 * expr.c (vector_mode_valid_p): New.
2783
2784 * expr.h: Add vector_mode_valid_p.
2785
2786 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
2787
2788 * c-common.c (type_for_mode): Always build vector nodes regardless
2789 of VECTOR_MODE_SUPPORTED_P.
2790 (handle_mode_attribute): Error if we can't emulate a nonexisting
2791 vector mode.
2792 (handle_vector_size_attribute): Same.
2793
2794 * optabs.c (expand_binop): Open-code vector operations.
2795 (expand_unop): Open-code vector unops.
2796 (expand_vector_binop): New.
2797 (expand_vector_unop): New.
2798
2799 * c-typeck.c (build_binary_op): Allow vectors in binops.
2800 Allow vectors in conditional operatiors.
2801 (build_unary_op): Allow vectors in unary minus.
2802
2803 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
2804 TARGET_ALTIVEC.
2805
2806 2002-05-20 Richard Henderson <rth@redhat.com>
2807
2808 * c-common.c (c_common_get_alias_set): Correctly handle characters.
2809 Rearrange order of expressions; don't handle vectors here.
2810 * alias.c (get_alias_set): Let vectors match their components.
2811
2812 2002-06-19 Chris Demetriou <cgd@broadcom.com>
2813
2814 * config/mips/mips.c (mips_emit_prefetch): Use hints which
2815 match desired locality.
2816
2817 2002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
2818
2819 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
2820 (h8300_insert_attributes): New.
2821
2822 2002-06-19 Akim Demaille <akim@epita.fr>
2823
2824 * c-parse.in (initelt: identifier ':' initval): Add an empty
2825 action to fix a type clash.
2826 (aliasdecl, classdef): Add the missing closing `;'.
2827 Whitespace changes.
2828 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
2829 $$ = $1 type clashes.
2830
2831 2002-06-19 Eric Christopher <echristo@redhat.com>
2832
2833 * config/mips/mips.c (symbol_operand): New function.
2834 (mips_emit_prefetch): Ditto.
2835 * config/mips/mips-protos.h: Define.
2836 * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
2837 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
2838 (LEGITIMIZE_ADDRESS): Ditto.
2839 * config/mips/mips.md (prefetch, prefetch_si_address,
2840 prefetch_si, prefetch_di_address, prefetch_di): New patterns.
2841
2842 2002-06-19 Eric Christopher <echristo@redhat.com>
2843
2844 * config/fp-bit.h: Add unordered defines for gofast.
2845
2846 2002-06-19 Vladimir Makarov <vmakarov@redhat.com>
2847
2848 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
2849 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
2850 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
2851 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
2852 checking and without it.
2853 (decl_name, decl_mode_check_failed, regexp_name,
2854 regexp_mode_check_failed): New functions.
2855 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
2856 gen_presence_set, gen_absence_set, gen_automaton,
2857 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
2858 gen_regexp_sequence, gen_reserv, gen_insn_reserv,
2859 automaton_decl_hash, automaton_decl_eq_p): Use the macros.
2860 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
2861 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
2862 (find_insn_decl): Ditto. Set up mode of work_insn_decl.
2863 (decl_hash, decl_eq_p): Use the macros.
2864 (find_decl): Ditto. Set up mode of work_decl.
2865 (process_excls, process_presence_absence, process_decls,
2866 check_automaton_usage, process_regexp, process_regexp_decls,
2867 check_usage, loop_in_regexp, check_loops_in_regexps,
2868 process_regexp_cycles, add_advance_cycle_insn_decl,
2869 initiate_states, initiate_excl_sets,
2870 initiate_presence_absence_sets, copy_insn_regexp, transform_1,
2871 transform_2): Use the macros.
2872 (transform_3): Ditto. Check mode before making transformations of
2873 ALLOF.
2874 (regexp_transform_func, transform_insn_regexps,
2875 process_unit_to_form_the_same_automaton_unit_lists,
2876 form_the_same_automaton_unit_lists_from_regexp,
2877 form_the_same_automaton_unit_lists,
2878 process_seq_for_forming_states, process_alts_for_forming_states,
2879 create_alt_states, form_ainsn_with_same_reservs, make_automaton,
2880 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
2881 estimate_one_automaton_bound, compare_max_occ_cycle_nums,
2882 units_to_automata_heuristic_distr, create_ainsns,
2883 units_to_automata_distr, create_automata): Use the macros.
2884 (form_regexp): Ditto. Fix typo in access to fields of ALLOF.
2885 (longest_path_length, min_issue_delay_pass_states,
2886 output_dead_lock_vect, output_tables, output_insn_code_cases,
2887 output_internal_insn_latency_func, output_print_reservation_func,
2888 output_description, output_automaton_units, generate): Use the
2889 macros.
2890 (make_insn_alts_attr): Ditto. Check case when there are not
2891 alternatives in the reservation.
2892 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
2893 make_bypass_attr, form_important_insn_automata_lists,
2894 expand_automata): Use the macros.
2895
2896 2002-06-20 Tim Josling <tej@melbpc.org.au>
2897
2898 * Makefile.in: Clean up code to check for misspecified languages
2899 in enable-languages.
2900
2901 2002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
2902
2903 * cpptrad.c (_cpp_replacement_text_len): initialize len.
2904
2905 2002-06-19 Jason Merrill <jason@redhat.com>
2906
2907 * Makefile.in (unstrap, restrap): New targets.
2908 (bootstrap): Mention restrap.
2909
2910 2002-06-19 Matt Kraai <kraai@alumni.cmu.edu>
2911
2912 * except.c (ehl_free): Remove.
2913
2914 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
2915 builtin_define and builtin_define_std.
2916
2917 2002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au>
2918
2919 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
2920 (sCOND): Restrict operand class so that gcc knows how to reload them.
2921 (bitfield_set): Merge two unnamed insn's using alternatives.
2922 (call_value): Remove constraint on unused uperand.
2923 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
2924 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
2925
2926 * longlong.h (count_trailing_zeros): Escape newline and beautify.
2927
2928 2002-06-19 Mark Mitchell <mark@codesourcery.com>
2929
2930 * Makefile.in (QMTEST_DIR): Simplify definition.
2931
2932 2002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
2933
2934 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
2935 #define.
2936
2937 2002-06-19 Neil Booth <neil@daikokuya.co.uk>
2938
2939 * cpphash.h (struct cpp_reader): Make date and time strings.
2940 (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
2941 _cpp_replacement_text_len): New.
2942 * cppinit.c (cpp_create_reader): Update.
2943 (init_builtins): Register appropriate builtins for -traditional-cpp.
2944 * cppmacro.c (new_number_token): Remove.
2945 (_cpp_builtin_macro_text): New.
2946 (builtin_macro): Use it.
2947 (cpp_macro_definition): Update to handle traditional macros.
2948 * cppmain.c (cb_line_change): Don't do column positioning for
2949 traditional output.
2950 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
2951 state ls_fun_close.
2952 (skip_whitespace): Fix.
2953 (maybe_start_funlike): Don't set state.parsing_args.
2954 (scan_out_logical_line): Remove duplicate error. Use lex_state
2955 rather than state.parsing_args.
2956 (push_replacement_text): Handle builtins.
2957 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
2958
2959 2002-06-18 Hans-Peter Nilsson <hp@axis.com>
2960 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2961
2962 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
2963 attribute __always_inline__.
2964
2965 2002-06-18 Bob Wilson <bob.wilson@acm.org>
2966
2967 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
2968 when generating the call to _mcount.
2969 (NO_PROFILE_COUNTERS): Define.
2970
2971 2002-06-18 Richard Henderson <rth@redhat.com>
2972
2973 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
2974 2002-06-02 change.
2975
2976 Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
2977
2978 * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
2979 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
2980 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
2981 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
2982
2983 * sh-protos.h (sh_pr_interrupt): Declare.
2984 * sh.c (sh_pr_interrupt): New function.
2985 (print_operand, calc_live_regs, sh_expand_prologue): Use it.
2986 (sh_hard_regno_rename_ok): Likewise.
2987 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
2988
2989 2002-06-18 Vladimir Makarov <vmakarov@redhat.com>
2990
2991 * rtl.def (DEFINE_AUTOMATON): Add description of new options
2992 `time' and `v'. Fix incorrect description of option `w'.
2993
2994 * doc/md.texi: Ditto.
2995
2996 * genautomata.c (TIME_OPTION, V_OPTION): New macros.
2997 (gen_automata_option): Process the new options.
2998 (transform_2, transform_3): Initialize some variables.
2999 (initiate_automaton_gen): Use the new macros.
3000
3001 2002-06-18 Richard Sandiford <rsandifo@redhat.com>
3002
3003 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
3004 (mips_set_return_address, mips_restore_gp): Declare.
3005 * config/mips/mips.h (struct mips_frame_info): Move to mips.c
3006 (current_frame_info): Remove.
3007 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
3008 * config/mips/mips.c: Remove uses of current_frame_info.
3009 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'.
3010 (struct machine_function): Add 'frame' and 'insns_len'.
3011 (current_frame_info, zero_frame_info): Remove.
3012 (mips_restore_gp, mips_set_return_address): New.
3013 (mips_initial_elimination_offset): New.
3014 * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
3015 (eh_return define_split): Use mips_set_return_address.
3016
3017 2002-06-18 Neil Booth <neil@daikokuya.demon.co.uk>
3018
3019 * cpplib.c (dtable): Update.
3020 (end_directive): Decrement expansion prevention count.
3021 Clear state.in_expression.
3022 (prepare_directive_trad): Set state.in_expression.
3023 Increment expansion prevention count.
3024 * cpptrad.c (enum ls): New.
3025 (_cpp_overlay_buffer): Set overlaid_buffer.
3026 (_cpp_remove_overlay): Use overlaid_buffer.
3027 (_cpp_read_logcial_line_trad): Update buffer when it might
3028 have changed.
3029 (scan_out_logical_line): Handle state transitions for assertions
3030 and defined() in #if, and for funlike invocations including the
3031 directive case. Handle '<' and '>' as a quote mechanism in
3032 #include. Warn about unterminated macro invocations.
3033 * cpphash.h (struct lexer_state): New member in_expression.
3034 (struct cpp_reader): New member overlaid buffer.
3035
3036 2002-06-18 Hans-Peter Nilsson <hp@axis.com>
3037
3038 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
3039 __always_inline__.
3040
3041 2002-06-18 Alan Modra <amodra@bigpond.net.au>
3042
3043 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
3044
3045 * doloop.c (doloop_optimize): Extract pattern from insn.
3046
3047 2002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
3048
3049 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
3050
3051 2002-06-17 Jeff Law <law@redhat.com>
3052
3053 * libgcc2.c: Do not include symcat.h or machmode.h.
3054
3055 2002-06-17 Richard Henderson <rth@redhat.com>
3056
3057 PR target/6922
3058 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
3059
3060 2002-06-17 Tom Tromey <tromey@redhat.com>
3061
3062 * dwarfout.c: Include function.h.
3063
3064 2002-06-17 Andreas Schwab <schwab@suse.de>
3065
3066 * print-rtl.c (print_rtx): Print space before vector, not after.
3067 (debug_rtx): Clear sawclose before printing.
3068 (debug_rtx_list): Print newline after each list element.
3069 (debug_rtx_range): Likewise.
3070
3071 2002-06-17 Richard Henderson <rth@redhat.com>
3072
3073 * function.h (struct function) [funcdef_no]: Rename profile_label_no.
3074 (current_function_funcdef_no): Similarly.
3075 * function.c (funcdef_no): Similarly.
3076 (prepare_function_start): Set current_function_funcdef_no.
3077 (expand_function_start): Don't set current_function_profile_label_no.
3078 * dwarf2out.h (current_funcdef_number): Remove.
3079 * dwarf2out.c (current_funcdef_number): Remove. Replace with
3080 current_function_funcdef_no throughout.
3081 * dwarfout.c, vmsdbgout.c: Similarly.
3082 * except.c (sjlj_funcdef_number): Remove.
3083 (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
3084 (output_function_exception_table): Likewise.
3085 * final.c (profile_function): Use current_function_funcdef_no
3086 instead of current_function_profile_label_no.
3087
3088 2002-06-17 Vladimir Makarov <vmakarov@redhat.com>
3089
3090 * sched-ebb.c (init_ready_list): Check INSN_P first.
3091
3092 Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com>
3093
3094 * sh.md (divsi3): Update way how to find insns in a sequence.
3095
3096 * reload1.c (merge_assigned_reloads): Don't change reloads
3097 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
3098 to RELOAD_OTHER when there are conflicting input reloads.
3099
3100 2002-06-17 Richard Earnshaw (rearnsha@arm.com)
3101
3102 * function.c (epilogue_done): Correctly build a sequence of insns for
3103 a sibcall epilogue.
3104
3105 2002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
3106
3107 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
3108 #define.
3109
3110 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
3111
3112 2002-06-16 Richard Henderson <rth@redhat.com>
3113
3114 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
3115 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
3116
3117 2002-06-16 Richard Henderson <rth@redhat.com>
3118
3119 PR opt/6722
3120 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
3121
3122 2002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
3123
3124 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
3125 * config/i386/i386-aout.h, config/i386/i386elf.h,
3126 config/i386/sysv4.h: Remove CPP_PREDEFINES.
3127 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
3128 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
3129 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
3130 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
3131 CPP_PREDEFINES and part of CPP_SPEC.
3132 * config/i386/sysv4-cpp.h: New.
3133
3134 2002-06-16 Richard Henderson <rth@redhat.com>
3135
3136 PR c/7030
3137 * dwarf2out.c (modified_type_die): Don't assign the qualified die
3138 to the unqualified type.
3139
3140 Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz>
3141
3142 * i386-protos.h (x86_field_alignment): Declare.
3143 * i386.c (x86_field_alignment): Define.
3144 * i386.h (ADJUST_FIELD_ALIGNMENT): New.
3145 (BIGGEST_FIELD_ALIGNMENT): Kill.
3146
3147 2002-06-16 Richard Henderson <rth@redhat.com>
3148
3149 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
3150
3151 2002-06-16 Richard Henderson <rth@redhat.com>
3152
3153 * c-common.c (flag_ms_extensions): Move from c++ front end.
3154 * c-common.h (flag_ms_extensions): Declare.
3155 * c-decl.c (c_decode_option): Add -fms-extensions.
3156 (grokfield): Don't accept anonymous structures in ISO C mode;
3157 accept only unnamed anonymous structures in GNU C mode; accept
3158 Plan 9 extensions in MS mode.
3159 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
3160 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
3161 (extension): Clear flag_iso.
3162 * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
3163
3164 2002-06-16 Hans-Peter Nilsson <hp@axis.com>
3165
3166 PR target/7042
3167 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
3168 early if current_function_epilogue_delay_list is non-empty.
3169 * config/cris/cris.md ("return"): Add sanity check asserting that
3170 current_function_epilogue_delay_list is empty.
3171
3172 2002-06-16 Jeff Law <law@redhat.com>
3173
3174 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
3175 sharing of hard registers.
3176
3177 * toplev.c (rest_of_compilation): Remove redundant conditional.
3178
3179 * toplev.c (rest_of_compilation): Perform a simpler, less costly
3180 cleanup of the CFG when not optimizing.
3181
3182 2002-06-16 Alan Modra <amodra@bigpond.net.au>
3183
3184 * gcc.c (main): Correct startfile_prefix_spec check.
3185
3186 2002-06-12 Geoffrey Keating <geoffk@redhat.com>
3187
3188 * config.gcc: Revert rth's patch of 2002-05-18. Instead,
3189 include both darwin.o and rs6000-c.o.
3190
3191 2002-06-15 Roger Sayle <roger@eyesopen.com>
3192
3193 * expr.c (compare_from_rtx): Call simplify_relational_operation
3194 on all comparisons, not just those between integer constants,
3195 with the correct (possibly unsigned) comparison code.
3196 (do_compare_rtx_and_jump): Likewise.
3197
3198 2002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
3199
3200 * Makefile.in (tm_defines): New configuration variable.
3201 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
3202 Pass tm_defines in TM_DEFINES.
3203 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
3204 * config.gcc (tm_defines): New configuration variable.
3205 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
3206 pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
3207 * configure.in: Substitute tm_defines.
3208 * configure: Rebuilt.
3209 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
3210 * doc/install.texi: Update.
3211 * pa/pa-700.h: Delete file.
3212 * pa/pa-7100.h: Delete file.
3213
3214 2002-06-15 Roger Sayle <roger@eyesopen.com>
3215
3216 * fold-const.c (comparison_to_compcode): New function to convert
3217 an comparison TREE CODE into a bit-based representation.
3218 (compcode_to_comparison): New function to convert from this bit
3219 based representation back to a comparison TREE CODE.
3220 (fold_truthop): Simplify (x<y) && (x==y) and related composite
3221 comparisons.
3222
3223 2002-06-15 Aldy Hernandez <aldyh@redhat.com>
3224
3225 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
3226
3227 * stor-layout.c (compute_record_mode): Remove check for
3228 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
3229 MEMBER_TYPE_FORCES_BLK. Pass new mode field to
3230 MEMBER_TYPE_FORCES_BLK.
3231
3232 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
3233
3234 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
3235
3236 2002-06-14 Jeff Sturm <jsturm@one-point.com>
3237
3238 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
3239
3240 2002-06-14 Steve Ellcey <sje@cup.hp.com>
3241
3242 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
3243 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
3244 * configure, config.in: Regenerate.
3245
3246 2002-06-14 Eric Botcazou <ebotcazou@multimania.com>
3247
3248 * loop.c (check_final_value): Use v->always_executed
3249 instead of v->always_computable.
3250 * unroll.c (final_giv_value): Don't calculate the final
3251 value as a function of the biv if the giv is not computed
3252 for every loop iteration.
3253
3254 2002-06-14 Eric Botcazou <ebotcazou@multimania.com>
3255
3256 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
3257
3258 2002-06-14 Eric Botcazou <ebotcazou@multimania.com>
3259
3260 PR c/6677
3261 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
3262 the truncation down when the target type is signed.
3263 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
3264 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
3265 the conversion if the target type is a smaller type.
3266
3267 2002-06-14 Richard Henderson <rth@redhat.com>
3268
3269 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
3270 earlier. Re-factor comparisons vs extrema.
3271
3272 2002-06-14 Richard Henderson <rth@redhat.com>
3273
3274 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
3275
3276 2002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3277
3278 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
3279 * sched-deps.c (add_dependence): Likewise.
3280 (group_leader): Likewise.
3281 * sched-rgn.c (init_ready_list): Likewise.
3282 * doc/rtl.texi: Adjust accordingly.
3283
3284 2002-06-13 Jeffrey Law <law@redhat.com>
3285
3286 * gcse.c (delete_null_pointer_checks_1): Inform caller if any
3287 null pointer checks were eliminated. Update prototype.
3288 (delete_null_pointer_checks): Similarly.
3289 * rtl.h (delete_null_pointer_checks): Update prototype.
3290 * toplev.c (rest_of_compilation): Only run cleanup_cfg if
3291 delete_null_pointer_checks deletes one or more null
3292 pointer checks. Do not run cleanup_cfg before gcse, the
3293 CFG is accurate and optimized at that point..
3294
3295 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
3296 of hard registers.
3297
3298 2002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
3299
3300 * Makefile.in (libgcc.mk): Depend on specs.
3301
3302 Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
3303
3304 * sh.md (mulsi3): Update way how to find insns in a sequence.
3305
3306 Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
3307
3308 * sh.h: Define HARD_REGNO_RENAME_OK
3309 * sh.c: sh_hard_regno_rename_ok: New. If current function has
3310 interrupt_handler attribute, only registers saved on stack are OK.
3311 * sh-protos.h: Declare sh_hard_regno_rename_ok.
3312
3313 2002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
3314
3315 * config/sh/sh.md (jump): Emit jump insn.
3316 (call_pcrel): Get pattern of the result of gen_call_site.
3317 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
3318
3319 2002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
3320
3321 * cpphash.h (struct cpp_buffer): Remove saved_line_base.
3322 * cpptrad.c: Update comments.
3323 (skip_whitespace, copy_comment): Take a new parameter.
3324 (skip_escaped_newlines): Don't duplicate escaped newline test.
3325 (copy_comment): Different location for CUR, decide here how
3326 to copy / replace the comment.
3327 (skip_whitespace): Copy whitespace.
3328 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
3329 (scan_out_logical_line): Let copy comment handle keeping or
3330 replacing comments.
3331 (scan_parameters, _cpp_create_trad_definition): Update.
3332
3333 2002-06-13 Alan Lehotsky <apl@alum.mit.edu>
3334
3335 * reload.c (get_secondary_mem,find_reloads_address,
3336 find_reloads_address_1): Pass reference to MEM to find_reloads_address
3337 so that LEGITIMIZE_RELOAD_ADDRESS will be called.
3338
3339 2002-06-13 Jessica Han <jessica@cup.hp.com>
3340
3341 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
3342 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
3343 * doc/tm.texi: Document them.
3344 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
3345 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
3346 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
3347 (ASM_OUTPUT_FDESC): Likewise.
3348
3349 2002-06-13 Eric Christopher <echristo@redhat.com>
3350
3351 * diagnostic.c (output_format): Fix thinko.
3352
3353 Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
3354
3355 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
3356 (DWARF2_UNWIND_INFO): Define to 0.
3357
3358 * config/sh/sh.c (calc_live_regs): Don't use initial_value
3359 optimization for PR_MEDIA_REG.
3360
3361 2002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
3362
3363 * cpphash.h (_cpp_lex_identifier_trad): Remove.
3364 * cpplib.c (end_directive): Don't skip, always remove overlay
3365 apart from #define.
3366 (prepare_directive_trad): Handle NULL pfile->directive.
3367 (_cpp_handle_directive): Always call prepare_directive_trad
3368 if traditional.
3369 * cppmain.c (check_multiline_token): Rename account_for_newlines,
3370 generalize inputs.
3371 (scan_translation_unit_trad): Use it.
3372 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
3373 output, get escaped newline in comment close correct.
3374 (check_output_buffer, skip_whitespace): Update.
3375 (_cpp_lex_identifier_trad): Remove.
3376 (scan_out_logical_line): Handle -C and comments in directives
3377 properly.
3378
3379 Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
3380
3381 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
3382 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
3383 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
3384 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
3385 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
3386 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
3387 (SELECT_SH5_COMPACT_NOFPU): Likewise.
3388 (TARGET_SWITCHES): Use them.
3389 (TARGET_CPU_DEFAULT): Define if not already defined.
3390 (TARGET_DEFAULT): Use it.
3391 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
3392 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
3393 * config/sh/t-monolib: New file.
3394
3395 2002-06-13 Roger Sayle <roger@eyesopen.com>
3396
3397 * toplev.c (rest_of_compilation): Simplify (and correct) the
3398 logic of the first delete-null-pointer-checks pass.
3399
3400 Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
3401
3402 * i386.c (ix86_expand_movstr): Fix pasto.
3403
3404 Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
3405
3406 * reload.c (find_valid_class): Fix thinko in my previous patch.
3407
3408 2002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
3409
3410 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
3411 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
3412 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
3413 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
3414
3415 2002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
3416
3417 * tree-inline.c (expand_call_inline): Don' mess with _DECL
3418 fields.
3419
3420 2002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
3421
3422 * diagnostic.c (output_format): Recognize "%H" as a format
3423 specifier for a location_t.
3424 (text_specifies_location): New function.
3425 (diagnostic_set_info): Use it.
3426
3427 2002-06-13 Jeffrey Law <law@redhat.com>
3428
3429 * emit-rtl.c (static_regno_reg_rtx): Define.
3430 (init_emit_once): Initialize static_regno_reg_rtx.
3431 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
3432 of building new hard reg objects once per function.
3433 (gen_rtx_REG): Try to share hard regs.
3434 * regclass.c (init_fake_stack_mems): New function broken out from
3435 init_regs.
3436 * rtl.h (init_fake_stack_mems): Declare.
3437 * toplev.c (lang_independent_init): Call init_regs before
3438 init_emit_once. Call init_fake_stack_mems after init_emit_once.
3439
3440 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
3441
3442 * alias.c (argument_registers): Remove.
3443 (init_alias_once): Initialize static_reg_base_value here. Remove
3444 initialization of argument_registers.
3445 (init_alias_once_per_function): Remove.
3446 (init_alias_analysis): Copy all the entries from static_reg_base_value
3447 into new_reg_base_value all at once.
3448 * rtl.h (init_alias_once_per_function): Remove declaration.
3449 * function.c (prepare_function_start): Do not call
3450 init_alias_once_per_function.
3451
3452 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
3453 starting a sequence and emitting an INSN.
3454
3455 2002-06-13 Richard Sandiford <rsandifo@redhat.com>
3456
3457 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
3458
3459 2002-06-13 David S. Miller <davem@redhat.com>
3460
3461 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
3462
3463 2002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
3464
3465 * cpplib.c (end_directive): Handle line skipping. Only remove
3466 the rest of the line if the directive was valid.
3467 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
3468 expanding a traditional macro.
3469 * cpptrad.c (recursive_macro): New.
3470 (read_logical_line_trad): Handle skipping.
3471 (scan_out_logical_line): Continue after a successful directive.
3472 Don't expand macros whilst skipping, or if recursing.
3473 (_cpp_create_trad_definition): scan_out_logical_line now sets
3474 the output current position.
3475
3476 2002-06-12 Eric Christopher <echristo@redhat.com>
3477
3478 From Chris Demetriou <cgd@broadcom.com>
3479 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
3480 comment.
3481 (ISA_HAS_MADD_MSUB): Ditto.
3482 (ISA_HAS_NMADD_NMSUB): Ditto.
3483
3484 2002-06-12 Eric Christopher <echristo@redhat.com>
3485
3486 * config.gcc: Consolidate little endian handling and
3487 little/big endian targets.
3488 * config/mips/elfl.h: Remove file.
3489 * config/mips/elfl64.h: Ditto.
3490 * config/mips/ecoffl.h: Ditto.
3491 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
3492
3493 2002-06-12 Geoffrey Keating <geoffk@redhat.com>
3494
3495 * gengtype.h (xvasprintf): New prototype.
3496 (xasprintf): New prototype.
3497 (struct outf): New.
3498 (get_output_file): Return an outf_p.
3499 (header_file): Is now an outf_p.
3500 (base_files): Now are outf_p.
3501 (oprintf): New.
3502 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
3503 rather than stdio operations. Use xasprintf in a few places,
3504 when appropriate.
3505 (xvasprintf): New.
3506 (xasprintf): New.
3507 (struct filemap): Delete.
3508 (files): Delete.
3509 (output_files): New.
3510 (oprintf): New.
3511 (create_file): Create an outf_p. Add parameter to indicate output
3512 file name, change all callers.
3513 (open_base_files): Create gtype-desc.c here.
3514 (get_output_file_with_visibility): Rewrite.
3515 (get_output_file_name): Just look at 'name' field in struct outf.
3516 (close_output_files): Rewrite.
3517
3518 2002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
3519
3520 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
3521 (MASK_G_FLOAT): Define.
3522 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
3523 (TARGET_SWITCHES): Likewise.
3524 (TARGET_DEFAULT): Likewise.
3525
3526 2002-06-12 Daniel Jacobowitz <drow@mvista.com>
3527
3528 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
3529 * config/mips/mips.c (mips_output_filename): Don't print a
3530 ".file" directive if we are using DWARF-2.
3531 (mips_output_function_prologue): Do not emit source file
3532 name for TARGET_GAS.
3533
3534 Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
3535
3536 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
3537 decide whether emit the short opcode.
3538 * i386.h (x86_shift1): Declare.
3539 (TARGET_SHIFT1): New macro.
3540 * i386.c (x86_shift1): New global variable.
3541
3542 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
3543 unconditionally; make loop to rebuild CFG; kill unnecesary
3544 find_basic_block calls; kill compute_bb_for_insn call.
3545 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
3546 * haifa-sched.c (sched_init): Likewise.
3547 * ssa-ccp.c (ssa_const_prop): Likewise.
3548 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
3549
3550 2002-06-11 David S. Miller <davem@redhat.com>
3551
3552 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
3553 active_insn_p.
3554
3555 2002-06-11 Richard Henderson <rth@redhat.com>
3556
3557 * c-common.c (builtin_define_type_max): New.
3558 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
3559 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
3560
3561 From Joseph S. Myers:
3562 * glimits.h: Rewrite to expect the double underscore definitions
3563 from the compiler.
3564
3565 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
3566 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
3567 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
3568 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
3569 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
3570 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
3571 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
3572 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
3573
3574 2002-06-11 Richard Henderson <rth@redhat.com>
3575
3576 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
3577 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
3578 (code_for_builtns): Update.
3579 (alpha_init_builtins): Add __builtin_thread_pointer and
3580 __builtin_set_thread_pointer.
3581 (alpha_expand_builtin): Handle void builtins.
3582 * doc/extend.texi (Alpha Built-in Functions): Update.
3583
3584 2002-06-11 Hans-Peter Nilsson <hp@axis.com>
3585
3586 PR target/6997
3587 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
3588
3589 2002-06-11 Zack Weinberg <zack@codesourcery.com>
3590
3591 * config.gcc: Make the name of the extra-modes file adjustable
3592 by target stanzas.
3593 (s390x, strongarm, xscale stanzas): Use this facility.
3594 * configure.in: Update to match.
3595 * configure: Regenerate.
3596
3597 2002-06-11 Aldy Hernandez <aldyh@redhat.com>
3598
3599 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
3600 max/mins as unsigned GE compares.
3601
3602 2002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
3603
3604 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
3605 * config/vax/bsd.h: New file.
3606 * config/vax/netbsd.h: Add missing notice.
3607 (CPP_PREDEFINES): Remove.
3608 (TARGET_OS_CPP_BUILTINS): Define.
3609 (CPP_SPEC): Use NETBSD_CPP_SPEC.
3610 * config/vax/openbsd.h: Update copyright years.
3611 (CPP_PREDEFINES): Remove.
3612 (TARGET_OS_CPP_BUILTINS): Define.
3613 * config/vax/ultrix.h: Likewise.
3614 * config/vax/vaxv.h: Likewise.
3615 * config/vax/vms.h: Likewise.
3616 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
3617 (CPP_PREDEFINES, CPP_SPEC): Remove.
3618
3619 Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
3620
3621 * i386.md (addqi_1_slp, subqi_1_slp
3622 (andqi_ext0, testqi_ext0): Remove unnecesary check.
3623 (addhi*, addqi*): Simplify "dec" condition.
3624 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
3625 (and, or, xor to QImode splitters): New.
3626 (iorqi_ext*): New.
3627 (xorqi_ext_0): New.
3628 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
3629 (andqi_ext_1_rex64): New.
3630 (ashrqi*_slp): New.
3631 (ashlqi*_slp): New.
3632 (lshlqi*_slp): New.
3633 (rotrqi3*_slp): New.
3634 (rotlqi3*_slp): New.
3635
3636 2002-06-11 Geoffrey Keating <geoffk@redhat.com>
3637
3638 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
3639 softfloat.h.
3640 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
3641 (CPP_ENDIAN_LITTLE_SPEC): Delete.
3642 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
3643 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
3644 __LONG_DOUBLE_128__ setting, _CALL_* setting.
3645 (CPP_DEFAULT_SPEC): Delete.
3646 (CPP_FLOAT_DEFAULT_SPEC): Delete.
3647 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
3648 (CPP_SYSV_DEFAULT_SPEC): Delete.
3649 (CPP_ENDIAN_BIG_SPEC): Delete.
3650 (CPP_ENDIAN_LITTLE_SPEC): Delete.
3651 (CPP_ENDIAN_SPEC): Delete.
3652 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
3653 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
3654 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
3655 cpp_longdouble_default.
3656 * config/rs6000/softfloat.h: Delete.
3657 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
3658 (EXTRA_SPECS): Delete cpp_cpu.
3659 (TARGET_CPU_CPP_BUILTINS): New.
3660 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
3661 prototype.
3662 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
3663 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
3664 (CPP_DEFAULT_SPEC): Delete.
3665 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
3666 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
3667 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
3668 (CPP_DEFAULT_SPEC): Delete.
3669 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
3670 (CPLUSPLUS_CPP_SPEC): Likewise.
3671 (CPP_CPU_SPEC): Delete.
3672 (CPP_DEFAULT_SPEC): Delete.
3673 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
3674 (CPLUSPLUS_CPP_SPEC): Likewise.
3675 (CPP_CPU_SPEC): Delete.
3676 (CPP_DEFAULT_SPEC): Delete.
3677 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
3678 (CPP_DEFAULT_SPEC): Delete.
3679 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
3680 (CPP_DEFAULT_SPEC): Delete.
3681
3682 * doc/gty.texi: Small updates.
3683
3684 2002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
3685
3686 * objc/objc-act.c (warn_with_ivar): Adjust calls to
3687 diagnostic_count_error.
3688 (warn_with_method): Likewise.
3689
3690 * diagnostic.h (warnings_are_errors_message): New field of
3691 diagnostic_context.
3692 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
3693 match semantics.
3694 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
3695 (diagnostic_count_diagnostic): Make aware of other kinds of
3696 diagnostics.
3697 (diagnostic_initialize): Initialize warnings_are_errors_message field.
3698
3699 2002-06-11 Tom Tromey <tromey@redhat.com>
3700
3701 For PR java/6520:
3702 * fold-const.c (fold_convert): Don't modify existing tree's type.
3703
3704 2002-06-11 Geoffrey Keating <geoffk@redhat.com>
3705
3706 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
3707
3708 2002-06-11 Richard Henderson <rth@redhat.com>
3709
3710 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
3711
3712 2002-06-11 Richard Henderson <rth@redhat.com>
3713
3714 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
3715 DWARF2_UNWIND_INFO is false.
3716
3717 2002-06-11 Bob Wilson <bob.wilson@acm.org>
3718
3719 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
3720
3721 * config/s390/s390.c (emit_prologue): gen_store_multiple
3722 returns an insn now, not a pattern.
3723
3724 2002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3725
3726 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
3727 $(TEXI2DVI) -o.
3728
3729 Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
3730
3731 * i386.c (x86_promote_QImode): Set for Athlon
3732 (x86_fast_prefix): New global variable.
3733 (x86_arch_always_fancy_math_387): Fix formating.
3734 * i386.h (x86_fast_prefix): Declare
3735 (TARGET_FAST_PREFIX): define.
3736 * i386.md (and to strict_low_part, HI to SI
3737 promoting splitter): Use new macro.
3738
3739 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
3740
3741 2002-06-11 Zack Weinberg <zack@codesourcery.com>
3742
3743 * Makefile.in (distclean): Delete junk left in testsuite
3744 directory, too.
3745
3746 2002-06-11 Jeffrey Law <law@redhat.com>
3747
3748 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
3749 last insn created by the splitter.
3750
3751 * caller-save.c (init_caller_save): Move creation of SAVEINSN
3752 and RESTINSN into into the scope of the sequence.
3753
3754 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
3755 RETURN insns.
3756
3757 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
3758
3759 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
3760 not the pattern. So extract the pattern from the insn.
3761
3762 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
3763
3764 2002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
3765
3766 * config/s390/s390.md (movsi): Only use floating point
3767 register alternatives when operands are already fprs.
3768 (movdi_31, movdi_64): Likewise.
3769
3770 2002-06-11 David S. Miller <davem@redhat.com>
3771
3772 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
3773 Only run RTX equality checks on INSN_P rtl.
3774
3775 2002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
3776
3777 * config/s390/s390.md (reload_base, ltorg): Remove.
3778 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
3779 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
3780 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
3781 s390_asm_output_pool_prologue): Likewise.
3782 * s390.h (s390_pool_start_insn): Likewise.
3783
3784 * s390.c (s390_output_symbolic_const): Remove support for
3785 old-style pool chunks.
3786 (s390_function_epilogue): Likewise.
3787 (s390_output_constant_pool): Likewise. Also, fix incorrect
3788 alignment for 64-bit literal pools.
3789 (print_operand_address): Remove 'y' and 'Y' format flags.
3790 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
3791 old-style pool chunks.
3792 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
3793 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
3794 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
3795
3796 * s390.c (consttable_operand): New function.
3797 * s390-protos.h (consttable_operand): Declare it.
3798 * s390.h (PREDICATE_CODES): Add consttable_operand.
3799 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
3800 consttable_sf, consttable_df, pool_start_31, pool_end_31,
3801 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
3802 * s390.c (struct constant, struct constant_pool): New data types.
3803 (constant_modes, gen_consttable): New variables.
3804 (s390_start_pool, s390_end_pool, s390_add_pool,
3805 s390_dump_pool, s390_free_pool): New functions.
3806 (s390_chunkify_pool): Completely reimplement literal pool
3807 overflow handling.
3808
3809 * s390.c (s390_pool_overflow): New variable.
3810 * s390.h (s390_pool_overflow): Declare it.
3811 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
3812 jumps in literal pool overflow situations.
3813
3814 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
3815 (s390_frame_info): Account for possible use of RETURN_REGNUM
3816 by new literal pool overflow code.
3817 (s390_emit_prologue): Likewise.
3818
3819 2002-06-05 David S. Miller <davem@redhat.com>
3820
3821 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
3822 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
3823 emit_insns_before_scope, emit_insns_after,
3824 emit_insns_after_scope): Delete declaration.
3825 * ada/misc.c (insert_code_for): Use emit_insn* instead of
3826 emit_insns_foo.
3827 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
3828 (alpha_set_memflags): Fix comment.
3829 (set_frame_related_p): Use get_insns instead of gen_sequence.
3830 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
3831 emitting no insns.
3832 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
3833 gen_sequence.
3834 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
3835 * config/fr30/fr30.c (fr30_move_double): Likewise.
3836 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
3837 Likewise.
3838 * config/ia64/ia64.c (spill_restore_mem): Likewise.
3839 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
3840 no insns.
3841 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
3842 instead of gen_sequence.
3843 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
3844 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
3845 * config/sh/sh.c (sh_need_epilogue): Likewise.
3846 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
3847 attributes.
3848 (setjmp pattern and split): Use them to avoid splitter which emits
3849 no RTL.
3850 * genattrtab.c (main): Emit include of function.h
3851 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
3852 get_insns instead of gen_sequence.
3853 * config/cris/cris.c (cris_split_movdx): Likewise.
3854 * emit-rtl.c (emit_insns*): Kill.
3855 (try_split): Expect insn list instead of SEQUENCE.
3856 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
3857 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
3858 Make them abort if a SEQUENCE is given and RTL checking is
3859 enabled.
3860 (emit_*_scope): Don't forget to set scope on final insn.
3861 (gen_sequence): Move from here...
3862 * ssa.c (gen_sequence): To here as private function.
3863 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
3864 comments.
3865 (expand_builtin_return, expand_builtin_mathfn): Likewise.
3866 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
3867 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
3868 (expand_builtin_expect_jump): Use get_insns and fix comments.
3869 * calls.c (try_to_integrate): Use emit_insn_foo.
3870 (expand_call, emit_library_call_value_1): Likewise.
3871 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
3872 (emit_move_insn_1): Use get_insns instead of gen_sequence.
3873 (expand_expr): Use emit_insn_foo.
3874 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
3875 * except.c (build_post_landing_pads): Likewise.
3876 * flow.c (attempt_auto_inc): Likewise.
3877 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
3878 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
3879 * function.c (fixup_var_refs_insn): Use get_insns instead of
3880 gen_sequence.
3881 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
3882 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
3883 (fixup_stack_1, purge_addressof_1, expand_main_function,
3884 get_arg_pointer_save_area): Likewise.
3885 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
3886 expand_function_end): Use emit_insn_foo.
3887 (record_insns, keep_stack_depressed): Work with insn list instead
3888 of SEQUENCE, fix comments.
3889 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
3890 noce_try_store_flag_constants, noce_try_store_flag_inc,
3891 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
3892 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
3893 (noce_process_if_block): Use get_insns instead of gen_sequence.
3894 * optabs.c (add_equal_note): Work with insn list, fix comments.
3895 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
3896 (expand_unop, expand_complex_abs, expand_unop_insn,
3897 expand_no_conflict_block): Likewise.
3898 (gen_move_insn): Use get_insns instead of gen_sequence.
3899 (gen_cond_trap): Likewise.
3900 * integrate.c (copy_rtx_and_substitute): Likewise.
3901 (emit_initial_value_sets): Use emit_insn_foo.
3902 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
3903 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
3904 now that RTL generators give insn lists.
3905 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
3906 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
3907 instead of gen_sequence.
3908 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
3909 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
3910 instead of gen_sequence.
3911 * loop.c (move_movables, emit_prefetch_instructions,
3912 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
3913 Likewise.
3914 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
3915 (product_cheap_p): Likewise, and add commentary about RTL wastage
3916 here.
3917 * lcm.c (optimize_mode_switching): Use get_insns instead of
3918 gen_sequence.
3919 * profile.c (gen_edge_profiler): Likewise.
3920 * regmove.c (copy_src_to_dest): Likewise.
3921 * reg-stack.c (compensate_edge): Likewise and fix comment.
3922 * gcse.c (process_insert_insn): Likewise.
3923 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
3924 * jump.c (delete_prior_computation): Update comment.
3925 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
3926 of gen_sequence, update comments to match.
3927 * recog.c (peephole2_optimize): Work with insn lists instead of
3928 SEQUENCE rtl.
3929 * sched-vis.c (print_pattern): Abort on SEQUENCE.
3930 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
3931 Use get_insns instead of gen_sequence.
3932 (copy_loop_body): Likewise and don't emit dummy NOTE.
3933 * genrecog.c: Don't mention SEQUENCE rtl in comments.
3934 * combine.c (try_combine): Expect insn lists from split generator.
3935 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
3936 hand.
3937
3938 2002-06-11 Roger Sayle <roger@eyesopen.com>
3939 Andreas Jaeger <aj@suse.de>
3940
3941 * cfgbuild.c: Update copyright years.
3942
3943 2002-06-11 Andreas Schwab <schwab@suse.de>
3944
3945 * config/m68k/m68k.h (PREDICATE_CODES): Define.
3946
3947 2002-06-11 Eric Christopher <echristo@redhat.com>
3948
3949 * doc/tm.texi (Run-time Target): Add comment about flag_iso
3950 and strict ANSI.
3951 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
3952 * config/mips/ecoffl.h: Ditto.
3953 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
3954 (CPP_PREDEFINES): Ditto.
3955 * config/mips/elfl64.h: Ditto.
3956 * config/mips/elfl.h: Ditto.
3957 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
3958 out until irix header consolidation.
3959 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
3960 with SUBTARGET_OS_CPP_BUILTINS.
3961 * config/mips/iris6.h: Ditto.
3962 (CPLUSPLUS_CPP_SPEC): Remove.
3963 * config/mips/linux.h: Ditto.
3964 * config/mips/netbsd.h: Ditto.
3965 * config/mips/openbsd.h: Ditto.
3966 * config/mips/rtems.h: Ditto.
3967 * config/mips/rtems64.h: Ditto.
3968 * config/mips/sni-svr4.h: Ditto.
3969 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
3970 ISA_MIPS32, ISA_MIPS64): New defines.
3971 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
3972 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
3973 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
3974 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
3975 (TARGET_CPU_CPP_BUILTINS): Define.
3976 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
3977 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
3978 (movdicc): Remove check for ISA_MIPS32.
3979 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
3980 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
3981 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
3982 sunge_sf, sunle_df, sunle_sf): New patterns.
3983
3984 2002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
3985
3986 * Makefile.in: Update cppmain.o.
3987 * cpphash.h (struct cpp_reader): Move some members to a
3988 nested structure.
3989 (trad_line): Rename saved_line.
3990 (_cpp_read_logical_line_trad): Update.
3991 (_cpp_remove_overlay): New.
3992 * cppinit.c (cpp_create_reader): No need to set saved_line.
3993 (cpp_destroy): Update.
3994 (cpp_read_main_file): Only overlay if compiling.
3995 * cpplex.c (continue_after_nul): Return false if in directive.
3996 * cpplib.c (EXPAND): New.
3997 (directive_table, SEEN_EOL): Update.
3998 (end_directive): Remove overlay if traditional; don't skip
3999 line in traditional #define.
4000 (prepare_directive_trad): New.
4001 (_cpp_handle_directive, run_directive): Update for traditional
4002 directives.
4003 (lex_macro_node): Simplify, don't use lex_identifier_trad.
4004 * cpplib.h (struct options): Add preprocess_only.
4005 * cppmain.c: Don't include intl.h.
4006 (cpp_preprocess_file): Set options->preprocess_only.
4007 (scan_translation_unit_trad): Fix, and print line numbers.
4008 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
4009 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
4010 save_replacement_text, _cpp_create_trad_definition): Update for
4011 variable renaming.
4012 (_cpp_overlay_buffer): Save line number.
4013 (_cpp_remove_overlay): Rename from restore_buff, restore line.
4014 (_cpp_read_logical_line_trad): Don't handle overlays here.
4015 (scan_out_logical_line): Process directives.
4016
4017 2002-06-11 Danny Smith <dannysmith@users.sourforge.net>
4018
4019 * gthr-win32.h: Wrap functions in extern "C".
4020 (__gthread_key_t): Typedef as unsigned long,
4021 not win32 DWORD.
4022 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
4023 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
4024 (__gthr_win32_once, __gthr_win32_key_create,
4025 __gthr_win32_key_delete, __gthr_win32_getspecific,
4026 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
4027 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
4028 __gthr_win32_mutex_unlock): Declare.
4029 (__gthread_once,__gthread_key_create,
4030 __gthread_key_delete, __gthread_getspecific,
4031 __gthread_setspecific, __gthread_mutex_init_function,
4032 __gthread_mutex_lock,__gthread_mutex_trylock,
4033 __gthread_mutex_unlock): Call corresponding
4034 __gthr_win32_* extern implementations if #defined
4035 __GTHREAD_HIDE_WIN32API.
4036 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
4037 $(srcdir)/config/i386/gthr-win32.c
4038 * config/i386/gthr-win32.c: New implementation file.
4039 (__gthr_win32_once, __gthr_win32_key_create,
4040 __gthr_win32_key_delete, __gthr_win32_getspecific,
4041 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
4042 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
4043 __gthr_win32_mutex_unlock): New functions, based on
4044 static inlines in gthr-win32.h.
4045
4046 2002-06-10 Bob Wilson <bob.wilson@acm.org>
4047
4048 * config/xtensa/xtensa.c (override_options): Don't warn about
4049 using -fpic or -fPIC when PIC is enabled by default.
4050
4051 2002-06-10 Roger Sayle <roger@eyesopen.com>
4052
4053 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
4054
4055 2002-06-10 Zack Weinberg <zack@codesourcery.com>
4056
4057 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
4058 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
4059 exists, substitute its pathname as @extra_modes_file@, define
4060 EXTRA_MODES_FILE to be an appropriate string to #include it
4061 with, and define EXTRA_CC_MODES to 1.
4062
4063 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
4064 it's defined. Get rid of redundancy in calling sequence for
4065 CC; don't use it to define CCmode, to avoid a warning.
4066 * libgcc2.c: Include symcat.h for the sake of machmode.def.
4067
4068 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
4069 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
4070 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
4071 New files.
4072 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
4073 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
4074
4075 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
4076 defining extra CC modes.
4077
4078 2002-06-10 Roger Sayle <roger@eyesopen.com>
4079 Andreas Jaeger <aj@suse.de>
4080
4081 * cfgrtl.c (create_basic_block_structure): Remove index argument
4082 and use last_basic_block++ instead. (create_basic_block): Update.
4083 * cfgbuild.c (find_basic_blocks_1): Likewise.
4084
4085 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
4086 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
4087 * sched-ebb.c (schedule_ebbs): Likewise.
4088 * sched-rgn.c (schedule_insns): Likewise.
4089 * ssa-ccp.c (ssa_const_prop): Likewise.
4090 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
4091 * toplev.c (rest_of_compilation): Likewise.
4092 * config/ia64/ia64.c (ia64_reorg): Likewise.
4093
4094 2002-06-10 Roger Sayle <roger@eyesopen.com>
4095
4096 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
4097 of matching registers.
4098
4099 2002-06-10 Roger Sayle <roger@eyesopen.com>
4100
4101 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
4102 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
4103
4104 2002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
4105
4106 * config/mmix/mmix.h: Improve comments.
4107 (CPP_SPEC, CPP_PREDEFINES): Don't define.
4108 (TARGET_CPU_CPP_BUILTINS): Define.
4109 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
4110 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
4111 unused predicate.
4112 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
4113 compiler warning.
4114 (mmix_constant_address_p): Remove another
4115 redundant test before case.
4116 (mmix_canonicalize_comparison): Remove unused function.
4117 (mmix_print_operand_address): Don't test and adjust for operand in
4118 non-canonical format.
4119 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
4120 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
4121
4122 2002-06-10 Zack Weinberg <zack@codesourcery.com>
4123
4124 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
4125 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
4126 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
4127 (gen_compare): Use CCmode unconditionally.
4128
4129 2002-06-10 Jakub Jelinek <jakub@redhat.com>
4130
4131 PR optimization/6759
4132 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
4133 the REQ_EQUAL note.
4134
4135 2002-06-10 Jakub Jelinek <jakub@redhat.com>
4136
4137 PR c/6660
4138 * c-decl.c (grokfield): Allow user defined types if they declare
4139 structs or unions for unnamed fields.
4140
4141 2002-06-10 Jakub Jelinek <jakub@redhat.com>
4142
4143 PR c/6809
4144 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
4145
4146 2002-06-10 Jakub Jelinek <jakub@redhat.com>
4147
4148 PR optimization/6842
4149 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
4150 operand subreg cannot be simplified.
4151
4152 2002-06-10 Jakub Jelinek <jakub@redhat.com>
4153
4154 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
4155 (compare_constant): Likewise.
4156 (output_addressed_constants): Likewise.
4157
4158 2002-06-10 Jakub Jelinek <jakub@redhat.com>
4159
4160 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
4161 merge bb with itself.
4162
4163 2002-06-10 Richard Henderson <rth@redhat.com>
4164
4165 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
4166 (builtin_zapnot): Likewise.
4167
4168 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
4169 reservation.
4170
4171 2002-06-10 Eric Christopher <echristo@redhat.com>
4172
4173 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
4174 prototype and function.
4175 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
4176 (call_insn_operand): Remove half pic references.
4177 (legitimate_address_p): Ditto.
4178 * config/i386/i386.h: Remove half pic defines.
4179
4180 2002-06-10 Eric Christopher <echristo@redhat.com>
4181
4182 * doc/extend.texi (Return Address): Add note explaining the side-
4183 effects of inlining on __builtin_return_address.
4184
4185 2002-06-10 Tom Tromey <tromey@redhat.com>
4186
4187 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
4188 (c-common.o): Depend on langhooks.h.
4189
4190 2002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
4191
4192 * cpphash.h (_cpp_read_logical_line_trad,
4193 _cpp_expansions_different_trad): Update prototypes.
4194 * cpplex.c (continue_after_nul): New.
4195 * cppmain.c: Include cpphash.h.
4196 (scan_translation_unit_trad): New.
4197 (cpp_preprocess_file): Call it.
4198 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
4199 overlay.
4200 (_cpp_expansions_different_trad): Update prototype.
4201
4202 Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
4203
4204 Fix cfi generation for SH[1-4]:
4205
4206 * sh.c (frame_insn): New function.
4207 (output_stack_adjust): Add parameter emit_fn. All callers changed.
4208 (push): Now returns rtx. Use frame_insn.
4209 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
4210 of a DF register.
4211 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
4212
4213 2002-06-10 Zack Weinberg <zack@codesourcery.com>
4214
4215 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
4216 and gtype-desc.c.
4217 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
4218 (distclean): ... not here. But do delete all testsuite/*.log,
4219 testsuite/*.sum files here. Delete mkheaders. Delete
4220 po/*.gmo and the testsuite directory in a split tree build.
4221
4222 2002-06-10 Jeffrey Law <law@redhat.com>
4223
4224 * alias.c (static_reg_base_value): New to hold RTL for
4225 items allocated once per function for the aliasing code.
4226 (init_alias_once_per_function): Initialize static_reg_base_value.
4227 (init_alias_analysis): Avoid throw-away allocations of RTL by
4228 using pre-computed values in static_reg_base_value.
4229 * function.c (prepare_function_start): Call
4230 init_alias_once_per_function appropriately.
4231 * rtl.h (init_alias_once_per_function): Declare.
4232 * caller-save (init_caller_save): Restructure slightly to
4233 avoid lots of silly RTL generation.
4234 * expr.c (init_expr_once): Likewise.
4235 * reload1.c (reload_cse_regs_1): Allocate throw-away register
4236 RTL object here. Pass it into children.
4237 (reload_cse_simplify_operands): Use passed-in register RTL
4238 object.
4239 (reload_cse_simplify): Pass through throw-away register
4240 RTL object.
4241
4242 2002-06-10 Daniel Berlin <dberlin@dberlin.org>
4243
4244 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
4245
4246 2002-06-10 Richard Sandiford <rsandifo@redhat.com>
4247
4248 * gcc.c (process_command): Avoid assignment to read-only location.
4249 Fix sizeof calculation.
4250
4251 2002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
4252
4253 * cpphash.h (struct cpp_macro): Put comments on their own lines.
4254 (_cpp_expansions_different_trad): New.
4255 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
4256 * cpptrad.c (canonicalize_text): New.
4257 (scan_out_logical_line): Handle no arguments correctly.
4258 (save_replacement_text): Commit memory when finished.
4259 (_cpp_expansions_different_trad): New.
4260
4261 2002-06-10 Tim Josling <tej@melbpc.org.au>
4262
4263 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
4264 TREELANG and COBOL.
4265 (lang_names): Add treelang and cobol.
4266 (get_file_basename): Add code to support treelang and cobol as
4267 4th and 5th users of c-common.c.
4268
4269 2002-06-09 Geoffrey Keating <geoffk@redhat.com>
4270
4271 * Makefile.in (install-driver): Install driver as
4272 $(target_alias)-gcc-$(version).
4273 * gcc.c (spec_version): Make const.
4274 (process_command): Handle -V and -b by using exec.
4275 * doc/invoke.texi (Target Options): Restore -V option,
4276 update docs for -b option.
4277
4278 2002-06-10 Tim Josling <tej@melbpc.org.au>
4279
4280 * configure.in (remaining_languages_check):
4281 Added check that all languages specified were found.
4282 Exit if not found. Previous behaviour was silent failure.
4283 * configure: Regenerated.
4284
4285 2002-06-10 Tim Josling <tej@melbpc.org.au>
4286
4287 First steps to making treelang documentation compliant, based on
4288 instructions in sourcebuild.texi. Also add to gcc.c list of
4289 default languages.
4290
4291 * doc/contrib.texi: Add self as contributor of treelang.
4292
4293 * doc/frontends.texi: Add mention of treelang.
4294
4295 * doc/invoke.texi (Overall Options): Add mention of treelang.
4296
4297 * doc/standards.texi: Add mention of treelang.
4298
4299 2002-06-09 Hans-Peter Nilsson <hp@axis.com>
4300
4301 * config/cris/cris.c: Include ggc.h
4302
4303 2002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
4304
4305 * cpphash.h (_cpp_push_text_context): Update.
4306 (_cpp_arguments_ok): New.
4307 * cppmacro.c (_cpp_arguments_ok): New, split out from...
4308 (collect_args): ...here.
4309 (_cpp_push_text_context): Change inputs.
4310 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
4311 replace_args_and_push): New.
4312 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
4313 Don't use IS macros directly.
4314 (scan_out_logical_line): Handle function-like macro argument
4315 collection.
4316 (push_replacement_text): Update.
4317 (replacement_length): Remove.
4318 (_cpp_create_trad_definition): Don't skip whitespace before
4319 checking for '('.
4320
4321 2002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
4322
4323 * config/avr/avr.c (avr_mcu_types): Update for new devices.
4324 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
4325 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
4326 * config/avr/avr.md ("type" and "length" attributes): New type
4327 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
4328 output a single "call" or "rcall" insn depending on device size.
4329 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
4330
4331 2002-06-09 David Edelsohn <edelsohn@gnu.org>
4332
4333 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
4334 synonym for 630. Add power4. Remove embedded processors. Use -m604
4335 assembler option.
4336 (CPP_CPU_SPEC): Add power3 and power4.
4337 (PROCESSOR_DEFAULT): Change to 604e.
4338 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
4339 (CPP_CPU_SPEC): Similar additions.
4340 (enum process_type): Add POWER4.
4341 (RTX_COSTS): Add POWER4.
4342 (CPP_CPU_SPEC): Similar additions.
4343 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
4344 (PROCESSOR_DEFAULT64): Define.
4345 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
4346 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
4347 branch adjustment.
4348 (rs6000_issue_rate): Add Power4.
4349 * config/rs6000/rs6000.md (cpu attr): Add power4.
4350 (iu compare): Remove 604, 604e, 620, 630.
4351 Add basic Power4 scheduling information.
4352 (mfcr/mtcrf): Change type attribute to cr_logical.
4353
4354 2002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4355
4356 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
4357 ATTRIBUTE_PRINTF_2.
4358 * gengtype-lex.l: Fix format specifier warning.
4359
4360 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
4361 not isspace.
4362 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
4363 lieu of isspace/IDchar.
4364 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
4365 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
4366 ISSPACE.
4367
4368 2002-06-08 Zack Weinberg <zack@codesourcery.com>
4369
4370 * Makefile.in (LIBCPP_OBJS): Take out version.o.
4371 * cpphash.h (cpp_reader): Take out print_version member.
4372 * cppinit.c: (cpp_handle_option): Don't do anything with
4373 -version. Just set help_only for --version, --target-help.
4374 Just set verbose option for -v.
4375 (cpp_post_options): Don't print a version string.
4376
4377 2002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
4378
4379 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
4380 (avr_section_type_flags): New, handle .noinit* sections.
4381
4382 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4383
4384 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
4385 and include netbsd_entry_point.
4386 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
4387 (NETBSD_ENTRY_POINT): Define.
4388
4389 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4390
4391 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
4392 if not already defined.
4393 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
4394
4395 2002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
4396
4397 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
4398 in a noreturn function.
4399 (avr_output_function_prologue, avr_output_function_epilogue):
4400 Correct function size calculation. Do not crash on empty function.
4401 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
4402
4403 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4404
4405 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
4406 netbsd_link_spec and netbsd_entry_point.
4407 (LINK_SPEC): Use %(netbsd_link_spec).
4408 (NETBSD_ENTRY_POINT): Define.
4409
4410 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4411
4412 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
4413 linker emulation.
4414 (LINK_ARCH64_SPEC): Likewise.
4415 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
4416 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
4417
4418 2002-06-08 Marc Espie <espie@openbsd.org>
4419
4420 * lists.c (free_list): Fix typo in comment.
4421
4422 2002-06-08 Andreas Jaeger <aj@suse.de>
4423
4424 * lcm.c (optimize_mode_switching): Add unused attribute for
4425 variable.
4426
4427 * sched-deps.c (sched_analyze): Remove unused variable.
4428
4429 2002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
4430
4431 * diagnostic.def: Don't capitalize diagnostict descriptors.
4432
4433 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4434
4435 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
4436 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
4437 (NETBSD_ENTRY_POINT): Define.
4438
4439 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4440
4441 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
4442 NETBSD_LINK_SPEC_ELF.
4443 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
4444 (NETBSD_ENTRY_POINT): Define.
4445 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
4446 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
4447 netbsd_entry_point.
4448 (NETBSD_ENTRY_POINT): Define.
4449
4450 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4451
4452 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
4453 netbsd_link_spec and netbsd_entry_point.
4454 (LINK_SPEC): Use %(netbsd_link_spec).
4455 (NETBSD_ENTRY_POINT): Define.
4456
4457 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4458
4459 * config/netbsd-elf.h (LINK_SPEC): Rename to...
4460 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
4461 to specify program entry point.
4462
4463 2002-06-07 Jeff Law <law@redhat.com
4464
4465 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
4466 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
4467 than creating a new register.
4468 (distribute_notes): Likewise.
4469 * df.c (df_reg_use_gen): Likewise.
4470 (df_reg_clobber_gen): Likewise.
4471 (df_ref_record): Likewise.
4472 * expr.c (use_regs): Likewise.
4473 * flow.c (propagate_one_insn): Likewise.
4474 (mark_set_1): Likewise.
4475 (mark_used_reg): Likewise.
4476 * reload.c (emit_reload_insns): Likewise.
4477
4478 2002-06-07 Roger Sayle <roger@eyesopen.com>
4479
4480 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
4481 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
4482 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
4483 comparison code comp can be reversed.
4484
4485 2002-06-07 Roger Sayle <roger@eyesopen.com>
4486
4487 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
4488 constants last in comparisons. Optimize (x+1.0)>0.0 into the
4489 equivalent x > -1.0 when -ffast-math.
4490
4491 2002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
4492
4493 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
4494 * config/mips/t-netbsd: New file.
4495
4496 2002-06-07 Zack Weinberg <zack@codesourcery.com>
4497
4498 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
4499 options their own entries.
4500 (parse_option): Clarify comment.
4501 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
4502 special case. Replace if/strcmp chain for -W options with
4503 use of new OPT_* entries for them.
4504 (cpp_handle_options): Update to match.
4505 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
4506 * c-decl.c: Update call to cpp_handle_option.
4507
4508 2002-06-07 Akim Demaille <akim@epita.fr>
4509
4510 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
4511 Whitespace changes.
4512
4513 2002-06-07 Jeffrey Law <law@redhat.com>
4514
4515 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
4516 on empty lists.
4517
4518 2002-06-07 H.J. Lu (hjl@gnu.org)
4519
4520 * configure.in: Add --enable-__cxa_atexit.
4521 * configure: Regenerated.
4522 * config.in: Likewise.
4523
4524 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
4525 not defined.
4526
4527 2002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
4528
4529 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
4530
4531 2002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
4532
4533 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
4534
4535 2002-06-07 Jason Merrill <jason@redhat.com>
4536
4537 * cppexp.c (num_equality_op): Use a temporary variable to work
4538 around gcc 3.0.4 bug.
4539
4540 2002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
4541
4542 * diagnostic.c (diagnostic_build_prefix): Tidy.
4543
4544 2002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
4545
4546 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
4547 scan_parameters, save_replacement_text, replacement_length): New.
4548 (scan_out_logical_line): Take a macro and save parameters if
4549 non-NULL.
4550 (_cpp_logical_line_trad): Update.
4551 (_cpp_create_trad_definition): Update to handle function-like
4552 macros.
4553 * cpplex.c (new_buff): Update.
4554 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
4555 * cpphash.h: ...here.
4556 (CPP_ALIGN2, _cpp_save_parameter): New.
4557 * cppmacro.c (save_parameter): Rename, export.
4558 (parse_params): Update.
4559
4560 2002-06-07 Andreas Jaeger <aj@suse.de>
4561
4562 * config/mmix/mmix.c: Remove extra broken prototype for
4563 mmix_init_machine_status.
4564
4565 2002-06-06 Geoffrey Keating <geoffk@redhat.com>
4566
4567 * gengtype.c: Add comments before all the routines.
4568
4569 2002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
4570
4571 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
4572 from and add t-sh64 to ${tmake_file}.
4573 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
4574 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
4575 * config/sh/t-netbsd-sh5-32: Remove.
4576 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
4577 MULTILIB_ENDIAN.
4578 (MULTILIB_DIRNAMES): Define.
4579
4580 Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
4581
4582 * i386.md (and promoting splitters): Disable QI to SImode promoting
4583 when doing so changes immediate to be 32bit.
4584
4585 * rtl.h (emit_*_scope): Declare.
4586 * emit-rtl.c (emit_*_scope): New global functions.
4587 (try_split): Copy scope.
4588 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
4589 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
4590 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
4591 noce_process_if_block, find_cond_trap): Copy scopes.
4592 * recog.c (peephole2_optimize): likewise.
4593
4594 2002-06-06 Jeffrey Law <law@redhat.com>
4595
4596 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
4597
4598 Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
4599
4600 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
4601
4602 2002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4603
4604 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
4605 ($(docdir)/gccinstall.info): New target.
4606 (info): Depend on it.
4607 (gccinstall.dvi): New target.
4608 (dvi): Depend on it.
4609 * doc/.cvsignore: Ignore new info files.
4610 * doc/install.texi (@setfilename): Reflect new info filename.
4611
4612 Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
4613
4614 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
4615 on an UNSPEC.
4616
4617 Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
4618
4619 PR objc/6834
4620 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
4621 c_common_get_alias_set.
4622 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
4623
4624 2002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
4625
4626 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
4627 functions.
4628 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
4629 * avr/avr.c (avr_output_function_epilogue): Use above to determine
4630 function size.
4631 * pa/pa.c (pa_output_function_prologue): Likewise.
4632
4633 2002-06-05 David S. Miller <davem@redhat.com>
4634
4635 * integrate.c (subst_constants): Handle 'B' RTL format.
4636
4637 2002-06-05 Eric Christopher <echristo@redhat.com>
4638
4639 * varasm.c (make_decl_rtl): Fix comment for removed
4640 halfpic.c.
4641
4642 2002-06-05 Eric Christopher <echristo@redhat.com>
4643
4644 * Makefile.in: Remove missed halfpic bits.
4645
4646 2002-06-05 Eric Christopher <echristo@redhat.com>
4647
4648 * toplev.c: Remove half-pic.
4649 * config/mips/mips.c: Ditto.
4650 * config/mips/mips.h: Ditto. Remove unused defines.
4651 * config/mips/openbsd.h: Update comment to reflect above.
4652 * config/mips/mips.md: Remove half-pic constraints.
4653 * halfpic.h: Delete.
4654 * halfpic.c: Ditto.
4655
4656 2002-06-05 Jeffrey Law <law@redhat.com>
4657
4658 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
4659 rejects (mem (lo_sum (reg) (unspec))), but will allow
4660 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
4661
4662 2002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
4663
4664 * cpphash.h (_cpp_create_definition): Update prototype.
4665 (_cpp_push_text_context, _cpp_create_trad_definition): New.
4666 ( cpp_lex_identifier_trad): New.
4667 (_cpp_set_trad_context): New.
4668 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
4669 * cpplib.c (SEEN_EOL): Update.
4670 (lex_macro_node): Update for -traditional.
4671 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
4672 * cppmacro.c (_cpp_create_definition): Split into
4673 create_iso_definition() and _cpp_create_trad_definition().
4674 (warn_of_redefinition): Update prototype; handle traditional
4675 macros.
4676 (_cpp_push_text_context): New.
4677 * cpptrad.c (skip_whitespace, push_replacement_text): New.
4678 (lex_identifier): Call ht_lookup with correct start.
4679 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
4680 _cpp_set_trad_context): New.
4681 (scan_out_logical_line): Update to handle changing contexts.
4682
4683 Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
4684
4685 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
4686 (shl*-*-elf*): Add.
4687 * config/sh/t-be (MULTILIB_ENDIAN): Set.
4688 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
4689 * t-sh (MULTILIB_ENDIAN): Set.
4690 (MULTILIB_OPTIONS): Use it.
4691 * t-sh64 (MULTILIB_OPTIONS): Likewise.
4692 (MULTILIB_DIRNAMES): Likewise.
4693
4694 2002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
4695
4696 * toplev.h (report_error_function): Remove.
4697
4698 * diagnostic.h (location_t): New datatype.
4699 (text_info): Likewise.
4700 (diagnostic_info): Likewise.
4701 (output_prefix): New macro.
4702 (diagnostic_last_function_changed): Likewise.
4703 (diagnostic_set_last_function): Likewise.
4704 (diagnostic_last_module_changed): Likewise.
4705 (diagnostic_set_last_module): Likewise.
4706 (report_diagnostic): Now macro.
4707 (diagnostic_set_info): Declare.
4708
4709 * diagnostic.c (report_problematic_module): Rename to
4710 diagnostic_repor_current_module.
4711 (set_diagnostic_context): Remove.
4712 (count_error): Rename to diagnostic_error_count.
4713 (error_function_changed): Remove.
4714 (record_last_error_function): Likewise.
4715 (error_module_changed): Likewise.
4716 (record_last_error_module): Likewise.
4717 (context_as_prefix): Rename to diagnostic_build_prefix.
4718 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
4719 (diagnostic_set_info): New function.
4720
4721 * objc/objc-act.c: #include diagnostic.h
4722 (error_with_ivar): Adjust call to count_error.
4723 (warn_with_method): Likewise.
4724 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
4725
4726 2002-06-05 Bob Wilson <bob.wilson@acm.org>
4727
4728 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
4729 lang_hooks.types.make_type instead of make_node; set up
4730 __va_list_tag type decl.
4731 (xtensa_builtin_saveregs): Remove broken use of
4732 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
4733 for saved registers; add varargs alias set.
4734
4735 2002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
4736
4737 config:
4738 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
4739 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
4740 CPP_PREDEFINES and part of CPP_SPEC.
4741 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
4742 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
4743
4744 Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
4745
4746 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
4747
4748 2002-06-05 Alan Modra <amodra@bigpond.net.au>
4749
4750 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
4751
4752 2002-06-04 Zack Weinberg <zack@codesourcery.com>
4753
4754 * gengtype-yacc.y: Make sure all rules end with a semicolon.
4755
4756 2002-06-04 Bob Wilson <bob.wilson@acm.org>
4757
4758 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
4759 typo in function prototype and include "ggc.h" header.
4760
4761 2002-06-04 Richard Henderson <rth@redhat.com>
4762
4763 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
4764 (print_operand) ['U']: Likewise.
4765 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
4766 (alpha_expand_unaligned_store_words): Likewise.
4767 (alpha_expand_builtin_vector_binop): Fix typo.
4768 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
4769 umulh, and cix insns.
4770 (one_arg_builtins): Add cix builtins.
4771 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
4772 (alpha_expand_builtin): Fix typo in arity.
4773 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
4774 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
4775 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
4776 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
4777 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
4778 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
4779 builtin_ctlz, builtin_ctpop): New.
4780 * doc/extend.texi (Alpha Built-in Functions): Update.
4781
4782 2002-06-04 Geoffrey Keating <geoffk@redhat.com>
4783
4784 * gengtype.c (write_gc_root): Don't unnecessarily prevent
4785 global variable-length arrays being roots.
4786
4787 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
4788 * configure.in (config_gtfiles): New variable.
4789 (all_gtfiles): Initialise from config_gtfiles.
4790 * configure: Regenerate.
4791
4792 2002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
4793
4794 config/i386:
4795 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
4796 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
4797 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
4798 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
4799 win32.h (CPP_SPEC): Remove cpp_cpu.
4800 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
4801 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
4802
4803 2002-06-04 Janis Johnson <janis187@us.ibm.com>
4804
4805 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
4806
4807 2002-06-04 Jeff Law <law@redhat.com.
4808 David Edelsohn <edelsohn@gnu.org>
4809 Michael Matz <matz@kde.org>
4810
4811 * sched-int.h (struct deps): New field libcall_block_tail_insn.
4812 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
4813 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
4814 is set, then mark the current insn as being part of a libcall
4815 scheduling group.
4816 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
4817
4818 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
4819 insns against the issue rate.
4820
4821 Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
4822
4823 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
4824 * final.c (final_scan_insn): Likewise.
4825 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
4826 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
4827 * haifa-sched.c (unlink_other_notes): Likeewise.
4828 (reemit_notes): Likewise.
4829 * print-rtl.c (print_rtx): Likewise.
4830 * sched-deps (sched-analyze): Likewise.
4831 * rtl.c (note_insn_name): Likewise.
4832 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
4833 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
4834 (RANGE_*): Kill.
4835
4836 2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
4837
4838 * varasm.c (mark_constants): Handle RTX format 'B'.
4839
4840 2002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
4841
4842 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
4843 (struct cpp_context): Add traditional fields.
4844 * cppmacro.c (paste_all_tokens, push_ptoken_context,
4845 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
4846 * cpptrad.c (skip_comment, lex_identifier,
4847 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
4848
4849 2002-06-04 Kazu Hirata <kazu@cs.umass.edu>
4850
4851 * gbl-ctors.h: Fix formatting.
4852 * gcc.c: Likewise.
4853 * gccspec.c: Likewise.
4854 * gcov.c: Likewise.
4855 * gcov-io.h: Likewise.
4856 * gcse.c: Likewise.
4857 * ggc-common.c: Likewise.
4858 * ggc.h: Likewise.
4859 * ggc-page.c: Likewise.
4860 * ggc-simple.c: Likewise.
4861 * global.c: Likewise.
4862 * graph.h: Likewise.
4863 * gthr-dce.h: Likewise.
4864 * gthr.h: Likewise.
4865 * gthr-posix.h: Likewise.
4866 * gthr-rtems.h: Likewise.
4867 * gthr-solaris.h: Likewise.
4868 * gthr-win32.h: Likewise.
4869
4870 2002-06-03 Geoffrey Keating <geoffk@redhat.com>
4871
4872 Merge from pch-branch:
4873
4874 * gengtype.h (UNION_OR_STRUCT_P): New macro.
4875 * gengtype.c (write_gc_structure_fields): Use it.
4876 (write_gc_root): Use it here too.
4877
4878 * gengtype.c (write_gc_structure_fields): Assume that lengths
4879 of typenames fit into an 'int'; don't pass a size_t to "%d" in
4880 printf.
4881 (write_gc_marker_routine_for_structure): Likewise.
4882 (write_gc_types): Likewise.
4883 (write_gc_root): Likewise.
4884
4885 * varray.h (VARRAY_CLEAR): New.
4886 (varray_clear): Prototype.
4887 * varray.c (varray_clear): New.
4888 * cselib.c (reg_values_old): New.
4889 (used_regs_old): New.
4890 (cselib_init): Use cached varrays if available to avoid
4891 generating large amounts of garbage.
4892 (cselib_finish): Don't throw away old varrays.
4893
4894 * final.c (insn_addresses_): Move out of ifdef.
4895
4896 * varray.c (uses_ggc): Make more varray kinds GCable.
4897 * varray.h (union varray_data_tag): Let gengtype see
4898 fields 'generic' and 'te'.
4899 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
4900 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
4901 (reg_to_stack): Don't call VARRAY_FREE.
4902 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
4903 (insn_addresses_): Use gengtype to mark.
4904 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
4905 pointers; handle generic pointers in unused union fields.
4906 (get_output_file_with_visibility): Include cselib.h,
4907 insn-addr.h in gtype-desc.c.
4908 * function.c (prologue): Use gengtype to mark.
4909 (epilogue): Likewise.
4910 (sibcall_epilogue): Likewise.
4911 * dependence.c: Include gt-dependence.h, ggc.h.
4912 (struct def_use): Use gengtype to mark.
4913 (struct loop): Likewise.
4914 (struct induction): Likewise.
4915 (struct dependence): Likewise.
4916 (def_use_chain): Likewise.
4917 (dep_chain): Likewise.
4918 (loop_chain): Likewise.
4919 (induction_chain): Likewise.
4920 (init_dependence_analysis): Don't free anything, just clear pointers.
4921 (build_def_use): Use GGC to allocate def_use.
4922 (add_loop): Use GGC to allocate loop.
4923 (find_induction_variable): Use GGC to allocate induction.
4924 (check_node_dependence): Use GGC to allocate induction, dependence.
4925 (dump_node_dependence): Don't free varrays.
4926 (end_dependence_analysis): Likewise.
4927 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
4928 (struct elt_loc_list): Likewise.
4929 (struct elt_list): Likewise.
4930 * cselib.c: Don't include obstack.h.
4931 (hash_table): Use gengtype to mark.
4932 (reg_values): Use gengtype to mark.
4933 (used_regs): Use gengtype to mark.
4934 (cselib_obstack): Delete.
4935 (cselib_startobj): Delete.
4936 (empty_vals): Mark as deletable.
4937 (empty_elt_lists): Mark as deletable.
4938 (empty_elt_loc_lists): Mark as deletable.
4939 (new_elt_list): Use GGC to allocate struct elt_list.
4940 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
4941 (clear_table): Don't delete obstack; don't unnecessarily clear
4942 deletable variables.
4943 (new_cselib_val): Use GGC to allocate struct cselib_val.
4944 (cselib_init): Don't set up obstacks. Use GGC to allocate
4945 hash table.
4946 (cselib_finish): Just clear variables, don't free anything.
4947 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
4948 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
4949 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
4950 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
4951 (gt-reg-stack.h): New rule.
4952 (gt-dependence.h): New rule.
4953 (gtype-desc.o): Add cselib.h, insn-addr.h.
4954
4955 * varray.c: Use only necessary headers.
4956 (element_size): New.
4957 (uses_ggc): New.
4958 (varray_init): Take type, not size. Use GGC if appropriate.
4959 (varray_grow): Update for change to struct varray_head_tag.
4960 Use GGC if appropriate.
4961 * varray.h (struct const_equiv_data): Use gengtype.
4962 (enum varray_data_enum): New.
4963 (union varray_data_tag): Use gengtype.
4964 (struct varray_head_tag): Use gengtype. Replace size field with
4965 enum varray_data_enum.
4966 (varray_init): Update prototype.
4967 (VARRAY_SCHED_INIT): Delete.
4968 (VARRAY_*_INIT): Update for change to varray_init.
4969 (VARRAY_SCHED): Delete.
4970 (VARRAY_PUSH_SCHED): Delete.
4971 (VARRAY_TOP_SCHED): Delete.
4972 * tree.h: Update for change to length specifier.
4973 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
4974 (clone_body): Likewise.
4975 * ssa.h (ssa_definition): Use gengtype to mark.
4976 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
4977 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
4978 * rtl.h (struct rtvec_def): Update for change to length specifier.
4979 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
4980 (struct initial_value_struct): Update for change to length specifier.
4981 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
4982 (ggc_add_tree_varray_root): Delete prototype.
4983 (ggc_mark_rtx_varray): Delete prototype.
4984 (ggc_mark_tree_varray): Delete prototype.
4985 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
4986 (ggc_add_tree_varray_root): Delete.
4987 (ggc_mark_rtx_varray): Delete.
4988 (ggc_mark_tree_varray): Delete.
4989 (ggc_mark_rtx_varray_ptr): Delete.
4990 (ggc_mark_tree_varray_ptr): Delete.
4991 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
4992 (create_varray): Delete prototype.
4993 * gengtype.c (varrays): Delete.
4994 (create_varray): Delete.
4995 (adjust_field_type): Detect array of string pointers.
4996 (process_gc_options): Remove code to handle varray_type option.
4997 (set_gc_used_type): Remove TYPE_VARRAY case.
4998 (output_escaped_param): New.
4999 (write_gc_structure_fields): Use output_escaped_param on all
5000 parameters. Handle 'skip' with 'use_param' option. Handle
5001 arrays of strings. Remove TYPE_VARRAY handling.
5002 (write_gc_roots): Use boolean to detect 'length' option.
5003 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
5004 (struct_fields): Call adjust_field_type on array fields.
5005 (type): Remove VARRAY_TYPE case.
5006 (type_option): Likewise.
5007 * gengtype-lex.l: Don't consider varray_type a keyword.
5008 * function.h: Update for change to length specifier.
5009 (free_eh_status): Delete prototype.
5010 * function.c (free_after_compilation): Don't call free_eh_status.
5011 (reorder_blocks): Don't use VARRAY_FREE.
5012 * except.c (struct eh_status): Update for change to length specifier.
5013 remove varray_type specifier.
5014 (free_eh_status): Delete.
5015 * dwarf2out.c: Include gt-dwarf2out.h.
5016 (used_rtx_varray): Use gengtype to mark, move
5017 outside ifdefs.
5018 (incomplete_types): Likewise.
5019 (decl_scope_table): Likewise.
5020 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
5021 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
5022 * c-tree.h (struct lang_type): Update for change to length specifier.
5023 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
5024 * c-objc-common.c: Include gt-c-objc-common.h.
5025 (deferred_fns): Mark for gengtype.
5026 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
5027 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
5028 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
5029 (gtype-desc.o): Update dependencies.
5030 (dwarf2out.o): Add gt-dwarf2out.h.
5031 (varray.o): Update dependencies.
5032 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
5033 (gt-c-objc-common.h): New rule.
5034 (gt-dwarf2out.h): New rule.
5035 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
5036
5037 * doc/gty.texi (GTY Options): Correct spelling.
5038 (GGC Roots): Likewise.
5039 * Makefile.in (TEXI_CPP_FILES): New.
5040 (TEXI_GCC_FILES): New.
5041 (TEXI_GCCINT_FILES): New.
5042 (TEXI_CPPINT_FILES): New.
5043 ($(docdir)/cpp.info): Use new macros.
5044 ($(docdir)/gcc.info): Likewise.
5045 ($(docdir)/gccint.info): Likewise.
5046 ($(docdir)/cppinternals.info): Likewise.
5047 (cpp.dvi): Likewise.
5048 (gcc.dvi): Likewise.
5049 (gccint.dvi): Likewise.
5050 (cppinternals.dvi): Likewise.
5051
5052 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
5053 * doc/gccint.texi (Top): Include gty.texi.
5054 * doc/gty.texi: New file.
5055
5056 * bitmap.c: Include ggc.h, gt-bitmap.h.
5057 (bitmap_ggc_free): New.
5058 (bitmap_elem_to_freelist): New.
5059 (bitmap_element_free): Use bitmap_elem_to_freelist.
5060 (bitmap_element_allocate): Allow use of GGC.
5061 (bitmap_clear): Use bitmap_elem_to_freelist.
5062 (bitmap_copy): Update for change to bitmap_element_allocate.
5063 (bitmap_set_bit): Likewise.
5064 (bitmap_operation): Update for changes elsewhere.
5065 (bitmap_initialize): Allow to create bitmaps that will use GGC.
5066 * bitmap.h (struct bitmap_element_def): Use gengtype.
5067 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
5068 (bitmap_initialize): Add extra parameter.
5069 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
5070 (BITMAP_ALLOCA): Delete.
5071 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
5072 (BITMAP_GGC_ALLOC): New.
5073 * Makefile.in (gtype-desc.o): Add bitmap.h.
5074 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
5075 (GTFILES): Add bitmap.c.
5076 (gt-bitmap.h): New rule.
5077 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
5078 * basic-block.h: Update for changes to bitmap_initialize.
5079 * except.c (exception_handler_label_map): Move into...
5080 (struct eh_status): Here.
5081 (struct eh_region): Make 'aka' GCable.
5082 (free_eh_status): Don't need to specially handle
5083 exception_handler_label_map.
5084 (add_ehl_entry): Update for changes to exception_handler_label_map.
5085 (find_exception_handler_labels): Likewise.
5086 (remove_exception_handler_label): Likewise.
5087 (maybe_remove_eh_handler): Likewise.
5088 (for_each_eh_label): Likewise.
5089 (remove_eh_handler): Allocate 'aka' using GGC.
5090 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
5091 to list of includes.
5092
5093 * gengtype.c (write_gc_marker_routine_for_structure): Name
5094 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
5095 (write_gc_types): Arrange for the tests with NULL to be inlined.
5096 (write_gc_roots): Update uses of procedure pointers.
5097 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
5098
5099 * Makefile.in (explow.o): Add dependency on gt-explow.h.
5100 (sdbout.o): Add dependency on gt-sdbout.h.
5101
5102 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
5103 (mem_attrs_htab): Likewise.
5104 (init_emit_once): Don't call ggc_add_deletable_htab.
5105 * fold-const.c (size_htab): Use gengtype to clear unused entries.
5106 (size_int_type_wide): Don't call ggc_add_deletable_htab.
5107 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
5108 parameters, use them, change callers.
5109 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
5110 (write_gc_roots): Handle 'if_marked' option.
5111 (main): Don't need to call set_gc_used_type any more.
5112 * ggc.h (ggc_htab_marked_p): Delete.
5113 (ggc_htab_mark): Delete.
5114 (struct ggc_cache_tab): New.
5115 (gt_ggc_cache_rtab): New declaration.
5116 * ggc-common.c (struct d_htab_root): Delete.
5117 (d_htab_roots): Delete.
5118 (ggc_add_deletable_htab): Delete.
5119 (ggc_htab_delete): Handle new htab-deleting mechanism.
5120 (ggc_mark_roots): Use new htab-deleting mechanism.
5121 * tree.c (type_hash_table): Use gengtype to clear unused entries.
5122 Make static.
5123 (init_obstacks): Don't call ggc_add_deletable_htab.
5124
5125 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
5126 (struct hashed_entry): Likewise.
5127 (nst_method_hash_list): Likewise.
5128 (cls_method_hash_list): Likewise.
5129 (HASH_ALLOC_LIST_SIZE): Delete.
5130 (ATTR_ALLOC_LIST_SIZE): Delete.
5131 * objc/objc-act.c (hash_init): Use ggc to allocate
5132 nst_method_hash_list, cls_method_hash_list.
5133 (hash_enter): Use ggc to allocate; allocate one entry at a time.
5134 (hash_add_attr): Likewise.
5135 (ggc_mark_hash_table): Delete.
5136 (objc_act_parse_init): Delete.
5137 (objc_init): Delete reference to objc_act_parse_init.
5138 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
5139 obstack.h. Replace references to 'struct hash_table' with htab_t.
5140 (struct symbol_hash_entry): Replace hash header with key field.
5141 (struct file_hash_entry): Replace hash header with key field.
5142 (struct demangled_hash_entry): Replace hash header with key field.
5143 (hash_string_eq): New.
5144 (hash_string_hash): New.
5145 (symbol_hash_newfunc): Delete.
5146 (symbol_hash_lookup): Modify to use htab_t.
5147 (file_hash_newfunc): Delete.
5148 (file_hash_lookup): Modify to use htab_t.
5149 (demangled_hash_newfunc): Delete.
5150 (demangled_hash_lookup): Modify to use htab_t.
5151 (tlink_init): Modify to use htab_t.
5152 * hash.h: Delete.
5153 * hash.c: Delete.
5154 * ggc.h: Delete forward structure declarations.
5155 Delete prototypes for deleted functions.
5156 * ggc-common.c: Don't include hash.h.
5157 (ggc_add_tree_hash_table_root): Delete.
5158 (ggc_mark_tree_hash_table_entry): Delete.
5159 (ggc_mark_tree_hash_table): Delete.
5160 (ggc_mark_tree_hash_table_ptr): Delete.
5161 * gengtype.c (write_gc_structure_fields): Allow param_is option.
5162 (write_gc_marker_routine_for_structure): Use visibility of
5163 the parameter if there is one.
5164 * function.c: Replace hash.h with hashtab.h. Replace references
5165 to 'struct hash_table *' with htab_t.
5166 (struct insns_for_mem_entry): Include a plain key.
5167 (fixup_var_refs_insns_with_hash): Update to use htab_t.
5168 (insns_for_mem_newfunc): Delete.
5169 (insns_for_mem_hash): Update to use htab_t.
5170 (insns_for_mem_comp): Likewise.
5171 (insns_for_mem_walk): Likewise.
5172 * c-lang.c: Include ggc.h.
5173 * Makefile.in (OBJS): Remove hash.o.
5174 (c-lang.o): Add GGC_H.
5175 (COLLECT2_OBJS): Remove hash.o.
5176 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
5177 (ggc-common.o): Remove hash.h.
5178 (function.o): Remove hash.h, add HASHTAB_H.
5179 (genautomata.o): Remove hash.h, add HASHTAB_H.
5180
5181 * varasm.c (mark_const_str_htab_1): Delete.
5182 (mark_const_str_htab): Delete.
5183 (const_str_htab_del): Delete.
5184 (const_str_htab): Use gengtype to mark.
5185 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
5186 allocate them.
5187 * tree.c (mark_tree_hashtable_entry): Delete.
5188 (mark_tree_hashtable): Delete.
5189 * tree.h (mark_tree_hashtable): Delete prototype.
5190 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
5191 (ggc_mark): Likewise.
5192 (ggc_calloc): New.
5193 (htab_create_ggc): New.
5194 * ggc-common.c (ggc_calloc): New.
5195 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
5196 (struct type): Add param_struct structure.
5197 * gengtype.c (param_structs): New.
5198 (adjust_field_type): Handle param_is option.
5199 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
5200 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
5201 (write_gc_structure_fields): Add new PARAM parameter. Update
5202 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
5203 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
5204 Use it to generate function name. Update callers.
5205 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
5206 Process them.
5207 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
5208 option.
5209 (main): Define PTR as pointer-to-scalar. Don't specially
5210 mark deferred_string or ehl_map_entry.
5211 * gengtype-yacc.y (PARAM_IS): Add new token.
5212 (externstatic): Use adjust_field_type.
5213 (type_option): Add PARAM_IS.
5214 * gengtype-lex.l: Add rule for typedef of function pointers.
5215 Add rule for PARAM_IS.
5216 (IWORD): Add size_t.
5217 * except.c (exception_handler_label_map): Use gengtype to mark.
5218 (type_to_runtime_map): Likewise.
5219 (mark_ehl_map_entry): Delete.
5220 (mark_ehl_map): Delete.
5221 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
5222 (t2r_mark_1): Delete.
5223 (t2r_mark): Delete.
5224 * Makefile.in (gtype-desc.o): Correct dependencies.
5225 (GTFILES): Add hashtab.h.
5226 (genautomata.o): Actually uses hashtab.h.
5227
5228 * Makefile.in (stringpool.o): Add $(GGC_H).
5229 (dwarf2asm.o): Likewise.
5230 (GTFILES): Add hashtable.h.
5231 * c-common.h (struct c_common_identifier): Use gengtype.
5232 * c-decl.h (c_mark_tree): Delete.
5233 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
5234 * c-tree.h (struct lang_identifier): Use gengtype.
5235 (union lang_tree_node): New.
5236 (c_mark_tree): Delete prototype.
5237 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
5238 dwarf2_debug_hooks.
5239 * gengtype-lex.l (IWORD): Allow 'bool'.
5240 (ptr_alias): Match.
5241 * gengtype-yacc.y (ALIAS): New token.
5242 (type_option): New rule.
5243 (option): Use type_option.
5244 * gengtype.c (process_gc_options): New.
5245 (set_gc_used_type): Use it.
5246 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
5247 Add new variable 't' to hold the type of the field being processed.
5248 Add more error checking. Use UNION_P when looking at 'desc' option.
5249 Handle language-specific structures containing other
5250 language-specific structures.
5251 (write_gc_types): Handle 'ptr_alias' option.
5252 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
5253 * ggc-common.c (ggc_pending_trees): Delete.
5254 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
5255 (ggc_mark_trees): Delete.
5256 (gt_ggc_m_tree_node): Delete.
5257 * ggc.h (ggc_pending_trees): Delete.
5258 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
5259 * hashtable.h (ht_identifier): Use gengtype.
5260 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
5261 * langhooks.h (struct lang_hooks): Delete mark_tree.
5262 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
5263 anyway.
5264 * system.h: Poison LANG_HOOKS_MARK_TREE.
5265 * tree.c (tree_node_structure): New.
5266 * tree.h (struct tree_common): Use gengtype.
5267 (struct tree_int_cst): Likewise.
5268 (struct tree_real_cst): Likewise.
5269 (struct tree_string): Likewise.
5270 (struct tree_complex): Likewise.
5271 (struct tree_vector): Likewise.
5272 (struct tree_identifier): Likewise.
5273 (struct tree_list): Likewise.
5274 (struct tree_vec): Likewise.
5275 (struct tree_exp): Likewise.
5276 (struct tree_block): Likewise.
5277 (struct tree_type): Likewise.
5278 (struct tree_decl): Likewise.
5279 (enum tree_structure_enum): New.
5280 (union tree_node): Use gengtype, with an alias.
5281 (tree_node_structure): Prototype.
5282 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
5283
5284 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
5285 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
5286 to LANG_HOOKS_FUNCTION_FINAL.
5287 * Makefile.in (GTFILES): Add bitmap.h.
5288 * except.c (struct eh_region): Mark field 'aka' to be skipped.
5289
5290 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
5291 (alpha_init_machine_status): Give proper type.
5292 * Makefile.in (c-lang.o): Depend on gtype-c.h.
5293 (optabs.o): Depend on gt-optabs.h.
5294 (GTFILES): Add optabs.o.
5295 (gt-optabs.h): Add rule.
5296 * optabs.c: Include gt-optabs.h.
5297
5298 * gengtype.c (set_gc_used_type): Correct some errors in last change.
5299 (write_gc_structure_fields): If a field which should be NULL is
5300 not, abort.
5301 * c-pragma.c: Move struct align_stack and variable alignment_stack
5302 out from the ifdef.
5303
5304 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
5305 * config/xtensa/xtensa.c: Include gt-cris.h.
5306 (struct machine_function): Use gengtype to mark.
5307 * config/mmix/mmix.h (struct machine_function): Use gengtype
5308 to mark.
5309 * config/cris/t-cris: Add dependencies for gt-cris.h.
5310 * config/cris/cris.c: Include gt-cris.h.
5311 (struct machine_function): Use gengtype to mark.
5312 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
5313 to mark.
5314 * doc/tm.texi (Per-Function Data): Delete references to
5315 mark_machine_status.
5316 * config/ia64/ia64.c (ia64_override_options): Don't set
5317 mark_machine_status.
5318 * config/i386/i386.c (override_options): Likewise.
5319 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
5320 * config/arm/arm.c (arm_init_expanders): Likewise.
5321 * config/alpha/alpha.c (override_options): Likewise.
5322 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
5323 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
5324 (write_gc_structure_fields): Don't handle 'really' option.
5325 Handle 'maybe_null' option.
5326 (write_gc_types): Handle 'maybe_null' option.
5327 * function.h (struct function): Don't use "really".
5328 (mark_machine_status): Delete declaration.
5329 (mark_lang_status): Delete declaration.
5330 (gt_ggc_mr_machine_function): Delete prototype.
5331 (gt_ggc_mr_language_function): Delete prototype.
5332 * function.c (mark_machine_status): Delete.
5333 (mark_lang_status): Delete.
5334 (gt_ggc_mr_machine_function): Delete.
5335 (gt_ggc_mr_language_function): Delete.
5336 * c-tree.h (mark_c_function_context): Delete prototype.
5337 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
5338 * c-decl.c (struct language_function): Rename from struct
5339 c_language_function. Update uses. Use gengtype to mark.
5340 (mark_c_function_context): Delete.
5341 * c-common.h (struct c_language_function): Rename from struct
5342 language_function.
5343 (mark_stmt_tree): Delete prototype.
5344 (c_mark_lang_decl): Delete prototype.
5345 (mark_c_language_function): Delete prototype.
5346 * c-common.c (mark_stmt_tree): Delete.
5347 (c_mark_lang_decl): Delete.
5348 (mark_c_language_function): Delete.
5349
5350 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
5351 (lang_bitmap): New typedef. Use where appropriate.
5352 (struct type): Add gc_used field, lang_struct field.
5353 (UNION_P): New macro.
5354 (new_structure): New prototype.
5355 (find_structure): Remove 'pos' parameter. Change all callers.
5356 * gengtype-lex.l: Update for changes to find_structure.
5357 * gengtype-yacc.y (typedef_struct): Use new_structure.
5358 (yacc_ids): Suppress warning.
5359 (type): Use new_structure.
5360 * gengtype.c (string_type): Update for changes to struct type.
5361 (find_structure): Just find a structure, don't worry about
5362 creating one.
5363 (new_structure): New.
5364 (note_yacc_type): Use new_structure.
5365 (set_gc_used_type): New.
5366 (set_gc_used): New.
5367 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
5368 (write_gc_types): Handle TYPE_LANG_STRUCT.
5369 (write_gc_marker_routine_for_structure): New.
5370 (main): Call set_gc_used. Add some calls to set_gc_used_type
5371 for places where GCC doesn't use gengtype properly yet.
5372 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
5373 (gt_ggc_m_tree_node): Likewise.
5374
5375 * varasm.c (copy_constant): Call expand_constant if we hit
5376 something we can't recognise.
5377
5378 * ggc-common.c (ggc_mark_rtvec_children): Delete.
5379 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
5380 (lang_mark_false_label_stack): Delete.
5381 * rtl.h (struct rtvec_def): Use gengtype to mark.
5382 * ggc.h (ggc_mark_rtvec): Delete.
5383 (gt_ggc_m_rtvec_def): Delete.
5384 (ggc_mark_nonnull_tree): Delete.
5385 (ggc_mark_rtvec_children): Delete prototype.
5386 (lang_mark_false_label_stack): Delete declaration.
5387
5388 * gengtype.h (note_yacc_type): Add prototype.
5389 * gengtype.c (note_yacc_type): New function.
5390 * gengtype-lex.l: Add lexer support for yacc files.
5391 * gengtype-yacc.y (start): Extract union from yacc files.
5392 (yacc_union): New rule.
5393 (yacc_typematch): New rule.
5394 (yacc_ids): New rule.
5395 (enum_items): Tweak for efficiency.
5396 (optionseq): Likewise.
5397
5398 * c-common.h (struct language_function): Use gengtype.
5399 (struct c_lang_decl): Likewise.
5400 * c-tree.h (struct lang_decl): Likewise.
5401 (struct lang_type): Likewise.
5402 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
5403 tree language substructures.
5404
5405 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
5406 ggc_mark_tree.
5407 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
5408
5409 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
5410
5411 * stmt.c (struct nesting): Add discriminator. Use gengtype to
5412 mark. Remove 'data.block.cleanup_ptr' field.
5413 (struct stmt_status): Use usual technique to mark struct nesting.
5414 (gt_ggc_mr_nesting_cond): Delete.
5415 (gt_ggc_mr_nesting_loop): Delete.
5416 (gt_ggc_mr_nesting_block): Delete.
5417 (gt_ggc_mr_nesting_case_stmt): Delete.
5418 (expand_start_cond): Set discriminator.
5419 (expand_start_loop): Likewise.
5420 (expand_start_null_loop): Likewise.
5421 (expand_start_bindings_and_block): Set discriminator. Don't set
5422 deleted fields.
5423 (expand_decl_cleanup): Replace 'cleanup_ptr' with
5424 &thisblock->data.block.cleanups.
5425 (expand_start_case): Set discriminator.
5426 (expand_start_case_dummy): Set discriminator.
5427
5428 * ggc-callbacks.c: Remove.
5429
5430 * gengtype.h (struct type): Add 'u.s.bitmap' field.
5431 (find_structure): Add 'pos' parameter.
5432 * gengtype-lex.l: Update callers to find_structure.
5433 * gengtype-yacc.y: Likewise.
5434 * gengtype.c (find_structure): Allow for structures to be defined
5435 in multiple language backends.
5436 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
5437 (counter): Rename to gc_counter.
5438 (write_gc_structure_fields): Fail when writing out fields for
5439 an incomplete structure. Ignore arrays of scalars. Handle
5440 'tree_vec' special.
5441 (write_gc_types): Reset counter for each procedure written.
5442
5443 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
5444 (free_case_nodes): Delete.
5445 (expand_end_case_type): Delete call to free_case_nodes.
5446
5447 * Makefile.in (cselib.o): Include gt-<filename>.h.
5448 (gcse.o): Likewise.
5449 (profile.o): Likewise.
5450 (alias.o): Likewise.
5451 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
5452 alphabetize backend files.
5453 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
5454 * alias.c: Use gengtype for roots.
5455 * c-common.h (struct stmt_tree_s): Use gengtype.
5456 * c-decl.c: Use gengtype for roots.
5457 * cselib.c: Use gengtype for roots.
5458 * expr.c: Use gengtype for roots.
5459 * fold-const.c: Use gengtype for roots.
5460 * gcse.c: Use gengtype for roots.
5461 * gengtype-lex.l: Handle typedefs of function types.
5462 Allow for empty array bounds.
5463 Allow processing to stop on initialisers.
5464 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
5465 (semiequal): New rule.
5466 * gengtype.c (create_file): Tidy output files.
5467 (get_output_file_with_visibility): Fix paren warning. Fix bug
5468 involving multiple input files mapping to one output file.
5469 (write_gc_structure_fields): Skip arrays of scalars.
5470 (write_gc_types): Tidy output files.
5471 (write_gc_root): New function.
5472 (write_gc_roots): Fix bugs, add support for roots that are
5473 structures.
5474 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
5475 (ggc_mark_tree_ptr): Delete.
5476 (ggc_add_rtx_root): Delete.
5477 (ggc_add_tree_root): Delete.
5478 (ggc_del_root): Delete.
5479 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
5480 allocate struct initial_value_struct.
5481 * profile.c: Use gengtype for roots.
5482 * sdbout.c: Use gengtype for roots.
5483 * varasm.c (mark_weak_decls): Delete unused prototype.
5484 (mark_const_hash_entry): Delete unused function.
5485 * config/darwin-protos.h: Use gengtype for roots.
5486 (machopic_add_gc_roots): Delete.
5487 * config/arm/arm.c: Use gengtype for roots.
5488 * config/arm/arm.h: Use gengtype for roots.
5489 * config/c4x/c4x-protos.h: Use gengtype for roots.
5490 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
5491 * config/d30v/d30v-protos.h: Use gengtype for roots.
5492 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
5493 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
5494 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
5495 * config/ia64/ia64-protos.h: Use gengtype for roots.
5496 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
5497 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
5498 * config/m68hc11/m68hc11.c (z_reg): Make global.
5499 (z_reg_qi): Make global.
5500 (m68hc11_add_gc_roots): Delete.
5501 * config/mcore/mcore-protos.h: Use gengtype for roots.
5502 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
5503 * config/mips/mips.c (mips_add_gc_roots): Delete.
5504 * config/mips/mips.h: Use gengtype for roots.
5505 * config/mmix/mmix.c (override_options): Use gengtype for roots.
5506 * config/mmix/mmix.h: Use gengtype for roots.
5507 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
5508 * config/mn10200/mn10200.h: Use gengtype for roots.
5509 * config/pa/pa.c: Use gengtype for roots, marking.
5510 (struct deferred_plabel): Use GGC, gengtype.
5511 (pa_add_gc_roots): Delete.
5512 (mark_deferred_plabels): Delete.
5513 * config/pj/pj-protos.h: Use gengtype for roots.
5514 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
5515 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
5516 machopic_add_gc_roots.
5517 * config/rs6000/rs6000.h: Use gengtype for roots.
5518 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
5519 (gt-darwin.h): Add rule.
5520 * config/sh/sh.c: Use gengtype for roots.
5521 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
5522 (gt-sh.h): Add rule.
5523 * config/sparc/sparc.c: Use gengtype for roots.
5524 (sparc_add_gc_roots): Delete.
5525 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
5526 (mark_ultrasparc_pipeline_state): Delete.
5527 * config/sparc/sparc.h: Use gengtype for roots.
5528
5529 * Makefile.in (c-parse.o): Update dependencies.
5530 (c-common.o): Likewise.
5531 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
5532 Add dependencies for the files they generate.
5533 * c-common.c: Replace ggc_add_* uses with GTY annotations.
5534 * c-common.h: Likewise.
5535 * c-decl.c: Likewise.
5536 (gt_ggc_mp_binding_level): Delete.
5537 * c-lang.c: Include gtype-c.h.
5538 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
5539 gt-c-parse.h.
5540 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
5541 (gt_ggc_mp_align_stack): Delete.
5542 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
5543 * function.c: Replace ggc_add_* uses with GTY annotations.
5544 (gt_ggc_mp_function): Delete.
5545 * function.h: Replace ggc_add_* uses with GTY annotations.
5546 * gengtype.c (lang_names): New.
5547 (NUM_BASE_FILES): New.
5548 (open_base_files): Create language base files.
5549 (startswith): New.
5550 (get_file_basename): New.
5551 (get_base_file_bitmap): New.
5552 (get_output_file_with_visibility): Rename from get_output_file.
5553 Add more mappings for various C/Objc filenames.
5554 (finish_root_table): New.
5555 (write_gc_roots): Handle dependencies and scoping properly.
5556 * gengtype.h: Add prototypes for new functions.
5557 * ggc-common.c (struct deletable_root): Delete.
5558 (deletables): Delete.
5559 (ggc_add_deletable_root): Delete.
5560 (ggc_mark_roots): No need to deal with deleted functionality.
5561 * ggc.h (ggc_add_deletable_root): Delete prototype.
5562 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
5563 (gtype-objc.h): Add rule to create.
5564 * objc/config-lang.in (gtfiles): New.
5565 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
5566 ggc_add_* with GTY markers. Include gtype-objc.h.
5567 (ggc_mark_imp_list): Delete.
5568 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
5569 * objc/objc-lang.c: Random Whitespace Change.
5570
5571 * except.h (exception_handler_labels): Delete.
5572 (get_exception_handler_labels): New.
5573 * except.c (exception_handler_labels): Delete.
5574 (struct eh_status): Add exception_handler_labels field.
5575 (doing_eh): Don't add exception_handler_labels as root.
5576 (free_eh_status): Don't need to free exception_handler_labels.
5577 (get_exception_handler_labels): New.
5578 (find_exception_handler_labels): Update for move of
5579 exception_handler_labels.
5580 (remove_exception_handler_label): Likewise.
5581 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
5582 * jump.c (rebuild_jump_labels): Likewise.
5583 * loop.c (find_and_verify_loops): Likewise.
5584 * sched-rgn.c (is_cfg_nonregular): Likewise.
5585
5586 * gengtype.c (write_gc_structure_fields): Handle variable-length
5587 TYPE_ARRAYs.
5588
5589 * varasm.c (struct weak_syms): Use GGC, gengtype.
5590 (mark_weak_decls): Delete.
5591 (weak_decls): Likewise.
5592 (add_weak): Likewise.
5593 (remove_from_pending_weak_list): Likewise.
5594 (init_varasm_once): Likewise.
5595
5596 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
5597 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
5598 stor-layout.c, regclass.c, and lists.c.
5599 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
5600 gt-regclass.h and gt-lists.h on s-gtype.
5601 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
5602 * except.c: Use gengtype for roots.
5603 * explow.c: Use gengtype for roots. Include gt-explow.h.
5604 * expr.h (init_stor_layout_once): Delete prototype.
5605 * function.c: Use gengtype for roots.
5606 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
5607 * gengtype-yacc.y (start): Can also be an externstatic.
5608 (externstatic): New production.
5609 (struct_fields): Correct array bounds inversion for 2-d arrays.
5610 * gengtype.c (variables): New variable.
5611 (note_variable): New function.
5612 (get_output_file): Include libfuncs.h into gtype-desc.c.
5613 (get_output_file_name): New function.
5614 (write_gc_structure_fields): Suppress warnings.
5615 (write_gc_types): Make static.
5616 (put_mangled_filename): New function.
5617 (write_gc_roots): New function.
5618 (main): Call write_gc_roots.
5619 * gengtype.h (note_variable): Prototype.
5620 (get_output_file_name): Prototype.
5621 (write_gc_types): Delete prototype.
5622 * ggc.h: Clean up unnecessary structure predefinitions.
5623 (struct ggc_root_tab): Define.
5624 (gt_ggc_m_rtx_def): Make function, not macro.
5625 (gt_ggc_m_tree_node): Likewise.
5626 * libfuncs.h: Use gengtype for roots.
5627 * lists.c: Use gengtype for roots. Include gt-lists.h.
5628 (init_EXPR_INSN_LIST_cache): Delete.
5629 * optabs.c: Use gengtype for roots.
5630 (gt_ggc_mp_optab): Delete.
5631 * optabs.h: Use gengtype for roots.
5632 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
5633 * rtl.h: Use gengtype for roots.
5634 (init_EXPR_INSN_LIST_cache): Delete prototype.
5635 * stor-layout.c: Use gengtype for roots.
5636 Include gt-stor-layout.h.
5637 (init_stor_layout_once): Delete.
5638 * toplev.c: Use gengtype for roots. Delete calls to deleted
5639 routines.
5640 * tree.c: Use gengtype for roots.
5641 * tree.h: Use gengtype for roots.
5642 * varasm.c: Use gengtype for roots.
5643
5644 * Makefile.in (GTFILES): Add @all_gtfiles@.
5645 * configure: Regenerate.
5646 * configure.in: Construct all_gtfiles from the gtfiles definitions
5647 in config-lang.in.
5648 * gengtype-yacc.y (type): Warn about duplicate structure names.
5649 * gengtype.c (get_output_file): Handle .c files in language
5650 subdirectories.
5651
5652 * Makefile.in (GTFILES): Run gengtype on all the config files
5653 and on the target .c file.
5654 * except.c (mark_eh_region): Delete.
5655 (init_eh_for_function): Use GGC on struct eh_status.
5656 (mark_eh_status): Delete.
5657 (free_eh_status): Use GGC.
5658 (expand_eh_region_start): Use GGC to
5659 (collect_eh_region_array): Allocate last_region_number using GGC.
5660 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
5661 (remove_eh_handler): Let GGC free struct eh_region.
5662 (add_call_site): Use GGC to reallocate call_site_record array.
5663 * function.c (init_machine_status): Update calling sequence.
5664 (mark_machine_status): Likewise.
5665 (mark_lang_status): Likewise.
5666 (prepare_function_start): Update init_machine_status call.
5667 (mark_function_status): Delete.
5668 (maybe_mark_struct_function): Delete.
5669 (ggc_mark_struct_function): Delete.
5670 (gt_ggc_mp_function): New.
5671 (gt_ggc_mr_machine_function): New.
5672 (gt_ggc_mr_language_function): New.
5673 (init_function_once): Use canonical names.
5674 * function.h (struct function): Use gengtype.
5675 (init_machine_status): Return the structure.
5676 (mark_machine_status): Take a 'void *'.
5677 (mark_lang_status): Likewise.
5678 * ggc-common.c (ggc_mark_trees): Use canonical name for
5679 ggc_mark_struct_function.
5680 * tree.h (ggc_mark_struct_function): Delete prototype.
5681 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
5682 (alpha_init_machine_status): Likewise.
5683 (override_options): Use canonical name for alpha_mark_machine_status.
5684 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
5685 * config/arm/arm.h (struct machine_function): Use gengtype.
5686 * config/arm/arm.c (arm_mark_machine_status): Delete.
5687 (arm_init_machine_status): Update calling sequence.
5688 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
5689 * config/cris/cris.c (cris_init_machine_status): Update
5690 calling sequence.
5691 * config/d30v/d30v.h (struct machine_function): Use gengtype.
5692 * config/d30v/d30v.c (d30v_init_machine_status): Update
5693 calling sequence.
5694 (d30v_mark_machine_status): Delete.
5695 * config/i386/i386.c: Include gt-i386.h.
5696 (struct machine_function): Use gengtype.
5697 (ix86_init_machine_status): Update calling sequence.
5698 (ix86_mark_machine_status): Delete.
5699 (override_options): Use canonical namke for ix86_mark_machine_status.
5700 * config/ia64/ia64.h (struct machine_function): Use gengtype.
5701 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
5702 sequence.
5703 (ia64_mark_machine_status): Delete.
5704 (ia64_override_options): Use canonical name for
5705 ia64_mark_machine_status.
5706 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
5707 sequence.
5708 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
5709 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
5710 * gengtype.c (get_output_file): Fix warning.
5711 (main): Add prototype to suppress warning.
5712 * tree.c: Remove tree_hash_mark prototype.
5713
5714 * tree.h (init_stmt): Delete prototype.
5715 * toplev.c (lang_independent_init): Don't call init_stmt.
5716 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
5717 (stmt_obstack): Delete.
5718 (POPSTACK): No need to free 'struct nesting'.
5719 (gt_ggc_mr_nesting_cond): Use canonical names.
5720 (gt_ggc_mr_nesting_loop): Use canonical names.
5721 (gt_ggc_mr_nesting_block): Use canonical names.
5722 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
5723 (mark_stmt_status): Delete.
5724 (init_stmt): Delete.
5725 (clear_last_expr): Clear both last_expr_type and last_expr_value.
5726 Use it everywhere that last_expr_type was cleared.
5727 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
5728 (zap_lists): Delete.
5729 * ggc.h (ggc_add_deletable_root): Prototype.
5730 (mark_stmt_status): Remove prototype.
5731 * ggc-common.c (ggc_add_deletable_root): New.
5732 (ggc_mark_roots): Handle deletable roots.
5733 * function.c (ggc_mark_struct_function): Use canonical name
5734 for mark_stmt_status.
5735 * emit-rtl.c (free_sequence_stack): New.
5736 (start_sequence): Use a freelist for sequences.
5737 (end_sequence): Likewise.
5738 (init_emit_once): Add free_sequence_stack as a deleteable root.
5739 * c-pragma.c Include gt-c-pragma.h.
5740 (struct align_stack): Use gengtype.
5741 (push_alignment): Use GGC for struct align_stack.
5742 (mark_align_stack): Delete.
5743 (gt_ggc_mp_align_stack): New.
5744 (init_pragma): Use canonical name for mark_align_stack.
5745 * c-decl.c: Include gt-c-decl.h.
5746 (struct binding_level): Use gengtype.
5747 (make_binding_level): Use GGC; handle the freelist here.
5748 (pop_binding_level): New.
5749 (pushlevel): Move code into make_binding_level.
5750 (push_label_level): Likewise.
5751 (poplevel): Move code into pop_binding_level.
5752 (pop_label_level): Likewise.
5753 (mark_binding_level): Delete.
5754 (gt_ggc_mp_binding_level): New.
5755 (c_init_decl_processing): Use canonical name for mark_binding_level.
5756 Add free_binding_level as deletable root.
5757 (mark_c_function_context): Use canonical name for mark_binding_level.
5758 * Makefile.in (c-decl.o): Add gt-c-decl.h.
5759 (c-pragma.o): Add gt-c-pragma.h.
5760 (GTFILES): Add c-decl.c and c-pragma.c.
5761 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
5762
5763 * tree.c (struct type_hash): Use gengtype.
5764 (init_obstacks): Use canonical name for type_hash_mark.
5765 (type_hash_mark): Delete.
5766 Include gt-tree.h.
5767 * rtl.h (struct mem_attrs): Use gengtype.
5768 * optabs.h (struct optab): Use gengtype.
5769 * optabs.c (expand_binop): Squish signed/unsigned warning.
5770 (mark_optab): Make local, use canonical name, use autogenerated
5771 marker procedure.
5772 (init_optabs): Use canonical name for mark_optab.
5773 (new_optab): Use GGC to allocate optabs.
5774 * ggc.h: Delete mark_optab prototype.
5775 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
5776 mem_attrs marker procedure.
5777 * gengtype.c (get_output_file): Include headers in gtype-desc.c
5778 explicitly rather than deducing them from file names.
5779 (write_gc_structure_fields): Handle arrays of structures.
5780 (main): Return non-zero exit code if errors occur during output.
5781 * emit-rtl.c (mem_attrs_mark): Delete.
5782 (init_emit_once): Use canonical name for mem_attrs marker procedure.
5783 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
5784 (tree.o): Depend on gt-tree.h.
5785 (GTFILES): Add rtl.h, optabs.h, tree.c.
5786 (gt-tree.h): Add it to s-gtype rule.
5787
5788 * .cvsignore: Ignore gengtype flex/bison generated files.
5789 * Makefile.in (GGC_H): Add gtype-desc.h.
5790 (OBJS): Add gtype-desc.o.
5791 (GEN): Add gengtype.
5792 (STAGESTUFF): Add gengtype.
5793 (varasm.o): Add gt-varasm.h.
5794 (stmt.o): Add gt-stmt.h.
5795 (except.o): Add gt-except.h.
5796 (integrate.o): Add gt-integrate.h.
5797 (GTFILES): New.
5798 Add new rules for new files.
5799 * configure: Regenerate.
5800 * configure.in: Correct defaults.h paths.
5801 * emit-rtl.c (mark_sequence_stack): Delete.
5802 (mark_emit_status): Delete.
5803 (start_sequence): Allocate sequence structures using GGC.
5804 (end_sequence): Allocate sequence structures using GGC.
5805 * except.c: Use gengtype for various structures. Include
5806 gt-except.h.
5807 * expr.c (mark_expr_status): Delete.
5808 * function.c: Use gengtype for various structures. Include
5809 gt-function.h.
5810 (mark_function_status): Use standard gt_ggc names for marker functions.
5811 (ggc_mark_struct_function): Likewise.
5812 * function.h: Use gengtype for various structures.
5813 * gengtype-lex.l: New file.
5814 * gengtype-yacc.y: New file.
5815 * gengtype.c: New file.
5816 * gengtype.h: New file.
5817 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
5818 the standard names. Remove some now-unnecessary prototypes.
5819 * integrate.c: Use gengtype for various structures. Include
5820 gt-integrate.h.
5821 (mark_hard_reg_initial_vals): Delete.
5822 * integrate.h (mark_hard_reg_initial_vals): Delete.
5823 * stmt.c: Use gengtype for various structures. Include
5824 gt-stmt.h.
5825 (mark_case_node): Delete.
5826 (mark_goto_fixup): Delete.
5827 (mark_stmt_status): Use standard gt_ggc names for marker functions.
5828 * system.h: Define GTY to empty. In flex/bison files,
5829 don't poison malloc or realloc, instead just define them to
5830 xmalloc and xrealloc.
5831 * varasm.c: Use gengtype for various structures. Include
5832 gt-varasm.h. Use standard gt_ggc names for marker functions.
5833 (mark_pool_constant): Delete.
5834 (mark_varasm_status): Delete.
5835 (decode_rtx_const): #if 0 out non-typesafe hack.
5836
5837 * function.h (free_lang_status): Mark as obsolete.
5838 * function.c (free_lang_status): Mark as obsolete.
5839 * c-decl.c (push_c_function_context): Use GC to allocate and free
5840 struct language_function.
5841 (pop_c_function_context): Likewise.
5842 * c-common.c (mark_c_language_function): Mark struct
5843 language_function.
5844
5845 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
5846 Document that the machine_function structures must be allocated
5847 using GC. Update mark_machine_status documentation.
5848 * function.h: Don't declare free_machine_status.
5849 * function.c (free_machine_status): Don't define.
5850 (free_after_compilation): Don't call free_machine_status.
5851 (ggc_mark_struct_function): Mark f->machine. Call
5852 mark_machine_status only on non-NULL pointers.
5853 * system.h: Poison free_machine_status.
5854 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
5855 struct machine_function.
5856 (xtensa_free_machine_status): Delete.
5857 (override_options): Don't set free_machine_status.
5858 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
5859 free_machine_status.
5860 (rs6000_init_machine_status): Use GC on struct machine_function.
5861 (rs6000_free_machine_status): Delete.
5862 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
5863 machine_function.
5864 (ia64_mark_machine_status): Likewise.
5865 (ia64_free_machine_status): Delete.
5866 (ia64_override_options): Don't set free_machine_status.
5867 * config/i386/i386.c (override_options): Don't set
5868 free_machine_status.
5869 (ix86_init_machine_status): Use GC on struct machine_function.
5870 (ix86_mark_machine_status): Likewise.
5871 (ix86_free_machine_status): Delete.
5872 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
5873 machine_function.
5874 (d30v_mark_machine_status): Likewise.
5875 (d30v_free_machine_status): Delete.
5876 (d30v_init_expanders): Don't set free_machine_status.
5877 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
5878 machine_function.
5879 (arm_init_machine_status): Likewise.
5880 (arm_free_machine_status): Delete.
5881 (arm_init_expanders): Don't set free_machine_status.
5882 * config/alpha/alpha.c (override_options): Don't set
5883 free_machine_status.
5884 (alpha_init_machine_status): Use GC on struct machine_function.
5885 (alpha_mark_machine_status): Likewise.
5886 (alpha_free_machine_status): Delete.
5887
5888 * varasm.c (compare_constant): Fix typo.
5889
5890 * varasm.c: Don't include obstack.h.
5891 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
5892 (struct rtx_const): Give substructures names, improve formatting.
5893 (struct constant_descriptor): Delete.
5894 (struct constant_descriptor_tree): New, based on constant_descriptor.
5895 (const_hash_table): Is a hash table of trees.
5896 (mark_const_hash_entry): Is used for hashes of trees. Mark
5897 constant_descriptor_tree structure.
5898 (mark_const_str_htab_1): Mark deferred_string structure.
5899 (compare_constant): Rewrite to compare trees.
5900 (compare_constant_1): Delete.
5901 (record_constant): Delete.
5902 (record_constant_1): Delete.
5903 (output_constant_def): Use struct constant_descriptor_tree.
5904 Don't duplicate trees twice.
5905 (struct constant_descriptor_rtx): New.
5906 (struct pool_constant): Used for rtx constants.
5907 (init_varasm_status): Update for change to struct varasm_status.
5908 (mark_varasm_status): Likewise.
5909 (free_varasm_status): Delete.
5910 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
5911 (record_constant_rtx): Likewise.
5912 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
5913 (force_const_mem): Likewise.
5914 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
5915 * function.c (free_after_compilation): Don't use free_varasm_status.
5916 * function.h: Don't prototype free_varasm_status.
5917
5918 * ggc-common.c (ggc_realloc): Handle X being NULL.
5919
5920 * ggc-common.c (ggc_realloc): New function.
5921 * ggc.h: Prototype it.
5922 * emit-rtl.c (free_emit_status): Delete.
5923 (init_emit): Allocate emit subarrays using GC.
5924 (gen_reg_rtx): Reallocate subarrays using GC.
5925 (init_emit): Use GC to allocate 'struct emit_status' and its
5926 subarrays.
5927 (mark_emit_status): Mark structure and its subarrays.
5928 * stmt.c (free_stmt_status): Delete.
5929 * expr.c (free_expr_status): Delete.
5930 * function.h: Remove prototypes for deleted functions.
5931 * function.c (free_after_compilation): Don't use deleted functions.
5932 Don't call free() on x_parm_reg_stack_loc.
5933 (free_after_parsing): Don't use free_stmt_status.
5934 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
5935 (mark_function_status): Mark x_parm_reg_stack_loc.
5936
5937 * varasm.c (init_varasm_status): Use GC to allocate
5938 'struct varasm_status' and its fields x_const_rtx_hash_table
5939 and x_const_rtx_sym_hash_table.
5940 (mark_varasm_status): Mark them.
5941 (free_varasm_status): Use GC to free them.
5942 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
5943 (mark_expr_status): Mark the structure itself.
5944 (free_expr_status): Use GC to free the structure.
5945 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
5946 (mark_stmt_status): Mark the 'struct stmt_status' itself.
5947 (init_stmt_for_function): Allocate the structure for GC.
5948
5949 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
5950 (equate_type_number_to_die): Likewise.
5951 * tree.h (TYPE_SYMTAB_DIE): New macro.
5952 (struct die_struct): Predeclare.
5953 (struct tree_type): Add field symtab.die. Add a tag
5954 to the union type of field symtab.
5955
5956 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
5957 'struct rtvec_def *', not 'struct rtvec_def'.
5958
5959 * function.h (original_arg_vector): Make a real rtvec.
5960 * function.c (ggc_mark_struct_function): Adjust.
5961 * integrate.c (expand_inline_function): Adjust.
5962
5963 2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
5964
5965 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
5966 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
5967 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
5968 (TARGET_VERSION_CPU): Define according to the
5969 default target.
5970 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
5971 TARGET_VERSION_CPU.
5972 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
5973 if TARGET_SHMEDIA64.
5974 (LINK_DEFAULT_CPU_EMUL): Define according to the
5975 default target.
5976 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
5977 (SUBTARGET_LINK_SPEC): Define.
5978 (LINK_SPEC): Use SH_LINK_SPEC.
5979 (ASM_SPEC): Remove.
5980 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
5981 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
5982 and TARGET_SHMEDIA64 which abort, for now.
5983 * config/sh/t-netbsd-sh5: New file.
5984 * config/sh/t-netbsd-sh5-32: New file.
5985 * config/sh/t-netbsd-sh5-64: New file.
5986
5987 2002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
5988 Richard Henderson <rth@redhat.com>
5989
5990 * config/alpha/alpha.c (reg_or_const_int_operand): New.
5991 (some_operand, input_operand): Accept CONST_VECTOR.
5992 (alpha_extra_constraint): Add 'W'.
5993 (alpha_expand_zap_mask): New.
5994 (alpha_expand_builtin_vector_binop): New.
5995 (enum alpha_builtin): New.
5996 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
5997 (alpha_init_builtins, alpha_expand_builtin): New.
5998 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
5999 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
6000 (PREDICATE_CODES): Update.
6001 * config/alpha/alpha-protos.h: Update.
6002 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
6003 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
6004 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
6005 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
6006 (movv2si, movv2si_fix, movv2si_nofix): New.
6007 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
6008 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
6009 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
6010 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
6011 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
6012 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
6013 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
6014 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
6015 builtin_unpkbw, unpkbw): New.
6016 * doc/extend.texi (Alpha Built-in Functions): New.
6017
6018 2002-06-03 Richard Henderson <rth@redhat.com>
6019
6020 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
6021 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
6022
6023 2002-06-03 Richard Henderson <rth@redhat.com>
6024
6025 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
6026
6027 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
6028 (const0_operand): New.
6029 (reg_or_fp0_operand, fp0_operand): Remove.
6030 * config/alpha/alpha.h (PREDICATE_CODES): Update.
6031 * config/alpha/alpha-protos.h: Update.
6032 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
6033 and fp0_operand with reg_or_0_operand and const0_operand.
6034
6035 2002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
6036
6037 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
6038
6039 2002-06-03 Roger Sayle <roger@eyesopen.com>
6040
6041 * gcse.c (cprop_jump): Use single_set to get the pattern
6042 from the setcc argument.
6043
6044 2002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
6045
6046 * diagnostic.h (diagnostic_count): Move from output_buffer to
6047 diagnostic_context.
6048 (diagnostic_kind_count): Adjust definition.
6049
6050 Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
6051
6052 * except.c (except.c): Do not rebuild CFG.
6053 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
6054 optimization.
6055
6056 Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
6057
6058 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
6059 * toplev.c: Include cfglahout.h
6060 * Makefile.in (toplev.c): Add dependnecy.
6061
6062 2002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
6063
6064 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
6065 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
6066 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
6067
6068 2002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
6069
6070 * config/ns32k/netbsd.h: Update copyright years.
6071 (TARGET_OS_CPP_BUILTINS): Define.
6072 (CPP_PREDEFINES): Remove.
6073 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
6074 (TARGET_CPU_CPP_BUILTINS): Define.
6075
6076 2002-06-02 Kazu Hirata <kazu@cs.umass.edu>
6077
6078 * emit-rtl.c: Fix formatting.
6079 * errors.h: Likewise.
6080 * except.c: Likewise.
6081 * explow.c: Likewise.
6082 * expmed.c: Likewise.
6083 * expr.c: Likewise.
6084 * expr.h: Likewise.
6085
6086 2002-06-02 Kazu Hirata <kazu@cs.umass.edu>
6087
6088 * config/h8300/elf.h: Fix formatting.
6089 * config/h8300/rtems.h: Likewise.
6090
6091 2002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
6092
6093 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
6094
6095 2002-06-02 Tom Tromey <tromey@redhat.com>
6096
6097 * fixinc/fixincl.x: Rebuilt.
6098 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
6099
6100 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6101
6102 config/i370:
6103 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
6104 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
6105 * mvs.h: Similarly.
6106 * oe.h: Similarly.
6107
6108 Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
6109
6110 * final.c (final): Allow notes to not have computed addresses;
6111 kill no longer needed STACK_REGS ifdef.
6112
6113 2002-06-02 Richard Henderson <rth@redhat.com>
6114
6115 * gcse.c (bypass_conditional_jumps): Fix typo last change.
6116
6117 Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
6118
6119 * loop.c (emit_prefetch_instructions): Properly place the address
6120 computation.
6121
6122 Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
6123
6124 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
6125 (set_block_for_insn): Turn into macro.
6126 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
6127 * cfglayout.c (insn_scopes): Kill.
6128 (scope_to_insns_initialize): Do not use insn_scopes.
6129 (scope_to_insns_finalize): Likewise.
6130 (duplicate_insn_chain): Likewise.
6131 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
6132 * cfgrtl.c (basic_block_for_insn): Kill.
6133 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
6134 (create_basic_block_structure): Use reorder_insns.
6135 (compute_bb_for_insn): Do not use basic_block_for_insn.
6136 (merge_blocks_nomove): Likewise.
6137 (update_bb_for_insn): Likewise.
6138 (verify_flow_info): Likewise.
6139 (set_block_for_insn): Kill.
6140 * combine.c (try_combine): Update gen_rtx_INSN call.
6141 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
6142 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
6143 scopes and BBs.
6144 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
6145 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
6146 Clear BB.
6147 (emit_insns_after): Simplify.
6148 (emit_copy_of_insn_after): Copy scope.
6149 * final.c (final_start_function): Lower scopes.
6150 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
6151 * integrate.c (copy_insn_list): Cope scopes.
6152 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
6153 * loop.c (loop_optimize): Do not care block notes.
6154 * print-rtl.c (print_rtx): Print BB.
6155 * recog.c (apply_change_group): Simplify.
6156 * rtl.c (copy_rtx): Handle 'B'.
6157 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
6158 * rtl.h (Field accessors): Update indexes.
6159 * sched-ebb.c (schedule_ebbs): Do not lower notes.
6160 * sched-rgn.c (schedule_insns): Likewise.
6161 * toplev.c (rest_of_compilation): Lower notes.
6162 * unroll.c (unroll_loop): Do not care scoping notes.
6163 (copy_loop_body): Copy scopes.
6164
6165 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6166
6167 config/h8300:
6168 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
6169 SUBTARGET_SPEC.
6170 * rtems.h: Similarly.
6171 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
6172 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
6173 (TARGET_CPU_CPP_BUILTINS): Use.
6174
6175 2002-06-02 Richard Henderson <rth@redhat.com>
6176
6177 * alias.c: Include target.h.
6178 (mark_constant_function): Use targetm.binds_local_p instead
6179 of checking TREE_PUBLIC ourselves.
6180 * Makefile.in (alias.o): Add TARGET_H.
6181
6182 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6183
6184 * c-lex.c: Update copyright and file description.
6185
6186 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6187
6188 * config/fr30/fr30.h: Update to new CPP macros.
6189
6190 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6191
6192 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
6193
6194 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6195 Zack Weinberg <zack@codesourcery.com>
6196
6197 * c-common.c (c_common_init): Override cpplib's default
6198 warn_long_long setting.
6199 * c-lex.c (lex_number): Replace with interpret_integer,
6200 interpret_float, narrowest_unsigned_type and
6201 narrowest_signed_type, taking advantage of the new
6202 cpplib functionality.
6203 * cpperror.c (_cpp_begin_message): If a warning is turned
6204 into an error, avoid printing "warning:".
6205 * cppexp.c (cpp_num_sign_extend): New.
6206 * cppinit.c: Update comment.
6207 * cpplib.h (cpp_num_sign_extend): New.
6208 * tree.h: Update comment.
6209
6210 2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
6211
6212 * diagnostic.h (struct diagnostic_context): Add new member
6213 internal_error.
6214 (internal_error_function): Remove declaration.
6215 * diagnostic.c (internal_error_function): Remove definition..
6216 (internal_error): Adjust use.
6217
6218 2002-06-02 Richard Henderson <rth@redhat.com>
6219
6220 * rtl.h (CC0_P): New.
6221 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
6222 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
6223 (bypass_block): Save old dest block for dump text.
6224 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
6225 Allow only true SET insns, not single_set.
6226
6227 2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
6228
6229 * diagnostic.c (diagnostic_finish): Rename to output_flush.
6230 (clear_disgnostic_info): Rename to output_clear_data. Use false
6231 instead of 0 for boolean value.
6232 Adjust function call throughout.
6233
6234 Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
6235
6236 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
6237 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
6238
6239 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6240
6241 * d30v.h (CPP_PREDEFINES): Replace with
6242 (TARGET_CPU_CPP_BUILTINS): New.
6243
6244 2002-06-02 Roger Sayle <roger@eyesopen.com>
6245
6246 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
6247
6248 Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
6249
6250 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
6251
6252 2002-06-02 Richard Henderson <rth@redhat.com>
6253
6254 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
6255
6256 2002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
6257
6258 Support for C++ constructors/destructors.
6259 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
6260 instead of looping if main() returns.
6261 (asm_file_start): Output global symbols that cause .data and .bss
6262 initialization code to be linked in, unconditionally for now.
6263 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
6264 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
6265 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
6266 (LIBSTDCXX): New.
6267 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
6268 (__tablejump__): New.
6269 (__do_copy_data, __do_clear_bss): New.
6270 (__do_global_ctors, __do_global_dtors): New.
6271 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
6272 _ctors, _dtors.
6273
6274 2002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6275
6276 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
6277 (CPP_SPEC, CPP_PREDEFINES): Kill.
6278 * c4x/rtems.h (CPP_PREDEFINES): Kill.
6279 (TARGET_OS_CPP_BUILTINS): New.
6280
6281 Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
6282
6283 * Makefile.in (tracer.o): New.
6284 * params.def (TRACER_*): New options.
6285 * rtl.h (tracer): Declare.
6286 * timevar.def (TV_TRACER): New.
6287 * toplev.c (dump_file_index): Add DFI_tracer.
6288 (dump_file_info): Add tracer.
6289 (flag_tracer): New.
6290 (lang_indepdenent_options): Add tracer.
6291 (rest_of_compilation): Call tracer.
6292 * tracer.c: New file.
6293 * invoke.texi (-ftracer): Document.
6294 (--param tracer-*): Document.
6295
6296 2002-06-01 Daniel Berlin <dberlin@dberlin.org>
6297
6298 * tree-inline.c (expand_call_inline): Make the statement
6299 expression we generate have a COMPOUND_STMT.
6300
6301 2002-06-01 Roger Sayle <roger@eyesopen.com>
6302
6303 * gcse.c (cprop_cc0_jump): Function deleted.
6304 (cprop_jump): Take an additional argument which is the possibly
6305 NULL cc setting insn immediately before the conditional jump.
6306 When a MODE_CC set is present, substitute it into the JUMP_INSN
6307 before attempting the constant propagation.
6308 (cprop_insn): Recognize cc setters followed by conditional jumps
6309 as a special case. Use cprop_jump instead of cprop_cc0_jump.
6310 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
6311 (find_bypass_set): New function based upon find_avail_set used by
6312 cprop, but finds constant expressions available at the end of
6313 basic blocks.
6314 (bypass_block): New function. Given a basic block that begins
6315 with a conditional jump and multiple incoming edges, perform
6316 the jump bypass optimization.
6317 (bypass_conditional_jumps): New function. Call bypass_block with
6318 each suitable basic block in the CFG using a simple single pass.
6319
6320 2002-06-01 Roger Sayle <roger@eyesopen.com>
6321
6322 * tree.c (real_minus_onep): New function to test for -1.0.
6323 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
6324
6325 2002-06-01 Roger Sayle <roger@eyesopen.com>
6326
6327 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
6328 and "!p && !q" into "(p|q) == 0" under suitable conditions.
6329
6330 2002-06-01 Andreas Jaeger <aj@suse.de>
6331
6332 * cppexp.c (cpp_classify_number): Cast precission to int for
6333 correct printf format.
6334
6335 2002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
6336
6337 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
6338 expected, but don't really exist: atmega83, atmega85, attiny10.
6339 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
6340 emulations for all devices.
6341 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
6342 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
6343
6344 2002-06-01 Kazu Hirata <kazu@cs.umass.edu>
6345
6346 * config/h8300/h8300-protos.h: Add a prototype for
6347 h8300_shift_needs_scratch_p.
6348 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
6349 * config/h8300/h8300.h (OK_FOR_R): New.
6350 (OK_FOR_S): Likewise.
6351 (OK_FOR_T): Likewise.
6352 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
6353 * config/h8300/h8300.md (anonymous shift patterns): Use
6354 constraints R, S, and T.
6355
6356 Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6357
6358 * basic-block.h (struct basic_block_def): New field loop_father.
6359 (BB_VISITED): New flag.
6360 (struct loop): New field pred, removed field shared.
6361 (struct loops): New field parray.
6362 (LOOP_EXITS_DOMS): Removed.
6363 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
6364 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
6365 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
6366 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
6367 verify_loop_structure): Declare.
6368 * cfg.c (entry_exit_blocks): Initialize loop_father field.
6369 * cfganal.c (dfs_enumerate_from): New function.
6370 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
6371 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
6372 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
6373 flow_loop_dump, flow_loops_dump, flow_loops_free,
6374 flow_loop_tree_node_add, flow_loop_level_compute,
6375 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
6376 flow_loop_outside_edge_p): Modified for new infrastructure.
6377 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
6378 redirect_edge_with_latch_update, flow_loop_free): New static functions.
6379 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
6380 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
6381 find_common_loop, verify_loop_structure, loop_latch_edge,
6382 loop_preheader_edge): New functions.
6383 (flow_loops_cfg_dump): Do not show dominators, as this information
6384 does not remain up to date long.
6385 (flow_loops_find): Store results in new format.
6386 * predict.c (propagate_freq, estimate_probability,
6387 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
6388 infrastructure.
6389
6390 2002-06-01 Alan Lehotsky <apl@alum.mit.edu>
6391
6392 * except.c (nothrow_function_p): Walk epilogue delay list
6393 checking the insn, not the chain for potential throws.
6394
6395 2002-05-31 Zack Weinberg <zack@codesourcery.com>
6396
6397 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
6398 (install): Refer to install-cpp directly.
6399 (uninstall-cpp): Folded into uninstall rule.
6400 * configure.in: Delete all code relating to --disable-cpp.
6401 * configure: Regenerate.
6402 * config/t-install-cpp: Delete.
6403
6404 2002-05-31 Richard Henderson <rth@redhat.com>
6405
6406 * configure.in (HAVE_AS_TLS): Add alpha tests.
6407 * configure: Rebuild.
6408 * config/alpha/alpha.c (TARGET_AS_TLS): New.
6409 (alpha_tls_size, alpha_tls_size_string): New.
6410 (overide_options): Set it. Always install machine_status hooks.
6411 (input_operand): Accept got tls predicates.
6412 (local_symbol_p): Merge into ...
6413 (local_symbolic_operand): ... here. Reject tls symbols.
6414 (global_symbolic_operand): Likewise.
6415 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
6416 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
6417 (tp16_symbolic_operand, tp32_symbolic_operand): New.
6418 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
6419 (alpha_encode_section_info): Handle TLS symbols.
6420 (alpha_strip_name_encoding): Likewise.
6421 (alpha_legitimate_address_p): Likewise.
6422 (alpha_legitimize_address): Likewise.
6423 (alpha_expand_mov): Early exit to avoid nop moves.
6424 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
6425 (alpha_init_machine_status, alpha_mark_machine_status,
6426 alpha_free_machine_status): Always define.
6427 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
6428 (print_operand, print_operand_address): Add TLS relocs.
6429 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
6430 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
6431 (TARGET_SWITCHES): Add -mtls-kernel.
6432 (alpha_tls_size, alpha_tls_size_string): New.
6433 (TARGET_OPTIONS): Add -mtls-size=.
6434 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
6435 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
6436 (ASM_OUTPUT_LABELREF): Skip %.
6437 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
6438 (PREDICATE_CODES): Update.
6439 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
6440 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
6441 UNSPEC_TP, UNSPECV_SET_TP): New.
6442 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
6443 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
6444 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
6445 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
6446 (call_value_osf_2_er): Accept anything as op4.
6447 * config/alpha/alpha-protos.h: Update.
6448 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
6449
6450 2002-05-31 Zack Weinberg <zack@codesourcery.com>
6451
6452 * cppinit.c (append_include_chain): Always pay attention to
6453 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
6454 marker on argument.
6455
6456 2002-05-31 Kazu Hirata <kazu@cs.umass.edu>
6457
6458 * target.h: Fix formatting.
6459 * timevar.h: Likewise.
6460 * tlink.c: Likewise.
6461 * toplev.c: Likewise.
6462 * toplev.h: Likewise.
6463 * tree.c: Likewise.
6464 * tree-dump.h: Likewise.
6465 * tree.h: Likewise.
6466 * tree-inline.h: Likewise.
6467 * unroll.c: Likewise.
6468 * unwind-dw2.c: Likewise.
6469 * unwind-dw2-fde.c: Likewise.
6470 * unwind-dw2-fde-glibc.c: Likewise.
6471 * unwind-dw2-fde.h: Likewise.
6472 * unwind.h: Likewise.
6473 * unwind-sjlj.c: Likewise.
6474 * varasm.c: Likewise.
6475 * varray.h: Likewise.
6476 * vmsdbg.h: Likewise.
6477 * vmsdbgout.c: Likewise.
6478 * xcoffout.h: Likewise.
6479
6480 2002-05-31 Igor Shevlyakov <igor@microunity.com>
6481
6482 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
6483 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
6484
6485 2002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
6486
6487 * gcc.c (cpp_unique_options): Remove "-d" options.
6488 (cpp_debug_options): New spec string.
6489 (default_compilers): Use it.
6490 * objc/lang-specs.h: Likewise.
6491
6492 2002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
6493
6494 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
6495 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
6496 * gcc/mklibgcc.in: Likewise.
6497 * gcc/config/arc/t-arc: Likewise.
6498 * gcc/configure.in: Likewise.
6499 * gcc/configure: Regenerate.
6500
6501 2002-05-31 Stan Shebs <shebs@apple.com>
6502 Turly O'Connor <turly@apple.com>
6503
6504 * c-decl.c (struct binding_level): Change int field n_incomplete
6505 to tree list incomplete_list.
6506 (clear_binding_level): Init field with NULL.
6507 (pushdecl): Add incomplete type to list.
6508 (mark_binding_level): Mark the incomplete list.
6509 (finish_struct): Scan the incomplete list for types instead
6510 of all decls in the current binding level.
6511
6512 2002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
6513
6514 * pa.c (output_millicode_call): Add missing '%' characters.
6515 (output_call): Likewise.
6516
6517 2002-05-31 David Edelsohn <edelsohn@gnu.org>
6518
6519 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
6520 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
6521
6522 2002-05-31 Alan Lehotsky <apl@alum.mit.edu>
6523
6524 * varasm.c (mark_constant_pool): Walk epilogue delay list
6525 checking the insn, not the chain for potential constants.
6526
6527 Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
6528
6529 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
6530
6531 Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
6532
6533 * i386.c (classify_argument): Properly handle base types.
6534
6535 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
6536 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
6537 registers.
6538
6539 Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
6540
6541 * gcse.c (gcse_emit_move_after): New.
6542 (pre_delete, hoist_store): Use it.
6543
6544 * reload1.c (emit_input_reload_insns): Use constrain_operands
6545 instead of constraint_accepts_reg_p to verify optimization.
6546 (constraint_accepts_reg_p): Kill
6547
6548 * reload1.c (reload_cse_delete_noop_set): Kill.
6549 (reload_cse_simplify): use delte_insn_and_edges.
6550
6551 2002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6552
6553 * cfgloop.c (flow_loops_find): Initialize first and last fields
6554 correctly.
6555
6556 2002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
6557
6558 * c-common.c (builtin_define_std): Correct logic.
6559
6560 2002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
6561
6562 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
6563 (output_call): Likewise.
6564
6565 2002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
6566
6567 * pa.c: Move output.h include after tree.h include.
6568 (pa_asm_output_mi_thunk): Constify identifier lab.
6569
6570 2002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
6571
6572 * config/ns32k/ns32k.h: Define named constants for the
6573 bits in target_flags and use them.
6574 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
6575
6576 2002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
6577
6578 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
6579 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
6580 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
6581 default scheduling model.
6582 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
6583 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
6584 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
6585 * doc/install.texi (hppa*-*-*): Document default scheduling.
6586
6587 2002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
6588
6589 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
6590
6591 2002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
6592
6593 * config.gcc (ns32k-*-netbsd*): Set tm_file to
6594 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
6595 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
6596 netbsd.h, or netbsd-aout.h.
6597
6598 2002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
6599
6600 * longlong.h (count_trailing_zeros): Add missing \, and clean up
6601 whitespace in __ns32000__ case.
6602
6603 2002-05-31 Aldy Hernandez <aldyh@redhat.com>
6604
6605 * expr.c (expand_expr): Output partially zeroed out vectors with
6606 output_constant_def.
6607
6608 2002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
6609
6610 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
6611 (sh-*-netbsdelf*)
6612 (shl*-*-netbsdelf*): New targets.
6613 * config/sh/netbsd-elf.h: New file.
6614 * config/sh/t-netbsd: New file.
6615
6616 2002-05-30 Richard Henderson <rth@redhat.com>
6617 Eric Botcazou <ebotcazou@multimania.com>
6618
6619 PR optimization/6822
6620 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
6621 to unsigned int for op1 comparisons. Use gen_int_mode.
6622
6623 2002-05-30 Eric Botcazou <ebotcazou@multimania.com>
6624
6625 * expmed.c (const_mult_add_overflow_p): New.
6626 * expr.h: Declare it.
6627 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
6628 Don't eliminate the biv if the giv has a constant multiplier and
6629 the rhs argument of the comparison does satisfy the predicate.
6630 Use expand_mult_add to compute the replacement constant.
6631
6632 2002-05-30 Osku Salerma <osku@iki.fi>
6633
6634 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
6635 (c_common_get_alias_set): Handle it.
6636 * doc/extend.texi: Document it.
6637
6638 2002-05-30 Richard Henderson <rth@redhat.com>
6639
6640 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
6641 * toplev.c (process_options): Don't check it.
6642 * doc/tm.texi: Don't document it.
6643 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
6644 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
6645 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
6646 frame pointer optimization if current_function_profile.
6647
6648 2002-05-30 Kazu Hirata <kazu@cs.umass.edu>
6649
6650 * langhooks.c: Fix formatting.
6651 * langhooks.h: Likewise.
6652 * lcm.c: Likewise.
6653 * libgcc2.c: Likewise.
6654 * lists.c: Likewise.
6655 * local-alloc.c: Likewise.
6656 * loop.c: Likewise.
6657 * loop.h: Likewise.
6658
6659 2002-05-30 Marc Espie <espie@openbsd.org>
6660
6661 * config.gcc (sparc64-*-openbsd*): New.
6662 * config/sparc/openbsd1-64.h: New.
6663 * config/sparc/openbsd64.h: New.
6664
6665 2002-05-30 Jeff Law <law@redhat.com>
6666
6667 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
6668 a dead insn with a REG_RETVAL note when the entire libcall is not
6669 dead and remove the associated REG_LIBCALL note at the same time.
6670
6671 Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
6672
6673 * lcm.c (output.h): #include.
6674 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
6675 as an ordinary block.
6676 (optimize_mode_switching): Don't pretend that the exit block is
6677 an ordinary block, or handle sucessors of entry block specially.
6678 Instead, split edges from entry block and to exit block, and
6679 put a computing definition on the thus gained post-entry-block,
6680 and a need on the pre-exit-block.
6681
6682 Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
6683
6684 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
6685 * rtl.texi: Document 'B'
6686
6687 2002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
6688
6689 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
6690 at run-time.
6691 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
6692
6693 2002-05-30 Aldy Hernandez <aldyh@redhat.com>
6694
6695 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
6696 const0_rtx instead of NULL_RTX when in error.
6697 (altivec_expand_abs_builtin): Same.
6698 (rs6000_expand_binop_builtin): Same.
6699 (altivec_expand_predicate_builtin): Same.
6700 (altivec_expand_stv_builtin): Same.
6701 (rs6000_expand_ternop_builtin): Same.
6702 (altivec_expand_builtin): Same.
6703
6704 2002-05-29 David S. Miller <davem@redhat.com>
6705
6706 * rtl.h (clear_emit_caches): Delete.
6707 * integrate.c (output_inline_function): Don't call it.
6708 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
6709 (clear_emit_caches): Delete definition.
6710 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
6711
6712 2002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
6713
6714 * config/mmix/mmix.c: Include real.h.
6715 (mmix_constant_address_p): Remove redundant test before switch.
6716
6717 2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
6718
6719 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
6720 only if not already defined.
6721
6722 2002-05-29 Kazu Hirata <kazu@cs.umass.edu>
6723
6724 * config/h8300/h8300-protos.h: Remove prototypes for
6725 ok_for_bclr and small_power_of_two.
6726 * config/h8300/h8300.c (small_power_of_two): Remove.
6727 (ok_for_blcr): Likewise.
6728 (fix_bit_operand): Make WHAT deal with an integer instead of a
6729 constraint character.
6730 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
6731 (CONST_OK_FOR_P): Likewise.
6732 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
6733 CONST_OK_FOR_P any more.
6734 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
6735 of fix_bit_operand.
6736 (iorqi3): Likewise.
6737 (xorqi3): Likewise.
6738
6739 2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
6740
6741 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
6742 (CPP_PREDEFINES): Make sure this is undefined.
6743 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
6744 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
6745 or -U__MIPSEB__ before defining one or the other. Instead,
6746 use %(subtarget_endian_default) if neither -EB nor -EL are
6747 specified.
6748 (SUBTARGET_EXTRA_SPECS): Define.
6749 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
6750 %(netbsd_cpp_spec).
6751
6752 2002-05-29 Hans-Peter Nilsson <hp@axis.com>
6753
6754 * doc/md.texi (Patterns): Note pattern condition pitfall
6755 for unnamed insn.
6756
6757 2002-05-29 Aldy Hernandez <aldyh@redhat.com>
6758
6759 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
6760 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
6761 ternary operations from here...
6762 (rs6000_expand_builtin): ...to here.
6763 New argument expandedp.
6764 Change all instances of altivec_expand_binop_builtin to
6765 rs6000_expand_binop_builtin.
6766 (altivec_expand_unop_builtin): Rename to
6767 rs6000_expand_unop_builtin.
6768 (altivec_expand_binop_builtin): Rename to
6769 rs6000_expand_binop_builtin.
6770 (altivec_expand_ternop_builtin): Rename to
6771 rs6000_expand_ternop_builtin.
6772
6773 2002-05-29 Richard Henderson <rth@redhat.com>
6774
6775 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
6776 (TARGET_BI_ARCH): Likewise.
6777 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
6778 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
6779 (TARGET_64BIT_DEFAULT): Default to 0.
6780 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
6781
6782 2002-05-29 Richard Henderson <rth@redhat.com>
6783
6784 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
6785 (get_pc_thunk_name): New.
6786 (output_set_got): Use it.
6787 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
6788 into linkonce sections.
6789
6790 2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
6791
6792 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
6793 (CPP_PREDEFINES): Make sure this is undefined.
6794 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
6795 (CPP_SUBTARGET_SPEC): Don't provide different versions for
6796 default-32 and default-64. Just always use %(netbsd_cpp_spec).
6797 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
6798 cpp_subtarget_spec64. Add netbsd_cpp_spec.
6799 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
6800 (CPP_PREDEFINES): Make sure this is undefined.
6801 (SUBTARGET_EXTRA_SPECS): Define.
6802 (CPP_SPEC): Use %(netbsd_cpp_spec).
6803
6804 2002-05-29 Jeff Law <law@redhat.com>
6805
6806 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
6807
6808 * flow.c (propagate_one_insn): Do not remove a dead insn if it
6809 contains a REG_RETVAL note.
6810
6811 * haifa-sched (sched_analyze): Remove another useless clearing
6812 of SCHED_GROUP_P I missed yesterday.
6813
6814 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
6815 * pa.c (pa_asm_output_mi_thunk): New function.
6816 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
6817
6818 2002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
6819 Marek Michalkiewicz <marekm@amelek.gda.pl>
6820
6821 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
6822 (avr_asm_only_p): Make non-static.
6823 (enum avr_arch): Remove.
6824 (avr_arch_types): New.
6825 (avr_mcu_types): Update.
6826 (avr_override_options): Use avr_arch_types table instead of switch.
6827 * avr.h (CPP_PREDEFINES): Die.
6828 (avr_base_arch_macro, avr_extra_arch_macro): New.
6829 (TARGET_CPU_CPP_BUILTINS): New.
6830 (CPP_SPEC, EXTRA_SPECS): Simplify.
6831 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
6832 CPP_AVR5_SPEC): Die.
6833
6834 2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
6835
6836 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
6837 NETBSD_OS_CPP_BUILTINS_AOUT.
6838 (SUBTARGET_EXTRA_SPECS): Define.
6839 (CPP_SPEC): Use %(netbsd_cpp_spec).
6840
6841 2002-05-29 Richard Henderson <rth@redhat.com>
6842
6843 * config/i386/i386.c (ix86_output_function_epilogue): New.
6844 (TARGET_ASM_FUNCTION_EPILOGUE): New.
6845 (pic_label_name): Remove.
6846 (pic_labels_used): New.
6847 (ix86_asm_file_end): Emit one pc load stub for each register used.
6848 (output_set_got): Generate deep pc load to any register.
6849 (ix86_select_alt_pic_regnum): New.
6850 (ix86_save_reg): Don't save pic register if we can find a valid
6851 call-clobbered replacement.
6852 (ix86_expand_prologue): If we found a valid replacement, renumber
6853 pic_offset_table_rtx.
6854 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
6855 pic_offset_table_rtx after reload.
6856 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
6857 * config/i386/i386.md (set_got): Make insn, not expander.
6858 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
6859
6860 2002-05-29 Richard Henderson <rth@redhat.com>
6861
6862 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
6863 alignment for alloca.
6864
6865 2002-05-29 Richard Henderson <rth@redhat.com>
6866
6867 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
6868 (print_operand_address): Only add rip for symbolic addresses
6869 for which we do not have another relocation type.
6870
6871 2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
6872
6873 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
6874 (EXTRA_SPECS): Add netbsd_cpp_spec.
6875 (CPP_SPEC): Use %(netbsd_cpp_spec).
6876 (CPP_PREDEFINES): Remove.
6877 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
6878 (EXTRA_SPECS): Define.
6879 (CPP_SPEC): Use %(netbsd_cpp_spec).
6880 (CPP_PREDEFINES): Remove.
6881
6882 2002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
6883
6884 PR preprocessor/6844
6885 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
6886 NUL.
6887
6888 2002-05-29 Eric Christopher <echristo@redhat.com>
6889
6890 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
6891 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
6892
6893 2002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
6894
6895 * config/fr30/fr30.md: Remove previous restriction on splits.
6896 Enforce conformance through gen_lowpart and cont_int_operand.
6897 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
6898 as the assembler does not support ".bss".
6899
6900 2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
6901
6902 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
6903 (CPP_PREDEFINES): Remove.
6904 (SUBTARGET_EXTRA_SPECS): Define.
6905 (CPP_SPEC): Use %(netbsd_cpp_spec).
6906 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
6907 (CPP_PREDEFINES): Remove.
6908 (SUBTARGET_EXTRA_SPECS): Define.
6909 (CPP_SPEC): Use %(netbsd_cpp_spec).
6910 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
6911 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
6912 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
6913 Add netbsd_cpp_spec.
6914 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
6915
6916 2002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
6917 Zack Weinberg <zack@codesourcery.com>
6918
6919 * cppexp.c (cpp_num): Move to cpplib.h.
6920 (CPP_ERROR): Remove.
6921 (interpret_float_suffix, interpret_int_suffix): New.
6922 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
6923 (cpp_classify_number, cpp_interpret_integer): New.
6924 (interpret_number): Remove.
6925 (eval_token): Update to use new routines.
6926 * cpphash.h (cpp_num_part): Move to cpplib.h.
6927 * cppinit.c (cpp_post_options): Set warn_long_long.
6928 * cpplib.h (struct cpp_options): Add warn_long_long.
6929 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
6930 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
6931 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
6932 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
6933 cpp_interpret_integer): New.
6934
6935 2002-05-29 Joel Sherrill <joel@OARcorp.com>
6936
6937 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
6938
6939 2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
6940
6941 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
6942 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
6943 (CPP_SUBTARGET_SPEC): Define.
6944 (SUBTARGET_EXTRA_SPECS): Define.
6945 (CPP_SPEC): Remove.
6946
6947 2002-05-29 Chris Lattner <sabre@nondot.org>
6948
6949 * ssa.c (rename_insn_1): Rename uses of undefined registers to
6950 prevent confusion if/when the register is defined.
6951
6952 2002-05-29 Hans-Peter Nilsson <hp@axis.com>
6953
6954 PR target/6838
6955 * config/cris/cris.md: Fix typos and thinkos in comments.
6956 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
6957 second alternative.
6958 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
6959 ("*mov_sideqi_mem"): Similar, but for operand 3.
6960 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
6961 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
6962 Remove spurious mode specifier on operand 2.
6963
6964 2002-05-29 Kazu Hirata <kazu@cs.umass.edu>
6965
6966 * config/h8300/h8300-protos.h: Remove the prototype for
6967 o_operand.
6968 Add prototypes for single_one_operand and single_zero_operand.
6969 * config/h8300/h8300.c (o_operand): Remove.
6970 (single_one_operand): New.
6971 (single_zero_operand): Likewise.
6972 (print_operand): For 'V' operand, and the operand with 0xff.
6973 For 'V' and 'W' operands, do not and the bit position with 7.
6974 * config/h8300/h8300.md (various anonymous patterns): Replace
6975 use of exact_log2 with single_one_operand/single_zero_operand.
6976
6977 2002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
6978
6979 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
6980
6981 2002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
6982
6983 * config/s390/s390.c (legitimate_pic_operand_p): Do not
6984 accept symbolic LARL operands.
6985 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
6986 epilogue insns.
6987
6988 2002-05-29 Hartmut Penner <hpenner@de.ibm.com>
6989
6990 * config/s390/s390.md (cmpstr_64/31): Mark whole
6991 input registers as used.
6992
6993 2002-05-28 Richard Henderson <rth@redhat.com>
6994
6995 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
6996 not current_function_uses_pic_offset_table and
6997 current_function_uses_const_pool; examine current_function_profile.
6998 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
6999 input to blockage if needed.
7000 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
7001 (legitimize_pic_address): Likewise. Set regs_ever_live for
7002 pic_offset_table_rtx when invoked during reload.
7003 * config/i386/i386.h (FINALIZE_PIC): Remove.
7004 * config/i386/i386.md (tablejump): Reformat. Do not set
7005 current_function_uses_pic_offset_table.
7006 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
7007 (blockage): Accept anything as operand 0.
7008
7009 2002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
7010
7011 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
7012 common CPP built-ins for all NetBSD a.out targets.
7013 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
7014 common CPP built-ins for all NetBSD ELF targets.
7015 * config/netbsd.h: Add missing notice.
7016 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
7017 for all NetBSD targets.
7018 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
7019 for all NetBSD targets using an LP64 code model.
7020 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
7021 NetBSD targets.
7022
7023 2002-05-28 Richard Henderson <rth@redhat.com>
7024
7025 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
7026 update if UPDATE_LIFE_LOCAL.
7027
7028 2002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
7029
7030 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
7031
7032 Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
7033 Jason R. Thorpe <thorpej@wasabisystems.com>
7034
7035 config/sh reorganization to factor out endianness and coff:
7036
7037 * config/sh/little.h: New file.
7038 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
7039 defined, define to 0 to select big-endian.
7040 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
7041 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
7042 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
7043 * config/sh/t-be: New file.
7044 * config/sh/t-le: New file.
7045
7046 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
7047 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
7048 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
7049 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
7050 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
7051 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7052 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
7053 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
7054 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
7055 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
7056 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
7057 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
7058 (LINK_SPEC): Define to SH_LINK_SPEC.
7059 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
7060 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
7061 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
7062 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
7063 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
7064 * config/sh/coff.h: New file.
7065 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
7066 (TARGET_OBJFMT_CPP_BUILTINS): Define.
7067 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
7068 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
7069 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
7070 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
7071 (PTRDIFF_TYPE): Likewise.
7072 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
7073 (CPP_PREDEFINES): Don't define.
7074 (TARGET_OBJFMT_CPP_BUILTINS): Define.
7075 (LINK_SPEC): Define to SH_LINK_SPEC.
7076 (LINK_EMUL_PREFIX): Redefine.
7077 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
7078 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
7079 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
7080 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
7081 (TARGET_OS_CPP_BUILTINS): Define.
7082 (TARGET_DEFAULT): Redefine.
7083 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
7084 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
7085 (LINK_SPEC): Don't redefine.
7086 (LINK_DEFAULT_CPU_EMUL): Redefine.
7087 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
7088 * sh.c (sh_asm_named_section): Don't declare / define.
7089 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
7090 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
7091 (sh64-*-elf* tm_file): Likewise.
7092 (sh-*-rtemself* tm_file): Likewise.
7093 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
7094 (sh-*-linux* tmake_file): Add sh/t-le.
7095 (sh-*-rtems* tm_file): Add sh/coff.h
7096 (sh-*-* tm_file): Likewise.
7097
7098 Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
7099
7100 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
7101 CONSTANT_POOL_ADDRESS_P.
7102
7103 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
7104
7105 2002-05-28 David Edelsohn <edelsohn@gnu.org>
7106 Jeff Law <law@redhat.com>
7107
7108 * optabs.c (expand_binop): Fix nwords sign warnings.
7109 generate pseudo for add_optab.
7110
7111 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
7112 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
7113
7114 2002-05-28 Marc Espie <espie@openbsd.org>
7115
7116 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
7117 inherited from gas.h.
7118 (ASM_QUAD): Undef. OpenBSD does not support it.
7119
7120 2002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
7121
7122 * doc/install.texi (binaries): Change mingw binaries
7123 link to www.mingw.org.
7124
7125 2002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7126
7127 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
7128
7129 2002-05-28 Richard Henderson <rth@redhat.com>
7130
7131 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
7132 bottom alignment for leaf functions.
7133
7134 2002-05-28 Zack Weinberg <zack@codesourcery.com>
7135
7136 * config/pa/milli32.S, config/pa/lib1funcs.asm,
7137 config/sparc/sol2-g1.asm: Delete unused files.
7138
7139 2002-05-28 Richard Henderson <rth@redhat.com>
7140
7141 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
7142
7143 * flow.c (calculate_global_regs_live): Rename call_used to
7144 invalidated_by_call. Initialize from regs_invalidated_by_call
7145 instead of call_used_regs.
7146
7147 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
7148 DECL_EXTERNAL.
7149
7150 2002-05-28 Zack Weinberg <zack@codesourcery.com>
7151
7152 * tree.h: Don't include real.h.
7153 Forward-declare struct realvaluetype.
7154 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
7155 contain it.
7156 (TREE_REAL_CST_PTR): New accessor.
7157 (TREE_REAL_CST): Update.
7158 * real.h: Include machmode.h.
7159 (realvaluetype): Make it struct realvaluetype, not a typedef.
7160 (build_real): Prototype here.
7161
7162 * tree.c: Include real.h.
7163 (build_real): Allocate the REAL_VALUE_TYPE as a separate
7164 object in GC memory, set TREE_REAL_CST_PTR to point to it.
7165 (build_real_from_int_cst): Use build_real.
7166 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
7167 REAL_CST.
7168
7169 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
7170 fold-const.c, print-tree.c, real.c: Include real.h.
7171 * Makefile.in: Update dependency lists.
7172
7173 2002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7174
7175 * basic-block.h (last_basic_block): Declare.
7176 (expunge_block_nocompact): Declaration removed.
7177 (compact_blocks): Declare.
7178 * cfg.c (last_basic_block): New variable.
7179 (expunge_block_nocompact): Removed.
7180 (expunge_block): Do not compact basic blocks.
7181 (compact_blocks): New.
7182 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
7183 longer change.
7184 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
7185 last_basic_block.
7186 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
7187 real positions of blocks.
7188 (delete_unreachable_blocks): Simplified -- quadratic behavior now
7189 cannot occur.
7190 (cleanup_cfg): Compact blocks.
7191 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
7192 basic_block_info varray.
7193 (flow_delete_block): Comment update.
7194 (back_edge_of_syntactic_loop_p): Modify position check code.
7195 (verify_flow_info): Update checking.
7196 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
7197 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
7198 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
7199 indices no longer change.
7200 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
7201 last_basic_block.
7202 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
7203 * profile.c (branch_prob): Compact blocks.
7204 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
7205 last_basic_block.
7206
7207 2002-05-28 Kazu Hirata <kazu@cs.umass.edu>
7208
7209 * config/h8300/h8300.md (two anonymous patterns): New.
7210
7211 2002-05-28 David S. Miller <davem@redhat.com>
7212
7213 * config/sparc/sparc.md (cpu): Tidy.
7214 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
7215 'trap'.
7216 (in_call_delay): Delete reference to 'return' type.
7217 (eligible_for_return_delay, in_return_delay, define_delay
7218 referencing those): Delete.
7219 (rest of file): Use new type attributes as appropriate.
7220 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
7221 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
7222 * config/sparc/ultra1_2.md (us1_single): New reservation.
7223 (us1_ialuX): Likewise.
7224 * config/sparc/ultra3.md (us3_single): Likewise.
7225 (us3_ialuX): Likewise.
7226 (us3_imul, us3_idiv): Tweak.
7227
7228 2002-05-28 Richard Henderson <rth@redhat.com>
7229
7230 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
7231 STRING_CST.
7232
7233 2002-05-28 Richard Henderson <rth@redhat.com>
7234
7235 * config.gcc: Obsolete mn10200.
7236
7237 2002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
7238
7239 * cppexp.c (interpret_number): Optimize for single-digit
7240 and less-than-half-precision cases.
7241 (num_trim, num_positive, num_div_op): Cast constants.
7242
7243 2002-05-27 Bo Thorsen <bo@suse.de>
7244
7245 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
7246 3.1 branch. The file was made by Jakub Jelinek.
7247 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
7248 support so multilib doesn't break. And don't define this at all
7249 when -Dinhibit_libc is used.
7250 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
7251 * config/i386/t-linux64: Implement full multilib support. Patch
7252 originally done by Andreas Jaeger and Jakub Jelinek.
7253
7254 2002-05-27 Roger Sayle <roger@eyesopen.com>
7255
7256 * c-common.c: Add support for __attribute__((nothrow)) to specify
7257 that a function cannot throw an exception (using TREE_NOTHROW).
7258 (handle_nothrow_attribute): New function to process this attribute.
7259
7260 * doc/extend.texi: Document the new nothrow function attribute.
7261
7262 2002-05-27 H.J. Lu (hjl@gnu.org)
7263
7264 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
7265 (num_positive): Likewise.
7266 (num_div_op): Likewise.
7267
7268 2002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
7269
7270 * c-common.c (c_common_init): Always use intmax_t.
7271
7272 2002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
7273
7274 * c-common.c (c_common_init): Use intmax_t for now.
7275
7276 2002-05-24 Andrew Haley <aph@redhat.com>
7277
7278 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
7279 if T is a boolean type.
7280
7281 2002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7282
7283 * basic-block.h (last_basic_block): Defined as synonym for
7284 n_basic_blocks.
7285 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
7286 flow_depth_first_order_compute, flow_preorder_transversal_compute,
7287 flow_dfs_compute_reverse_init): Replaced relevant occurences of
7288 n_basic_blocks with last_basic_block.
7289 * cfgbuild.c (make_edges): Likewise.
7290 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
7291 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
7292 * combine.c (combine_instructions): Likewise.
7293 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
7294 iterative_dataflow_bitmap): Likewise.
7295 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
7296 calc_idoms, idoms_to_doms): Likewise.
7297 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
7298 Likewise.
7299 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
7300 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
7301 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
7302 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
7303 delete_null_pointer_checks, compute_code_hoist_vbeinout,
7304 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
7305 compute_store_table, build_store_vectors): Likewise.
7306 * haifa-sched.c (sched_init): Likewise.
7307 * ifcvt.c (if_convert): Likewise.
7308 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
7309 pre_edge_lcm, compute_available, compute_nearerout,
7310 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
7311 Likewise.
7312 * predict.c (estimate_probability, process_note_prediction,
7313 note_prediction_to_br_prob): Likewise.
7314 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
7315 * recog.c (split_all_insns, peephole2_optimize): Likewise.
7316 * regrename.c (copyprop_hardreg_forward): Likewise.
7317 * resource.c (init_resource_info): Likewise.
7318 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
7319 init_regions, schedule_insns): Likewise.
7320 * ssa-ccp.c (ssa_const_prop): Likewise.
7321 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7322 * ssa.c (compute_dominance_frontiers,
7323 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
7324
7325 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
7326 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
7327 sizes consistently.
7328
7329 Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
7330
7331 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
7332 new.
7333 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
7334 hoist_insn_after, hoist_insn_to_edge): New.
7335
7336 Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
7337
7338 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
7339 (PROP_FINAL): Include.
7340 * flow.c (life_analysis, update_life_info,
7341 init_propagate_block_info, mark_set_1, mark_used_rgs):
7342 Support SCAN_DEAD_STORE.
7343
7344 2002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
7345
7346 * c-common.c (c_common_init): Set CPP arithmetic precision.
7347 * cppexp.c (cpp_num_part): Move typedef ...
7348 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
7349 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
7350 (sanity_checks): Update.
7351
7352 2002-05-26 Geoffrey Keating <geoffk@redhat.com>
7353
7354 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
7355 (mkheaders): New rule.
7356 (install-mkheaders): New rule.
7357 * configure.in (all_outputs): Add mkheaders.
7358 * configure: Regenerate.
7359 * mkheaders.in: New file.
7360
7361 2002-05-26 Jakub Jelinek <jakub@redhat.com>
7362
7363 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
7364
7365 2002-05-26 Andreas Jaeger <aj@suse.de>
7366
7367 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
7368
7369 2002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
7370
7371 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
7372 right_shift): Remove.
7373 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
7374 HIGH_PART): New.
7375 (struct op): Use cpp_num.
7376 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
7377 num_part_mul, num_unary_op, num_binary_op, num_negate,
7378 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
7379 num_div_op, num_lshift, num_rshift, append_digit): New.
7380 (interpret_number, parse_defined, eval_token, reduce): Update
7381 for two-integer arithmetic.
7382 (binary_handler): New typedef.
7383 (optab): Update.
7384 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
7385 (_cpp_parse_expr, reduce): Update to handle two-integers.
7386 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
7387
7388 2002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
7389
7390 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
7391 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
7392 branch insn into account, do not assume 1.
7393 (avr_out_sbxx_branch): New function. Optimize cases of skipping
7394 over single word insn. Handle upper half of I/O space too.
7395 * config/avr/avr.md (*sbrx_branch): Use it.
7396 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
7397 (*sbix_branch, *sbix_branch_bit7): Likewise.
7398 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
7399 Use RTL peepholes to optimize register operand sign tests.
7400
7401 2002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
7402
7403 * config/avr/avr.c (avr_asm_only_p): New variable.
7404 (avr_override_options): Set it here if AVR1.
7405 (asm_file_start): Test it here, report an error if set.
7406
7407 2002-05-26 Kazu Hirata <kazu@cs.umass.edu>
7408
7409 * alias.c: Fix formatting.
7410 * attribs.c: Likewise.
7411 * bb-reorder.c: Likewise.
7412 * bitmap.c: Likewise.
7413 * bitmap.h: Likewise.
7414 * builtins.c: Likewise.
7415
7416 Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
7417
7418 * reload.c (find_valid_class): Accept new argument DEST,
7419 choose class accordingly.
7420 (push_reload): Update callers.
7421
7422 2002-05-26 Andreas Jaeger <aj@suse.de>
7423
7424 * combine.c (combine_instructions): Do not indent #if for
7425 traditional C.
7426
7427 2002-05-25 Richard Henderson <rth@redhat.com>
7428
7429 * c-pragma.c (apply_pragma_weak): Convert value identifier to
7430 string for decl_attributes.
7431 (handle_pragma_weak): Call assemble_alias if we're modifying
7432 an existing decl.
7433
7434 2002-05-25 Richard Henderson <rth@redhat.com>
7435
7436 PR target/6788
7437 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
7438 using rtl instead of fprintf.
7439 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
7440 * config/sparc/sparc-protos.h: Update.
7441
7442 2002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
7443
7444 * Makefile.in (C_COMMON_H): Fix.
7445 Update other targets.
7446 * c-common.c: Don't include c-lex.h.
7447 (builtin_define_with_value): Make static and prototype.
7448 (builtin_define_std): Move from c-lex.h.
7449 * c-common.h (init_c_lex): Move from c-lex.h.
7450 * c-decl.c: Don't include c-lex.h.
7451 (make_pointer_declarator): Move from c-parse.in.
7452 * c-lex.c: Don't include c-lex.h.
7453 * c-lex.h: Remove.
7454 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
7455 (make_pointer_declarator): Move to c-decl.c.
7456 * c-pragma.c: Don't include c-lex.h.
7457 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
7458 * c-tree.h (make_pointer_declarator): New.
7459 doc:
7460 * passes.texi, tm.texi: Update.
7461 objc:
7462 * Make-lang.in: Update and correct.
7463 * objc-act.c: Don't include c-lex.h or cpplib.h.
7464 treelang:
7465 * treetree.c: Don't include c-lex.h.
7466 config:
7467 * darwin-c.c: Don't include c-lex.h.
7468 * c4x/c4x-c.c: Don't include c-lex.h.
7469 * c4x/t-c4x: Update.
7470 * i370/i370-c.c: Don't include c-lex.h.
7471 * i370/t-i370: Update.
7472 * i960/i960-c.c: Don't include c-lex.h.
7473 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
7474 * i960/t-960bare: Update.
7475 * i960/t-vxworks: Update.
7476 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
7477 * rs6000/t-darwin: Update.
7478 * rs6000/t-rs6000-c-rule: Update.
7479 * v850/v850-c.c: Don't include c-lex.h.
7480 * v850/v850.c: Don't include c-lex.h or cpplib.h.
7481
7482
7483 2002-05-25 Kazu Hirata <kazu@cs.umass.edu>
7484
7485 * tree.def: Fix typos.
7486 * doc/install.texi: Likewise.
7487
7488 2002-05-25 Richard Henderson <rth@redhat.com>
7489
7490 * configure.in (HAVE_AS_TLS): Add ia64 test.
7491 * configure: Rebuild.
7492 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
7493 (override_options): Set it.
7494 (TARGET_HAVE_TLS): New.
7495 (sdata_symbolic_operand): Look for 's'.
7496 (tls_symbolic_operand): New.
7497 (ia64_expand_load_address): Abort for tls symbols.
7498 (gen_tls_get_addr): New.
7499 (gen_thread_pointer): New.
7500 (ia64_expand_move): Split out from movdi. Handle tls symbols.
7501 (rtx_needs_barrier): Add new unspecs.
7502 (ia64_encode_section_info): Handle tls symbols.
7503 (ia64_strip_name_encoding): Strip two encoding chars.
7504 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
7505 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
7506 (TARGET_OPTIONS): Add tls-size.
7507 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
7508 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
7509 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
7510 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
7511 (movsf, movdf): Likewise.
7512 (movdi_symbolic): Use match_scratch. Don't split if we won't
7513 have a scratch availiable.
7514 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
7515 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
7516 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
7517 * config/ia64/ia64-protos.h: Update.
7518 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
7519 sdata_symbolic_operand.
7520 (ASM_OUTPUT_LABELREF): Strip two characters.
7521
7522 2002-05-25 Kazu Hirata <kazu@cs.umass.edu>
7523
7524 * combine.c (simplify_set): Remove an unnecessary subreg.
7525
7526 2002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
7527
7528 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
7529
7530 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
7531
7532 2002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
7533
7534 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
7535
7536 2002-05-25 Roger Sayle <roger@eyesopen.com>
7537
7538 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
7539 (cond (compare x y) 0) into the equivalent (cond x y).
7540
7541 2002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
7542
7543 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
7544
7545 2002-05-24 Zack Weinberg <zack@codesourcery.com>
7546
7547 * config.gcc: Remove all stanzas for previously obsoleted
7548 systems. Where necessary, add explicit error stanzas to
7549 prevent removed systems from being misidentified as something
7550 else. Begin a fresh obsoletions list, with the systems that
7551 were reprieved last round.
7552 * doc/install.texi: Remove all mention of dead targets.
7553 * fixinc/mkfixinc.sh: Likewise.
7554
7555 * config/arm/arm.h: Bit 31 of target_flags is no longer
7556 reserved.
7557
7558 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
7559 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
7560 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
7561 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
7562 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
7563 config/alpha/osf12.h, config/alpha/osf2or3.h,
7564 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
7565 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
7566 config/clipper/clipper-protos.h, config/clipper/clipper.c,
7567 config/clipper/clipper.h, config/clipper/clipper.md,
7568 config/clipper/clix.h, config/convex/convex-protos.h,
7569 config/convex/convex.c, config/convex/convex.h,
7570 config/convex/convex.md, config/convex/fixinc.convex,
7571 config/convex/proto.h, config/elxsi/elxsi-protos.h,
7572 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
7573 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
7574 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
7575 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
7576 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
7577 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
7578 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
7579 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
7580 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
7581 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
7582 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
7583 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
7584 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
7585 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
7586 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
7587 config/m68k/altos3068.h, config/m68k/apollo68.h,
7588 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
7589 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
7590 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
7591 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
7592 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
7593 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
7594 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
7595 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
7596 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
7597 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
7598 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
7599 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
7600 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
7601 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
7602 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
7603 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
7604 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
7605 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
7606 config/mips/dec-osf1.h, config/mips/elflorion.h,
7607 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
7608 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
7609 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
7610 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
7611 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
7612 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
7613 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
7614 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
7615 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
7616 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
7617 config/ns32k/sequent.h, config/ns32k/tek6000.h,
7618 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
7619 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
7620 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
7621 config/sparc/rtems.h, config/we32k/we32k-protos.h,
7622 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
7623 Delete file.
7624
7625 2002-05-24 Richard Henderson <rth@redhat.com>
7626
7627 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
7628 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
7629 * config/i386/i386.c (tls_model_chars): Add leading space.
7630 (tls_symbolic_operand): Don't bias by 1.
7631 (legitimize_address): Don't unbias by 1.
7632
7633 2002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
7634
7635 * lcm.c (optimize_mode_switching): Change bb used as indices
7636 to bb->index.
7637
7638 2002-05-24 Richard Henderson <rth@redhat.com>
7639
7640 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
7641 of update_life_info_in_dirty_blocks.
7642
7643 2002-05-24 Jakub Jelinek <jakub@redhat.com>
7644
7645 PR other/6782
7646 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
7647
7648 2002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
7649
7650 PR preprocessor/6780
7651 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
7652
7653 2002-05-24 Jim Blandy <jimb@redhat.com>
7654
7655 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
7656 entry with a type code of zero, marking the end of the compilation
7657 unit's macro info.
7658
7659 2002-05-24 Richard Henderson <rth@redhat.com>
7660
7661 * varasm.c (asm_output_bss): Always output one byte.
7662 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
7663
7664 2002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
7665
7666 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
7667 namespace.
7668
7669 2002-05-24 Andreas Jaeger <aj@suse.de>
7670
7671 * ggc-page.c (alloc_page): Cast variables of type size_t to
7672 unsigned long, adjust printf format string.
7673 (ggc_alloc): Likewise.
7674 (ggc_print_statistics): Likewise.
7675 (ggc_print_statistics): Correct printf format string for SCALE to
7676 use unsigned long.
7677
7678 2002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
7679
7680 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
7681
7682 2002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
7683 Zack Weinberg <zack@codesourcery.com>
7684
7685 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
7686 quoted strings.
7687 * dwarf2out.c (lookup_filename): Properly quote filename in .file
7688 directive in assembly file.
7689 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
7690 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
7691 * config/pj/pj.h (ASM_FILE_START): Likewise.
7692 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
7693 * config/avr/avr.c (asm_file_end): Likewise.
7694 * toplev.c (output_quoted_string): Handle possibly signed plain
7695 char.
7696 * toplev.h (output_clean_symbol_name): Declare
7697 * toplev.c (output_clean_symbol_name): Define.
7698 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
7699 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
7700
7701 2002-05-24 Alan Modra <amodra@bigpond.net.au>
7702
7703 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
7704
7705 2002-05-23 Vladimir Makarov <vmakarov@redhat.com>
7706
7707 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
7708 of size of unsigned.
7709
7710 2002-05-23 Richard Henderson <rth@redhat.com>
7711
7712 * configure.in (HAVE_AS_TLS): New test.
7713 * config.in, configure: Rebuild.
7714 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
7715 (ix86_tls_dialect_string, ix86_tls_dialect): New.
7716 (override_options): Set it.
7717 (tls_model_chars, tls_symbolic_operand): New.
7718 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
7719 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
7720 (local_exec_symbolic_operand): New.
7721 (get_pic_label_name): Merge into output_set_got.
7722 (ix86_asm_file_end): Emit pic_label_name if defined.
7723 (legitimate_constant_p, constant_address_p): New.
7724 (legitimate_pic_operand_p): New.
7725 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
7726 (legitimate_address_p): Likewise.
7727 (ix86_encode_section_info): Rename from i386_; handle tls decls.
7728 (ix86_strip_name_encoding): New.
7729 (get_thread_pointer): New.
7730 (legitimize_address): Handle tls symbols.
7731 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
7732 Remove UNSPEC_PLT.
7733 (struct machine_function): Add some_ld_name.
7734 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
7735 (print_operand) [&]: Use it. Handle UNSPEC_TP.
7736 (output_addr_const_extra): New.
7737 (maybe_get_pool_constant): New.
7738 (ix86_split_to_parts): Use it.
7739 (ix86_expand_move): Handle tls symbols.
7740 (ix86_tls_get_addr): New.
7741 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
7742 (TARGET_OPTIONS): Add tls-dialect.
7743 (CONSTANT_ADDRESS_P): Use new out-of-line function.
7744 (LEGITIMATE_CONSTANT_P): Likewise.
7745 (LEGITIMATE_PIC_OPERAND_P): Likewise.
7746 (TARGET_STRIP_NAME_ENCODING): New.
7747 (ASM_OUTPUT_LABELREF): New.
7748 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
7749 (OUTPUT_ADDR_CONST_EXTRA): New.
7750 (PREDICATE_CODES): Update.
7751 (ix86_tls_dialect, ix86_tls_dialect_string): New.
7752 * config/i386/i386.md: Regroup and renumber unspec constants.
7753 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
7754 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
7755 (tls_global_dynamic, tls_local_dynamic_base): New.
7756 (tls_local_dynamic_once): New.
7757 * config/i386/i386-protos.h: Update.
7758
7759 2002-05-23 Richard Henderson <rth@redhat.com>
7760
7761 * genemit.c (gen_insn): Print file:lineno comment before function.
7762 (main): likewise.
7763 * gensupport.c (struct queue_elem): Add filename member.
7764 (queue_pattern): Initialize it; update all callers.
7765 (process_include): Don't free filename.
7766 (read_md_rtx): Set read_rtx_filename.
7767
7768 2002-05-23 Hans Boehm <Hans_Boehm@hp.com>
7769
7770 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
7771
7772 2002-05-23 Richard Henderson <rth@redhat.com>
7773
7774 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
7775
7776 2002-05-23 Richard Henderson <rth@redhat.com>
7777
7778 * doc/extend.texi (C++98 Thread-Local Edits): Update with
7779 commentary from Mark.
7780
7781 2002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7782
7783 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
7784 Use FOR_EACH_BB macros to iterate over basic block chain.
7785 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
7786 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
7787 Likewise.
7788 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
7789 find_unreachable_blocks, create_edge_list, verify_edge_list,
7790 remove_fake_edges, add_noreturn_fake_exit_edges,
7791 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
7792 Likewise.
7793 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
7794 find_sub_basic_blocks): Likewise.
7795 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
7796 Likewise.
7797 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
7798 Likewise.
7799 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
7800 Likewise.
7801 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
7802 commit_edge_insertions, commit_edge_insertions_watch_calls,
7803 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
7804 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
7805 * conflict.c (conflict_graph_compute): Likewise.
7806 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
7807 df_modified_p, df_refs_unlink, df_dump): Likewise.
7808 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
7809 * final.c (compute_alignments): Likewise.
7810 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
7811 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
7812 count_or_remove_death_notes): Likewise.
7813 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
7814 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
7815 classic_gcse, compute_transp, cprop, compute_pre_data,
7816 compute_transpout, invalidate_nonnull_info,
7817 delete_null_pointer_checks_1, delete_null_pointer_checks,
7818 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
7819 compute_store_table, build_store_vectors, store_motion): Likewise.
7820 * global.c (global_conflicts, mark_elimination): Likewise.
7821 * graph.c (print_rtl_graph_with_bb): Likewise.
7822 * haifa-sched.c (sched_init): Likewise.
7823 * ifcvt.c (if_convert): Likewise.
7824 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
7825 compute_available, compute_nearerout, compute_rev_insert_delete,
7826 optimize_mode_switching): Likewise.
7827 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
7828 * predict.c (estimate_probability, note_prediction_to_br_prob,
7829 propagate_freq, counts_to_freqs, expensive_function_p,
7830 estimate_bb_frequencies): Likewise.
7831 * profile.c (instrument_edges, get_exec_counts,
7832 compute_branch_probabilities, compute_checksum, branch_prob,
7833 find_spanning_tree): Likewise.
7834 * recog.c (split_all_insns, peephole2_optimize): Likewise.
7835 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
7836 Likewise.
7837 * regclass.c (scan_one_insn, regclass): Likewise.
7838 * regmove.c (mark_flags_life_zones, regmove_optimize,
7839 record_stack_memrefs): Likewise.
7840 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
7841 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
7842 * resource.c (find_basic_block): Likewise.
7843 * sched-ebb.c (schedule_ebbs): Likewise.
7844 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
7845 find_single_block_region, find_rgns, schedule_insns)
7846 * sibcall.c (optimize_sibling_and_tail_recursive_call)
7847 * ssa-ccp.c (optimize_unexecutable_edges,
7848 ssa_ccp_df_delete_unreachable_insns): Likewise.
7849 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7850 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
7851 rename_block, convert_to_ssa, compute_conservative_reg_partition,
7852 compute_coalesced_reg_partition, rename_equivalent_regs,
7853 convert_from_ssa): Likewise.
7854 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
7855 process_for_unwind_directive): Likewise.
7856
7857 * df.c (FOR_ALL_BBS): Removed.
7858 * gcse.c (struct null_pointer_info): Type of current_block field
7859 changed.
7860 (struct reg_avail_info): Type of last_bb field changed.
7861 * config/ia64/ia64.c (block_num): Removed.
7862 (need_copy_state): Type changed.
7863 (last_block): New.
7864
7865 2002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
7866
7867 * cppinit.c (mark_named_operators): Split out from init_builtins.
7868 (cpp_finish_options): Call it from here instead.
7869
7870 2002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
7871
7872 * builtin-attrs.def: Update copyright years.
7873 (ATTR_NONNULL): New attribute identifier.
7874 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
7875 attribute tree lists.
7876 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
7877 format operand.
7878 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
7879 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
7880 attribute lists. Chain the appropriate nonnull attribute.
7881 * c-format.c (check_format_arg): Remove null format string
7882 warning.
7883 * testsuite/gcc.dg/format/null-1.c: New test.
7884
7885 2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7886
7887 * Makefile.in (ADAC): Define.
7888 (SYSLIBS): Define.
7889 (.SUFFIXES): Move before language makefile fragments.
7890 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
7891
7892 2002-05-23 Mark Mitchell <mark@codesourcery.com>
7893
7894 * varasm.c (make_decl_rtl): Don't allow weak variables to be
7895 placed in common.
7896
7897 Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
7898
7899 * cfg.c (dump_flow_info): Print results of
7900 maybe_hot/probably_never_executed predicates.
7901 * toplev.c (open_dump_file): Print function frequency.
7902
7903 2002-05-23 David S. Miller <davem@redhat.com>
7904
7905 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
7906 regsets.
7907
7908 2002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
7909
7910 * c-common.c (warn_nonnull): Declare.
7911 (c_common_attribute_table): Add "nonnull" attribute.
7912 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
7913 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
7914 check_function_arguments_recurse): New functions.
7915 * c-common.h (warn_nonnull): Declare extern.
7916 (check_function_arguments, check_function_arguments_recurse): New
7917 prototypes.
7918 * c-decl.c (c_decode_option): Add -Wnonnull option.
7919 * c-format.c (set_Wformat): Set warn_nonnull if enabling
7920 format checking.
7921 (format_check_context): New structure.
7922 (check_format_info_recurse): Remove recursion and rename to...
7923 (check_format_arg): ...this. Update comment.
7924 (check_format_info): Use check_function_arguments_recurse.
7925 * c-typeck.c (build_function_call): Call check_function_arguments
7926 instead of check_function_format.
7927 * doc/extend.texi: Document "nonnull" attribute.
7928 * doc/invoke.texi: Docuemnt -Wnonnull option.
7929 * testsuite/gcc.dg/nonnull-1.c: New test.
7930 * testsuite/gcc.dg/nonnull-2.c: New test.
7931
7932 2002-05-23 David S. Miller <davem@redhat.com>
7933
7934 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
7935 * cfgcleanup.c (cleanup_cfg): If it is set do not
7936 attempt to delete trivially dead insns.
7937 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
7938 * toplev.c (rest_of_compilation): Document non-trivial aspect
7939 the RTL before optimize_save_area_alloca is run.
7940
7941 2002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
7942
7943 * c-lex.c (indent_level): Remove.
7944 (cb_file_change, c_lex): Remove indent level handling.
7945 * c-lex.h (indent_level): Remove.
7946 * input.h (struct file_stack): Remove indent_level.
7947 * toplev.c (push_srcloc): Remove indent_level handling.
7948
7949 2002-05-23 Jakub Jelinek <jakub@redhat.com>
7950
7951 PR target/6753
7952 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
7953 of x in constraints for clarity.
7954 (sse_mov?fcc split): abort if op2 == op3.
7955 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
7956 sse_movsfcc_const0_4): Add earlyclobber.
7957 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
7958 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
7959 Use Y instead of x in constraints.
7960
7961 2002-05-23 Richard Henderson <rth@redhat.com>
7962
7963 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
7964 (C++98 Thread-Local Edits): New subsection.
7965
7966 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
7967 (ix86_arch): Set type to enum processor_type.
7968
7969 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
7970 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
7971
7972 2002-05-23 Jakub Jelinek <jakub@redhat.com>
7973
7974 * configure.in: Fix as version test for binutils 2.12.1 releases
7975 (without dates).
7976 * configure: Rebuilt.
7977
7978 2002-05-23 Richard Henderson <rth@redhat.com>
7979
7980 * config/i386/i386.c (get_pic_label_name): New.
7981 (load_pic_register): Remove.
7982 (output_set_got): New.
7983 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
7984 * config/i386/i386.md (UNSPEC_SET_GOT): New.
7985 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
7986 (prologue_set_got, prologue_get_pc): Remove.
7987 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
7988 (builtin_setjmp_receiver): Use gen_set_got.
7989 * config/i386/i386-protos.h: Update.
7990
7991 Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
7992
7993 * gcse.c (hash_expr): Do not use alias set for hashing.
7994
7995 2002-05-22 Kevin Buettner <kevinb@redhat.com>
7996
7997 * dbxout.c (dbxout_class_name_qualifiers): New function.
7998 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
7999
8000 2002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
8001
8002 * cpperror.c (_cpp_begin_message): No special casing
8003 of CPP_FATAL_LIMIT.
8004 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
8005 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
8006 * cpplib.c (do_include_common): Use DL_ERROR.
8007 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
8008 (DL_ICE): Renumber.
8009 * fix-header.c (read_scan_file): Update.
8010
8011 2002-05-22 Richard Henderson <rth@redhat.com>
8012
8013 * config/i386/i386.c (ix86_expand_call): New function, extracted
8014 from md call patterns. Add pic_offset_table_rtx to
8015 CALL_INSN_FUNCTION_USAGE when needed.
8016 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
8017 (call_value_pop, call_value, untyped_call): Likewise.
8018 (call_exp, call_value_exp): Remove.
8019 * config/i386/i386-protos.h: Update.
8020
8021 2002-05-22 Richard Henderson <rth@redhat.com>
8022
8023 * varasm.c (default_section_type_flags): Check for VAR_DECL
8024 before using DECL_THREAD_LOCAL.
8025
8026 2002-05-22 David Edelsohn <edelsohn@gnu.org>
8027
8028 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
8029 (STARTFILE_SPEC): Delete PE crt0.o.
8030 * config/rs6000/aix51.h: Same.
8031 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
8032 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
8033 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
8034 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
8035 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
8036
8037 2002-05-22 Richard Henderson <rth@redhat.com>
8038
8039 * varasm.c (default_section_type_flags): Handle tls data and
8040 default sections.
8041 (default_unique_section): Handle tls sections.
8042
8043 2002-05-23 Alan Modra <amodra@bigpond.net.au>
8044
8045 * configure.in (CROSS): Define NATIVE_CROSS.
8046 * configure: Regenerate.
8047 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
8048 (startfile_prefix_spec): New var.
8049 (static_specs): Add startfile_prefix_spec.
8050 (do_spec_2): Split out from..
8051 (do_spec): ..here.
8052 (main): Process startfile_prefix_spec.
8053 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
8054 dynamic linker.
8055 (STARTFILE_PREFIX_SPEC): Define.
8056 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
8057 absolute paths.
8058
8059 2002-05-22 Kazu Hirata <kazu@cs.umass.edu>
8060
8061 * cpperror.c: Fix formatting.
8062 * cppexp.c: Likewise.
8063 * cppfiles.c: Likewise.
8064 * cpphash.c: Likewise.
8065 * cpphash.h: Likewise.
8066 * cppinit.c: Likewise.
8067 * cpplex.c: Likewise.
8068 * cpplib.c: Likewise.
8069 * cppmacro.c: Likewise.
8070 * cppmain.c: Likewise.
8071 * cppspec.c: Likewise.
8072
8073 2002-05-22 Jakub Jelinek <jakub@redhat.com>
8074
8075 * combine.c (force_to_mode): Use gen_int_mode.
8076 Don't clear CONST_INT bits outside of mode.
8077
8078 2002-05-22 Richard Henderson <rth@redhat.com>
8079
8080 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
8081 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
8082
8083 2002-05-22 Jakub Jelinek <jakub@redhat.com>
8084
8085 PR c/6643
8086 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
8087 if DECL_SIZE_UNIT is INTEGER_CST.
8088
8089 2002-05-22 Richard Henderson <rth@redhat.com>
8090
8091 * flow.c (life_analysis): Delete broken reg_label check.
8092
8093 2002-05-22 Richard Henderson <rth@redhat.com>
8094
8095 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
8096 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
8097
8098 Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
8099
8100 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
8101 (embed-bb.c): New rule.
8102 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
8103 * config/sh/embed_bb.c: Delete.
8104
8105 Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
8106
8107 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
8108
8109 2002-05-22 Kazu Hirata <kazu@cs.umass.edu>
8110
8111 * config/h8300/h8300.md (*andorqi3): New.
8112
8113 2002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
8114
8115 PR preprocessor/6517
8116 * Makefile.in: Update.
8117 * c-common.c (c_common_post_options): Add preprocessor
8118 errors to the error count.
8119 * c-lang.c (c_post_options): Kill.
8120 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
8121 * hooks.h: Add header guards.
8122 * langhooks-def.h: Include hooks.h.
8123 (LANG_HOOKS_POST_OPTIONS): Update.
8124 * langhooks.h (struct lang_hooks): Update post_options.
8125 * toplev.c (parse_options_and_default_flags): Update.
8126 objc:
8127 * objc-lang.c (objc_post_options): Kill.
8128 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
8129
8130 2002-05-21 Bruce Korb <bkorb@gnu.org>
8131
8132 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
8133 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
8134 * fixinc/fixincl.x: regen.
8135
8136 2002-05-21 Kazu Hirata <kazu@cs.umass.edu>
8137
8138 * cfgbuild.c: Fix formatting.
8139 * cfg.c: Likewise.
8140 * cfgcleanup.c: Likewise.
8141 * cfglayout.c: Likewise.
8142 * cfgloop.c: Likewise.
8143 * cfgrtl.c: Likewise.
8144
8145 2002-05-21 Richard Henderson <rth@redhat.com>
8146
8147 * c-common.h (enum rid): Add RID_THREAD.
8148 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
8149 (grokdeclarator): Grok __thread.
8150 * c-parse.in (reswords): Add __thread.
8151 (rid_to_yy): Add RID_THREAD.
8152
8153 * tree.h (DECL_THREAD_LOCAL): New.
8154 (struct tree_decl): Add thread_local_flag.
8155 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
8156 * tree.c (staticp): TLS variables are not static.
8157
8158 * target-def.h (TARGET_HAVE_TLS): New.
8159 * target.h (have_tls): New.
8160 * output.h (SECTION_TLS): New.
8161 * varasm.c (assemble_variable): TLS variables can't be common for now.
8162 (default_section_type_flags): Handle .tdata and .tbss.
8163 (default_elf_asm_named_section): Handle SECTION_TLS.
8164 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
8165
8166 * flags.h (flag_tls_default): Declare.
8167 * toplev.c (flag_tls_default): Define.
8168 (display_help): Display help for it.
8169 (decode_f_option): Set it.
8170
8171 * doc/extend.texi (Thread-Local): New node describing language-level
8172 thread-local storage.
8173 * doc/invoke.texi (-ftls-model): Document.
8174
8175 * fixinc/inclhack.def (thread_keyword): New.
8176 * fixinc/fixincl.x: Rebuild.
8177
8178 2002-05-21 Jeffrey A Law <law@redhat.com>
8179
8180 * optabs.c (expand_binop): For double-word integer multiplies,
8181 do not compute intermediate results into something that is
8182 not a register (such as a SUBREG or MEM).
8183
8184 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
8185 (ix86_sched_reorder): Make sure to initialize scheduling
8186 data even when there's only one insn in the ready queue.
8187
8188 2002-05-21 Vladimir Makarov <vmakarov@redhat.com>
8189
8190 * genautomata.c (reserv_sets_hash_value): Fix a typo.
8191
8192 2002-05-21 Vladimir Makarov <vmakarov@redhat.com>
8193
8194 * genautomata.c (reserv_sets_hash_value): Define hash_value as
8195 set_el_t. Transform the hash value into unsigned.
8196 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
8197 (transform_3): Add code to process `(A,B)+(D,E)'.
8198
8199 2002-05-21 NIIBE Yutaka <gniibe@m17n.org>
8200
8201 * reload1.c (do_output_reload): Run delete_output_reload
8202 only if optimizing.
8203
8204 2002-05-21 Roger Sayle <roger@eyesopen.com>
8205
8206 PR middle-end/6600
8207 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
8208 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
8209 (can_store_by_pieces): ... and here to limit the largest mode used.
8210 Add a comment to document this function.
8211
8212 2002-05-21 Richard Henderson <rth@redhat.com>
8213
8214 * flow.c (life_analysis): Fix test for deleted label.
8215
8216 2002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
8217
8218 * doc/tm.texi: Fix typo.
8219
8220 2002-05-21 Zack Weinberg <zack@codesourcery.com>
8221
8222 * c-common.c (c_common_init): Set options->unsigned_char from
8223 flag_signed_char.
8224 (cb_register_builtins): Define __STRICT_ANSI__ and
8225 __CHAR_UNSIGNED__ here...
8226 * cppinit.c (init_builtins): Not here.
8227 (cpp_create_reader): unsigned_char option defaults to 0, not
8228 !DEFAULT_SIGNED_CHAR.
8229 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
8230 and -funsigned-char.
8231
8232 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
8233 * cpphash.c (_cpp_init_hashtable): Don't set it.
8234 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
8235 directly. Clarify comment.
8236
8237 2002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8238
8239 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
8240 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
8241 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
8242 BASIC_BLOCK (n_basic_blocks - 1).
8243 * cfganal.c (can_fallthru, flow_call_edges_add,
8244 flow_preorder_transversal_compute): Too.
8245 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
8246 find_sub_basic_blocks): Too.
8247 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
8248 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
8249 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
8250 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
8251 * combine.c (this_basic_block): Type changed to basic_block.
8252 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
8253 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
8254 get_last_value, distribute_notes, distribute_links): Too.
8255 * final.c (compute_alignments): Too.
8256 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
8257 * function.c (thread_prologue_and_epilogue_insns): Too.
8258 * gcse.c (compute_code_hoist_vbeinout): Too.
8259 * global.c (build_insn_chain): Too.
8260 * ifcvt.c (find_if_block, find_cond_trap): Too.
8261 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
8262 * regmove.c (regmove_optimize): Too.
8263 * resource.c (find_basic_block): Too.
8264 * sched-ebb.c (schedule_ebbs): Too.
8265 * ssa-dce.c (find_control_dependence, find_pdom): Too.
8266
8267 2002-05-21 Andreas Jaeger <aj@suse.de>
8268
8269 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
8270
8271 2002-05-21 Richard Henderson <rth@redhat.com>
8272
8273 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
8274 unspec names, not numbers.
8275
8276 2002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
8277
8278 * doc/sourcebuild.texi: Mention snapshot-README and
8279 snapshot-index.html as needing updating for new front ends.
8280
8281 2002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8282
8283 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
8284 disabling checking, and avoid multiple evaluation of RTX.
8285
8286 2002-05-21 Richard Earnshaw <rearnsha@arm.com>
8287
8288 * bitmap.c (bitmap_find_bit): Return early if we have the correct
8289 element cached.
8290
8291 Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
8292
8293 * profile.c (gen_edge_profiler): Set alias set before the memory is
8294 used.
8295
8296 2002-05-20 David S. Miller <davem@redhat.com>
8297
8298 * cselib.c (max_value_regs): New.
8299 (cselib_lookup, cselib_invalidate_regno): Initialize it when
8300 adding new entries to the REG_VALUES table and we are dealing with
8301 a hard register.
8302 (clear_table): Initialize it.
8303 (cselib_invalidate_regno): Use it to determine which hard
8304 registers to scan when mode is not VOIDmode.
8305
8306 2002-05-20 Duraid Madina <duraid@fl.net.au>
8307
8308 * tradcpp.c (fixup_newlines): Use old-style function header.
8309
8310 2002-05-20 Krister Walfridsson <cato@df.lth.se>
8311
8312 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
8313
8314 2002-05-20 H.J. Lu (hjl@gnu.org)
8315
8316 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
8317
8318 * config/mips/mips.h (DFMODE_NAN): Defined.
8319 (SFMODE_NAN): Likewise.
8320
8321 2002-05-20 Dale Johannesen <dalej@apple.com>
8322
8323 * combine.c (cant_combine_insn_p): Back out my
8324 previous patch.
8325
8326 2002-05-20 Kazu Hirata <kazu@cs.umass.edu>
8327
8328 * params.c: Fix formatting.
8329 * params.h: Likewise.
8330 * predict.c: Likewise.
8331 * prefix.c: Likewise.
8332 * print-rtl.c: Likewise.
8333 * print-tree.c: Likewise.
8334 * profile.c: Likewise.
8335
8336 2002-05-20 H.J. Lu (hjl@gnu.org)
8337
8338 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
8339
8340 2002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
8341
8342 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
8343 switches straight on to the assembler, do not abbreviate them.
8344 * config/arm/elf.h (ASM_SPEC): As above.
8345 * config/arm/semi.h (ASM_SPEC): As above.
8346 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
8347 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
8348 -mcpu=xscale on to the assembler by default.
8349 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
8350
8351 2002-05-20 Richard Henderson <rth@redhat.com>
8352
8353 * cse.c (canon_hash): Reorder do_not_record test. Always
8354 allow pic_offset_table_rtx.
8355
8356 2002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
8357
8358 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
8359 (expand_binop): Ditto (3 times).
8360
8361 2002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
8362
8363 * Makefile.in (distclean): Remove QMTest stuff.
8364 (QMTEST_PATH): New variable.
8365 (QMTESTFLAGS): Likewise.
8366 (QMTESTRUNFLAGS): Likewise.
8367 (QMTEST): Likewise.
8368 (QMTEST_GPP_TESTS): Likewise.
8369 (QMTEST_DIR): Likewise.
8370 (QMTEST_DIR/context): New target.
8371 (qmtest-g++): Likeise.
8372 (qmtest-gui): Likewise.
8373 (QMTEST_DIR/gpp-expected.qmr): Likewise.
8374
8375 2002-05-19 Aldy Hernandez <aldyh@redhat.com>
8376
8377 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
8378 an altivec register if TARGET_ALTIVEC.
8379
8380 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
8381 to ALTIVEC_VECTOR_MODE.
8382 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
8383 (rs6000_va_arg): Vectors may go in registers if they are not
8384 altivec vectors.
8385
8386 2002-05-19 Kazu Hirata <kazu@cs.umass.edu>
8387
8388 * protoize.c: Fix formatting.
8389
8390 2002-05-19 Richard Henderson <rth@redhat.com>
8391
8392 * gensupport.c (init_include_reader): Merge into ...
8393 (process_include): ... here. Simplify composite path creation.
8394 Plug memory leaks. Fix file/line number tracking. Do not
8395 process_define_cond_exec. Return void.
8396 (process_rtx): Don't check process_include return value.
8397
8398 2002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8399
8400 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
8401 fields.
8402 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
8403 traversing basic block chain.
8404 (create_basic_block_structure, create_basic_block): Declaration changed.
8405 (link_block, unlink_block): Declare.
8406 * cfg.c (entry_exit_blocks): Initialize new fields.
8407 (link_block, unlink_block): New.
8408 (expunge_block_nocompact): Unlink basic block.
8409 (dump_flow_info): Print prev_bb/next_bb fields.
8410 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
8411 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
8412 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
8413 * cfgrtl.c (create_basic_block_structure, create_basic_block,
8414 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
8415 (verify_flow_info): Check that list agrees with numbering.
8416
8417 2002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
8418
8419 * c-common.c (preprocessing_asm): New macro.
8420 * c-lex.h (builtin_define, builtin_assert): Use pfile.
8421 doc:
8422 * tm.texi: Update.
8423 config/alpha:
8424 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
8425 (CPP_SPEC): Simplify.
8426 (TARGET_CPU_CPP_BUILTINS): Update.
8427 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
8428 (CPP_SPEC): Simplify.
8429 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
8430 (TARGET_OS_CPP_BUILTINS): Update.
8431 * osf.h (CPP_XFLOAT_SPEC): Kill.
8432 (TARGET_OS_CPP_BUILTINS): Update.
8433 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
8434 * osf5.h (CPP_XFLOAT_SPEC): Kill.
8435 * vms.h (CPP_SUBTARGET_SPEC): Kill.
8436 (TARGET_OS_CPP_BUILTINS): Update.
8437
8438 2002-05-19 Richard Henderson <rth@redhat.com>
8439
8440 * varasm.c (default_binds_local_p): Fix typo.
8441
8442 2002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
8443
8444 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
8445 CONST_INT operand to the correct mode after adding 1 to it.
8446
8447 2002-05-19 Mark Mitchell <mark@codesourcery.com>
8448
8449 * config.gcc (powerpc-wrs-windiss*): New target.
8450
8451 2002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8452
8453 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
8454 (ashrdi3): Use it.
8455
8456 2002-05-18 Mark Mitchell <mark@codesourcery.com>
8457
8458 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
8459 alphasort.
8460 * config.in: Regenerated.
8461 * configure: Regenerated.
8462
8463 2002-05-19 Richard Henderson <rth@redhat.com>
8464
8465 * target-def.h (TARGET_BINDS_LOCAL_P): New.
8466 * target.h (struct gcc_target): Move boolean fields to the end.
8467 Add binds_local_p.
8468 * varasm.c (default_binds_local_p): New.
8469 * output.h: Declare it.
8470
8471 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
8472 * config/cris/cris.c (cris_encode_section_info): Likewise.
8473 * config/i386/i386.c (i386_encode_section_info): Likewise.
8474 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8475 * config/sh/sh.c (sh_encode_section_info): Likewise.
8476
8477 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
8478 (TARGET_BINDS_LOCAL_P): New.
8479
8480 2002-05-19 Richard Henderson <rth@redhat.com>
8481
8482 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
8483 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
8484 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
8485
8486 * toplev.c (display_help): Kill -a -ax help.
8487
8488 * config/1750a/1750a.h, config/alpha/alpha.h,
8489 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
8490 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
8491 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
8492 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
8493
8494 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
8495 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
8496
8497 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
8498 (ix86_output_function_block_profiler): Kill.
8499 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
8500 (m68hc11_function_block_profiler): Kill.
8501 * config/m68hc11/m68hc11-protos.h: Update.
8502 * config/m88k/m88k.c (output_block_profiler): Kill.
8503 (output_function_block_profiler): Kill.
8504 * config/m88k/m88k-protos.h: Update.
8505
8506 2002-05-19 Richard Henderson <rth@redhat.com>
8507
8508 * system.h (STRIP_NAME_ENCODING): Poison it.
8509 * output.h (STRIP_NAME_ENCODING): Remove.
8510 (default_strip_name_encoding): Declare.
8511 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
8512 * target.h (strip_name_encoding): New.
8513 * varasm.c (default_strip_name_encoding): New.
8514
8515 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
8516 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
8517 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
8518 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
8519 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
8520 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
8521 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
8522 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
8523 config/v850/v850.h: Use the hook, not the macro.
8524
8525 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
8526 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
8527 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
8528 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
8529 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
8530 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
8531 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
8532 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
8533 config/v850/v850.c, config/v850/v850.h:
8534 Move STRIP_NAME_ENCODING to out-of-line function and add
8535 TARGET_STRIP_NAME_ENCODING.
8536
8537 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
8538 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
8539 with TARGET_STRIP_NAME_ENCODING referencing existing function;
8540 make function static.
8541
8542 * xcoffout.c: Include target.h
8543 * Makefile.in (xcoffout.o): Update.
8544
8545 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
8546 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
8547 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
8548 reloc argument unused.
8549 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
8550
8551 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
8552 STRIP_NAME_ENCODING docs.
8553
8554 2002-05-19 Andreas Jaeger <aj@suse.de>
8555
8556 * gengenrtl.c: Add prototype for excluded_rtx.
8557
8558 * real.h: Add prototype for exact_real_truncate.
8559
8560 2002-05-18 Richard Henderson <rth@redhat.com>
8561
8562 * system.h (ENCODE_SECTION_INFO): Poison it.
8563 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
8564 * target.h (encode_section_info): New.
8565 * varasm.c (make_decl_rtl, output_constant_def): Use it.
8566 * hooks.c (hook_tree_int_void): New.
8567 * hooks.h: Declare it.
8568
8569 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
8570 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
8571 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
8572 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
8573 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
8574 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
8575 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
8576 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
8577 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
8578 config/mcore/mcore-protos.h, config/mcore/mcore.c,
8579 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
8580 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
8581 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
8582 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
8583 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
8584 referencing existing function. Make function static.
8585
8586 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8587 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
8588 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
8589 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
8590 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8591 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
8592 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
8593 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
8594 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
8595 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8596 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
8597 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
8598 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
8599 Move ENCODE_SECTION_INFO to out-of-line function and add
8600 TARGET_ENCODE_SECTION_INFO.
8601
8602 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
8603 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
8604
8605 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
8606 from SUBTARGET_*
8607 (switch_to_section): Replace in_rdata case with in_readonly_data.
8608
8609 * config/h8300/h8300.c (h8300_encode_label): Make static.
8610 * config/h8300/h8300-protos.h: Update.
8611
8612 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
8613 from rs6000_encode_section_info; make static.
8614 (rs6000_xcoff_encode_section_info): New.
8615
8616 * config/v850/v850.c (v850_encode_data_area): Make static.
8617 * config/v850/v850-protos.h: Update.
8618
8619 * config/vax/vax.c: Include flags.h.
8620 (vms_select_section): Fix typo.
8621
8622 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
8623 ENCODE_SECTION_INFO docs.
8624
8625 2002-05-18 Richard Henderson <rth@redhat.com>
8626
8627 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
8628 REGISTER_TARGET_PRAGMAS.
8629 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
8630
8631 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
8632
8633 2002-05-18 Richard Henderson <rth@redhat.com>
8634
8635 * system.h (SELECT_RTX_SECTION): Poison.
8636 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
8637 * target.h (select_rtx_section): New.
8638 * varasm.c (output_constant_pool): Use it.
8639 (default_select_rtx_section, default_elf_select_rtx_section): New.
8640 * output.h: Declare them.
8641
8642 * config/darwin.h (SELECT_RTX_SECTION): Move ...
8643 * config/darwin.c (machopic_select_rtx_section): ... here.
8644 * config/darwin-protos.h: Update.
8645
8646 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
8647 * config/nextstep.c (machopic_select_rtx_section): ... here.
8648 (nextstep_select_section): Rename variable to avoid macro clash.
8649 * config/nextstep-protos.h: Update.
8650
8651 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
8652 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
8653 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8654 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
8655 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
8656 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8657 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
8658 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
8659 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
8660 (SELECT_RTX_SECTION): Remove.
8661
8662 * config/darwin.h, config/elfos.h, config/nextstep.h,
8663 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
8664 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
8665 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
8666 config/sparc/lynx.h, config/xtensa/xtensa.c
8667 (TARGET_ASM_SELECT_RTX_SECTION): New.
8668
8669 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
8670 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
8671 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
8672 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
8673 (ia64_aix_select_rtx_section): New.
8674 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
8675 redefining.
8676 * config/mips/mips.c (mips_select_rtx_section): Make static.
8677 Support ELF SHF_MERGE features.
8678 * config/mips/mips-protos.h: Update.
8679 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
8680 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
8681 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
8682 make static, fall back to default_elf_select_rtx_section.
8683 * config/rs6000/rs6000-protos.h: Update.
8684 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
8685 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
8686 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
8687 * config/romp/romp.c (romp_select_rtx_section): New.
8688 * config/s390/s390.c (s390_select_rtx_section): New.
8689 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
8690 declarations before target macro definition.
8691 (xtensa_emit_call): Use static buffer.
8692 (xtensa_select_rtx_section): New.
8693 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
8694 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
8695 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
8696
8697 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
8698 SELECT_RTX_SECTION docs.
8699
8700 Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
8701
8702 * i386.md (movsi/movdi): Fix template.
8703 (sse2 patterns): Set attributes consistently.
8704
8705 * i386.md (pushqi2, ashrqi_*): Fix constraint.
8706
8707 2002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
8708
8709 * optabs.c (complex_part_zero_p): New.
8710 * (expand_cmplxdiv_straight): Use it.
8711 * (expand_cmplxdiv_wide): Ditto.
8712 * (expand_binop): Ditto.
8713
8714 2002-05-18 Richard Henderson <rth@redhat.com>
8715
8716 * final.c (HAVE_READONLY_DATA_SECTION): New.
8717 (shorten_branches): Use it instead of ifdefs.
8718 * varasm.c (enum in_section): Add in_readonly_data.
8719 (text_section, data_section): Tidy.
8720 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
8721
8722 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
8723 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
8724 (READONLY_DATA_SECTION): Don't undef.
8725
8726 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
8727 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
8728 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
8729
8730 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
8731 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
8732 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
8733 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
8734
8735 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
8736 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
8737 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
8738 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
8739 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
8740 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
8741 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
8742 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
8743 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
8744
8745 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
8746 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
8747 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
8748 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
8749 config/pa/pa64-hpux.h, config/sparc/litecoff.h
8750 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
8751
8752 * config/elfos.h, config/netware.h, config/svr3.h,
8753 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
8754 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
8755 config/h8300/h8300.h, config/i386/i386-interix.h,
8756 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
8757 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
8758
8759 * config/elfos.h, config/netware.h, config/svr3.h,
8760 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
8761 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
8762 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
8763 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
8764
8765 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
8766 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
8767 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
8768 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
8769 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
8770 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
8771 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
8772 config/rs6000/sysv4.h, config/v850/v850.h
8773 (EXTRA_SECTIONS): Remove in_const/in_rdata.
8774 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
8775
8776 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
8777 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
8778 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
8779 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
8780 * config/alpha/alpha.c (alpha_start_function): Likewise.
8781 (alpha_write_linkage): Likewise.
8782 * config/m32r/m32r.c (m32r_select_section): Likewise.
8783 * config/m88k/m88k.c (m88k_select_section): Likewise.
8784 * config/mips/mips.c (mips_select_rtx_section): Likewise.
8785 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
8786 (rs6000_elf_select_section): Likewise.
8787 * config/v850/v850.c (v850_select_section): Likewise.
8788
8789 * config/1750a/1750a.h, config/i860/sysv3.h
8790 (READONLY_DATA_SECTION_ASM_OP): New.
8791 READONLY_DATA_SECTION_ASM_OP.
8792 * config/i386/interix.c, config/i386/winnt.c
8793 (i386_pe_unique_section): Always use .rdata prefix.
8794 * config/pa/som.h (readonly_data): Always switch to read-only section.
8795 (READONLY_DATA_SECTION): Predicate on flag_pic.
8796 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
8797 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
8798 (READONLY_DATA_SECTION): Update.
8799
8800 2002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
8801
8802 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8803 is used without -Wformat.
8804 * c-common.h (warn_format_zero_length): Declare extern.
8805 * c-decl.c (warn_options): Add "format-zero-length".
8806 * c-format.c (warn_format_zero_length): Declare.
8807 (set_Wformat): Set warn_format_zero_length for -Wformat.
8808 (check_format_info): Only warn about zero-length formats if
8809 warn_format_zero_length is true. Include the format type
8810 name in the warning message.
8811 * doc/invoke.texi: Document -Wformat-zero-length.
8812 * testsuite/gcc.dg/format/zero-length-1.c: New test.
8813
8814 2002-05-18 Kazu Hirata <kazu@cs.umass.edu>
8815
8816 * timevar.c: Fix formatting.
8817 * tlink.c: Likewise.
8818 * toplev.c: Likewise.
8819 * tree-dump.c: Likewise.
8820 * tree-inline.c: Likewise.
8821
8822 2002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
8823
8824 * cppinit.c (cpp_post_options): If preprocessed, turn off
8825 traditional. If traditional, turn off column numbers.
8826 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
8827 * cpptrad.c (handle_newline): Update line_base.
8828 (skip_comment): Handle -Wcomment.
8829
8830 2002-05-17 Zack Weinberg <zack@codesourcery.com>
8831
8832 * cppinit.c (struct builtin): Remove unused fields.
8833 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
8834 (operator_array): New - was second half of builtin_array.
8835 (init_builtins): Simplify loop over builtin_array/operator_array.
8836
8837 2002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
8838
8839 * defaults.h (UNIQUE_SECTION): Remove.
8840 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
8841
8842 2002-05-17 Richard Henderson <rth@redhat.com>
8843
8844 * expr.c (init_expr_once): Don't use start/end_sequence.
8845 Use rtx_alloc instead of emit_insn.
8846 * toplev.c (lang_dependent_init): Run init_expr_once here ...
8847 (lang_independent_init): ... not here.
8848
8849 2002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
8850
8851 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
8852
8853 2002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
8854
8855 * config/avr/avr.c (avr_regs_to_save): New function. Also check
8856 for fixed registers, possibly used for global register variables.
8857 (initial_elimination_offset, avr_output_function_prologue,
8858 avr_output_function_epilogue): Move common code to avr_regs_to_save.
8859
8860 2002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
8861
8862 * Makefile.in: Update for cpptrad.c.
8863 * cpphash.h (struct cpp_buffer): New members for buffer
8864 overlays.
8865 (struct cpp_reader): New members for traditional output.
8866 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
8867 * cppinit.c (cpp_create_reader): Set trad_line.
8868 (cpp_destroy): Free trad_out_base if used.
8869 (cpp_read_main_file): Overlay an empty buffer if traditional.
8870 (cpp_finish_options): Don't do builtins.
8871 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
8872 (cpp_handle_option): Handle it.
8873 * cpplex.c (continue_after_nul): New.
8874 (_cpp_lex_direct): Use handle_nul.
8875 * cpplib.h (struct cpp_options): New traditional option.
8876 * cpptrad.c: New file.
8877
8878 2002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
8879
8880 * c-common.c (c_common_init_options): Use C89 for Objective-C,
8881 and set the options flag.
8882 * cppinit.c (lang_flags): Remove objc.
8883 (lang_defaults): Remove OBJC and OBJCXX.
8884 (set_lang): Update.
8885 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
8886 (cpp_handle_option): Remove -+ and -lang-objc++.
8887 For ObjC, just set a flag.
8888 (print_help): Update.
8889 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
8890
8891 2002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8892
8893 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
8894 bootstrap with -mips3.
8895
8896 2002-05-17 Kazu Hirata <kazu@cs.umass.edu>
8897
8898 * final.c: Fix formatting.
8899 * fix-header.c: Likewise.
8900 * flow.c: Likewise.
8901 * fold-const.c: Likewise.
8902 * function.c: Likewise.
8903
8904 2002-05-17 David S. Miller <davem@redhat.com>
8905
8906 PR c/6689, PR optimization/6615
8907 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
8908 and make it a pointer to rtx. Update comments.
8909 (update_equiv_regs): When scanning for equivalences, record
8910 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
8911 it while making the equiv replacements.
8912
8913 2002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8914
8915 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
8916
8917 2002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
8918
8919 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
8920 when encoding visibility into SYMBOL_REF_FLAG.
8921
8922 2002-05-17 Richard Sandiford <rsandifo@redhat.com>
8923
8924 * expr.c (force_operand): Fix reversed move.
8925
8926 2002-05-17 Kurt Wall <kwall@kurtwerks.com>
8927
8928 * doc/install.texi (Testing): Mention two common DejaGnu warnings
8929 that can be ignored.
8930
8931 2002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8932
8933 * doc/install.texi (Final install): Recommend to install into a
8934 "clean" target directory.
8935
8936 2002-05-17 Richard Henderson <rth@redhat.com>
8937
8938 * config/ia64/ia64.md: Use braced strings instead of quoted strings
8939 for code blocks. Tidy whitespace.
8940
8941 2002-05-17 Richard Henderson <rth@redhat.com>
8942
8943 * hooks.c (hook_tree_bool_false): New.
8944 * hooks.h: Declare it.
8945 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
8946 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
8947 * target.h (select_section, unique_section): New.
8948 (in_small_data_p): New.
8949 * varasm.c (resolve_unique_section): Use hooks instead of macros.
8950 (variable_section, output_constant_def_contents): Likewise.
8951 (default_select_section, default_unique_section): New.
8952 (categorize_decl_for_section, default_elf_select_section): New.
8953 * output.h: Declare them.
8954
8955 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
8956 (TARGET_ASM_SELECT_SECTION): New.
8957 (SELECT_SECTION): Move ...
8958 * config/darwin.c (machopic_select_section): ... here.
8959 * config/darwin-protos.h: Update.
8960
8961 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
8962 (SELECT_SECTION): Move ...
8963 * config/nextstep.c (nextstep_select_section): ... here.
8964 * config/nextstep-protos.h: Update.
8965
8966 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
8967 (TARGET_ASM_SELECT_SECTION): New.
8968 * config/svr3.h (SELECT_SECTION): Remove.
8969
8970 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
8971 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
8972 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
8973 (alpha_encode_section_info): Use it.
8974 * config/alpha/alpha-protos.h: Update.
8975 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
8976 (SELECT_SECTION, UNIQUE_SECTION): Remove.
8977 (TARGET_ASM_SELECT_SECTION): New.
8978 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
8979
8980 * config/arm/pe.h (UNIQUE_SECTION): Remove.
8981 (TARGET_ASM_UNIQUE_SECTION): New.
8982
8983 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
8984 (avr_unique_section): Rename from unique_section; make static.
8985 * config/avr/avr-protos.h: Update.
8986 * config/avr/avr.h (UNIQUE_SECTION): Remove.
8987
8988 * config/c4x/c4x.h (SELECT_SECTION): Remove.
8989
8990 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
8991 (TARGET_ASM_UNIQUE_SECTION): New.
8992 * config/i386/i386-interix.h: Likewise.
8993 * config/i386/win32.h: Likewise.
8994 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
8995 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
8996 * config/i386/sco5.h (SELECT_SECTION): Remove.
8997 (TARGET_ASM_SELECT_SECTION): New.
8998 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
8999
9000 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
9001 instead of SELECT_SECTION.
9002 * config/m68k/dpx2.h: Likewise.
9003 * config/rs6000/lynx.h: Likewise.
9004
9005 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
9006 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
9007 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
9008 (ia64_in_small_data_p): New.
9009 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
9010 (ia64_aix_select_section, ia64_aix_unique_section): New.
9011 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
9012 (SELECT_SECTION, UNIQUE_SECTION): Remove.
9013
9014 * config/m32r/m32r.h (SELECT_SECTION): Remove.
9015 (TARGET_ASM_SELECT_SECTION): New.
9016 * config/m32r/m32r.c (m32r_select_section): Take align argument.
9017 * config/m32r/m32r-protos.h: Update.
9018
9019 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
9020 (SELECT_SECTION): Move ...
9021 * config/m88k/m88k.c (m88k_select_section): ... here.
9022
9023 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
9024 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
9025 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
9026 (mcore_unique_section): Make static.
9027 * config/mcore/mcore-protos.h: Update.
9028
9029 * config/mips/elf.h (UNIQUE_SECTION): Remove.
9030 (TARGET_ASM_UNIQUE_SECTION): New.
9031 * config/mips/elf64.h: Likewise.
9032 * config/mips/iris6gld.h: Likewise.
9033 * config/mips/linux.h: Likewise.
9034 * config/mips/mips-protos.h: Update.
9035 * config/mips/mips.c (mips_select_section): Add align argument.
9036 * config/mips/mips.h (SELECT_SECTION): Remove.
9037 (TARGET_ASM_SELECT_SECTION): New.
9038
9039 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
9040 * config/mmix/mmix.c (mmix_select_section): Remove.
9041 (mmix_unique_section): Remove.
9042 * config/mmix/mmix-protos.h: Update.
9043
9044 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
9045 (SELECT_SECTION): Move ...
9046 * config/pa/pa.c (pa_select_section): ... here.
9047 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
9048
9049 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
9050 from rs6000_select_section and make static.
9051 (rs6000_elf_unique_section): Similarly.
9052 (rs6000_xcoff_select_section): From xcoff.h.
9053 (rs6000_xcoff_unique_section): Likewise.
9054 * config/rs6000/rs6000-protos.h: Update.
9055 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
9056 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
9057 * config/rs6000/xcoff.h: Likewise.
9058
9059 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
9060 (SELECT_SECTION): Move ...
9061 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
9062
9063 * config/v850/v850.h (SELECT_SECTION): Move ...
9064 * config/v850/v850.c (v850_select_section): ... here.
9065 (TARGET_ASM_SELECT_SECTION): New.
9066
9067 * config/vax/vms.h (SELECT_SECTION): Move ...
9068 * config/vax/vax.c (vms_select_section): ... here.
9069 (TARGET_ASM_SELECT_SECTION): New.
9070
9071 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
9072 for the target hooks.
9073
9074 2002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
9075
9076 * config/arm/arm.c (emit_multi_reg_push): Do not set
9077 RTX_FRAME_RELATED_P on the SEQUENCE.
9078
9079 2002-05-16 Richard Henderson <rth@redhat.com>
9080
9081 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
9082 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
9083
9084 2002-05-16 Richard Henderson <rth@redhat.com>
9085
9086 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9087
9088 * config/ia64/ia64.c (saveable_obstack): Do not declare.
9089
9090 2002-05-16 Richard Henderson <rth@redhat.com>
9091
9092 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
9093 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
9094 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
9095 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
9096 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
9097 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
9098 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
9099 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
9100 Revert "Basic block renumbering removal", and two followup patches.
9101
9102 2002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
9103
9104 * lcm.c (optimize_mode_switching): Revert previous change.
9105
9106 2002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9107
9108 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
9109 with only extant block numbers.
9110
9111 2002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
9112
9113 * lcm.c (optimize_mode_switching): Fix typo.
9114
9115 2002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9116
9117 * flow.c (calculate_global_regs_live): Queue blocks in program order.
9118
9119 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9120
9121 * doc/install.texi (Configuration): Document PWDCMD.
9122
9123 2002-05-16 Dale Johannesen <dalej@apple.com>
9124
9125 * combine.c (cant_combine_insn_p): Reenable combinations
9126 involving hard regs unless CLASS_LIKELY_SPILLED_P.
9127
9128 2002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
9129
9130 * c-common.c (cb_register_builtins): Handle more built-ins
9131 here rather than in gcc.c specs.
9132 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
9133 (cpp_options): Pass -O flags even when only preprocessing.
9134 * toplev.c (set_fast_math_flags): New prototype.
9135 (fast_math_flags_set_p): New.
9136 (set_no_fast_math_flags): Remove.
9137 (decode_f_option): Update.
9138 * toplev.h (set_fast_math_flags): Update.
9139 (fast_math_flags_set_p): New.
9140 (set_no_fast_math_flags): Remove.
9141 config:
9142 * c4x/c4x.c (c4x_override_options): Update.
9143
9144 2002-05-16 Zack Weinberg <zack@codesourcery.com>
9145
9146 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
9147 Default-define here.
9148 (builtin_define_with_value): Can now wrap the expansion in
9149 quotation marks if such is wanted.
9150 (cb_register_builtins): Update calls to builtin_define_with_value.
9151 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
9152 here.
9153 (c_common_init): Set options->stdc_0_in_system_headers.
9154 * c-lex.h: Update prototype of builtin_define_with_value.
9155 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
9156 and REGISTER_PREFIX.
9157
9158 * cppinit.c (VERS, ULP, C, X): Kill.
9159 (builtin_array): Remove entries for __VERSION__,
9160 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
9161 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
9162 a constant.
9163 (init_builtins): Kill off a bunch of now-dead code.
9164 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
9165 -fno-leading-underscore.
9166 (cpp_handle_option): Remove code to set user_label_prefix.
9167 (cpp_post_options): Likewise.
9168
9169 * cpplib.h (struct cpp_options): Remove user_label_prefix.
9170 (stdc_0_in_system_headers): New.
9171 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
9172 stdc_0_in_system_headers) too to decide the value of __STDC__.
9173
9174 * tradcpp.c (user_label_prefix): Kill.
9175 (main): Remove code handling -f(no-)leading-underscore.
9176 (initialize_builtins): Don't define __REGISTER_PREFIX__
9177 or __USER_LABEL_PREFIX__.
9178 (install_value): Wrap compound statement in dummy loop so the
9179 macro works properly in an if statement.
9180
9181
9182 2002-05-16 Janis Johnson <janis187@us.ibm.com>
9183
9184 * loop.h (struct loop_info): Add member has_prefetch.
9185 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
9186 (prescan_loop): Initialize has_prefetch.
9187 (struct prefetch_info): Change prefetch_in_loop and
9188 prefetch_before_loop from bit fields to ints.
9189 (emit_prefetch_instructions): Several small fixes.
9190 (check_dbra_loop): Don't reverse loop that uses prefetch.
9191
9192 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9193
9194 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
9195 * configure.in: Likewise.
9196 * fixinc/check.tpl: Likewise.
9197 * fixinc/fixinc.dgux: Likewise.
9198 * fixinc/fixinc.svr4: Likewise.
9199 * fixinc/fixinc.winnt: Likewise.
9200 * fixinc/fixincl.sh: Likewise.
9201 * fixproto: Likewise.
9202 * configure: Regenerate.
9203
9204 2002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9205
9206 Basic block renumbering removal:
9207 * basic_block.h (struct basic_block_def): Renamed index to sindex,
9208 added prev_bb and next_bb fields.
9209 (n_basic_blocks): Renamed to num_basic_blocks.
9210 (last_basic_block): New, index of last basic block.
9211 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
9212 traversing basic block chain.
9213 (BLOCK_NUM): index -> sindex.
9214 (create_basic_block_structure, create_basic_block): Declaration changed.
9215 (debug_num2bb): Declare.
9216 (expunge_block_nocompact): Declaration removed.
9217 (link_block, unlink_block, compact_blocks): Declare.
9218 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
9219 * cfg.c (entry_exit_blocks): Initialize new fields.
9220 (clear_edges, alloc_block, expunge_block, cached_make_edge,
9221 redirect_edge_pred, dump_flow_info, dump_edge_info,
9222 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
9223 free_aux_for_edges): Modified.
9224 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
9225 (expunge_block_nocompact): Removed.
9226 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
9227 find_unreachable_blocks, create_edge_list, print_edge_list,
9228 verify_edge_list, flow_edge_list_print, remove_fake_successors,
9229 remove_fake_edges, flow_reverse_top_sort_order_compute,
9230 flow_depth_first_order_compute, flow_preorder_transversal_compute,
9231 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
9232 flow_dfs_compute_reverse_execute): Modified.
9233 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
9234 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
9235 Modified.
9236 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
9237 merge_blocks_move_predecessor_nojumps,
9238 merge_blocks_move_successor_nojumps, merge_blocks,
9239 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
9240 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
9241 * cfglayout.c (skip_insns_after_block, label_for_bb,
9242 record_effective_endpoints, scope_to_insns_finalize,
9243 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
9244 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
9245 cfg_layout_duplicate_bb): Modified.
9246 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
9247 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
9248 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
9249 flow_loops_find, flow_loop_outside_edge_p): Modified.
9250 * cfgrtl.c (create_basic_block_structure, create_basic_block,
9251 flow_delete_block, compute_bb_for_insn, split_block,
9252 try_redirect_by_replacing_jump, redirect_edge_and_branch,
9253 force_nonfallthru_and_redirect, tidy_fallthru_edge,
9254 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
9255 commit_edge_insertions, commit_edge_insertions_watch_calls,
9256 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
9257 purge_all_dead_edges): Modified.
9258 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
9259 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
9260 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
9261 Modified.
9262 * conflict.c (conflict_graph_compute): Modified.
9263 * df.c (FOR_ALL_BBS): Removed.
9264 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
9265 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
9266 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
9267 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
9268 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
9269 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
9270 * final.c (compute_alignments, final_scan_insn): Modified.
9271 * flow.c (verify_local_live_at_start, update_life_info,
9272 update_life_info_in_dirty_blocks, free_basic_block_vars,
9273 delete_noop_moves, calculate_global_regs_live,
9274 initialize_uninitialized_subregs, allocate_bb_life_data,
9275 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
9276 mark_used_reg, count_or_remove_death_notes): Modified.
9277 * function.c (thread_prologue_and_epilogue_insns): Modified.
9278 * gcse.c (struct null_pointer_info): Change typo of current_block
9279 to basic_block.
9280 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
9281 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
9282 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
9283 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
9284 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
9285 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
9286 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
9287 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
9288 pre_delete, one_pre_gcse_pass, compute_transpout,
9289 invalidate_nonnull_info, delete_null_pointer_checks_1,
9290 free_code_hoist_mem, compute_code_hoist_vbeinout,
9291 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
9292 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
9293 compute_store_table, build_store_vectors, insert_insn_start_bb,
9294 insert_store, replace_store_insn, free_store_memory, store_motion):
9295 Modified.
9296 * global.c (global_alloc, global_conflicts, mark_elimination,
9297 build_insn_chain): Modified.
9298 * graph.c (print_rtl_graph_with_bb): Modified.
9299 * haifa-sched.c (sched_init): Modified.
9300 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
9301 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
9302 if_convert): Modified.
9303 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
9304 compute_insert_delete, pre_edge_lcm, compute_available,
9305 compute_farthest, compute_nearerout, compute_rev_insert_delete,
9306 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
9307 Modified.
9308 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
9309 * loop.c (loop_dump_aux): Modified.
9310 * predict.c (combine_predictions_for_insn, estimate_probability,
9311 last_basic_block_p, process_note_prediction, process_note_predictions,
9312 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
9313 expensive_function_p, estimate_bb_frequencies,
9314 compute_function_frequency): Modified.
9315 * print-rtl.c (print_rtx): Modified.
9316 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
9317 get_exec_counts, compute_branch_probabilities, compute_checksum,
9318 branch_prob, find_spanning_tree): Modified.
9319 * recog.c (split_all_insns, peephole2_optimize): Modified.
9320 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
9321 convert_regs_1, convert_regs_2, convert_regs): Modified.
9322 * regclass.c (scan_one_insn, regclass): Modified.
9323 * regmove.c (mark_flags_life_zones, regmove_optimize,
9324 combine_stack_adjustments): Modified.
9325 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
9326 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
9327 * reorg.c (dbr_schedule): Modified.
9328 * resource.c (find_basic_block, init_resource_info): Modified.
9329 * sbitmap.c (sbitmap_intersection_of_succs,
9330 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
9331 sbitmap_union_of_preds): Modified.
9332 * sched-deps.c (init_dependency_caches): Modified.
9333 * sched-ebb.c (schedule_ebbs): Modified.
9334 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
9335 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
9336 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
9337 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
9338 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
9339 ssa_const_prop): Modified.
9340 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
9341 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
9342 * ssa.c (remove_phi_alternative, find_evaluations,
9343 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
9344 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
9345 make_regs_equivalent_over_bad_edges,
9346 make_equivalent_phi_alternatives_equival,
9347 compute_conservative_reg_partition,
9348 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
9349 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
9350 Modified.
9351
9352 2002-05-16 Mark Mitchell <mark@codesourcery.com>
9353
9354 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
9355
9356 2002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
9357
9358 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
9359 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
9360 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
9361 calling CONSTANT_POOL_ADDRESS_P.
9362 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
9363 to decide whether to define __arm__ or __thumb.
9364 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
9365 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
9366
9367 2002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
9368
9369 * config/arc/arc.h (CPP_PREDEFINES): Remove.
9370 (CPP_SPEC): Update.
9371 (TARGET_CPU_CPP_BUILTINS): New.
9372
9373 2002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
9374
9375 * cpphash.h (cpp_macro): Move here, and make expansion a union.
9376 * cppmacro.c (cpp_macro): Remove.
9377 (enter_macro_context, replace_args, warn_of_redefinition,
9378 _cpp_create_definition, cpp_macro_definition): Update.
9379
9380 2002-05-16 Jason Merrill <jason@redhat.com>
9381
9382 * config/mips/mips.c (mips_output_external): Don't do sdata
9383 optimization for a variable with DECL_COMDAT set.
9384
9385 2002-05-15 Aldy Hernandez <aldyh@redhat.com>
9386
9387 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
9388 Cleanups for accepting modifiers on pointers.
9389 Fix predicate typos.
9390 Allow long pointers as well as int pointers.
9391
9392 2002-05-15 Richard Henderson <rth@redhat.com>
9393
9394 * varasm.c (merge_weak): Remove special case for extern and common.
9395
9396 2002-05-15 Matt Hiller <hiller@redhat.com>
9397
9398 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
9399 XFAILing.
9400 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
9401 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
9402 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
9403 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
9404 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
9405 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
9406
9407 2002-05-15 Aldy Hernandez <aldyh@redhat.com>
9408
9409 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
9410
9411 2002-05-15 Aldy Hernandez <aldyh@redhat.com>
9412
9413 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
9414 ("altivec_mfvscr"): Read from VSCR.
9415
9416 Add vscr sets for the following insns: altivec_vctuxs,
9417 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
9418 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
9419 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
9420 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
9421 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
9422 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
9423 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
9424 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
9425 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
9426 altivec_vsum2sws, altivec_vsumsws.
9427
9428 * config/rs6000/rs6000.h: Add VSCR fixed register.
9429 (CALL_REALLY_USED_REGISTERS): Add vscr.
9430 (CALL_USED_REGISTERS): Same.
9431 (FIXED_REGISTERS): Same.
9432 (REG_ALLOC_ORDER): Same.
9433 (reg_class): Add VSCR_REGS.
9434 (REG_CLASS_NAMES): Same.
9435 (REG_CLASS_CONTENTS): Same.
9436 (VSCR_REGNO): New.
9437 (REGISTER_NAMES): Add vscr.
9438 (DEBUG_REGISTER_NAMES): Same.
9439 (ADDITIONAL_REGISTER_NAMES): Same.
9440 (FIRST_PSEUDO_REGISTER): Increment.
9441 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
9442
9443 2002-05-15 Jakub Jelinek <jakub@redhat.com>
9444
9445 * fold-const.c (fold): Fix a typo.
9446
9447 2002-05-15 Eric Botcazou <ebotcazou@multimania.com>
9448
9449 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
9450 comparison against the highest or lowest integer value before
9451 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
9452 transformation and that of an unsigned comparison against 0
9453 right after.
9454
9455 2002-05-15 Richard Henderson <rth@redhat.com>
9456
9457 * varasm.c (merge_weak): Error for any weakening after definition.
9458 Adjust weakening after use warning to catch more cases.
9459 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
9460 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
9461
9462 Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
9463
9464 * invoke.texi (-malign-double): Re-add lost warning.
9465
9466 * i386-protos.h (x86_output_mi_thunk): Declare.
9467 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
9468 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
9469
9470 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
9471 when flag_asynchronous_unwind_tables is set.
9472
9473 * flags.h (flag_reorder_functions): Declare.
9474 * function.c (prepare_function_start): Initialize frequnecy.
9475 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
9476 * Makefile.in (predict.o): Add dependency on target.h and params.h
9477 * defaults.h (HOT_TEXT_SECTION_NAME,
9478 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
9479 * predict.c (choose_function_section): New function.
9480 (estimate_bb_frequencies): Use it.
9481 * toplev.c (flag_reorder_functions): New global variable.
9482 (lang_independent_options): New.
9483 (parse_options_and_default_flags): Set.
9484 * varasm.c (assemble_start_function): Bypass functdion alignment
9485 for never executed functions.
9486 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
9487 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
9488 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
9489 Document.
9490
9491 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
9492
9493 * predict.c: Inlude profile.h
9494 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
9495 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
9496 Use the information about maximal counter in the program.
9497
9498 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
9499
9500 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
9501 probably_never_executed_bb_p): New functions.
9502 * cfgcleanup.c (outgoing_edges_match): Use them.
9503 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
9504 (maybe_hot_bb_p, probably_cold_bb_p,
9505 probably_never_executed_bb_p): New functions.
9506
9507 * function.h (function): Add new field function_frequency.
9508 * predict.c (compute_function_frequency): New function.
9509 (estimate_probability): Call it.
9510
9511 2002-03-09 Jakub Jelinek <jakub@redhat.com>
9512
9513 PR optimization/5172, optimization/5200
9514 * gcse.c (gcse_main): Disable store_motion.
9515
9516 2002-05-14 Zack Weinberg <zack@codesourcery.com>
9517
9518 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
9519 (c_common_nodes_and_builtins): Use it.
9520 (builtin_define_with_value): New function.
9521 (cb_register_builtins): Define __SIZE_TYPE__,
9522 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
9523 using builtin_define_with_value. Use consistent notation when
9524 defining __GXX_WEAK__.
9525 (WCHAR_TYPE_SIZE): Don't redefine.
9526 (combine_strings): Don't use WCHAR_TYPE_SIZE.
9527
9528 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
9529 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
9530 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
9531 * tradcpp.c (initialize_builtins): Likewise.
9532 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
9533
9534 * c-lex.h (builtin_define_with_value): Prototype.
9535 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
9536 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
9537 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
9538
9539 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
9540 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
9541 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
9542 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
9543 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
9544 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
9545 config/sparc/sol2-bi.h, config/sparc/sparc.h:
9546 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
9547 to __SIZE_TYPE__ etc from all spec strings. When this makes
9548 extra specs empty, delete them.
9549
9550 2002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
9551
9552 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
9553 for PA8000 or generating dwarf2 call frame information.
9554 (output_call): Remove DO_FRAME_NOTES check from return pointer
9555 optimization.
9556 (following_call): Return 0 when scheduling for PA8000 or generating
9557 dwarf2 call frame information. Revise comment.
9558
9559 2002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
9560
9561 config/alpha:
9562 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
9563 and __IEEE_FP_INEXACT as appropriate.
9564 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
9565 (CPP_SPEC): Remove ieee defines.
9566 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
9567
9568 2002-05-14 Richard Henderson <rth@redhat.com>
9569
9570 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
9571 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
9572
9573 2002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
9574
9575 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
9576 (CPP_SPEC): Update.
9577 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
9578 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
9579 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
9580 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
9581 (EXTRA_SPECS): Update.
9582 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
9583 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
9584 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
9585 define TARGET_OS_CPP_BUILTINS if necessary.
9586
9587 2002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
9588
9589 * gcc.c (cpp_options): Must pass -m* and -f* options
9590 to the front end even when only preprocessing.
9591 (cc1_options): Remove redundant -lang-c.
9592 * tradcpp.c (main): Ignore -m options.
9593 objc:
9594 * lang-specs.h: Similarly.
9595
9596 2002-05-14 Vladimir Makarov <vmakarov@redhat.com>
9597
9598 * genautomata.c (transform_3): Add code for transformation
9599 `(A,B,...)+C -> A+C,B,...'.
9600
9601 Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
9602
9603 * final.c (end_final): Do not output profile_arcs constructor, when
9604 no functions are instrumented.
9605
9606 Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
9607
9608 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
9609
9610 2002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9611
9612 * doc/install.texi: Remove special markup originally required for
9613 HTML generation with texi2html.
9614
9615 2002-05-14 Andreas Schwab <schwab@suse.de>
9616
9617 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
9618 SELECT_SECTION.
9619 (UNIQUE_SECTION): Define to get small data correctly.
9620
9621 * varasm.c (resolve_unique_section): Add third parameter
9622 flag_function_or_data_sections and use it instead of
9623 flag_function_sections.
9624 (assemble_start_function): Pass flag_function_sections.
9625 (asm_emit_uninitialised): Pass flag_data_sections.
9626 (assemble_variable): Likewise.
9627
9628 2002-05-14 Richard Henderson <rth@redhat.com>
9629
9630 * config/i386/i386.md: Use define_constants for unspec numbers.
9631 * config/i386/i386.c: Likewise.
9632
9633 2002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
9634
9635 * doc/contrib.texi: Update my entry.
9636
9637 2002-05-13 Mark Mitchell <mark@codesourcery.com>
9638
9639 * fixinc/inclhack.def (winidss_valist): Limit applicability.
9640 * fixinc/fixincl.x: Regenerated.
9641 * fixinc/tests/base/math.h: Update.
9642 * fixinc/tests/base/testing.h: Likewise.
9643
9644 2002-05-13 Zack Weinberg <zack@codesourcery.com>
9645
9646 * genattr.c (gen_attr): Don't emit a comma after the last
9647 enumerator.
9648
9649 2002-05-13 Richard Henderson <rth@redhat.com>
9650
9651 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
9652 by non-local gotos.
9653 * recog.c (peephole2_optimize): Likewise.
9654
9655 2002-05-13 Andris Pavenis <pavenis@lanet.lv>
9656
9657 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
9658 input to O_BINARY.
9659
9660 2002-05-13 Jeffrey A Law (law@redhat.com)
9661
9662 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
9663 Update prototype and callers.
9664 (propagate_one_insn): Stack pointer adjustments kill MEMs on
9665 the mem_set_list which reference the stack pointer, as do
9666 calls to constant functions as they may clobber outgoing
9667 argument space.
9668
9669 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
9670
9671 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
9672 (ia32_multipass_dfa_lookahead): New function.
9673
9674 2002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
9675
9676 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
9677 (translate_options): Remove 'V'.
9678 (process_command): Similarly.
9679 doc:
9680 * invoke.texi: Remove documentation of 'V'.
9681
9682 2002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
9683
9684 * config/s390/linux.h: Revert 2002-04-22 changes.
9685
9686 2002-05-13 Scott Marks <SMarks@mobile-mind.com>
9687
9688 * config/fr30/fr30.md: Only allow splits of immediate loads
9689 if the destination is a register.
9690
9691 2002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
9692
9693 * Makefile.in (c-common.o, cppinit.o): Update.
9694 * c-common.c: Include except.h.
9695 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
9696 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
9697 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
9698 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
9699 CPP_PREDEFINES): Handle here.
9700 config:
9701 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
9702 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
9703 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
9704 TARGET_OS_CPP_BUILTINS.
9705 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
9706 (CPP_SPEC, EXTRA_SPECS): Update.
9707 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
9708 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
9709 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
9710 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
9711 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
9712 doc:
9713 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
9714 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
9715
9716 2002-05-12 Zack Weinberg <zack@codesourcery.com>
9717
9718 * emit-rtl.c (global_rtl): Update comment.
9719 (const_double_htab, const_double_htab_hash,
9720 const_double_htab_hash, lookup_const_double): New.
9721 (const_int_htab_hash, const_int_htab_eq): Remove const
9722 qualifiers, which cause tons of warnings with RTL checking on.
9723 (gen_rtx_CONST_DOUBLE): Deleted.
9724 (const_double_from_real_value): New function - bears some
9725 resemblance to the former immed_real_const_1.
9726 (immed_double_const): Moved here from varasm.c and
9727 simplified.
9728 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
9729 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
9730 (gen_rtx): Use immed_double_const.
9731 (init_emit_once): Initialize the const_double_htab. Use
9732 REAL_VALUE_FROM_INT where possible. Can now use
9733 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
9734 * varasm.c (struct varasm_status): Remove x_const_double_chain.
9735 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
9736 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
9737 (init_varasm_status, mark_varasm_status): Don't touch
9738 x_const_double_chain.
9739
9740 * output.h: Delete prototype for clear_const_double_mem.
9741 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
9742 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
9743 const_double_from_real_value, not immed_real_const_1, and use
9744 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
9745 CONST_DOUBLE_ATOF.
9746 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
9747 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
9748 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
9749 (gen_rtx_REG): Second arg is unsigned.
9750
9751 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
9752 (excluded_rtx): New, return true for CONST_DOUBLE.
9753 (genmacro): Write nothing for excluded codes.
9754 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
9755 * expr.c (expand_expr): Likewise.
9756 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
9757 CONST_DOUBLE_CHAIN.
9758 * toplev.c (rest_of_compilation): Don't call
9759 clear_const_double_mem.
9760
9761 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
9762 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
9763 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
9764 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
9765 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
9766 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
9767 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
9768 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
9769
9770 2002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9771
9772 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
9773
9774 2002-05-12 Tom Tromey <tromey@redhat.com>
9775
9776 * tree.h (copy_node): Don't mention TREE_PERMANENT.
9777
9778 2002-05-12 Zack Weinberg <zack@codesourcery.com>
9779
9780 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
9781 (scan_comma_elt): New function. Accepts whitespace in comma lists.
9782 * gensupport.h: Prototype new routines.
9783 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
9784 use of printf.
9785 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
9786 (next_comma_elt): Use scan_comma_elt.
9787
9788 * config/i386/i386.md: Use new attribute notation to break up
9789 long lines in define_attr forms.
9790
9791 2002-05-12 Richard Henderson <rth@redhat.com>
9792
9793 * expr.c (compress_float_constant): New.
9794 (emit_move_insn): Use it.
9795 (float_extend_from_mem): New.
9796 (init_expr_once): Initialize it.
9797 * real.c (exact_real_truncate): New.
9798
9799 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
9800 dropped into memory; penalize for size.
9801 (RTX_COSTS): FLOAT_EXTEND is free.
9802 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
9803 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
9804
9805 2002-05-12 Richard Henderson <rth@redhat.com>
9806
9807 * profile.h (profile_info): Add missing extern to declaration.
9808 * profile.c (profile_info): Define it.
9809
9810 2002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
9811
9812 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
9813 used for DImode and TImode.
9814
9815 2002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
9816
9817 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
9818 fake a newline.
9819
9820 2002-05-11 Zack Weinberg <zack@codesourcery.com>
9821
9822 * config/rs6000/rs6000.c (rs6000_default_long_calls,
9823 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
9824 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
9825 (rs6000_override_options): Handle -m(no-)longcall.
9826 (init_cumulative_args, output_mi_thunk): Check for both
9827 longcall and shortcall attributes on the function.
9828 (rs6000_attribute_table): Add "shortcall".
9829 (rs6000_handle_longcall_attribute): Update comment.
9830 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
9831 altivec_expand_ternop_builtin): Add default clauses to switches
9832 to silence warnings.
9833
9834 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
9835 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
9836 (TARGET_OPTIONS): Add longcall and no-longcall.
9837
9838 * config/rs6000/rs6000.md (call_nonlocal_sysv,
9839 call_value_nonlocal_sysv): Split by alternatives. One pair
9840 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
9841 the call cookie. The other pair accepts only LR/CTR and has
9842 no restriction.
9843
9844 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
9845 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
9846 tmake_file.
9847 * config/rs6000/rs6000-c.c: New file.
9848 * config/rs6000/t-rs6000-c-rule: New file.
9849 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
9850 Prototype rs6000_pragma_longcall.
9851
9852 * doc/extend.texi: Document shortcall attribute.
9853 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
9854
9855 2002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
9856
9857 * reorg.c (dbr_schedule): Remove unnecessary test.
9858
9859 Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
9860
9861 * i386.md (testsi to testqi spliters): New.
9862
9863 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
9864
9865 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
9866
9867 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
9868
9869 * basic-block.h: New flag EDGE_CAN_FALLTHRU
9870 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
9871 that can be made fallthru.
9872
9873 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
9874
9875 * cfglayout.c (cleanup_unconditional_jumps): New static function.
9876 (cfg_layout_initialize): Use it.
9877
9878 2002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
9879
9880 * config/avr/avr.c (avr_mcu_types): Update supported devices.
9881 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
9882 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
9883
9884 2002-05-11 Kazu Hirata <kazu@cs.umass.edu>
9885
9886 * dbxout.c: Fix formatting.
9887 * dependence.c: Likewise.
9888 * df.c: Likewise.
9889 * diagnostic.c: Likewise.
9890 * doloop.c: Likewise.
9891 * dominance.c: Likewise.
9892 * doschk.c: Likewise.
9893 * dwarf2asm.c: Likewise.
9894 * dwarf2out.c: Likewise.
9895 * dwarfout.c: Likewise.
9896
9897 2002-05-10 Richard Henderson <rth@redhat.com>
9898
9899 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
9900 Convert integers constants as needed. Replace "nwords" field with
9901 "sizeof_bb".
9902 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
9903 * function.h: Fix typo in comment.
9904 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
9905
9906 2002-05-10 Roger Sayle <roger@eyesopen.com>
9907
9908 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
9909 into the equivalent (signed char)c > 0.
9910
9911 2002-05-10 Janis Johnson <janis187@us.ibm.com>
9912
9913 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
9914 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
9915 (struct prefetch_info): Fix spelling of member bytes_accessed.
9916 (emit_prefetch_instructions): Make dump messages more regular;
9917 restructure code to add more dump messages; use new macros for
9918 heuristics. (There are no code generation changes in any of this).
9919
9920 2002-05-10 David S. Miller <davem@redhat.com>
9921
9922 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
9923 (struct rtx_def): Update unchanging flag comment.
9924 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
9925 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
9926 to be handled to INSN too.
9927 (dbr_schedule): Likewise.
9928 * resource.c (next_insn_no_annul): Likewise.
9929
9930 * cse.c (rtx_cost): Remove multiplication by power of 2 special
9931 casing.
9932
9933 2002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9934
9935 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
9936 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
9937 (possibly) work around broken /bin/sh.
9938
9939 2002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9940
9941 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
9942 . as N64/N32 libgcc_s.so subdirs.
9943
9944 2002-05-10 David S. Miller <davem@redhat.com>
9945
9946 * config/sparc/sparc.md: Use define_constants for unspec numbers.
9947
9948 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
9949 more accurately.
9950 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
9951 comment.
9952 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
9953 * doc/rtl.texi: Document these macros more accurately.
9954 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
9955 JUMP_INSNs and CALL_INSNs.
9956 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
9957 or INSN_FROM_TARGET_P if the code is appropriate.
9958
9959 2002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
9960
9961 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
9962 before using SYMBOL_REF_FLAG (addr).
9963
9964 * config/avr/avr-protos.h (avr_io_address_p): Declare.
9965 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
9966 Make non-static. Update all callers.
9967 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
9968 New insns to clear/set/test a single bit in I/O address space.
9969
9970 2002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9971
9972 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
9973
9974 2002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
9975
9976 * Makefile.in: Update.
9977 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
9978 builtin_define_std): New.
9979 (c_common_init): Register CPP builtins callback.
9980 * c-common.h (flag_iso, flag_undef): New.
9981 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
9982 * c-lex.c: Don't include target.h.
9983 (cb_register_builtins): Move to c-common.c.
9984 (init_c_lex): Don't register hook here.
9985 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
9986 (cpp_define, cpp_assert): Remove.
9987 * gcc.c (cc1_options): Pass -undef to front end.
9988 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
9989 (TARGET_INITIALIZER): Update.
9990 * target.h (struct cpp_reader): Don't predeclare.
9991 (struct gcc_target): Remove cpp builtin hook.
9992 * tree.c (default_register_cpp_builtins): Remove.
9993 doc:
9994 * tm.texi: Update.
9995
9996 2002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
9997
9998 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
9999
10000 2002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10001
10002 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
10003 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
10004
10005 2002-05-09 Jakub Jelinek <jakub@redhat.com>
10006
10007 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
10008 * config/sparc/libgcc-sparc-glibc.ver: New file.
10009 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
10010 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
10011
10012 2002-05-09 Jakub Jelinek <jakub@redhat.com>
10013
10014 PR target/6429
10015 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
10016 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
10017 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
10018 base multilibs.
10019 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
10020 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
10021 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
10022 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
10023
10024 2002-05-09 Richard Henderson <rth@redhat.com>
10025
10026 * config/ia64/ia64.md: Use define_constants for unspec numbers.
10027 * config/ia64/ia64.c: Likewise.
10028
10029 2002-05-09 Richard Sandiford <rsandifo@redhat.com>
10030
10031 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
10032 (save_restore_insns): Likewise.
10033 (mips_expand_prologue, mips_expand_epilogue): Update callers.
10034 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
10035
10036 Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
10037
10038 * athlon.md, k6.md, pentium.md, ppro.md): New files.
10039 * i386.md: Move scheduling information into new files.
10040
10041 * i386.md (type attribute): Add "rotate" for rotate insns.
10042 (rotate insns): Set type to "rotate".
10043 (various attributes and function units): Treat rotate like shift.
10044 (pent_pair attribute): Only rotates by one bit position are
10045 pairable.
10046 (sbb insns): Explicitly set pent_pair attribute on a couple
10047 that were missing it.
10048
10049 Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
10050
10051 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
10052 make sure that buffer starts on odd word address.
10053 (sh_va_arg): Skip odd fp registers when reading a double precision
10054 value.
10055
10056 2002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
10057
10058 * tree.h (preserve_data, object_permanent_p, type_precision):
10059 Remove.
10060
10061 2002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
10062
10063 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
10064 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
10065 doc:
10066 * cpp.texi: Update for removal of obsolete features.
10067
10068 Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
10069 Jeffrey A Law (law@redhat.com)
10070
10071 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
10072 the DFA interface for Pentium processors.
10073 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
10074 (attr_pent_pair, ix86_pent_find_pair): Remove.
10075 (ix86_sched_reorder_pentium): Remove.
10076 (ix86_sched_reorder): Remove reordering for Pentium.
10077 * i386.md (Pentium scheduling): Rewrite using DFA description.
10078
10079 Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
10080
10081 * cfganal.c (can_fallthru): Fix fast path.
10082 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
10083 with edges to the next block.
10084
10085 Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
10086 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
10087
10088 * final.c (end_final): Use C trees to output data structures for profiling.
10089
10090 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
10091 (profile.o): New dependency profile.h
10092 (final.o): New dependency profile.h
10093 * profile.h: New file. New global structure profile_info.
10094 * final.h (count_edges_instrumented_now): Declare.
10095 (current_function_cfg_checksum): Declare.
10096 (function_list): New structure.
10097 (functions_head, functions_tail): New static variables.
10098 (end_final): Emits more data, removed some -ax stuff.
10099 (final): Stores function names and chcksums.
10100 * gcov-io.h (__write_gcov_string): New function.
10101 (__read_gcov_string): New function.
10102 * gcov.c (read_profile): New function.
10103 (create_program_flow_graph): Uses read_profile instead of reading
10104 da_file.
10105 (read_files): Removed da_file checking, it's done by read_profile now.
10106 * libgcc2.c (bb_function_info): New structure.
10107 (bb): New field in structure, removed some -ax stuff.
10108 (__bb_exit_func): Changed structure of da_file.
10109 * profile.c (count_edges_instrumented_now): New global variable.
10110 (current_function_cfg_checksum): New global variable.
10111 (max_counter_in_program): New global variable.
10112 (get_exec_counts): New function.
10113 (compute_checksum): New function.
10114 (instrument_edges): Sets count_edges_instrumented_now.
10115 (compute_branch_probabilities): Uses get_exec_counts instead of
10116 reading da_file.
10117 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
10118 (init_branch_prob): Removed da_file checking, done in get_exec_counts
10119 now.
10120 (end_branch_prob): Removed da_file checking, done in get_exec_counts
10121 now.
10122 * gcov.texi: Updated information about gcov file format.
10123
10124 2002-05-09 Kazu Hirata <kazu@cs.umass.edu>
10125
10126 * sbitmap.c: Fix formatting.
10127 * scan.c: Likewise.
10128 * scan-decls.c: Likewise.
10129 * sched-deps.c: Likewise.
10130 * sched-ebb.c: Likewise.
10131 * sched-rgn.c: Likewise.
10132 * sched-vis.c: Likewise.
10133 * sdbout.c: Likewise.
10134 * sibcall.c: Likewise.
10135 * simplify-rtx.c: Likewise.
10136 * ssa.c: Likewise.
10137 * ssa-ccp.c: Likewise.
10138 * ssa-dce.c: Likewise.
10139 * stmt.c: Likewise.
10140 * stor-layout.c: Likewise.
10141 * stringpool.c: Likewise.
10142
10143 2002-05-09 David S. Miller <davem@redhat.com>
10144
10145 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
10146
10147 2002-05-07 David S. Miller <davem@redhat.com>
10148
10149 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
10150 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
10151 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
10152 library implementation clobbers the output before the inputs
10153 are fully consumed, use stack temporary for the output.
10154
10155 2002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
10156
10157 * config/netbsd.h (CPP_SPEC): Remove.
10158 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
10159 * config/i386/netbsd.h (CPP_SPEC): Define.
10160 * config/ns32k/netbsd.h (CPP_SPEC): Define.
10161 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
10162 * config/sparc/netbsd.h (CPP_SPEC): Define.
10163 * config/vax/netbsd.h (CPP_SPEC): Define.
10164
10165 2002-05-08 Kazu Hirata <kazu@cs.umass.edu>
10166
10167 * read-rtl.c: Fix formatting.
10168 * real.c: Likewise.
10169 * recog.c: Likewise.
10170 * regclass.c: Likewise.
10171 * regmove.c: Likewise.
10172 * reg-stack.c: Likewise.
10173 * reload1.c: Likewise.
10174 * reload.c: Likewise.
10175 * resource.c: Likewise.
10176 * rtlanal.c: Likewise.
10177 * rtl.c: Likewise.
10178 * rtl-error.c: Likewise.
10179
10180 2002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
10181
10182 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
10183 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
10184
10185 2002-05-08 Bernd Schmidt <bernds@redhat.com>
10186
10187 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
10188 use __SSE2__ macro instead.
10189 * config/i386/xmmintrin.h: Likewise.
10190
10191 2002-05-08 Janis Johnson <janis187@us.ibm.com>
10192
10193 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
10194 and use it in all invocations of these macros. Clean up comments.
10195 * rtl.c (rtl_check_failed_flag): Add an argument for the name
10196 of the flag access macro whose check failed.
10197 * doc/rtl.texi (Flags): Document additional flag uses.
10198
10199 2002-05-08 Robert Spier <rspier@pobox.com>
10200 Neil Booth <neil@daikokuya.demon.co.uk>
10201
10202 PR preprocessor/6521
10203 * cppfiles.c (handle_missing_header): Don't do anything
10204 different for <> includes.
10205 doc:
10206 * cppopts.texi: Update documentation for -MG.
10207
10208 2002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
10209
10210 * cpplex.c (cpp_interpret_charconst): Truncate as well as
10211 sign-extend.
10212 doc:
10213 * cpp.texi: Clarify multichar charconst valuation.
10214
10215 2002-05-08 Mark Mitchell <mark@codesourcery.com>
10216
10217 * doc/invoke.texi: Document -mwindiss option.
10218
10219 2002-05-08 Jason Merrill <jason@redhat.com>
10220
10221 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
10222
10223 * dwarf2out.c (gen_type_die): Abort on broken recursion.
10224
10225 PR c++/6381
10226 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
10227 REAL_CST.
10228
10229 2002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
10230
10231 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
10232 little-endian multilibs to override arm/thumb multilibs.
10233 Do not build hardware floating point multilibs, nor apcs-26
10234 multilibs for the Thumb.
10235
10236 2002-05-08 Mark Mitchell <mark@codesourcery.com>
10237
10238 PR c/6569.
10239 * varasm.c (mark_weak): New function.
10240 (merge_weak): Use it. Do not call declare_weak.
10241 (declare_weak): Use merge_weak.
10242
10243 Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
10244
10245 * cse.c (dead_libcall_p): Update counts.
10246 (delete_trivially_dead_insns): Update call of dead_libcall_p.
10247
10248 Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
10249
10250 * cfglayout.c (function_tail_eff_head): Rename to ...
10251 (function_footer): ... this one.
10252 (unlink_insn_chain): New functions.
10253 (label_for_bb): Only call block_label and emit debug message.
10254 (record_effective_endpoints): Actually unlink the headers and footers.
10255 (fixup_reorder_cahin): Re-insert the unlinked sequences.
10256 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
10257 * cfglayout.h (struct reorder_block_def): New fields footer/header;
10258 remove eff_head/eff_end.
10259 * rtl.h (set_first_insn): Declare.
10260 * emit-rtl.c (set_first_insn): New function.
10261
10262 * cfglayout.c (fixup_reorder_chain): Dump duplicated
10263 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
10264 cfg_layout_duplicate_bb): New global function.
10265 (duplicate_insn_chain): New static function.
10266 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
10267 cfg_layout_duplicate_bb): Declare.
10268 (struct reorder_block_def): Add "original" field.
10269 * emit-rtl.c (emit_copy_of_insn_after): New function.
10270 * rtl.h (emit_copy_of_insn_after): Declare.
10271
10272 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
10273 (fixup_reorder_chain): properly handle edges to exit block.
10274
10275 Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10276 Jan Hubicka <jh@suse.cz>
10277
10278 * basic-block.h (note_prediction_to_br_prob): declare.
10279 * c-semantics.c: Inlucde predit.h
10280 (expand_stmt): predict GOTO_STMT as not taken.
10281 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
10282 (cleanup_cfg): Do not free tail_recursion_list.
10283 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
10284 (flow_delete_block): Kill predictions past end of basic block.
10285 * output.h (delete_unreachable_blocks): Declare.
10286 * predict.c (predicted_by_p, process_note_predictions,
10287 process_note_prediction, last_block_p): New function.
10288 (estimate_probability): Bypass loop on PRED_CONTINUE;
10289 do not handle noreturn heuristics; kill PRED_RETURN; add
10290 PRED_EARLY_RETURN.
10291 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
10292 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
10293 * predict.h (IS_TAKEN): New constant.
10294 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
10295 * rtl.c (NOTE_INSN_PREDICTION): New.
10296 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
10297 New macro.
10298 (insn_note): add NOTE_INSN_PREDICTION.
10299 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
10300 CFG; free tail_recursion_label_list.
10301 * stmt.c: Include predict.h;
10302 (return_prediction): New.
10303 (expand_value_return): Use it.
10304 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
10305
10306 2002-05-08 Richard Sandiford <rsandifo@redhat.com>
10307
10308 * config/mips/mips.md: Name the unspecs with define_constant.
10309 (*HILO_delay): Rename to 'hilo_delay' (no star).
10310 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
10311 (reload_outdi, reload_outsi): Likewise.
10312
10313 2002-05-07 Kazu Hirata <kazu@cs.umass.edu>
10314
10315 * toplev.c: Fix formatting.
10316
10317 2002-05-07 Janis Johnson <janis187@us.ibm.com>
10318
10319 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
10320 * configure.in (ac_rtlflag_checking): New.
10321 * doc/install.texi (--enable-checking): Document RTL flag checking.
10322
10323 2002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
10324
10325 * c-common.c (c_common_init): Set options->unsigned_wchar.
10326 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
10327 group target dependencies.
10328 (init_builtins, cpp_handle_option): Update.
10329 * cpplex.c (cpp_interpret_charconst): Update.
10330 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
10331 signed_char to unsigned_char, group target dependencies.
10332 * defaults.h (WCHAR_UNSIGNED): Remove.
10333 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
10334 config:
10335 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
10336 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
10337 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
10338 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
10339 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
10340 doc:
10341 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
10342
10343 2002-05-07 Mark Mitchell <mark@codesourcery.com>
10344
10345 * fixinc/inclhack.def (windiss_math1): New fix.
10346 (windiss_math2): Likewise.
10347 (windiss_valist): Likewise.
10348 * fixinc/fixincl.x: Regenerated.
10349
10350 2002-05-07 Andreas Jaeger <aj@suse.de>
10351
10352 * genautomata.c (output_internal_min_issue_delay_func): Add
10353 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
10354 (output_internal_trans_func): Likewise.
10355
10356 Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
10357
10358 * pa.c (hppa_profile_hook): Use force_reg to get the address
10359 of the profile hook into an appropriate pseudo register.
10360
10361 2002-05-07 Mark Mitchell <mark@codesourcery.com>
10362
10363 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
10364 (LINK_START_SPEC): Handle it.
10365 (LINK_OS_SPEC): Likewise.
10366 (CPP_SPEC): Likewise.
10367 (STARTFILE_SPEC): Likewise.
10368 (LIB_SPEC): Likewise.
10369 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
10370 all platforms.
10371 (CRTSAVRES_DEFAULT_SPEC): New macro.
10372 (LIB_WINDISS_SPEC): New macro.
10373 (CPP_OS_WINDISS_SPEC): Likewise.
10374 (STARTFILE_WINDISS_SPEC): Likewise.
10375 (ENDFILE_WINDISS_SPEC): Likewise.
10376 (LINK_START_WINDISS_SPEC): Likewise.
10377 (LINK_OS_WINDISS_SPEC): Likewise.
10378 * config/rs6000/windiss.h: New file.
10379
10380 2002-05-07 Aldy Hernandez <aldyh@redhat.com>
10381
10382 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
10383
10384 2002-05-06 David S. Miller <davem@redhat.com>
10385
10386 * config/sparc/sparc.md (shift insns): Do not mask off
10387 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
10388 take care of it.
10389
10390 2002-05-06 Richard Henderson <rth@redhat.com>
10391
10392 PR c++/6212
10393 * expr.c (highest_pow2_factor_for_type): New.
10394 (expand_assignment): Use it.
10395
10396 2002-05-06 Aldy Hernandez <aldyh@redhat.com>
10397
10398 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
10399 unspec_volatile.
10400 ("altivec_mfvscr"): Same.
10401
10402 2002-05-06 Janis Johnson <janis187@us.ibm.com>
10403
10404 * rtl.h (struct rtx_def): Update comments.
10405 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
10406 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
10407 RTL_FLAG_CHECK macros with list of expected RTL codes.
10408 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
10409 (rtl_check_failed_flag): New.
10410 * reload1.c (reload): Use REG macro before changing rtx to MEM.
10411 (reload_cse_noop_set_p): Check rtx code before using access macro.
10412 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
10413 before using access macro.
10414
10415 2002-05-06 Janis Johnson <janis187@us.ibm.com>
10416
10417 * doc/rtl.texi (Flags): Update to reflect current usage.
10418
10419 2002-05-06 Roger Sayle <roger@eyesopen.com>
10420
10421 PR opt/3995
10422 * fold-const.c (sign_bit_p): New function.
10423 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
10424 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
10425 Reapply fold when converting (A & C) == C into (A & C) != 0.
10426 (fold_binary_op_with_conditional_arg): Fix typo in comment.
10427
10428 2002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
10429
10430 * c-common.c (warn_multichar): New.
10431 (c_common_init): Set CPP's warn_multichar.
10432 * c-common.h (warn_multichar): New.
10433 * c-decl.c (warn_multichar): Remove.
10434 * c-lex.c (lex_charconst): Update.
10435 * c-tree.h (warn_multichar): Remove.
10436 * cppexp.c (eval_token): Sign-extend charconst value.
10437 * cppinit.c (cpp_create_reader): Set warn_multichar.
10438 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
10439 each character. Update prototype. Sign-extend the result.
10440 * cpplib.h: Fix conditions.
10441 (struct cpp_options): Add new warning flag.
10442 (cpp_interpret_charconst): Update prototype.
10443 doc:
10444 * cpp.texi: Update documentation.
10445
10446 2002-05-06 Vladimir Makarov <vmakarov@redhat.com>
10447
10448 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
10449 Fix typo in usage of allof instead of unit.
10450
10451 2002-05-06 Richard Henderson <rth@redhat.com>
10452
10453 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
10454 and any jump or call for IN.
10455
10456 2002-05-06 Bernd Schmidt <bernds@redhat.com>
10457
10458 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
10459 -msse2.
10460 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
10461
10462 2002-05-06 Roger Sayle <roger@eyesopen.com>
10463
10464 * fold-const.c (lshift-double): Cast the high word to an unsigned
10465 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
10466 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
10467 avoid compiler warning. (fold): Remove redundant code from
10468 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
10469
10470 2002-05-06 Jeff Law <law@redhat.com>
10471
10472 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
10473 * pa.c (pa_adjust_cost): Remove all true dependency cost
10474 adjustments. Also remove support for non-DFA scheduling.
10475 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
10476 to adjust true dependency costs. Update various comments.
10477 (7100lc, 7200, 7300 scheduling): Simplify by combining the
10478 FP ALU & MPY units into a single unit.
10479
10480 2002-05-06 Catherine Moore <clm@redhat.com>
10481
10482 * config/v850/v850.c (compute_register_save_size): Make sure
10483 to count all of the registers that will be saved.
10484
10485 Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
10486
10487 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
10488
10489 2002-05-06 David S. Miller <davem@redhat.com>
10490
10491 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
10492 allow result to overlap input operands in memory.
10493
10494 2002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
10495
10496 doc:
10497 * cpp.texi: Update multichar charconst docs.
10498
10499 2002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
10500
10501 * cpplex.c (cpp_interpret_charconst): Sign-extend each
10502 character. Don't ignore excess characters. Treat
10503 multicharacter character constants as signed.
10504 (cpp_parse_escape): Clarify diagnostic.
10505
10506 2002-05-05 Jakub Jelinek <jakub@redhat.com>
10507
10508 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
10509 use add instead of shift.
10510 (ashldi3_sp64): Likewise.
10511 (ashlsi3_const1, ashldi3_const1): Remove.
10512 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
10513 * config/sparc/sparc.c (const1_operand): New.
10514
10515 2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
10516
10517 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
10518
10519 2002-05-05 Jakub Jelinek <jakub@redhat.com>
10520
10521 PR target/6561
10522 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
10523
10524 2002-05-05 Richard Henderson <rth@redhat.com>
10525
10526 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
10527 memory latency adjustments.
10528 (alpha_variable_issue): Remove.
10529 (alpha_use_dfa_pipeline_interface): New.
10530 (alpha_multipass_dfa_lookahead): New.
10531 * config/alpha/alpha.md: Remove define_function_unit scheduling;
10532 include new dfa scheduling.
10533 (attr type): Add none.
10534 (blockage): Use it.
10535 * config/alpha/ev4.md: New.
10536 * config/alpha/ev5.md: New.
10537 * config/alpha/ev6.md: New.
10538
10539 2002-05-05 David S. Miller <davem@redhat.com>
10540
10541 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
10542
10543 2002-05-05 Kazu Hirata <kazu@cs.umass.edu>
10544
10545 * cse.c: Fix formatting.
10546 * emit-rtl.c: Likewise.
10547
10548 2002-05-05 Vladimir Makarov <vmakarov@redhat.com>
10549
10550 * genautomata.c (initiate_states): Add additional guard to
10551 initialize `units_array'.
10552
10553 2002-05-05 Vladimir Makarov <vmakarov@redhat.com>
10554
10555 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
10556 process_unit_to_form_the_same_automaton_unit_lists,
10557 form_the_same_automaton_unit_lists
10558 check_unit_distributions_to_automata): New prototypes and
10559 functions.
10560 (check_automata): Rename it into `check_automata_insn_issues'.
10561 (unit_decl): New fields `the_same_automaton_unit' and
10562 `the_same_automaton_message_reported_p'.
10563 (unit_decl_t): New typedef.
10564 (the_same_automaton_lists): New gloval variable.
10565 (unit_regexp, unit_set_el, units_array, units_cmp,
10566 output_get_cpu_unit_code_func): Use the typedef.
10567 (evaluate_max_reserv_cycles): Increment
10568 `description->max_insn_reserv_cycles'.
10569 (initiate_states): Don't increment `max_cycles_num'.
10570 (transform_insn_regexps): Move code around transformation of
10571 regexps from `generate'.
10572 (generate): Remove call of `transform_insn_regexps'.
10573 (expand_automata): Call `transform_insn_regexps' and
10574 `check_unit_distributions_to_automata'. Check errors before
10575 `generate'.
10576
10577 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
10578 automaton `ultrasparc3_1'.
10579
10580 2002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
10581
10582 * c-common.c (c_common_init): Set up CPP arithmetic.
10583 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
10584 something reasonable for the host.
10585 (sanity_checks): Add checks.
10586 (cpp_read_main_file): Call sanity_checks() from here...
10587 (cpp_post_options): ... not here.
10588 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
10589 * cpplib.h (struct cpp_options): New member int_precision.
10590
10591 2002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10592
10593 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
10594
10595 2002-05-04 David S. Miller <davem@redhat.com>
10596
10597 * config/sparc/linux.h, config/sparc/linux64.h
10598 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
10599
10600 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
10601 more RTX codes.
10602 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
10603
10604 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
10605 of SETs.
10606
10607 2002-05-05 Tim Josling <tej@melbpc.org.au>
10608
10609 * treelang; New directory for new sample language treelang.
10610
10611 2002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
10612
10613 * Makefile.in (c-lex.o): Update.
10614 * c-lex.c: Include target.h.
10615 (cb_register_builtins): New.
10616 (init_c_lex): Set builtins callback.
10617 * c-lex.h (cpp_define, cpp_assert): New prototypes.
10618 * cppinit.c (init_builtins): Use callback, including for
10619 GXX_WEAK.
10620 * cpplib.h (struct cpp_callbacks): New member.
10621 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
10622 (TARGET_INITIALIZER): Update.
10623 * target.h (struct gcc_target): New hook.
10624 * tree.c (default_register_cpp_builtins): New.
10625 * tree.h (default_register_cpp_builtins): New.
10626 doc:
10627 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
10628
10629 2002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
10630
10631 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
10632 (cpp_post_options): Move sanity checks to...
10633 (sanity_checks): New.
10634 * cpplex.c (maybe_read_ucs): Fix prototype.
10635 (parse_string, cpp_parse_escape): Cast for %c format specifier.
10636 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
10637 if necessary.
10638
10639 2002-05-04 Bernd Schmidt <bernds@redhat.com>
10640
10641 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
10642 builtins. Use V2DI patterns instead of TI for logical operations.
10643 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
10644 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
10645 (ix86_expand_builtins): Change the pattern used for movntdq.
10646 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
10647 sse2_nandv2di3): New patterns.
10648 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
10649 on operands.
10650 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
10651 (cvtdq2pd): Correct mode on operand 1.
10652 (sse2_umulsidi3): Describe without unspec.
10653 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
10654 machine modes.
10655 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
10656 (ashlv2di3): Likewise, from sse2_ashlv2di3.
10657 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
10658 ashlv4si3, ashlv2di3): Use SImode for shift count.
10659 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
10660 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
10661 New patterns.
10662 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
10663 New typedefs.
10664 (__m128i, __m128d): New macros.
10665 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
10666 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
10667 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
10668 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
10669 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
10670 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
10671 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
10672 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
10673 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
10674 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
10675 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
10676 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
10677 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
10678 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
10679 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
10680 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
10681 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
10682 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
10683 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
10684 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
10685 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
10686 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
10687 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
10688 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
10689 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
10690 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
10691 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
10692 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
10693 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
10694 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
10695 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
10696 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
10697 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
10698 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
10699 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
10700 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
10701 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
10702 functions.
10703 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
10704 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
10705
10706 2002-05-04 Kazu Hirata <kazu@cs.umass.edu>
10707
10708 * dwarf2out.c: Fix formatting.
10709 * varasm.c: Likewise.
10710
10711 2002-05-04 David Edelsohn <edelsohn@gnu.org>
10712
10713 PR c/6543
10714 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
10715 clobber and use result as temporary value.
10716
10717 Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
10718
10719 * expr.c (force_operand): Use expand_simple_* to handle more
10720 cases.
10721
10722 2002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
10723
10724 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
10725 and sign-extension.
10726 (lex_charconst): Update for change in prototype of
10727 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
10728 appropriately.
10729 * cpphash.h (BITS_PER_CPPCHAR_T): New.
10730 * cppinit.c (cpp_create_reader): Initialize them for no
10731 change in semantics.
10732 (cpp_post_options): Add sanity checks.
10733 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
10734 and truncation issues. Calculate in type cppchar_t.
10735 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
10736 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
10737 run-time dependent precision correctly. Return whether the
10738 result is signed or not.
10739 * cpplib.c (dequote_string): Use cppchar_t; update.
10740 * cpplib.h (cppchar_signed_t): New.
10741 struct cpp_options): New precision members.
10742 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
10743 * cppexp.c (eval_token): Update.
10744
10745 2002-05-03 David S. Miller <davem@redhat.com>
10746
10747 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
10748 * config/sparc/sparc.c (sparc_rtx_costs): New function
10749 implementing RTX_COSTS and CONST_COSTS.
10750 * config/sparc/sparc.h (CONST_COSTS): Delete.
10751 (RTX_COSTS_CASES): Define.
10752 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
10753 the work.
10754
10755 * config/sparc/sparc.md (DFA schedulers): Split out...
10756 * config/sparc/cypress.md, config/sparc/hypersparc.md,
10757 config/sparc/sparclet.md, config/sparc/supersparc.md,
10758 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
10759
10760 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
10761 checks on it, always defined for Sparc.
10762
10763 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
10764 Tweak, and add more detailed comments.
10765
10766 2002-05-03 Zack Weinberg <zack@codesourcery.com>
10767
10768 * Re-apply patch accidentally reverted with
10769 DFA scheduler merge: remove all rules and variables to slurp
10770 source files out of libiberty and rebuild them with HOST_CC.
10771 ($(HOST_PREFIX_1)varray.o): New rule.
10772 (genattrtab rule): Word wrap.
10773
10774 2002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
10775
10776 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
10777 (CPP_SUBTARGET_SPEC): Define.
10778 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
10779 cpp_subtarget specs.
10780 (CPP_SPEC): Redefine to include %(cpp_subtarget).
10781
10782 2002-05-03 David S. Miller <davem@redhat.com>
10783
10784 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
10785 * target.h (struct gcc_target): Delete cycle_display member.
10786
10787 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
10788 (rtx_needs_barrier): Delete reference to cycle_display unspec.
10789 (ia64_sched_reorder2): Mention need for cycle display handling
10790 once such notes exist.
10791
10792 2002-05-03 Richard Henderson <rth@redhat.com>
10793
10794 * real.c (etoasc): Strip most trailing zeros for clarity.
10795 * sched-vis.c: Include real.h.
10796 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
10797 * Makefile.in (sched-vis.o): Add real.h.
10798
10799 2002-05-03 David S. Miller <davem@redhat.com>
10800
10801 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
10802 no longer needed.
10803
10804 2002-05-03 Aldy Hernandez <aldyh@redhat.com>
10805
10806 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
10807 when we get an out of range literal.
10808 (altivec_expand_ternop_builtin): Same.
10809 (altivec_expand_unop_builtin): Same.
10810 (altivec_expand_builtin): Same, for dss.
10811 (altivec_expand_builtin): Use trees instead of rtl when
10812 determining literal argument validity.
10813
10814 2002-05-03 David S. Miller <davem@redhat.com>
10815
10816 Delete cycle display scheduling hook.
10817 * config/ia64/ia64.c (ia64_cycle_display,
10818 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
10819 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
10820 and use emit_insn_before instead of ia64_emit_insn_before.
10821 * config/ia64/ia64.md (unspec usage): Delete cycle display.
10822 (cycle_display): Delete insn pattern.
10823 * config/sparc/sparc.md (unspec usage): Delete cycle display.
10824 (cycle_display): Delete insn pattern.
10825 * config/sparc/sparc.c (sparc_cycle_display,
10826 TARGET_SCHED_CYCLE_DISPLAY): Delete.
10827 * doc/md.texi (cycle_display): Don't mention.
10828 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
10829
10830 2002-05-03 Richard Henderson <rth@redhat.com>
10831
10832 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
10833 * recog.h: Declare them.
10834
10835 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
10836 * config/sparc/sparc.md: Use store_data_bypass_p instead.
10837 * config/sparc/sparc-protos.h: Update.
10838
10839 2002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
10840
10841 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
10842 -D__arch64__. Add -D_LP64.
10843 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
10844 from sparc.h.
10845 (CPP_ARCH64_SPEC): Likewise.
10846 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
10847 (NO_BUILTIN_SIZE_TYPE): Undef.
10848
10849 2002-05-03 Vladimir Makarov <vmakarov@redhat.com>
10850
10851 * genautomata.c (min_issue_delay_pass_states): Change return type
10852 in the prototype.
10853 (min_issue_delay_pass_states): Change the algorithm.
10854 (min_issue_delay): Set up min_insn_issue_delay for the state.
10855 (output_min_issue_delay_table): Interchange the nested loops and
10856 and initiate min_insn_issue_delay for states.
10857
10858 Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
10859
10860 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
10861 jump is simplejump.
10862
10863 Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
10864
10865 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
10866 sequence.
10867
10868 2002-05-03 Richard Henderson <rth@redhat.com>
10869
10870 PR opt/6534
10871 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
10872 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
10873 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
10874 code before JUMP, not EARLIEST.
10875
10876 2002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
10877
10878 * c-format.c (check_format_info_main): Don't check for presence of
10879 parameter for * width until after operand number has been read,
10880 and only check for it if format parameters are available.
10881 Fixes PR c/6547.
10882
10883 2002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
10884
10885 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
10886 (LINK_SPEC): Undef before defining.
10887
10888 2002-05-03 Jakub Jelinek <jakub@redhat.com>
10889
10890 PR preprocessor/6489
10891 * tradcpp.c (fixup_newlines): New.
10892 (main, finclude): Use it.
10893
10894 2002-05-03 Richard Sandiford <rsandifo@redhat.com>
10895
10896 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
10897 * config/mips/mips.c (mips_unique_section): Strip encoding from
10898 decl name.
10899
10900 2002-05-03 Jakub Jelinek <jakub@redhat.com>
10901
10902 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
10903 mode.
10904
10905 2002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10906
10907 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
10908 (Specific): Removed buildstats references.
10909 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
10910 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
10911 Accomodate Solaris versions beyond 8.
10912 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
10913 (Specific, *-*-solaris2.8): Removed, obsolete.
10914
10915 2002-05-03 Jakub Jelinek <jakub@redhat.com>
10916
10917 PR target/6542
10918 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
10919 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
10920 fill leaf_reg_remap with identity.
10921 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
10922
10923 2002-05-03 Kazu Hirata <kazu@cs.umass.edu>
10924
10925 * config/h8300/crti.asm: Remove trailing spaces.
10926 * config/h8300/h8300.c: Likewise.
10927 * config/h8300/lib1funcs.asm: Likewise.
10928
10929 2002-05-02 Jason Merrill <jason@redhat.com>
10930
10931 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
10932 * c-decl.c (c_init_decl_processing): Use it.
10933 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
10934 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
10935 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
10936
10937 2002-05-03 Kazu Hirata <kazu@cs.umass.edu>
10938
10939 * regrename.c: Fix formatting.
10940 * tree.c: Likewise.
10941
10942 Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
10943
10944 * i386.md (attribute memory): Handle compares properly.
10945
10946 Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
10947
10948 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
10949 to none.
10950
10951 2002-05-02 Kazu Hirata <kazu@cs.umass.edu>
10952
10953 * function.c: Fix formatting.
10954
10955 2002-05-02 Jan Hubicka <jh@suse.cz>
10956
10957 * haifa-sched.c (schedule_insn): Print table of instructions and
10958 reservations.
10959 (sched_block): Do not print ready list at verbosity level 1.
10960 * sched-vis.c (print_insn): Make global.
10961 * sched-ebb.c (ebb_print_insn): Rename from...
10962 (print_insn): ... this one.
10963 * sched-int.h (print_insn): Declare
10964
10965 2002-05-02 Richard Henderson <rth@redhat.com>
10966
10967 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
10968 emitted by cycle_display.
10969
10970 2002-05-02 Loren J. Rittle <ljrittle@acm.org>
10971
10972 * doc/install.texi (*-*-freebsd*): Update to latest status.
10973
10974 2002-05-02 Jakub Jelinek <jakub@redhat.com>
10975
10976 PR target/6540
10977 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
10978 * config/float-sparc.h: Assume 128-bit long double if
10979 __LONG_DOUBLE_128__ is defined.
10980
10981 2002-05-02 Vladimir Makarov <vmakarov@redhat.com>
10982
10983 * genattrtab.c (write_function_unit_info): Add a dummy element
10984 when num_units == 0.
10985
10986 2002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10987
10988 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
10989 TYPE_MODE (double_type_node) instead of DFmode.
10990
10991 Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
10992
10993 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
10994 jumps post reload.
10995 * toplev.c (rest_of_compilation): Revert Richard's patch.
10996
10997 2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
10998
10999 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
11000
11001 2002-05-02 Catherine Moore <clm@redhat.com>
11002
11003 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
11004
11005 2002-05-02 Kazu Hirata <kazu@hxi.com>
11006
11007 * combine.c: Fix comment typos.
11008 * expr.c: Likewise.
11009 * genautomata.c: Likewise.
11010 * stmt.c: Likewise.
11011 * tree.h: Likewise.
11012
11013 2002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
11014
11015 * doc/install.texi: State GNAT version requirements.
11016
11017 2002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
11018
11019 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
11020 of the frame pointer or arg pointer register which strict register
11021 checking is not enabled.
11022
11023 2002-05-02 Aldy Hernandez <aldyh@redhat.com>
11024
11025 * gcc.dg/altivec-8.c: New.
11026
11027 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
11028 PRE_INC and PRE_DEC for altivec modes.
11029
11030 2002-05-01 Bruce Korb <bkorb@gnu.org>
11031
11032 * fixinc/check.tpl(set-writable): make sure the function exists first
11033 * fixinc/inclhack.def(alpha_assert): fix test_text
11034 * fixinc/tests/base/assert.h: add in missing result
11035
11036 2002-05-01 Jeff Law <law@redhat.com>
11037
11038 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
11039 'T' constraint.
11040
11041 2002-05-01 Joel Brobecker <brobecker@gnat.com>
11042
11043 * dbxout.c (dbxout_type): Emit size information for range types,
11044 as well, but only when using GDB extensions.
11045
11046 2002-05-01 Richard Henderson <rth@redhat.com>
11047
11048 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
11049 target-independent gnu binutils date test.
11050
11051 2002-05-01 Richard Henderson <rth@redhat.com>
11052
11053 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
11054 info before expunging the block.
11055
11056 2002-05-01 Jakub Jelinek <jakub@redhat.com>
11057
11058 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
11059 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
11060 -M -or -MM is in effect.
11061
11062 2002-05-01 Zack Weinberg <zack@codesourcery.com>
11063
11064 * config.gcc: Correct test of --enable-obsolete. Obsolete all
11065 A29k configurations.
11066 * doc/install.texi: Update to match.
11067
11068 2002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11069
11070 PR bootstrap/6514
11071 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
11072 for duplicates. Always loop over whole list.
11073
11074 Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11075
11076 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
11077
11078 2002-05-01 Joel Sherrill <joel@OARcorp.com>
11079
11080 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
11081 support routines.
11082
11083 2002-05-01 Joel Sherrill <joel@OARcorp.com>
11084
11085 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
11086
11087 2002-05-01 David Edelsohn <edelsohn@gnu.org>
11088
11089 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
11090 (nabs_nopower): Same.
11091 (floatdisf2): New pattern.
11092 (absdi2): Convert to define_insn_and_split.
11093 (nabsdi2): Same.
11094 (trunctfsf2): Same.
11095 (floatditf2): Same.
11096 (floatsitf2): Same.
11097 (fix_trunctfdi2): Same.
11098 (fix_trunctfsi2): Same.
11099
11100 2002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
11101
11102 * doc/install.texi: Update Texinfo version requirement
11103 documentation.
11104
11105 2002-05-01 Jakub Jelinek <jakub@redhat.com>
11106
11107 PR target/6512, PR target/5628
11108 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
11109 when memory is not aligned.
11110 (movdf_insn_v9only_vis): Likewise.
11111 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
11112 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
11113 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
11114
11115 2002-05-01 Aldy Hernandez <aldyh@redhat.com>
11116
11117 * gcc.dg/altivec-7.c: New.
11118
11119 * config/rs6000/altivec.h: Cleanup.
11120
11121 2002-04-30 Aldy Hernandez <aldyh@redhat.com>
11122
11123 * doc/invoke.texi (Option Summary): Add -mvrsave=.
11124 (RS/6000 and PowerPC Options): Document -mvrsave=.
11125
11126 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
11127 (rs6000_altivec_vrsave_string): Same.
11128 (rs6000_override_options): Call rs6000_parse_vrsave_option.
11129 (rs6000_parse_vrsave_option): New.
11130 (rs6000_stack_info): Only generate vrsave instructions when
11131 TARGET_ALTIVEC_VRSAVE.
11132
11133 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
11134 (rs6000_altivec_vrsave_string): Define extern.
11135 (rs6000_altivec_vrsave): Same.
11136 (TARGET_ALTIVEC_VRSAVE): New.
11137
11138 2002-04-30 Richard Henderson <rth@redhat.com>
11139
11140 PR opt/6516
11141 * toplev.c (rest_of_compilation): Don't run cross-jump before
11142 bb-reorder.
11143
11144 2002-04-30 Tom Rix <trix@redhat.com>
11145
11146 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
11147 check which_alternative.
11148
11149 2002-04-30 Kazu Hirata <kazu@hxi.com>
11150
11151 * cpplex.c: Fix comment formatting.
11152 * function.c: Likewise.
11153 * integrate.c: Likewise.
11154 * regrename.c: Likewise.
11155 * sibcall.c: Likewise.
11156 * simplify-rtx.c: Likewise.
11157 * tree-inline.c: Likewise.
11158
11159 2002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
11160
11161 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
11162 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
11163 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
11164 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
11165 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
11166 * pa/x-ada: New file. Define ADA_CFLAGS.
11167
11168 2002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
11169
11170 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
11171 from MMIX_LAST_REGISTER_FILE_REGNUM.
11172 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
11173 (struct machine_function): New member highest_saved_stack_register
11174 previously static variable in mmix.c.
11175 (MACHINE_DEPENDENT_REORG): Define.
11176 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
11177 (MMIX_OUTPUT_REGNO): New.
11178 (mmix_target_asm_function_prologue): Move calculation of last used
11179 saved-stack-register into...
11180 (mmix_machine_dependent_reorg): New function. Update to also handle
11181 !TARGET_ABI_GNU.
11182 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
11183 register names, simplify somewhat by new variable regno.
11184 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
11185 register.
11186 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
11187 emitting register names.
11188 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
11189 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
11190 Remove fixed FIXME.
11191 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
11192 Declare.
11193
11194 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
11195
11196 2002-04-30 Richard Henderson <rth@redhat.com>
11197
11198 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
11199 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
11200 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
11201 emit_tfmode_cvt): New.
11202 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
11203 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
11204 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
11205 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
11206 * config/sparc/sparc-protos.h: Update.
11207
11208 2002-04-30 Janis Johnson <janis187@us.ibm.com>
11209
11210 * install.texi (Final install): Add to the list of info to include
11211 in a report of a successful bootstrap, and add link to 3.1 list.
11212
11213 Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
11214
11215 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
11216 (mode): Add vector modes
11217 (i387): Kill attribute.
11218 (unit): New attribute.
11219 (length_immediate): Grok new types.
11220 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
11221 (modrm): Use "unit".
11222 (memory): Handle MMX/SSE properly.
11223 (scheduling descriptions): Kill uses of fop1.
11224 (sse, mmx, fp patterns): Set type and mode properly.
11225
11226 Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
11227
11228 * pa.c (override_options): Default to PA8000 scheduling.
11229 * doc/invoke.texi (HP-PA options): Mention newly added 7300
11230 scheduling parameter.
11231
11232 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
11233 handling of double precision multiplies.
11234
11235 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
11236 fpdiv and fpsqrt instructions.
11237 (7200 & 7300 scheduling): Fix typo in handling of
11238 store-load and store-store penalties.
11239
11240 2002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11241
11242 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
11243 mips. Add two missing commas.
11244
11245 2002-04-30 Paolo Carlini <pcarlini@unitus.it>
11246
11247 * doc/contrib.texi (Contributors): Update Paolo Carlini's
11248 and Benjamin Kosnik's entries.
11249
11250 2002-04-29 David S. Miller <davem@redhat.com>
11251
11252 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
11253 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
11254 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
11255 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
11256
11257 2002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11258
11259 * combine.c (find_split_point): Use gen_int_mode.
11260
11261 2002-04-29 Vladimir Makarov <vmakarov@redhat.com>
11262
11263 Merging code from dfa-branch:
11264
11265 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
11266
11267 * genautomata.c (output_reserv_sets): Fix typo.
11268
11269 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
11270
11271 * genautomata.c (output_reserv_sets): Remove
11272 next_cycle_output_flag.
11273
11274 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
11275
11276 * sched-rgn.c (init_ready_list): Make the DFA code handle
11277 USE/CLOBBER insns in the same way as the traditional
11278 scheduler.
11279 (new_ready): Similarly..
11280
11281 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
11282
11283 * haifa-sched.c (schedule_block): Change the DFA state only after
11284 issuing insn.
11285
11286 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
11287
11288 * pa.c (hppa_use_dfa_pipeline_interface): New function.
11289 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
11290 (override_options): Add PA7300 scheduling support.
11291 (pa_adjust_cost): Update various comments. Properly
11292 handle anti and output dependencies when using the
11293 DFA scheduler.
11294 (pa_issue_rate): Add PA7300 scheduling support.
11295 (pa_can_combine_p): Call extract_insn before calling
11296 constrain_operands (taken from mainline tree).
11297 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
11298 * pa.md (cpu attr): Add 7300. Rewrite pipeline
11299 descriptions using DFA descriptions. Add PA7300
11300 scheduling support.
11301
11302 2002-03-30 David S. Miller <davem@redhat.com>
11303
11304 Add UltraSPARC-III DFA scheduling support.
11305 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
11306 Update FP conditional move on register insn patterns to use it, as
11307 appropriate.
11308 (define_attr cpu): Add ultrasparc3.
11309 (define_attr us3load_type): New, update integer load patterns to
11310 set it, as appropriate.
11311 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
11312 (rest): Add UltraSPARC3 scheduling description.
11313 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
11314 (PROCESSOR_ULTRASPARC3): New.
11315 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
11316 ({ASM,CPP}_CPU_SPEC): Likewise.
11317 (REGISTER_MOVE_COST): Likewise.
11318 (RTX_COSTS): Likewise.
11319 * config/sparc/sparc.c (sparc_override_options,
11320 sparc_initialize_trampoline, sparc64_initialize_trampoline,
11321 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
11322 sparc_issue_rate): Likewise.
11323 * config/sparc/sol2.h: Likewise.
11324 * config/sparc/sol2-sld-64.h: Likewise.
11325 * config/sparc/linux64.h: Likewise.
11326
11327 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
11328
11329 * doc/md.texi: Add comments about usage the latency time for the
11330 different dependencies and about case when two or more conditions
11331 in different define_insn_reservations returns TRUE for an insn.
11332
11333 * doc/md.texi: Add reference for automaton based pipeline
11334 description.
11335
11336 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
11337
11338 * doc/passes.texi: Add missed information about genattrtab.
11339
11340 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
11341
11342 * genautomata.c (output_automata_list_transition_code): Check
11343 automata_list on NULL.
11344
11345 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
11346
11347 * genautomata.c (output_insn_code_cases,
11348 output_automata_list_min_issue_delay_code,
11349 output_automata_list_transition_code,
11350 output_automata_list_state_alts_code): Comment the functions.
11351
11352 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
11353
11354 * genautomata.c (automata_list_el_t): New typedef.
11355 (get_free_automata_list_el,free_automata_list_el,
11356 free_automata_list, automata_list_hash, automata_list_eq_p,
11357 initiate_automata_lists, automata_list_start, automata_list_add,
11358 automata_list_finish, finish_automata_lists,
11359 output_insn_code_cases, output_automata_list_min_issue_delay_code,
11360 output_automata_list_transition_code,
11361 output_automata_list_state_alts_code, add_automaton_state,
11362 form_important_insn_automata_lists): New functions and prototypes.
11363 (insn_reserv_decl): Add members important_automata_list and
11364 processed_p.
11365 (ainsn): Add members important_p.
11366 (automata_list_el): New structure.
11367 (first_free_automata_list_el, current_automata_list,
11368 automata_list_table): New global variables.
11369 (create_ainsns): Initiate member important_p.
11370 (output_internal_min_issue_delay_func): Generate the switch and
11371 call output_insn_code_cases.
11372 (output_internal_trans_func, output_internal_state_alts_func):
11373 Ditto.
11374 (generate): Call initiate_automata_lists.
11375 (automaton_states): New global variable.
11376 (expand_automata): Call form_important_insn_automata_lists.
11377 (write_automata): Call finish_automata_lists.
11378
11379 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
11380
11381 * genautomata.c (add_excls, add_presence_absence): Check that
11382 cpu units in the sets belong the same automaton.
11383
11384 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
11385 about that cpu units in the sets belong the same automaton.
11386
11387 * doc/md.texi: Ditto.
11388
11389 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
11390 Nitin Gupta <niting@noida.hcltech.com>
11391
11392 * config/sh/sh.c (sh_use_dfa_interface): New function.
11393
11394 (sh_issue_rate): New Function.
11395 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
11396 TARGET_SCHED_ISSUE_RATE: define.
11397
11398 * config/sh/sh.md: Add DFA based pipeline description for SH4.
11399
11400 (define_attr insn_class): New attribute used for DFA
11401 scheduling.
11402 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
11403 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
11404 cmpeqdi_t): Likewise.
11405
11406 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
11407 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
11408 ex_group.
11409 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
11410
11411 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
11412
11413 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
11414 break.
11415
11416 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
11417
11418 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
11419 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
11420 necessary.
11421 (output_dfa_start_func): Initiate new variable insn_codes_length,
11422 (write_automata): Output definition of the new variable.
11423
11424 2001-10-02 David S. Miller <davem@redhat.com>
11425
11426 * haifa-sched.c (advance_one_cycle): New function.
11427 (schedule_block): Use it.
11428 (queue_to_ready): Use it, and also make sure to advance the DFA
11429 state on all stall cycles, not just those where insn_queue links
11430 are found.
11431
11432 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
11433
11434 * haifa-sched.c (max_issue): Remove last_p argument. Only return
11435 non-zero if the highest-priority instruction could be scheduled.
11436 (choose_ready): Remove last argument from max_issue call.
11437
11438 2001-09-28 David S. Miller <davem@redhat.com>
11439
11440 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
11441 ultrasparc and 3 for other multi-issue sparcs.
11442
11443 2001-09-27 David S. Miller <davem@redhat.com>
11444
11445 * config/sparc/sparc.md (cycle_display): New pattern.
11446 * config/sparc/sparc.c (sparc_cycle_display): New.
11447 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
11448
11449 2001-09-25 David S. Miller <davem@redhat.com>
11450
11451 Convert all of Sparc scheduling to DFA
11452 * config/sparc/sparc.md: Kill all define_function_unit
11453 directives and replace with DFA equivalent.
11454 * config/sparc/sparc.c (ultrasparc_adjust_cost,
11455 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
11456 ultra_fpmode_conflict_exists, ultra_find_type,
11457 ultra_build_types_avail, ultra_flush_pipeline,
11458 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
11459 ultrasparc_variable_issue, ultrasparc_sched_init,
11460 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
11461 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
11462 ultra_cur_hist, ultra_cycles_elapsed): Kill.
11463 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
11464 ultrasparc_store_bypass_p): New.
11465 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
11466 Declare.
11467
11468 2001-09-24 David S. Miller <davem@redhat.com>
11469
11470 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
11471 ready->vec[foo] not ready[foo].
11472
11473 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
11474
11475 * doc/md.texi: Correct examples for define_insn_reservations
11476 `mult' and `div'.
11477
11478 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
11479
11480 * genautomata.c (create_automata): Print message about creation of
11481 each automaton.
11482 (generate): Remove printing meease about creation of
11483 automata.
11484
11485 2001-09-05 David S. Miller <davem@redhat.com>
11486
11487 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
11488 * config/sparc/linux64.h: Likewise.
11489
11490 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
11491
11492 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
11493 schedule_block, sched_init, sched_finish): Add missed calls of
11494 use_dfa_pipeline_interface.
11495
11496 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
11497 Ditto.
11498
11499 * sched-vis.c (get_visual_tbl_length): Ditto.
11500
11501 2001-08-27 Richard Henderson <rth@redhat.com>
11502
11503 * genattr.c (main): Emit state_t even when not doing scheduling.
11504
11505 2001-08-27 Richard Henderson <rth@redhat.com>
11506
11507 * genautomata.c (expand_automata): Always create a description.
11508
11509 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
11510
11511 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
11512 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
11513 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
11514 RTL constructions.
11515
11516 * genattr.c (main): New variable num_insn_reservations. Increase
11517 it if there is DEFINE_INSN_RESERVATION. Output automaton based
11518 pipeline hazard recognizer interface.
11519
11520 * genattrtab.h: New file.
11521
11522 * genattrtab.c: Include genattrtab.h.
11523 (attr_printf, check_attr_test, make_internal_attr,
11524 make_numeric_value): Move protypes into genattrtab.h. Define them
11525 as external.
11526 (num_dfa_decls): New global variable.
11527 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
11528 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
11529 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
11530 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
11531
11532 * genautomata.c: New file.
11533
11534 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
11535
11536 * sched-int.h: (curr_state): Add the external definition for
11537 automaton pipeline interface.
11538 (haifa_insn_data): Add comments for members blockage and units.
11539
11540 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11541 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11542 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11543 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11544 TARGET_SCHED_DFA_POST_CYCLE_INSN,
11545 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11546 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
11547 macros.
11548 (TARGET_SCHED): Use the new macros.
11549
11550 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
11551 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
11552 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
11553 dfa_bubble): New members in gcc_target.sched.
11554
11555 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
11556 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
11557 (insn_queue): Redefine it as pointer to array.
11558 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
11559 INSN_QUEUE_SIZE.
11560 (max_insn_queue_index_macro_value): New variable.
11561 (curr_state, dfa_state_size, ready_try): New varaibles for
11562 automaton interface.
11563 (ready_element, ready_remove, max_issue): New function prototypes
11564 for automaton interface.
11565 (choose_ready): New function prototype.
11566 (insn_unit, blockage_range): Add comments.
11567 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
11568 FUNCTION_UNITS_SIZE == 0.
11569 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
11570 actual_hazard, potential_hazard): Add comments.
11571 (insn_cost): Use cost -1 as undefined value. Remove
11572 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
11573 pipeline interface.
11574 (ready_element, ready_remove): New functions for automaton
11575 interface.
11576 (schedule_insn): Add new code for automaton pipeline interface.
11577 (queue_to_ready): Add new code for automaton pipeline interface.
11578 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
11579 (debug_ready_list): Print newline when the queue is empty.
11580 (max_issue): New function for automaton pipeline interface.
11581 (choose_ready): New function.
11582 (schedule_block): Add new code for automaton pipeline interface.
11583 Print ready list before scheduling each insn.
11584 (sched_init): Add new code for automaton pipeline interface.
11585 Initiate insn cost by -1.
11586 (sched_finish): Free the current automaton state and finalize
11587 automaton pipeline interface.
11588
11589 * sched-rgn.c: Include target.h.
11590 (init_ready_list, new_ready, debug_dependencies): Add new code for
11591 automaton pipeline interface.
11592
11593 * sched-vis.c: Include target.h.
11594 (get_visual_tbl_length): Add code for automaton interface.
11595 (target_units, print_block_visualization): Add comments.
11596
11597 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
11598 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
11599 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
11600 (getruntime.o, genautomata.o): New entries.
11601 (genattrtab.o): Add new dependency file genattrtab.h.
11602 (genattrtab): Add new dependencies. Link it with `libm.a'.
11603 (getruntime.o, hashtab.o): New entries for canadian cross.
11604
11605 * doc/md.texi: Description of automaton based model.
11606
11607 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
11608 Add comments.
11609 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11610 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11611 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11612 TARGET_SCHED_DFA_POST_CYCLE_INSN,
11613 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11614 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11615 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
11616 hook descriptions.
11617 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
11618 MAX_DFA_ISSUE_RATE): New macro descriptions.
11619
11620 * doc/contrib.texi: Add dfa based scheduler contribution.
11621
11622 * doc/gcc.texi: Add more information about genattrtab.
11623
11624 Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11625
11626 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
11627 adjust_address_nv call.
11628
11629 2002-04-29 Janis Johnson <janis187@us.ibm.com>
11630
11631 * doc/install.texi (Testing): Provide additional information, and
11632 a stronger encouragement, for running the testsuites.
11633
11634 2002-04-29 DJ Delorie <dj@redhat.com>
11635
11636 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
11637 given in upper case.
11638
11639 2002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11640
11641 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
11642 Solaris 2 <widec.h> if missing.
11643 * fixinc/fixincl.x: Regenerate.
11644 * fixinc/tests/base/widec.h: New file.
11645
11646 2002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
11647
11648 * toplev.c (f_options): Add "profile" switch so that
11649 -fno-profile can be used to disable -p.
11650
11651 2002-04-29 Bernd Schmidt <bernds@redhat.com>
11652
11653 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
11654 UV2DImode.
11655 * tree.c (build_common_tree_nodes_2): Likewise.
11656 * tree.h (enum tree_index): Likewise.
11657 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
11658
11659 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
11660 entries.
11661 (init_mmx_sse_builtins): Initialize SSE2 builtins.
11662 (ix86_expand_builtin): Add support for SSE2 builtins.
11663 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
11664 (VALID_SSE_REG_MODE): Use it.
11665 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
11666 (enum ix86_builtins): Add SSE2 builtins.
11667 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
11668 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
11669 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
11670 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
11671 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
11672 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
11673 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
11674 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
11675 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
11676 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
11677 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
11678 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
11679 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
11680 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
11681 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
11682 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
11683 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
11684 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
11685 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
11686 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
11687 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
11688 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
11689 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
11690 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
11691 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
11692 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
11693 lfence_insn): New patterns.
11694 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
11695 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
11696
11697 Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
11698
11699 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
11700
11701 2002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11702
11703 * doc/contrib.texi (Contributors): Add Paolo Carlini and
11704 Janis Johnson.
11705 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
11706 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
11707 and CPU instead of cpu.
11708
11709 Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
11710
11711 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
11712 variables.
11713 (lang_independent_options): Add -fif-conversion, -fif-conversion2
11714 (rest_of_compilation): Do if conversion only when asked for.
11715 (parse_options_and_default_flags): Set new variables to 1 for -O1
11716 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
11717
11718 Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
11719
11720 * i386.c (dbx64_register_map): Fix typo.
11721
11722 Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
11723
11724 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
11725 real_one_half, real_bb_freq_max): New static variables.
11726 (debug_profile_bbauxs): Kill.
11727 (process_note_predictions): Kill unused variable.
11728 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
11729 volatile double.
11730 (propagate_freq): Use REAL_ARITHMETICS.
11731 (estimate_bb_frequencies): Likevise; init new static variables.
11732 * Makefile.in (predict.o): Add dependency on real.h
11733
11734 2002-04-28 David S. Miller <davem@redhat.com>
11735
11736 PR target/6500
11737 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
11738 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
11739 several {reads,writes} instead.
11740 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
11741 Define.
11742
11743 2002-04-27 David S. Miller <davem@redhat.com>
11744
11745 PR target/6494
11746 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
11747 of the stack bias.
11748
11749 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
11750 including signal.h and sys/ucontext.h, not needed.
11751
11752 2002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
11753
11754 * varasm.c (output_constant_def): Correct test for not calling
11755 ENCODE_SECTION_INFO for INTEGER_CST.
11756
11757 2002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
11758
11759 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
11760 keep most cases as function eval_token.
11761 (eval_token): New function.
11762 (_cpp_parse_expr): Read token here for improved diagnostics.
11763 Don't use op_as_text. Detect bad ':' here.
11764 (reduce): Don't detect bad ':' here.
11765 (op_as_text): Remove.
11766 * cpphash.h (_cpp_test_assertion): Change prototype.
11767 * cpplib.c (_cpp_test_assertion): Change prototype.
11768
11769 2002-04-28 Richard Henderson <rth@redhat.com>
11770
11771 PR c/5154
11772 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
11773 (ggc_mark_rtx_children): New.
11774
11775 2002-04-28 Jakub Jelinek <jakub@redhat.com>
11776
11777 PR target/6496
11778 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
11779 after call peepholes for UltraSPARC.
11780 (call + jump 64-bit peepholes): Remove.
11781
11782 2002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11783
11784 PR c/6497
11785 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
11786 result as temporary value.
11787
11788 2002-04-28 Jakub Jelinek <jakub@redhat.com>
11789
11790 PR c++/6396
11791 * toplev.c (rest_of_compilation): Only run regrename and copy
11792 propagation if optimizing.
11793
11794 2002-04-28 Jakub Jelinek <jakub@redhat.com>
11795
11796 PR optimization/6475
11797 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
11798 register of REGNO_DECL (i).
11799 * Makefile.in (reload1.o): Add $(TREE_H).
11800
11801 2002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
11802
11803 * cppexp.c (lex): Update to use state.skip_eval.
11804 (struct op): Remove prio and flags members.
11805 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
11806 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
11807 (LEFT_ASSOC): New macro.
11808 (optab): New table of operator priorities and flags.
11809 (SHIFT): Update.
11810 (_cpp_parse_expr): Clean up logic. Return bool. Use a
11811 malloc-ed parser stack.
11812 (reduce): New; reduce the operator stack.
11813 (_cpp_expand_op_stack): Expand the operator stack as necessary.
11814 * cpphash.h (struct op): Predeclare.
11815 (struct cpp_reader): New members op_stack, op_limit.
11816 (struct lexer_state): New member skip_eval.
11817 (_cpp_parse_expr): Update.
11818 (_cpp_expand_op_stack): New.
11819 * cpplib.c (do_if): Update.
11820 * cppinit.c (cpp_create_reader): Create op stack.
11821 (cpp_destroy): And destroy it.
11822 * cpplib.h (CPP_LAST_CPP_OP): Correct.
11823 (TTYPE_TABLE): Correct.
11824
11825 2002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11826
11827 PR c/6343
11828 * c-decl.c (duplicate_decls): Call merge_weak.
11829 * c-pragma.c (apply_pragma_weak): Warn about misuse.
11830 * output.h (merge_weak): Prototype merge_weak.
11831 * varasm.c (merge_weak): New function.
11832 (declare_weak): Make sure we don't give an error on VAR_DECLs.
11833 Mark RTL with SYMBOL_REF_WEAK.
11834
11835 2002-04-27 Kurt Garloff <garloff@suse.de>
11836
11837 * tree-inline.c (inlinable_function_p): Improve heuristics
11838 by using a smoother function to cut down allowable inlinable size.
11839 * param.def: Add parameters max-inline-insns-single,
11840 max-inline-slope, min-inline-insns that determine the exact
11841 shape of the above function.
11842 * param.h: Likewise.
11843
11844 2002-04-26 Richard Henderson <rth@redhat.com>
11845
11846 * c-parse.in (malloced_yyss, malloced_yyvs): New.
11847 (yyoverflow): Re-add. Set them.
11848 (free_parser_stacks): New.
11849 * c-common.h: Declare it.
11850 * c-lex.c (c_common_parse_file): Call it.
11851
11852 2002-04-26 Richard Henderson <rth@redhat.com>
11853
11854 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
11855 for fallthru search.
11856
11857 2002-04-26 Eric Christopher <echristo@redhat.com>
11858
11859 PR optimization/3700
11860 * config/mips/mips.c (mips_issue_rate): Define. New function.
11861 (TARGET_SCHED_ISSUE_RATE): Use.
11862
11863 2002-04-25 David S. Miller <davem@redhat.com>
11864
11865 PR target/6422
11866 * reorg.c (optimize_skip): Do not allow exception causing
11867 instructions to be considered for delay slots.
11868 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
11869 (relax_delay_slots): Do not try to consider exception causing
11870 instructions as redundant.
11871
11872 2002-04-26 Richard Henderson <rth@redhat.com>
11873
11874 PR c/5225
11875 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
11876
11877 2002-04-26 Mark Mitchell <mark@codesourcery.com>
11878
11879 PR bootstrap/6445
11880 * config/i386/i386.md (untyped_call): Return the value in a float
11881 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
11882 TARGET_80387.
11883
11884 2002-04-26 Alexandre Oliva <aoliva@redhat.com>
11885
11886 * tree.c (tree_int_cst_lt): Compare constants whose types differ
11887 in unsigned-ness correctly.
11888
11889 2002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
11890
11891 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
11892 portable runtime model.
11893
11894 2002-04-26 Richard Henderson <rth@redhat.com>
11895
11896 * c-parse.in (yyoverflow): Revert.
11897
11898 2002-04-26 David Edelsohn <edelsohn@gnu.org>
11899 Richard Henderson <rth@redhat.com>
11900
11901 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
11902 result as temporary value.
11903
11904 2002-04-26 Richard Henderson <rth@redhat.com>
11905
11906 PR c/3581
11907 * c-common.c (fix_string_type): Split out of ...
11908 (combine_strings): ... here. Take a varray, not a tree list.
11909 (c_expand_builtin_printf): Use fix_string_type.
11910 * c-common.h: Update decls.
11911 * c-parse.in (string): Remove. Update all uses to use STRING
11912 instead, and not call combine_strings.
11913 (yylexstring): New.
11914 (_yylex): Use it.
11915 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
11916 (build_asm_stmt): Likewise.
11917 * objc/objc-act.c (my_build_string): Use fix_string_type.
11918 (build_objc_string_object): Build varray for combine_strings.
11919
11920 2002-04-26 Bo Thorsen <bo@suse.co.uk>
11921
11922 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
11923 x86-64.
11924
11925 2002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
11926
11927 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
11928 (HAVE_NO_R_OPERAND): Remove.
11929 (HAVE_VALUE): Remove.
11930 (op_to_prio): Update.
11931 (UNARY): Don't alter flags.
11932 (_cpp_parse_expr): want_value used to indicate whether
11933 a number or unary operator is expected next. Distinguish
11934 unary and binary +/-.
11935 (op_as_text): Update for unary operators.
11936
11937 2002-04-25 Richard Henderson <rth@redhat.com>
11938
11939 PR c/2161
11940 * c-parse.in (yyoverflow): New.
11941
11942 2002-04-25 Richard Henderson <rth@redhat.com>
11943
11944 PR c/2098
11945 * c-common.c (shorten_compare): Simplfy conditions leading to
11946 the generation of a warning.
11947
11948 2002-04-25 Richard Henderson <rth@redhat.com>
11949
11950 PR c/2035
11951 * expmed.c (extract_bit_field): Fall through to generic code rather
11952 than aborting on subreg special case.
11953
11954 2002-04-25 David S. Miller <davem@redhat.com>
11955
11956 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
11957 for DECL being NULL.
11958
11959 2002-04-25 Steve Christiansen <smc@us.ibm.com>
11960
11961 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
11962
11963 2002-04-25 Eric Botcazou <ebotcazou@multimania.com>
11964
11965 * c-decl.c (grokdeclarator): Remove outdated ??? note
11966 on invalid declaration of flexible array members.
11967
11968 2002-04-25 Richard Henderson <rth@redhat.com>
11969
11970 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
11971
11972 2002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
11973
11974 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
11975 needed by the compiler, even if they are used as global regs.
11976
11977 2002-04-25 Matt Hiller <hiller@redhat.com>
11978
11979 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
11980 functions.
11981 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
11982 of the corresponding functions.
11983 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
11984 New prototypes.
11985
11986 2002-04-25 Matt Hiller <hiller@redhat.com>
11987
11988 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
11989
11990 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
11991 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
11992 registers, adjust comment accordingly.
11993 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
11994 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
11995 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
11996 for coprocessor registers.
11997 (ADDITIONAL_REGISTER_NAMES): Include
11998 ALL_COP_ADDITIONAL_REGISTER_NAMES.
11999
12000 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
12001 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
12002 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
12003 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
12004 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
12005
12006 (mips_char_to_class): Adjust comment to include coprocessor
12007 constraint letters.
12008
12009 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
12010 New functions.
12011 (mips_reg_names, mips_regno_to_class): Include coprocessor
12012 information.
12013 (mips_sw_reg_names): Ditto, make non-static.
12014 (mips_move_1word): Handle moves to and from coprocessor registers.
12015 (mips_move_2words): Handle moves to and from coprocessor
12016 registers.
12017 (mips_class_max_nregs, mips_register_move_cost): Handle
12018 coprocessor register classes.
12019 (override_options): Initialize mips_char_to_class and
12020 mips_hard_regno_mode_ok properly for coprocessor registers.
12021
12022 * config/mips/mips.md (movdi_internal, movdi_internal2,
12023 movsi_internal1, movsi_internal2): Add constraint-sets for
12024 coprocessor registers.
12025 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
12026 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
12027 isn't mips.
12028 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
12029 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
12030 isn't mips.
12031 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
12032 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
12033 isn't mips.
12034 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
12035 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
12036 isn't mips.
12037
12038 * doc/tm.texi: Document feature.
12039
12040 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
12041
12042 * integrate.c (function_attribute_inlinable_p): Simplify.
12043 Check the table pointer is not NULL.
12044
12045 2002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
12046
12047 * doc/c-tree.texi: Fix typo in introduction.
12048
12049 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
12050
12051 * c-common.h (c_common_parse_file): Update.
12052 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
12053 * c-lex.c (YYDEBUG): Get from c-lex.h.
12054 (c_common_parse_file): Update.
12055 * c-lex.h (YYDEBUG, yydebug): New.
12056 * c-parse.in (YYDEBUG): Get from c-lex.h.
12057 (c_set_yydebug): Remove.
12058 * c-tree.h (c_set_yydebug): Remove.
12059 * langhooks-def.h (lhd_do_nothing_i): New.
12060 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
12061 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
12062 * langhooks.c (lhd_do_nothing_i): New.
12063 (lhd_set_yydebug): Remove.
12064 * langhooks.h (struct lang_hooks): Update.
12065 * toplev.c (set_yydebug): New.
12066 (compile_file): Update call to parse_file hook.
12067 (decode_d_option): Update.
12068 objc:
12069 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
12070
12071 Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
12072
12073 * loop.c (load_mems): Don't change the interface of called functions.
12074
12075 * calls.c (expand_call): Take current_function_pretend_args_size
12076 into account when setting argblock for sibcalls.
12077
12078 2002-04-24 Matt Hiller <hiller@redhat.com>
12079
12080 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
12081 * c-lex.c: Ditto.
12082
12083 * cpplex.c (skip_line_comment): Process comment one multibyte
12084 character at a time rather than one char at a time, if
12085 appropriate.
12086 (parse_string): Process string one multibyte character at a time
12087 rather than one char at a time, if appropriate.
12088 * c-lex.c (lex_string): Lex and copy multibyte strings
12089 appropriately.
12090 * cpplib.h (cppchar_t): Change to unsigned.
12091
12092 2002-04-24 Richard Henderson <rth@redhat.com>
12093
12094 PR c/3467
12095 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
12096 for c99.
12097
12098 Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
12099
12100 * sh.c (sh_va_arg): If argument was passed by reference,
12101 dereference the pointer.
12102
12103 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
12104
12105 * sh.md (divsi3_i4_media): Use match_operand for input values
12106 rather than hard registers.
12107 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
12108 unnecessarily through hard registers. Keep copies of pseudo
12109 registers outside of the libcall sequence.
12110
12111 * sh.md (casesi_shift_media): Add modes.
12112
12113 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
12114 values in memory.
12115
12116 2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
12117
12118 * attribs.c (c_common_attribute_table): Move table and handlers
12119 to c-common.c.
12120 (format_attribute_table, lang_attribute_table,
12121 lang_attribute_common): Remove.
12122 (init_attributes): Replace NULL pointers with pointers to the
12123 empty table.
12124 (handle_packed_attribute, handle_nocommon_attribute,
12125 handle_common_attribute, handle_noreturn_attribute,
12126 handle_noinline_attribute, handle_always_inline_attribute,
12127 handle_used_attribute, handle_unused_attribute,
12128 handle_const_attribute, handle_transparent_union_attribute,
12129 handle_constructor_attribute, handle_destructor_attribute,
12130 handle_mode_attribute, handle_section_attribute,
12131 handle_aligned_attribute, handle_weak_attribute,
12132 handle_alias_attribute, handle_visibility_attribute,
12133 handle_no_instrument_function_attribute, handle_malloc_attribute,
12134 handle_no_limit_stack_attribute, handle_pure_attribute,
12135 handle_deprecated_attribute, handle_vector_size_attribute,
12136 vector_size_helper): Move to c-common.c.
12137 * c-common.c (c_common_attribute_table,
12138 handle_packed_attribute, handle_nocommon_attribute,
12139 handle_common_attribute, handle_noreturn_attribute,
12140 handle_noinline_attribute, handle_always_inline_attribute,
12141 handle_used_attribute, handle_unused_attribute,
12142 handle_const_attribute, handle_transparent_union_attribute,
12143 handle_constructor_attribute, handle_destructor_attribute,
12144 handle_mode_attribute, handle_section_attribute,
12145 handle_aligned_attribute, handle_weak_attribute,
12146 handle_alias_attribute, handle_visibility_attribute,
12147 handle_no_instrument_function_attribute, handle_malloc_attribute,
12148 handle_no_limit_stack_attribute, handle_pure_attribute,
12149 handle_deprecated_attribute, handle_vector_size_attribute,
12150 vector_size_helper): Move from attribs.c.
12151 * c-common.h (c_common_attribute_table,
12152 c_common_format_attribute_table): New.
12153 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
12154 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
12155 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
12156 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
12157 (LANG_HOOKS_INITIALIZER): Update.
12158 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
12159 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
12160 * target.h: Update comment.
12161 * tree.c (default_target_attribute_table): Remove.
12162 * tree.h (default_target_attribute_table, format_attribute_table,
12163 lang_attribute_table, lang_attribute_common): Remove.
12164 objc:
12165 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
12166 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
12167
12168 2002-04-24 Jason Merrill <jason@redhat.com>
12169
12170 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
12171 * dwarf2out.c (dwarf_attr_name): Support it.
12172 (gen_array_type_die): Emit it.
12173 (lookup_type_die): No special handling for VECTOR_TYPE.
12174 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
12175
12176 2002-04-24 Richard Henderson <rth@redhat.com>
12177
12178 * config/mips/mips.md (movdi_usd): Renumber.
12179
12180 2002-04-24 David S. Miller <davem@redhat.com>
12181
12182 PR target/6420
12183 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
12184 32-bit Sparc and current_function_returns_struct is true.
12185
12186 Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
12187
12188 * loop.c (canonicalize_condition): Use gen_int_mode.
12189
12190 2002-04-24 Aldy Hernandez <aldyh@redhat.com>
12191
12192 * config/rs6000/altivec.h: Cleanup file. Add non individual
12193 variants.
12194 (vec_vaddubm): New.
12195 (vec_vadduhm): New.
12196 (vec_vadduwm): New.
12197 (vec_vaddfp): New.
12198 (vec_vaddcuw): New.
12199 (vec_vaddubs): New.
12200 (vec_vaddsbs): New.
12201 (vec_vadduhs): New.
12202 (vec_vadduws): New.
12203 (vec_vaddsws): New.
12204 (vec_vand): New.
12205 (vec_vandc): New.
12206 (vec_vavgub): New.
12207 (vec_vavgsb): New.
12208 (vec_vavguh): New.
12209 (vec_vavgsh): New.
12210 (vec_vavguw): New.
12211 (vec_vavgsw): New.
12212 (vec_vrfip): New.
12213 (vec_vcmpbfp): New.
12214 (vec_vcmpequb): New.
12215 (vec_vcmpequh): New.
12216 (vec_vcmpequw): New.
12217 (vec_vcmpeqfp): New.
12218 (vec_vcmpgefp): New.
12219 (vec_vcmpgtub): New.
12220 (vec_vcmpgtsb): New.
12221 (vec_vcmpgtuh): New.
12222 (vec_vcmpgtsh): New.
12223 (vec_vcmpgtuw): New.
12224 (vec_vcmpgtsw): New.
12225 (vec_vcmpgtfp): New.
12226 (vec_vcmpgefp): New.
12227 (vec_vcfux): New.
12228 (vec_vcfsx): New.
12229 (vec_vctsxs): New.
12230 (vec_vctuxs): New.
12231 (vec_vexptefp): New.
12232 (vec_vrfim): New.
12233 (vec_lvx): New.
12234 (vec_lvebx): New.
12235 (vec_lvehx): New.
12236 (vec_lde): Add vector float variant.
12237 (vec_lvewx): New.
12238 (vec_lvxl): New.
12239 (vec_vlogefp): New.
12240 (vec_vmaddfp): New.
12241 (vec_vmhaddshs): New.
12242 (vec_vmaxub): New.
12243 (vec_vmaxsb): New.
12244 (vec_vmaxuh): New.
12245 (vec_vmaxsh): New.
12246 (vec_vmaxuw): New.
12247 (vec_vmaxsw): New.
12248 (vec_vmaxsw): New.
12249 (vec_vmaxfp): New.
12250 (vec_vmrghb): New.
12251 (vec_vmrghh): New.
12252 (vec_vmrghw): New.
12253 (vec_vmrglb): New.
12254 (vec_vmrglh): New.
12255 (vec_vmrglw): New.
12256 (vec_vminub): New.
12257 (vec_vminsb): New.
12258 (vec_vminuh): New.
12259 (vec_vminsh): New.
12260 (vec_vminuw): New.
12261 (vec_vminsw): New.
12262 (vec_vminfp): New.
12263 (vec_vmladduhm): New.
12264 (vec_vmhraddshs): New.
12265 (vec_msumubm): New.
12266 (vec_vmsummbm): New.
12267 (vec_vmsumuhm): New.
12268 (vec_vmsumshm): New.
12269 (vec_vmsumuhs): New.
12270 (vec_vmsumshs): New.
12271 (vec_vmuleub): New.
12272 (vec_vmulesb): New.
12273 (vec_vmuleuh): New.
12274 (vec_vmulesh): New.
12275 (vec_vmuloub): New.
12276 (vec_mulosb): New.
12277 (vec_vmulouh): New.
12278 (vec_vmulosh): New.
12279 (vec_vnmsubfp): New.
12280 (vec_vnor): New.
12281 (vec_vor): New.
12282 (vec_vpkuhum): New.
12283 (vec_vpkuwum): New.
12284 (vec_vpkpx): New.
12285 (vec_vpkuhus): New.
12286 (vec_vpkshss): New.
12287 (vec_vpkuwus): New.
12288 (vec_vpkswss): New.
12289 (vec_vpkshus): New.
12290 (vec_vpkswus): New.
12291 (vec_vperm): New.
12292 (vec_vrefp): New.
12293 (vec_vrlb): New.
12294 (vec_vrlh): New.
12295 (vec_vrlw): New.
12296 (vec_vrfin): New.
12297 (vec_vrsqrtefp): New.
12298 (vec_vsel): New.
12299 (vec_vslb): New.
12300 (vec_vslh): New.
12301 (vec_vslw): New.
12302 (vec_vsldoi): New.
12303 (vec_vsl): New.
12304 (vec_vslo): New.
12305 (vec_vspltb): New.
12306 (vec_vsplth): New.
12307 (vec_vspltw): New.
12308 (vec_vspltisb): New.
12309 (vec_vspltish): New.
12310 (vec_vspltisw): New.
12311 (vec_vsrb): New.
12312 (vec_vsrh): New.
12313 (vec_vsrw): New.
12314 (vec_vsrab): New.
12315 (vec_vsrah): New.
12316 (vec_vsraw): New.
12317 (vec_vsr): New.
12318 (vec_vsro): New.
12319 (vec_stvx): New.
12320 (vec_stvebx): New.
12321 (vec_stvehx): New.
12322 (vec_stvewx): New.
12323 (vec_stvxl): New.
12324 (vec_vsububm): New.
12325 (vec_vsubuhm): New.
12326 (vec_vsubuwm): New.
12327 (vec_vsubfp): New.
12328 (vec_vsubcuw): New.
12329 (vec_vsububs): New.
12330 (vec_vsubsbs): New.
12331 (vec_vsubuhs): New.
12332 (vec_vsubshs): New.
12333 (vec_vsubuws): New.
12334 (vec_vsubsws): New.
12335 (vec_vsum4ubs): New.
12336 (vec_vsum4sbs): New.
12337 (vec_vsum4shs): New.
12338 (vec_vsum2sws): New.
12339 (vec_vsumsws): New.
12340 (vec_vrfiz): New.
12341 (vec_vupkhsb): New.
12342 (vec_vupkhpx): New.
12343 (vec_vupkhsh): New.
12344 (vec_vupklsb): New.
12345 (vec_vupklpx): New.
12346 (vec_vupklsh): New.
12347 (vec_vxor): New.
12348
12349 2002-04-23 Eric Botcazou <ebotcazou@multimania.com>
12350
12351 PR c/5430
12352 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
12353 added literals from substracted literals.
12354 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
12355 (fold) [associate]: Preserve MINUS_EXPR if needed.
12356
12357 2002-04-23 Zack Weinberg <zack@codesourcery.com>
12358
12359 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
12360 are obsoleted.
12361
12362 2002-04-23 Tom Tromey <tromey@redhat.com>
12363
12364 * gcc.c: Added --resource. For PR java/6314.
12365
12366 2002-04-23 David O'Brien <obrien@FreeBSD.org>
12367
12368 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
12369 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
12370 these libraries.
12371
12372 2002-04-23 David O'Brien <obrien@FreeBSD.org>
12373
12374 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
12375
12376 Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
12377
12378 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
12379 workaround.
12380 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
12381 (ix86_expand_clrstr): Fix typo.
12382 * loop.c (gen_load_of_final_value): New.
12383 (loop_givs_rescan, strength_reduce, check_dbra_loop):
12384 Use it.
12385
12386 2002-04-23 Roger Sayle <roger@eyesopen.com>
12387
12388 * builtins.c (builtin_memset_gen_str): New function.
12389 (expand_builtin_memset): Optimize the case of constant length, but
12390 unknown value.
12391
12392 2002-04-23 Aldy Hernandez <aldyh@redhat.com>
12393
12394 * config/rs6000/altivec.h (vec_step): Remove extraneous
12395 parentheses.
12396 (vec_ctu): Cast return.
12397
12398 2002-04-23 Alan Modra <amodra@bigpond.net.au>
12399
12400 PR target/6413
12401 * function.h: (struct function): Add profile_label_no field.
12402 (current_function_profile_label_no): Define.
12403 * function.c: (profile_label_no): New static var.
12404 (expand_function_start): Increment it, and copy to
12405 current_function_profile_label_no.
12406 * output.h (profile_label_no): Delete.
12407 * final.c (profile_label_no): Delete.
12408 (profile_function): Use current_function_profile_label_no.
12409 (final_end_function): Don't increment profile_label_no here.
12410 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
12411 profile_label_no with current_function_profile_label_no.
12412 * config/pa/pa.c (current_function_number): Delete.
12413 (pa_output_function_prologue): Don't output profile label here.
12414 (hppa_profile_hook): Use label_no param rather than
12415 current_function_number.
12416 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
12417 * config/pa/pa.h: .. here.
12418 (FUNCTION_PROFILER): Output profile label here.
12419
12420 2002-04-22 Eric Christopher <echristo@redhat.com>
12421
12422 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
12423 patch of 2002-04-09 due to binutils issues.
12424 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
12425
12426 2002-04-22 Aldy Hernandez <aldyh@redhat.com>
12427
12428 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
12429 constraint to 'o' for m=r and r=m alternatives.
12430 ("*movv8hi_internal1"): Same.
12431 ("*movv16qi_internal1"): Same.
12432 ("*movv4sf_internal1"): Same.
12433
12434 2002-04-22 Janis Johnson <janis187@us.ibm.com>
12435
12436 * rtl.h (RTX_FLAG): New macro.
12437 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
12438 * final.c (alter_subreg): Use macro to access rtx flag.
12439 * integrate.c (copy_rtx_and_substitute): Use new access macro.
12440 * print-rtl.c (print_rtx): Use new access macro.
12441
12442 * cse.c (insert): Check rtx code before accessing flag.
12443
12444 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
12445 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
12446 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
12447 convert_const_symbol_ref, make_canonical, make_alternative_compare,
12448 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
12449 simplify_test_exp, optimize_attrs, simplify_by_exploding,
12450 find_and_mark_used_attributes, unmark_used_attributes,
12451 add_values_to_cover, simplify_with_current_value,
12452 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
12453 copy_rtx_unchanging, main): Use new access macros.
12454
12455 2002-04-22 Tom Rix <trix@redhat.com>
12456
12457 * expmed.c (init_expmed): Generate shifted constant once.
12458
12459 2002-04-22 Zack Weinberg <zack@codesourcery.com>
12460
12461 * c-lex.c (lex_charconst): Call convert to get constant in
12462 proper type; don't just smash the type field.
12463 Fixes PR c/6300.
12464
12465 * config.gcc: Add list of obsolete configurations. Disallow
12466 building these without --enable-obsolete.
12467 * doc/install.texi: Document --enable-obsolete and obsoletion
12468 policy. Mention obsoletion of individual targets in
12469 appropriate places.
12470
12471 2002-04-22 Richard Henderson <rth@redhat.com>
12472
12473 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
12474
12475 2002-04-22 Mark Mitchell <mark@codesourcery.com>
12476
12477 PR f/6138.
12478 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
12479 (walk_fixup_memory_subreg): Likewise.
12480 (fixup_var_refs_insn): Adjust accordingly.
12481 (fixup_var_refs_1): Likewise.
12482
12483 2002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
12484
12485 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
12486 LIBPATH_ARCH64_SPEC): Define.
12487 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
12488 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
12489 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
12490 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
12491
12492 2002-04-22 Joel Sherrill <joel@OARcorp.com>
12493
12494 * gthr-rtems.h: Correct prototypes to remove warnings.
12495
12496 2002-04-22 Richard Henderson <rth@redhat.com>
12497
12498 PR c/6344
12499 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
12500
12501 * gcse.c (free_insn_expr_list_list): New.
12502 (clear_modify_mem_tables): Use it. Fix bit set usage.
12503 (canon_list_insert): Use EXPR_LISTs for expressions.
12504 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
12505
12506 2002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
12507
12508 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
12509 file change and include code to _cpp_pop_buffer.
12510 * cpphash.h (struct pending_option): Predeclare.
12511 (struct cpp_reader): New member next_include_file.
12512 (_cpp_pop_file_buffer): Update.
12513 (_cpp_push_next_buffer): Update, rename.
12514 * cppinit.c (cpp_destroy): Free include chain and pending here.
12515 (cpp_finish_options): Simplify.
12516 (_cpp_push_next_buffer): Rename and clean up.
12517 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
12518 Clarify.
12519 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
12520
12521 2002-04-22 Aldy Hernandez <aldyh@redhat.com>
12522
12523 * config/rs6000/altivec.h (vec_xor): Add variant for both args
12524 being vector signed int.
12525 (vec_andc): Same.
12526 (vec_xor): Add variant for both args being vector signed char.
12527 Remove redundant variant.
12528 (vec_andc): Same.
12529
12530 2002-04-21 David S. Miller <davem@redhat.com>
12531
12532 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
12533 compare mode in output RTL.
12534
12535 2002-04-22 David Edelsohn <edelsohn@gnu.org>
12536
12537 * config/rs6000/rs6000.c (rs6000_override_options): Correct
12538 style and formatting of previous patch.
12539
12540 2002-04-22 Alan Modra <amodra@bigpond.net.au>
12541
12542 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
12543 flag_pic for ABI_AIX.
12544
12545 2002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
12546
12547 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
12548 * cppfiles.c (read_include_file): Similarly.
12549 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
12550 uxstrdup ustrchr, ufputs): Similarly.
12551 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
12552 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
12553 cpp_ideq, parse_identifier, parse_number): Similarly.
12554 * cpplib.c (struct directive, dequote_string, D, run_directive,
12555 cpp_push_buffer): Similarly.
12556 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
12557 _cpp_create_definition, check_trad_stringification,
12558 cpp_macro_definition): Similarly.
12559
12560 2002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
12561
12562 * cppmacro.c (funlike_invocation_p): Don't step back
12563 over CPP_EOF.
12564
12565 2002-04-21 David Edelsohn <edelsohn@gnu.org>
12566
12567 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
12568 labelno.
12569
12570 2002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
12571
12572 * doc/invoke.texi: Remove Chill references.
12573 * doc/gcc.texi: Update last modified date.
12574
12575 2002-04-20 Kazu Hirata <kazu@hxi.com>
12576
12577 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
12578 push and pop. Replace add.l with add.w.
12579
12580 2002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
12581
12582 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
12583 multiply instructions for H8/300H case.
12584
12585 2002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
12586
12587 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
12588 Bum three instructions from each routine.
12589
12590 2002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
12591
12592 * Makefile.in: Update.
12593 * decl.c (push_c_function_context, pop_c_function_context,
12594 mark_c_function_context): Rename for consistency.
12595 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
12596 * c-tree.h (push_c_function_context, pop_c_function_context,
12597 mark_c_function_context): Rename for consistency.
12598 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
12599 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
12600 * function.c (init_lang_status, save_lang_status,
12601 restore_lang_status, mark_lang_status, free_lang_status):
12602 Move to langhooks.h.
12603 (push_function_context_to, pop_function_context_from,
12604 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
12605 Update.
12606 * function.h (init_lang_status, save_lang_status,
12607 restore_lang_status, mark_lang_status, free_lang_status):
12608 Move to langhooks.h.
12609 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
12610 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
12611 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
12612 LANG_HOOKS_FUNCTION_INITIALIZER): New.
12613 (LANG_HOOKS_INITIALIZER): Update.
12614 (lhd_do_nothing_f): New.
12615 * langhooks.h (struct lang_hooks_for_functions): New.
12616 (struct lang_hooks): New hooks.
12617 * langhooks.c (lhd_do_nothing_f): New.
12618 objc:
12619 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
12620 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
12621
12622 2002-04-19 David S. Miller <davem@redhat.com>
12623
12624 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
12625 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
12626
12627 2002-04-19 Jakub Jelinek <jakub@redhat.com>
12628
12629 PR optimization/3756
12630 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
12631 x = ((int) y < 0) ? cst1 : cst2.
12632
12633 2002-04-19 Jakub Jelinek <jakub@redhat.com>
12634
12635 PR c/6358
12636 * function.c: Reapply patch for c/6358.
12637 (expand_function_end): Copy decl_rtl's mode, not
12638 current_function_return_rtx mode.
12639
12640 2002-04-19 Joel Sherrill <joel@OARcorp.com>
12641
12642 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
12643 targets.
12644
12645 2002-04-19 Tom Tromey <tromey@redhat.com>
12646
12647 * doc/install.texi (Specific): Update status of Solaris 2.8.
12648 For PR libgcj/6158.
12649
12650 2002-04-19 Andreas Schwab <schwab@suse.de>
12651
12652 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
12653 (PUT_REAL): Restore old definition.
12654
12655 2002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
12656 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12657
12658 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
12659 binutils 2.11.2 and higher generate smaller binaries than Sun's
12660 native tools.
12661
12662 2002-04-19 Mark Mitchell <mark@codesourcery.com>
12663
12664 PR c++/6352
12665 * toplev.c (rest_of_compilation): Do not defer functions for which
12666 TREE_SYMBOL_REFERENCED has already been set.
12667
12668 Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
12669
12670 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
12671 alternative.
12672
12673 2002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
12674
12675 * builtins.c: Include langhooks.h.
12676 (lang_type_promotes_to): Remove.
12677 (expand_builtin_va_arg): Use new hook.
12678 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
12679 (simple_type_promotes_to): Move to c-typeck.c.
12680 * c-common.h (simple_type_promotes_to): Remove.
12681 * c-decl.c (duplicate_decls, grokdeclarator): Update.
12682 * c-format.c: Include langhooks.h.
12683 (check_format_types): Update.
12684 * c-tree.h (c_type_promotes_to): New.
12685 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
12686 (type_lists_compatible_p): Update.
12687 * langhooks-def.h (lhd_type_promotes_to): New.
12688 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
12689 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
12690 * langhooks.c (lhd_type_promotes_to): New.
12691 * langhooks.h (struct lang_hooks_for_types): New hook.
12692 * tree.h (lang_type_promotes_to): Remove.
12693 objc:
12694 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
12695
12696 2002-04-18 Richard Henderson <rth@redhat.com>
12697
12698 * function.c: Revert patch for c/6358.
12699
12700 2002-04-18 Richard Henderson <rth@redhat.com>
12701
12702 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
12703 blocks. Handle multiple references to the TRAP block. Handle
12704 non-adjacent THEN and OTHER blocks.
12705
12706 2002-04-18 Richard Henderson <rth@redhat.com>
12707
12708 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
12709 crash with no type for by-mode libcalls.
12710
12711 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
12712
12713 2002-04-18 Bob Wilson <bob.wilson@acm.org>
12714
12715 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
12716 __xtensa_nonlocal_goto): Use a syscall instructions to flush
12717 the register windows.
12718
12719 2002-04-18 Zack Weinberg <zack@codesourcery.com>
12720
12721 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
12722 appropriate. Document need for extended precision even when
12723 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
12724 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
12725 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
12726 instead of relying on later syntax error when REAL_WIDTH > 5.
12727 * real.c: Define NE based only on whether or not we have a
12728 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
12729 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
12730 define GET_REAL and PUT_REAL as simple memcpy operations; no
12731 need to byteswap or round.
12732 Use #error instead of #ifdef-ing out the entire file, for
12733 prompt error detection.
12734
12735 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
12736
12737 2002-04-18 David S. Miller <davem@redhat.com>
12738
12739 * config/sparc/sparc.h (BRANCH_COST): Define.
12740
12741 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
12742 does it.
12743
12744 2002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
12745
12746 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
12747 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
12748 propagate_block calls after relaxation loop using new variable
12749 stabilized_prop_flags.
12750
12751 2002-04-18 Richard Henderson <rth@redhat.com>
12752
12753 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
12754 (ia64_va_arg): Expect variable sized types by reference.
12755 * config/ia64/ia64-protos.h: Update.
12756 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
12757 ia64_function_arg_pass_by_reference.
12758
12759 2002-04-18 Richard Henderson <rth@redhat.com>
12760
12761 * ifcvt.c: Include except.h.
12762 (block_has_only_trap): Break out from find_cond_trap.
12763 (find_cond_trap): Use it. Always delete the trap block.
12764 (merge_if_block): Allow then block null. Be less simplistic about
12765 what insns can end a block.
12766 * Makefile.in (ifcvt.o): Depend on except.h.
12767
12768 * config/ia64/ia64.md (trap, conditional_trap): New.
12769
12770 2002-04-18 Jakub Jelinek <jakub@redhat.com>
12771
12772 PR c/6358
12773 * function.c (assign_parms): Assign hard current_function_return_rtx
12774 register here...
12775 (expand_function_end): ...not here.
12776
12777 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
12778
12779 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
12780 * c-tree.h (c_incomplete_type_error): New.
12781 * c-typeck.c (require_complete_type, build_component_ref): Update.
12782 (incomplete_type_error): Rename.
12783 * langhooks-def.h (lhd_incomplete_type_error): New.
12784 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
12785 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
12786 * langhooks.c (lhd_incomplete_type_error): New.
12787 * langhooks.h (struct lang_hooks_for_types): New hook.
12788 * tree.c (size_in_bytes): Use new hook.
12789 * tree.h (incomplete_type_error): Remove.
12790 objc:
12791 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
12792
12793 2002-04-18 Zack Weinberg <zack@codesourcery.com>
12794
12795 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
12796 TARGET_FLOAT_FORMAT blocks.
12797
12798 2002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12799
12800 * doc/install.texi (Downloading the source): Do not mention Chill
12801 any longer, but mention Ada.
12802 (Configuration): Do not mention Chill any longer.
12803
12804 2002-04-18 Hans-Peter Nilsson <hp@axis.com>
12805
12806 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
12807
12808 Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
12809
12810 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
12811 in last patch.
12812
12813 2002-04-18 Jakub Jelinek <jakub@redhat.com>
12814
12815 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
12816 instead of unsigned_type.
12817
12818 Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
12819
12820 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
12821 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
12822 later.
12823
12824 2002-04-18 Bernd Schmidt <bernds@redhat.com>
12825
12826 * attribs.c (vector_type_node_list): New static variable.
12827 (handle_vector_size_attribute): Use it to avoid generating a
12828 new type node each time we are called.
12829
12830 * combine.c (subst): Avoid trying to make a vector mode subreg of
12831 an integer constant.
12832 (gen_lowpart_for_combine): Likewise.
12833
12834 2002-04-18 Roger Sayle <roger@eyesopen.com>
12835 Jakub Jelinek <jakub@redhat.com>
12836
12837 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
12838 for integer constant c (if x has unsigned type or sign bit is not
12839 set in c). This folds the zero/sign extension into the bit-wise and
12840 operation.
12841
12842 2002-04-18 Jakub Jelinek <jakub@redhat.com>
12843
12844 PR middle-end/6205
12845 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
12846 otherwise xorps.
12847
12848 2002-04-17 NIIBE Yutaka <gniibe@m17n.org>
12849
12850 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
12851
12852 2002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
12853
12854 * gcc.c (read_specs): Detect and fail if an attempt is made to
12855 rename a spec string to an already existing string.
12856
12857 2002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
12858
12859 * config/s390/s390.c (legitimize_pic_address): Do not generate
12860 illegal address constant without CONST.
12861
12862 2002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12863
12864 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
12865 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
12866
12867 2002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
12868
12869 PR optimization/6305
12870 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
12871 to make sure previous reloads are taken into account. Generate
12872 better code if one operand is an in-range immediate constant.
12873
12874 2002-04-16 Andrew Haley <aph@cambridge.redhat.com>
12875
12876 * doc/install.texi (Building): libgcj requires GNU make.
12877
12878 2002-04-17 Jakub Jelinek <jakub@redhat.com>
12879
12880 PR bootstrap/6315
12881 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
12882 even if hard quad and register is not floating.
12883 (movtf reg<-mem split): Disallow splitting if hard quad and
12884 register is floating.
12885 (movtf mem<-reg split): Likewise.
12886 * config/sparc/sparc.c (fp_register_operand): New predicate.
12887 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
12888
12889 2002-04-17 Zack Weinberg <zack@codesourcery.com>
12890
12891 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
12892 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
12893 (unprotoize.o): Ditto. Build from protoize.c. Define
12894 UNPROTOIZE on command line.
12895 * protoize.c: Include cppdefault.h. Delete include_defaults.
12896 (in_system_include_dir): Use cpp_include_defaults (defined in
12897 cppdefault.o).
12898 * unprotoize.c: Delete file.
12899
12900 2002-04-17 Aldy Hernandez <aldyh@redhat.com>
12901
12902 * config/rs6000/altivec.h (vec_ld): Add array variants.
12903 (vec_lde): Same.
12904 (vec_ldl): Same.
12905
12906 2002-04-17 Alan Matsuoka <alanm@redhat.com>
12907 Aldy Hernandez <aldyh@redhat.com>
12908
12909 * config/rs6000/altivec.h: Define __ALTIVEC__.
12910 (bool): New.
12911 (__pixel): New.
12912 (pixel): New.
12913 (vec_cfux): New.
12914 (vec_vmaddfp): New.
12915 (vec_vsldoi): New.
12916 Add parentheses to all macro arguments.
12917
12918 2002-04-16 Richard Henderson <rth@redhat.com>
12919
12920 PR c++/6320
12921 * except.c (remove_eh_handler): Insert inner regions at beginning
12922 of sibling chain. Refactor expressions.
12923
12924 2002-04-16 Richard Henderson <rth@redhat.com>
12925
12926 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
12927 * config/sparc/sol2-gas-bi.h: New file.
12928 * config.gcc (sparc*-solaris): Add it as needed.
12929 * configure.in (AS_SPARC64_FLAG): Remove check.
12930 * config.in, configure: Regenerate.
12931
12932 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
12933
12934 2002-04-16 Richard Henderson <rth@redhat.com>
12935
12936 * config/mips/mips.c (override_options): Don't override N32 for
12937 a 64-bit ISA.
12938
12939 PR 6202
12940 * config/mips/mips.md (can_delay): Split out of existing define_delays.
12941 (HILO_delay): Set can_delay false.
12942
12943 2002-04-16 Dale Johannesen <dalej@apple.com>
12944
12945 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
12946 instruction addresses.
12947 (rs6000_output_function_epilogue): Likewise.
12948
12949 2002-04-16 Paolo Carlini <pcarlini@unitus.it>
12950
12951 * c-parse.in (poplevel, compstmt_start,
12952 compstmt_primary_start): Add ending ';', in accordance
12953 with POSIX.
12954
12955 2002-04-16 Richard Henderson <rth@redhat.com>
12956
12957 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
12958 Adjust tm_file order to get TARGET_DEFAULT set properly.
12959 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
12960 * doc/install.texi (sparc-solaris): Update.
12961
12962 2002-04-16 Dale Johannesen <dalej@apple.com>
12963
12964 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
12965 comparison operands do not match each other or if modes of
12966 conditions do not match result.
12967
12968 2002-04-16 Hartmut Penner <hpenner@de.ibm.com>
12969
12970 PR target/6305
12971 * config/s390/s390.md (mulsidi3): Set both subregs of the
12972 multiword register.
12973
12974 2002-04-16 Aldy Hernandez <aldyh@redhat.com>
12975
12976 * config/rs6000/altivec.h (vec_addc): Type check.
12977
12978 2002-04-16 Jakub Jelinek <jakub@redhat.com>
12979
12980 PR middle-end/6279
12981 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
12982
12983 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
12984
12985 2002-04-15 Richard Henderson <rth@redhat.com>
12986
12987 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
12988 call_really_used_regs too.
12989
12990 2002-04-15 Richard Henderson <rth@redhat.com>
12991
12992 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
12993
12994 2002-04-15 David S. Miller <davem@redhat.com>
12995
12996 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
12997 as being CLOBBERed.
12998
12999 2002-04-16 Jakub Jelinek <jakub@redhat.com>
13000
13001 PR c/6290
13002 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
13003 CONST_VECTOR is { 0, ... 0 }.
13004
13005 2002-04-15 Loren J. Rittle <ljrittle@acm.org>
13006
13007 * doc/install.texi (Installing GCC: Configuration): Clarify
13008 the only supported ways to configure gcc.
13009
13010 2002-04-15 Roland McGrath <roland@frob.com>
13011
13012 * config.gcc (alpha*-*-gnu*): New target configuration.
13013 * config/alpha/gnu.h: New file for it.
13014 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
13015
13016 2002-04-16 Mark Mitchell <mark@codesourcery.com>
13017
13018 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
13019 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
13020 * tree.h (expand_start_stmt_expr): Update prototype.
13021 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
13022 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
13023 on the STMT_EXPR created for the inline function.
13024
13025 2002-04-15 Richard Henderson <rth@redhat.com>
13026
13027 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
13028 config/i386/linux-aout.h, config/i386/linux-oldld.h,
13029 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
13030 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
13031 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
13032 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
13033 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
13034 Define __gnu_linux__, not gnu_linux.
13035 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
13036
13037 2002-04-15 Mark Mitchell <mark@codesourcery.com>
13038
13039 Remove Chill front end.
13040 * gcc.c (default_compilers): Remove Chill entries.
13041 * ch: Remove directory.
13042 * doc/frontends.texi: Remove information about Chill.
13043 * doc/sourcebuild.texi: Likewise.
13044 * doc/standards.texi: Likewise.
13045
13046 2002-04-15 Douglas B Rupp <rupp@gnat.com>
13047
13048 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
13049 (LONGLONG_STANDALONE): Define.
13050
13051 2002-04-15 David S. Miller <davem@redhat.com>
13052
13053 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
13054 Call emit_library_call with LCT_NORMAL.
13055 (sparc_initialize_trampoline): Use LCT_foo instead of
13056 magic constant in emit_library_call invocations.
13057 (sparc64_initialize_trampoline): Likewise.
13058 (sparc_profile_hook): Likewise.
13059 * config/sparc/sparc.md: Likewise.
13060
13061 * config/sparc/sparc.c (sparc_extra_constraint_check):
13062 Fix type of argument 'c'.
13063 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
13064 Likewise.
13065
13066 2002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
13067
13068 * diagnostic.h (output_buffer_state): Redefine.
13069 (output_format_decoder): New macro.
13070 (output_prefixing_rule): Likewise.
13071 (output_line_cutoff): Likewise.
13072 (diagnostic_format_decoder): Adjust.
13073 (diagnostic_prefixing_rule): Likewise.
13074 (diagnostic_line_cutoff): Likewise.
13075 (diagnostic_state): Likewise.
13076 (diagnostic_kind_count): Likewise.
13077 (diagnostic_buffer): Now a macro.
13078
13079 * diagnostic.c (diagnostic_buffer): Remove definition.
13080 (output_is_line_wrapping): Adjust.
13081 (set_real_maximum_length): Likewise.
13082 (output_set_maximum_length): Likewise.
13083 (init_output_buffer): Likewise.
13084 (lhd_print_error_function): Likewise.
13085 (output_do_verbatim): Likewise.
13086
13087 2002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
13088
13089 * cpperror.c (print_location): Don't print include chain
13090 if line == 0.
13091 (cpp_begin_message): Update to use DL_ macros.
13092 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
13093 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
13094 cpp_notice, cpp_notice_from_errno): Remove.
13095 (cpp_error, cpp_error_with_line): Update to take a diagnostic
13096 level.
13097 (cpp_errno): New.
13098 * cppexp.c (CPP_ICE): Remove.
13099 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
13100 lex, integer_overflow, _cpp_parse_expr): Update.
13101 * cppfiles.c (read_include_file, find_include_file,
13102 handle_missing_header, _cpp_read_file, remap_filename): Update.
13103 * cpphash.h (enum error_type): Remove.
13104 (_cpp_begin_message): Update.
13105 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
13106 cpp_handle_option, cpp_post_options): Update.
13107 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
13108 skip_whitespace, parse_identifier, parse_slow, parse_string,
13109 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
13110 cpp_interpret_charconst): Update.
13111 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
13112 lex_macro_node, do_undef, glue_header_name, parse_include,
13113 do_include_common, read_flag, do_line, do_linemarker, do_ident,
13114 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
13115 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
13116 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
13117 _cpp_pop_buffer, do_diagnostic): Update.
13118 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
13119 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
13120 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
13121 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
13122 cpp_notice, cpp_notice_from_errno): Remove.
13123 (cpp_error, cpp_error_with_line): Update to take a diagnostic
13124 level.
13125 (cpp_errno): New.
13126 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
13127 collect_args, enter_macro_context, save_parameter, parse_params,
13128 _cpp_create_definition, check_trad_stringification,
13129 cpp_macro_definition): Update.
13130 * cppmain.c (cpp_preprocess_file): Update.
13131 * fix-header.c (read_scan_file): Update.
13132
13133 2002-04-14 Andreas Schwab <schwab@suse.de>
13134
13135 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
13136
13137 2002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13138
13139 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
13140
13141 2002-04-13 Mark Mitchell <mark@codesourcery.com>
13142
13143 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
13144 not gnu_hurd.
13145
13146 2002-04-13 Hans-Peter Nilsson <hp@axis.com>
13147
13148 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
13149
13150 2002-04-13 Joel Sherrill <joel@OARcorp.com>
13151
13152 * config/sparc/t-elf: Enable v8 multilibs. Impacts
13153 sparc-elf and sparc-rtems targets.
13154
13155 2002-04-13 Mark Mitchell <mark@codesourcery.com>
13156
13157 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
13158 defined, and __gnu_hurd__ wherever __GNU__ is defined.
13159 * arm/linux-elf.h: Likewise.
13160 * cris/aout.h: Likewise.
13161 * cris/linux.h: Likewise.
13162 * i370/linux.h: Likewise.
13163 * i386/gnu.h: Likewise.
13164 * i386/linux-aout.h: Likewise.
13165 * i386/linux-oldld.h: Likewise.
13166 * i386/linux.h: Likewise.
13167 * i386/linux64.h: Likewise.
13168 * ia64/linux.h: Likewise.
13169 * m68k/linux-aout.h: Likewise.
13170 * m68k/linux.h: Likewise.
13171 * mips/linux.h: Likewise.
13172 * pa/pa-linux.h: Likewise.
13173 * pj/linux.h: Likewise.
13174 * rs6000/sysv4.h: Likewise.
13175 * s390/linux.h: Likewise.
13176 * sh/linux.h: Likewise.
13177 * sparc/linux-aout.h: Likewise.
13178 * sparc/linux.h: Likewise.
13179 * sparc/linux64.h: Likewise.
13180 * xtensa/linux.h: Likewise.
13181
13182 2002-04-13 Richard Sandiford <rsandifo@redhat.com>
13183
13184 * stmt.c (check_unique_operand_names): Expect operand names to
13185 be strings rather than identifiers. Use simple_cst_equal to
13186 compare them.
13187 (resolve_operand_name_1): Make same identifier to string change here.
13188 * c-parse.in (asm_operand): Convert a named operand into a string.
13189 * cp/parse.y (asm_operand): Likewise.
13190
13191 2002-04-13 Andreas Schwab <schwab@suse.de>
13192
13193 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
13194
13195 2002-04-12 Mark Mitchell <mark@codesourcery.com>
13196
13197 Revert these changes:
13198
13199 2002-04-06 Mark Mitchell <mark@codesourcery.com>
13200
13201 PR c++/5571
13202 * stor-layout.c (layout_decl): Reset the RTL for the decl.
13203
13204 2002-04-12 Richard Henderson <rth@redhat.com>
13205
13206 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
13207 (sparc*-*-solaris): Clean up header files.
13208 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
13209 and plan on generating 64-bit code.
13210 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
13211 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
13212 * config/sparc/sol2-sld-64.h: Rename ...
13213 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
13214 for AS_SPARC64_FLAG not defined.
13215 * config/sparc/sol2-gld-bi.h: New.
13216 * config/sparc/sol2-sld.h: Remove.
13217 * config/sparc/sol26-sld.h: New.
13218 * config/sparc/sol2.h: Tidy comments.
13219 * doc/install.texi: Document sparc-solaris configury changes.
13220
13221 2002-04-12 Richard Henderson <rth@redhat.com>
13222
13223 * recog.c (offsettable_address_p): Match the logic in adjust_address.
13224
13225 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
13226 in 64-bit mode only. Use only for 32-bit or MEDLOW.
13227
13228 2002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13229
13230 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
13231
13232 Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
13233
13234 * pa.c (pa_can_combine_p): Call extract_insn before calling
13235 constrain_operands.
13236
13237 2002-04-12 Douglas B Rupp <rupp@gnat.com>
13238
13239 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
13240 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
13241 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
13242 (CPP_PREDEFINES): Handle __declspec.
13243 * config/i386/t-interix (USER_H): Remove.
13244
13245 2002-04-12 DJ Delorie <dj@redhat.com>
13246
13247 * integrate.c (compare_blocks): Make comparisons safe for when
13248 sizeof(int) < sizeof(char *).
13249 (find_block): Likewise.
13250
13251 2002-04-12 Jan Hubicka <jh@suse.cz>
13252 David Edelsohn <edelsohn@gnu.org>
13253
13254 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
13255 registers.
13256 (symbol_ref_operand): New.
13257 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
13258 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
13259
13260 2002-04-12 Andreas Schwab <schwab@suse.de>
13261
13262 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
13263 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
13264 overrides the definition in config/svr4.h.
13265
13266 2002-04-12 Eric Norum <eric.norum@usask.ca>
13267
13268 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
13269 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
13270 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
13271 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
13272 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
13273 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
13274 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
13275 definitions to config/rtems.h and make the targets more similar.
13276
13277 Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13278
13279 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
13280 POINTERS_EXTEND_UNSIGNED.
13281 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
13282 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
13283
13284 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
13285 not specified.
13286
13287 Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
13288
13289 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
13290 depends on TARGET_SHMEDIA, not TARGET_SH5.
13291
13292 2002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
13293
13294 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
13295 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
13296
13297 Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
13298
13299 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
13300 no r0 clobber.
13301
13302 2002-04-12 Andreas Schwab <schwab@suse.de>
13303
13304 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
13305
13306 2002-04-12 Richard Henderson <rth@redhat.com>
13307
13308 PR bootstrap/4191
13309 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
13310
13311 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
13312 modes spanning multiple hard regs.
13313
13314 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
13315
13316 2002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13317
13318 * pa.c (pa_output_function_prologue): Don't accumulate the total
13319 number of code bytes when using TARGET_64BIT, or gas, SOM and not
13320 the portable runtime.
13321 (output_deferred_plabels): Handle 64bit plabels.
13322 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
13323 generating pic code using the GAS assembler for object formats that
13324 are not SOM (ie., ELF32 and ELF64).
13325 (output_millicode_call): Check attribute type if attribute length is 28.
13326 Likewise use $PIC_pcrel$0. Only call get_attr_length and
13327 dbr_sequence_length once.
13328 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
13329 dbr_sequence_length once.
13330 * pa.h (TARGET_SOM): Define if not defined.
13331 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
13332 with GAS and not SOM.
13333 (jump, call_internal_reg, call_value_internal_reg): Likewise.
13334 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
13335
13336 2002-04-11 David O'Brien <obrien@FreeBSD.org>
13337
13338 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
13339 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
13340 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
13341 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
13342 elfos.h and dbxelf.h values are fine now.
13343 * config/i386/freebsd.h, config/alpha/freebsd.h
13344 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
13345
13346 2002-04-11 David O'Brien <obrien@FreeBSD.org>
13347
13348 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
13349 or set Acpu or Amachine. Reformat.
13350 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
13351 define.
13352 (LINK_SPEC): Do not need to undef.
13353 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
13354 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
13355 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
13356 define.
13357 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
13358 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
13359 (LINK_SPEC): Do not need to undef.
13360 (DONT_USE_BUILTIN_SETJMP): Do not define.
13361 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
13362 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
13363 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
13364 Remove trailing spaces.
13365 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
13366 __ELF__, or set Acpu or Amachine. Reformat.
13367 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
13368 define.
13369
13370 2002-04-11 David O'Brien <obrien@FreeBSD.org>
13371
13372 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
13373 all other *-*-freebsd* targets.
13374
13375 2002-04-11 Richard Henderson <rth@redhat.com>
13376
13377 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
13378
13379 2002-04-11 David O'Brien <obrien@FreeBSD.org>
13380
13381 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
13382 Include {cpu}/{cpu}.h thru tm_file.
13383 (alpha*-*-linux*ecoff): Remove target.
13384 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
13385 (LINK_SPEC): Remove, is not OS independent.
13386 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
13387 (LINK_SPEC): Do not need to #undef any longer.
13388 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
13389 any longer.
13390 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
13391 __ELF__.
13392 (LINK_SPEC): Moved here from alpha/elf.h.
13393 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
13394 SUB_CPP_PREDEFINES.
13395 * config/alpha/linux-ecoff.h: Remove.
13396 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
13397 (CPP_SPEC): Define _POSIX_SOURCE as needed.
13398 (CPP_SUBTARGET_SPEC): Do not define.
13399 (LINK_SPEC): Do not need to #undef any longer.
13400 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
13401 * config/alpha/vms.h: Likewise.
13402
13403 2002-04-11 Richard Sandiford <rsandifo@redhat.com>
13404
13405 * doc/extend.texi: Remove old claim that typedefs cannot have
13406 an alignment attribute.
13407
13408 2002-04-11 Jakub Jelinek <jakub@redhat.com>
13409
13410 PR optimization/6177
13411 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
13412 bitpos is 0 and bitsize CONCAT size.
13413
13414 2002-04-11 Jakub Jelinek <jakub@redhat.com>
13415
13416 PR c/6223
13417 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
13418
13419 2002-04-10 David O'Brien <obrien@FreeBSD.org>
13420
13421 * config/alpha/freebsd.h: Minor reformatting.
13422 (CPP_SPEC): Define ELF and add cpp_subtarget.
13423 (ASM_SPEC): No longer needed.
13424
13425 2002-04-11 Richard Henderson <rth@redhat.com>
13426
13427 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
13428 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
13429 (dimode mem/zero splitter): New.
13430
13431 2002-04-11 Hans-Peter Nilsson <hp@axis.com>
13432
13433 * config/cris/cris.c (cris_override_options): Tweak error message
13434 for PIC not implemented.
13435
13436 * config/cris/cris.h: Tweak comments related to parameter-passing.
13437
13438 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
13439
13440 2002-04-10 Richard Henderson <rth@redhat.com>
13441
13442 * except.c (add_ehl_entry): Allow duplicates after landing pad
13443 creation.
13444
13445 2002-04-10 David Edelsohn <edelsohn@gnu.org>
13446
13447 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
13448
13449 2002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
13450
13451 * c-decl.c (c_init_decl_processing): Move generation of
13452 decls for g77_integer_type_node and friends from here ...
13453 * c-common.c (c_common_nodes_and_builtins): ... to here.
13454
13455 2002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
13456
13457 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
13458 is only used as frame pointer when frame_pointer_needed is true.
13459
13460 2002-04-10 Richard Earnshaw <rearnsha@arm.com>
13461
13462 PR target/817
13463 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
13464 for the fact that the pool entry uses two words.
13465 (movdf_hard_insn): Similarly. Also, ADR instruction can span
13466 1k bytes.
13467 (movdf_soft_insn): Similarly.
13468 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
13469 for the fact that the pool entry uses three words.
13470
13471 2002-04-10 Richard Sandiford <rsandifo@redhat.com>
13472
13473 * config/mips/mips.c (mips_va_arg): When using the struct version
13474 of the EABI va_list, allow arguments in the register save area to
13475 take up less room than a stack argument.
13476
13477 2002-04-10 Richard Henderson <rth@redhat.com>
13478
13479 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
13480 if EXPAND_INITIALIZER.
13481
13482 2002-04-09 Richard Henderson <rth@redhat.com>
13483
13484 * config/alpha/alpha.md (movdi_er_maybe_g): New.
13485 * config/alpha/alpha.c (alpha_expand_mov): Use it.
13486
13487 2002-04-10 Alan Modra <amodra@bigpond.net.au>
13488
13489 PR optimization/6233
13490 * rtlanal.c (pure_call_p): New function.
13491 * rtl.h (pure_call_p): Declare.
13492 * loop.c (prescan_loop): Use it to set has_nonconst_call.
13493 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
13494
13495 2002-04-09 Eric Christopher <echristo@redhat.com>
13496
13497 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
13498 information to .comm directive.
13499
13500 2002-04-09 Richard Henderson <rth@redhat.com>
13501
13502 PR c/5078
13503 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
13504
13505 2002-04-09 Richard Henderson <rth@redhat.com>
13506
13507 * basic-block.h (flow_delete_block_noexpunge): Declare.
13508 (expunge_block_nocompact): Declare.
13509 * cfg.c (expunge_block_nocompact): Split out from ...
13510 (expunge_block): ... here.
13511 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
13512 (flow_delete_block_noexpunge): Split out from ...
13513 (flow_delete_block): ... here.
13514 * cfgcleanup.c (delete_unreachable_blocks): Compact while
13515 removing dead blocks.
13516 * except.c (exception_handler_labels): Remove.
13517 (exception_handler_label_map): New.
13518 (struct eh_region): Add aka member.
13519 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
13520 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
13521 (for_each_eh_label, for_each_eh_label_1): New.
13522 (init_eh): Register exception_handler_label_map.
13523 (free_eh_status): Use free_region.
13524 (find_exception_handler_labels): Use the map, not the list.
13525 (remove_exception_handler_label): Likewise.
13526 (maybe_remove_eh_handler): Likewise.
13527 (remove_eh_handler): Use the region aka bitmap.
13528 * except.h (exception_handler_labels): Remove.
13529 (for_each_eh_label): Declare.
13530 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
13531 * loop.c (invalidate_loops_containing_label): New.
13532 (find_and_verify_loops): Use it. Use for_each_eh_label.
13533 * sched-rgn.c (is_cfg_nonregular): Use
13534 current_function_has_exception_handlers.
13535
13536 2002-04-09 Richard Henderson <rth@redhat.com>
13537
13538 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
13539 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
13540 Do not return changed status.
13541 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
13542 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
13543 New functions that do return changed status.
13544 * sbitmap.h: Update decls.
13545 * gcse.c, lcm.c: Use _cg functions as needed.
13546
13547 Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
13548
13549 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
13550 (sh64-*-elf*, sh-*-rtemself*): Likewise.
13551 * config/sh/embed_bb.c: New file.
13552 * config/sh/embed-elf.h: New file.
13553 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
13554 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
13555 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
13556 __PTRDIFF_TYPE__ .
13557 (SUBTARGET_CPP_PTR_SPEC): Don't define.
13558 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
13559 Add subtarget_asm_endian_spec.
13560 (ASM_SPEC): Use subtarget_asm_endian_spec.
13561 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
13562 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
13563 (WCHAR_UNSIGNED): Define.
13564 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
13565 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
13566 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
13567 Fix value.
13568 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
13569 (sh_adjust_cost): Likewise.
13570 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
13571 __PTRDIFF_TYPE__ .
13572 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
13573 (WCHAR_TYPE_SIZE): Likewise.
13574 (ASM_SPEC): Use subtarget_asm_endian_spec.
13575 (SH_ELF_WCHAR_TYPE): #undef/ #define.
13576 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
13577 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
13578 (MAX_WCHAR_TYPE_SIZE): Don't #define .
13579 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
13580 (USER_LABEL_PREFIX): Don't #undef /#define .
13581 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
13582 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
13583 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
13584 (ASM_SPEC): Likewise.
13585 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
13586 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
13587 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
13588 (LIB2FUNCS_EXTRA): Define.
13589 * t-sh64 (LIB2FUNCS_EXTRA): Define.
13590 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
13591 (LIB1ASMFUNCS_CACHE): Define.
13592 (LIB2FUNCS_EXTRA): Redefine empty.
13593
13594 2002-04-08 Richard Henderson <rth@redhat.com>
13595
13596 * reorg.c (get_branch_condition): Use reversed_comparison_code.
13597
13598 2002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13599
13600 * config/m68hc11/larith.asm (__map_data_section): Fix condition
13601 and optimize for size.
13602 (__do_global_ctors): Fix pointer comparison.
13603 (__do_global_dtors): Likewise.
13604
13605 2002-04-09 David S. Miller <davem@redhat.com>
13606
13607 * config/sparc/sparc.c (sparc_extra_constraint_check): New
13608 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
13609 allow reloading pseudos.
13610 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
13611 * config/sparc/sparc-protos.h: Declare it.
13612
13613 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
13614 unsigned comparison warning.
13615 (output_restore_regs): Mark leaf_function as unused.
13616
13617 Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13618
13619 * expr.c (is_aligning_offset): New function.
13620 (expand_expr, case COMPONENT_EXPR): Call it.
13621
13622 2002-04-08 David S. Miller <davem@redhat.com>
13623
13624 PR target/6082
13625 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
13626
13627 Make init_priority work on Sparc when using GNU ld.
13628 * config/sparc/linux.h, config/sparc/linux64.h,
13629 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
13630 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
13631 * config/sparc/sol2-gld.h: New file to do the same.
13632 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
13633 sparc/sol2-gld.h to tm_file.
13634
13635 PR optimization/4328
13636 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
13637 * doc/md.texi: Document it.
13638 * config/sparc/sparc.md (movdi_insn_sp64_novis,
13639 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
13640 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
13641 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
13642 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
13643
13644 2002-04-08 Andreas Jaeger <aj@suse.de>
13645
13646 * stmt.c (expand_asm_operands): Revert last patch from Richard
13647 Henderson.
13648
13649 2002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13650
13651 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
13652 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
13653
13654 2002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13655
13656 * doc/contrib.texi (Contributors): Add David O'Brien.
13657
13658 2002-04-08 Alan Modra <amodra@bigpond.net.au>
13659
13660 * configure.in (auto-build.h): Use target_alias and build_alias
13661 when running configure.
13662 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
13663 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
13664 * configure: Regenerate.
13665
13666 2002-04-07 David S. Miller <davem@redhat.com>
13667
13668 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
13669
13670 2002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
13671
13672 PR 5933
13673 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
13674 generating 32-bit pic code.
13675
13676 2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
13677
13678 * cppinit.c (cpp_create_reader): Initialize
13679 discard_comments_in_macro_exp.
13680 (COMMAND_LINE_OPTIONS): Add "-CC" option.
13681 (cpp_handle_option): Handle "-CC" option.
13682 * cpplex.c (save_comment): If saving a C++ comment in
13683 a directive, convert it to a C comment.
13684 (_cpp_lex_direct): Pass second comment start character to
13685 save_comment to indicate comment type.
13686 * cpplib.c (_cpp_handle_directive): If processing
13687 a "#define" directive and discard_comments_in_macro_exp
13688 is false, re-enable saving of comments.
13689 (lex_macro_node): If discard_comments_in_macro_exp is false,
13690 discard any comments before the macro identifier.
13691 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
13692 member.
13693 * cppmacro.c (cpp_get_token): If expanding a macro while
13694 processing a directive, discard any comments we might encounter.
13695 (parse_params): If discard_comments_in_macro_exp is false,
13696 ignore comments in the macro parameter list.
13697 * gcc.c (cpp_unique_options): Add "-CC" option.
13698 (option_map): Map "--comments-in-macros" to "-CC".
13699 * doc/cppopts.texi: Document "-CC" option.
13700 * f/lang-specs.h: Add "-CC" option.
13701 * testsuite/gcc.dg/cpp/maccom1.c: New test.
13702 * testsuite/gcc.dg/cpp/maccom2.c: New test.
13703 * testsuite/gcc.dg/cpp/maccom3.c: New test.
13704 * testsuite/gcc.dg/cpp/maccom4.c: New test.
13705 * testsuite/gcc.dg/cpp/maccom5.c: New test.
13706 * testsuite/gcc.dg/cpp/maccom6.c: New test.
13707
13708 2002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
13709
13710 PR middle-end/6180
13711 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
13712
13713 2002-04-06 Mark Mitchell <mark@codesourcery.com>
13714
13715 PR c++/5571
13716 * stor-layout.c (layout_decl): Reset the RTL for the decl.
13717
13718 PR opt/5120
13719 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
13720 RTX_UNCHANGING_P for the functions arguments when a tail call
13721 is made.
13722
13723 2002-04-06 Jason Merrill <jason@redhat.com>
13724
13725 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
13726 (parse_options_and_default_flags): Set them appropriately.
13727 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
13728
13729 2002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
13730
13731 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
13732 here.
13733
13734 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
13735 semicolon.
13736
13737 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
13738 types come in by-reference. Fix typo in comment.
13739
13740 2002-04-05 David S. Miller <davem@redhat.com>
13741
13742 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
13743 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
13744 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
13745 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
13746
13747 2002-04-05 David S. Miller <davem@redhat.com>
13748
13749 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
13750 are not going to emit return instructions, emit at least a nop
13751 for the sake of sane backtraces.
13752
13753 2002-04-05 Richard Henderson <rth@redhat.com>
13754
13755 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
13756
13757 2002-04-05 Jakub Jeilnek <jakub@redhat.com>
13758
13759 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
13760
13761 2002-04-05 Alexandre Oliva <aoliva@redhat.com>
13762
13763 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
13764 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
13765 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
13766
13767 2002-04-05 Andreas Schwab <schwab@suse.de>
13768
13769 * c-convert.c: Include c-common.h.
13770 * Makefile.in (c-convert.o): Updated.
13771
13772 2002-04-05 Jakub Jelinek <jakub@redhat.com>
13773
13774 * mklibgcc.in: Use separate libgcc.map for each multilib.
13775 * Makefile.in (distclean): Don't remove libgcc.map here.
13776
13777 2002-04-05 Jakub Jelinek <jakub@redhat.com>
13778
13779 * Makefile.in (s-mlib): Handle --disable-multilib by separate
13780 genmultilib invocation.
13781
13782 2002-04-04 Richard Sandiford <rsandifo@redhat.com>
13783
13784 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
13785 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
13786 to num_gprs for symmetry.
13787 * config/mips/mips.c: Adjust accordingly.
13788
13789 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
13790
13791 * c-common.c (truthvalue_conversion): Rename, update.
13792 * c-common.h (c_common_truthvalue_conversion): New.
13793 * c-convert.c (convert): Update.
13794 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
13795 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
13796 * c-typeck.c (build_binary_op, build_unary_op,
13797 build_conditional_expr): Update.
13798 * fold-const.c (constant_boolean_node, fold): Use langhook.
13799 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
13800 * langhooks.h (struct lang_hooks): New hook.
13801 * stmt.c (expand_decl_cleanup): Use langhook.
13802 * tree.h (truthvalue_conversion): Remove.
13803 objc:
13804 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
13805
13806 2002-04-05 Alan Modra <amodra@bigpond.net.au>
13807
13808 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
13809 Add rules to make null object file.
13810
13811 2002-04-04 Jim Blandy <jimb@redhat.com>
13812
13813 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
13814 macro formal parameter names.
13815
13816 2002-04-04 David S. Miller <davem@redhat.com>
13817
13818 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
13819
13820 2002-04-04 Richard Henderson <rth@redhat.com>
13821
13822 PR middle-end/5099
13823 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
13824 Support copies into and out of memory. Don't accept allows_reg
13825 and allows_mem as gospel.
13826
13827 2002-04-04 Richard Henderson <rth@redhat.com>
13828
13829 PR opt/6165
13830 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
13831 (write_dependence_p): Likewise.
13832
13833 2002-04-04 Richard Henderson <rth@redhat.com>
13834
13835 * predict.c (estimate_bb_frequencies): Do frequency calculation
13836 with a volatile temporary.
13837
13838 2002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
13839
13840 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
13841
13842 2002-04-04 Jakub Jelinek <jakub@redhat.com>
13843
13844 PR c++/6119
13845 * final.c (final_start_function): Don't bump profile_label_no here...
13846 (final_end_function): ...but here.
13847
13848 2002-04-04 Jakub Jelinek <jakub@redhat.com>
13849
13850 * config/sparc/sparc.md (pic): New attribute.
13851 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
13852 into stack slots.
13853 (split after do_builtin_setjmp_setup): New.
13854
13855 2002-04-04 Jakub Jelinek <jakub@redhat.com>
13856
13857 PR fortran/6106
13858 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
13859 change.
13860
13861 2002-04-04 Jakub Jelinek <jakub@redhat.com>
13862
13863 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
13864 UNITS_PER_WORD for zero sized aggregates.
13865
13866 2002-04-03 David S. Miller <davem@redhat.com>
13867
13868 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
13869 one-character spec for this, just use %(link_gcc_c_sequence).
13870
13871 2002-04-03 David S. Miller <davem@redhat.com>
13872
13873 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
13874 handling.
13875
13876 2002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
13877
13878 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
13879 (DWARF_FRAME_RETURN_COLUMN): Move.
13880 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
13881 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
13882 * pa.c (except.h, predict.h): Include.
13883 (FRP): Delete.
13884 (store_reg_modify, set_reg_plus_d): Revise prototypes.
13885 (output_ascii): Add cast.
13886 (store_reg_modify): Revise to add frame notes.
13887 (set_reg_plus_d): Likewise.
13888 (compute_frame_size): Include space for eh data registers in frame if
13889 the current function calls eh_return.
13890 (hppa_expand_prologue): Ensure register %r2 is saved if the current
13891 function calls eh_return. Save eh data registers if the current
13892 function calls eh_return. Fix code to add frame notes. Emit
13893 blockage to prevent insns with frame notes being scheduled in the
13894 delay slot of calls.
13895 (hppa_expand_epilogue): Restore eh data registers and do final stack
13896 adjustment if the current function calls eh_return. Don't add frame
13897 notes.
13898 (output_call): Revise for change in length of call insn. Don't do
13899 return pointer adjustment for an unconditional jump in the delay slot
13900 of a call when using frame notes.
13901 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
13902 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
13903 (ARG_POINTER_CFA_OFFSET): Define.
13904 * pa.md (return_external_pic): New pattern.
13905 (prologue): Correct formatting. Use return_external_pic if current
13906 function calls eh_return.
13907 (call_internal_symref, call_value_internal_symref,
13908 sibcall_internal_symref, sibcall_value_internal_symref): Change default
13909 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
13910 respectively.
13911 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
13912
13913 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
13914 list of targets to check using "nop" insn.
13915 * configure: Rebuilt.
13916
13917 2002-04-04 Alan Modra <amodra@bigpond.net.au>
13918
13919 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
13920
13921 2002-04-03 David S. Miller <davem@redhat.com>
13922
13923 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
13924 library sequence passed to the linker.
13925 (LINK_COMMAND_SPEC): Use it.
13926 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
13927 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
13928 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
13929
13930 2002-04-03 Jason Merrill <jason@redhat.com>
13931
13932 * except.c (struct eh_status): Remove protect_list.
13933 (begin_protect_partials, end_protect_partials): Remove.
13934 (add_partial_entry): Remove.
13935 * except.h: Remove prototypes.
13936
13937 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
13938 expand_decl_cleanup_eh.
13939
13940 PR c++/5636
13941 * tree.h (CLEANUP_EH_ONLY): New macro.
13942 * stmt.c (expand_decl_cleanup_eh): New fn.
13943 (expand_cleanups): Check CLEANUP_EH_ONLY.
13944 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
13945 Use expand_decl_cleanup_eh.
13946 (expand_stmt): Adjust.
13947 * c-common.h: Adjust prototype.
13948
13949 2002-04-04 Hans-Peter Nilsson <hp@axis.com>
13950
13951 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
13952 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
13953 (cris_target_asm_function_epilogue): Ditto.
13954 (cris_initial_frame_pointer_offset): Ditto.
13955 (cris_simple_epilogue): Ditto.
13956 (cris_expand_builtin_va_arg): Variable-size types come in
13957 by-reference.
13958
13959 2002-04-03 David S. Miller <davem@redhat.com>
13960
13961 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
13962 little-endian.
13963 (set_fast_math): Correct 'fsr' type.
13964
13965 2002-04-03 Richard Henderson <rth@redhat.com>
13966
13967 PR opt/3569
13968 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
13969 * toplev.c (check_global_declarations): Use it.
13970 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
13971 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
13972 (LANG_HOOKS_DECLS): Add it.
13973 * langhooks.c (lhd_warn_unused_global_decl): New.
13974 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
13975 * c-objc-common.c (c_warn_unused_global_decl): New.
13976 * c-tree.h (c_warn_unused_global_decl): Declare.
13977 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
13978
13979 2002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
13980
13981 * langhooks-def.h (lhd_set_decl_assembler_name,
13982 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
13983 (LANG_HOOKS_INITIALIZER): Update.
13984 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
13985 * langhooks.h (struct lang_hooks): New hook.
13986 * tree.c (set_decl_assembler_name): Move to langhooks.c.
13987 (lang_set_decl_assembler_name): Remove.
13988 (init_obstacks): Don't set hook.
13989 (decl_assembler_name): New function.
13990 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
13991 (decl_assembler_name): New.
13992 (lang_set_decl_assembler_name): Remove.
13993
13994 2002-04-03 Jakub Jelinek <jakub@redhat.com>
13995
13996 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
13997 works properly with .hidden symbols.
13998 * configure: Rebuilt.
13999 * config.in: Rebuilt.
14000 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
14001 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
14002 properly with .hidden symbols.
14003
14004 2002-04-03 Jakub Jelinek <jakub@redhat.com>
14005
14006 PR middle-end/6102
14007 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
14008 USE argument.
14009
14010 2002-04-03 Richard Henderson <rth@redhat.com>
14011
14012 PR opt/4120
14013 * sched-rgn.c (sets_likely_spilled): New.
14014 (sets_likely_spilled_1): New.
14015 (add_branch_dependences): Use it.
14016
14017 2002-04-02 Richard Henderson <rth@redhat.com>
14018
14019 PR opt/4311
14020 * loop.h (LOOP_FIRST_PASS): New.
14021 * loop.c (strength_reduce): Mind it when deciding to unroll.
14022 * toplev.c (rest_of_compilation): Set it.
14023
14024 2002-04-02 David S. Miller <davem@redhat.com>
14025
14026 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
14027 mems_ok_for_ldd_peep when the order of the loads being examined
14028 is reversed.
14029 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
14030 existing comment to increase comprehension of this situation.
14031
14032 2002-04-02 Zack Weinberg <zack@codesourcery.com>
14033
14034 * config/sh/sh.md: Don't use union real_extract.
14035
14036 2002-04-02 Richard Henderson <rth@redhat.com>
14037
14038 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
14039
14040 2002-04-02 David O'Brien <obrien@FreeBSD.org>
14041
14042 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
14043 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
14044 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
14045 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
14046 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
14047 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
14048 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
14049 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
14050 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
14051 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
14052 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
14053 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
14054 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
14055 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
14056 Include as many configury headers via tm_file as possible. This
14057 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
14058 * config/openbsd-oldgas.h: New file.
14059 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
14060 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
14061 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
14062 config/i386/i386-coff.h, config/i386/i386-interix.h,
14063 config/i386/iscdbx.h, config/i386/linux-aout.h,
14064 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
14065 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
14066 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
14067 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
14068 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
14069 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
14070 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
14071 config/i386/vxi386.h: Do not directly include configury headers.
14072 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
14073 Directly include configury headers that are no longer automatically
14074 included by the above headers.
14075 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
14076 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
14077 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
14078 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
14079 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
14080 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
14081 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
14082 (TARGET_VERSION): Define.
14083 * config/i386/beos-elf.h, config/i386/freebsd.h,
14084 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
14085 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
14086 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
14087 config/i386/sco5.h, config/i386/sysv4.h
14088 (TARGET_VERSION): Do not need to protect.
14089 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
14090 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
14091 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
14092 config/i386/i386-interix.h, config/i386/linux-aout.h,
14093 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
14094 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
14095 (YES_UNDERSCORES): Do not define - not needed.
14096 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
14097 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
14098 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
14099 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
14100 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
14101 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
14102 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
14103 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
14104
14105 2002-04-02 Eric Botcazou <ebotcazou@multimania.com>
14106 Richard Henderson <rth@redhat.com>
14107
14108 PR c/5484
14109 * function.c (assign_temp): Accept either type or decl argument.
14110 Detect variables whose size is too large to fit into an integer.
14111 * stmt.c (expand_decl): Pass the decl, not the type.
14112
14113 2002-04-02 David O'Brien <obrien@FreeBSD.org>
14114
14115 * protoize.c: Match include directory usage with cppdefault.c.
14116
14117 2002-04-03 Jeffrey A Law (law@redhat.com)
14118 Hans-Peter Nilsson <hp@bitrange.com>
14119
14120 * combine.c (simplify_comparison): Avoid narrowing a comparison
14121 with a paradoxical subreg when doing so would drop signficant bits.
14122
14123 2002-04-02 Steve Ellcey <sje@cup.hp.com>
14124
14125 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
14126 if POINTERS_EXTEND_UNSIGNED is defined.
14127
14128 2002-04-02 Richard Henderson <rth@redhat.com>
14129
14130 PR opt/3967
14131 * local-alloc.c (contains_replace_regs): LO_SUM may contain
14132 replace regs.
14133
14134 2002-04-02 Richard Henderson <rth@redhat.com>
14135
14136 * doc/standards.texi: Document required freestanding libc entry points.
14137
14138 2002-04-02 Alan Modra <amodra@bigpond.net.au>
14139
14140 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
14141 associated splitter. Remove MQ constraint.
14142 (ctrdi_internal4): Correct CCmode clobber.
14143
14144 2002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
14145
14146 * milli64.S ($$dyncall): New function.
14147 * t-linux (LIB1ASMFUNCS): Revise module list.
14148 (LIB1ASMSRC): Use pa/milli64.S.
14149
14150 2002-04-02 Richard Henderson <rth@redhat.com>
14151
14152 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
14153 rename solaris_sys_varargs_h.
14154
14155 Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14156
14157 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
14158 the same mode as its component.
14159
14160 2002-04-02 Richard Henderson <rth@redhat.com>
14161
14162 PR opt/190
14163 * final.c (this_is_asm_operands): Export.
14164 * output.h (this_is_asm_operands): Declare.
14165 * config/i386/i386.c (print_operand): Error odd asm operands.
14166
14167 2002-04-02 Richard Henderson <rth@redhat.com>
14168
14169 PR opt/420
14170 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
14171
14172 2002-04-01 Richard Henderson <rth@redhat.com>
14173
14174 PR target/1538
14175 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
14176 * fixinc/fixincl.x: Rebuild.
14177
14178 2002-04-01 Richard Henderson <rth@redhat.com>
14179
14180 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
14181 (atomic_alloc, atomic_free): New.
14182 (SIZE, MASK_FOR, PTR_IN): New.
14183 (emergency_reg_state, emergency_reg_state_free): New.
14184 (emergency_labeled_state, emergency_labeled_state_free): New.
14185 (reg_state_alloced, labeled_state_alloced): New.
14186 (alloc_reg_state, free_reg_state): New.
14187 (alloc_label_state, free_label_state, free_label_states): New.
14188 (push, pop, dup_state_stack, free_state_stack): Use them.
14189 (desc_label_state): Likewise.
14190 (uw_frame_state_for): Free label states and state stack.
14191 (uw_update_reg_address): Eliminate warnings.
14192
14193 2002-04-01 Vladimir Makarov <vmakarov@redhat.com>
14194
14195 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
14196 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
14197
14198 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
14199
14200 * c-decl.c (grokdeclarator): Update.
14201 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
14202 * c-tree.h (c_mark_addressable): New.
14203 * c-typeck.c (default_function_array_conversion, build_unary_op,
14204 build_array_ref, convert_for_assignment): Update.
14205 (mark_addressable): Rename.
14206 * calls.c (try_to_integrate, expand_call): Use langhook.
14207 * expr.c (expand_expr): Use langhook.
14208 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
14209 * langhooks.h (struct lang_hooks): New hook.
14210 * stmt.c (expand_asm_operands): Use langhook.
14211 * tree.h (mark_addressable): Remove.
14212 objc:
14213 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
14214
14215 2002-04-01 Bob Wilson <bob.wilson@acm.org>
14216
14217 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
14218 in previous change.
14219
14220 2002-04-01 Bob Wilson <bob.wilson@acm.org>
14221
14222 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
14223 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
14224
14225 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
14226
14227 * c-common.c (unsigned_conversion_warning, convert_and_check,
14228 unsigned_type, signed_type, shorten_compare,
14229 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
14230 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
14231 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
14232 New.
14233 * c-decl.c (grokdeclarator): Update.
14234 * c-format.c (check_format_types): Update.
14235 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
14236 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
14237 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
14238 * convert.c (convert_to_integer): Use new hooks.
14239 * expmed.c (make_tree): Use new hooks.
14240 * expr.c (store_expr): Use new hooks.
14241 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
14242 all_ones_mask_p, unextend, fold): Use new hooks.
14243 * langhooks.h (struct lang_hooks_for_types): New hooks.
14244 * tree.h (signed_or_unsigned_type, signed_type,
14245 unsigned_type): Remove.
14246 objc:
14247 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
14248 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
14249
14250 2002-03-31 Richard Henderson <rth@redhat.com>
14251
14252 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
14253 (desc_frgr_mem): Fix reference to f16-f31.
14254
14255 2002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14256
14257 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
14258 RTVEC_ELT): Const-ify.
14259 * varray.h (VARRAY_CHECK): Const-ify.
14260 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
14261 ggc_mark_rtvec, ggc_mark): Const-ify.
14262
14263 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
14264
14265 * diagnostic.c: Include langhooks-def.h.
14266 * Makefile.in (diagnostic.o): Update.
14267
14268 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
14269
14270 * c-common.c (c_unsafe_for_reeval): Rename.
14271 * c-common.h (c_unsafe_for_reeval): Rename.
14272 * c-decl.c (finish_incomplete_decl): Rename.
14273 (c_init_decl_processing): Don't set langhook.
14274 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
14275 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
14276 * c-objc-common.c (c_objc_common_init): Don't set langhook.
14277 * c-tree.h (finish_incomplete_decl): Rename.
14278 * langhooks-def.h (lhd_unsafe_for_reeval): New.
14279 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
14280 (LANG_HOOKS_INITIALIZER): Update.
14281 * langhooks.c (lhd_unsafe_For_reeval): New.
14282 * langhooks.h (struct langhooks): New hooks.
14283 * toplev.c (incomplete_decl_finalize_hook): Remove.
14284 (wrapup_global_declarations): Update.
14285 * tree.c (lang_unsafe_for_reeval): Remove.
14286 (unsafe_for_reeval): Update.
14287 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
14288 Remove.
14289 objc:
14290 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
14291 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
14292
14293 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
14294
14295 * diagnostic.c (print_error_function): Remove.
14296 (default_print_error_function): Rename.
14297 (report_error_function): Update.
14298 * diagnostic.h (print_error_function): Remove.
14299 (default_print_error_function): Remove.
14300 * langhooks-def.h (struct diagnostic_context): Predeclare.
14301 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
14302 (LANG_HOOKS_INITIALIZER): Update.
14303 * langhooks.h (struct diagnostic context): Predeclare.
14304 (struct lang_hooks): New hook.
14305
14306 2002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14307
14308 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
14309 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
14310 !flag_pic.
14311 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
14312 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
14313 of PIC_OFFSET_TABLE_REGNUM thruout.
14314 * config/rs6000/rs6000.md: Likewise.
14315 * config/rs6000/darwin.h: Likewise.
14316
14317 Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14318
14319 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
14320 unsigned HOST_WIDE_INT, not unsigned int.
14321
14322 2002-03-31 Jakub Jelinek <jakub@redhat.com>
14323
14324 PR middle-end/6096, middle-end/6098, middle-end/6099
14325 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
14326 CODE_LABELs.
14327 (fill_slots_from_thread): Likewise.
14328
14329 2002-03-31 Jakub Jelinek <jakub@redhat.com>
14330
14331 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
14332 floating fields in float regs.
14333 (function_arg_record_value_2): Likewise.
14334
14335 2002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
14336
14337 * config/mmix/mmix.md (define_constants): Remove misleading
14338 FIXME. Add MMIX_fp_rO_OFFSET.
14339 ("nonlocal_goto_receiver"): Don't have stack-frame address of
14340 saved rO as part of the pattern. Remove FIXME.
14341 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
14342 here, at output-time.
14343
14344 2002-03-31 Jakub Jelinek <jakub@redhat.com>
14345
14346 PR middle-end/6100
14347 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
14348 REG_BR_PRED.
14349 (output_v9branch): Likewise.
14350
14351 2002-03-31 Alexandre Oliva <aoliva@redhat.com>
14352
14353 * gcc.c: Revert previous patch for now.
14354 * config/i386/djgpp.h: Likewise.
14355
14356 2002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
14357
14358 * config/mmix/crti.asm (_init): Register _fini with atexit.
14359 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
14360
14361 2002-03-31 Richard Henderson <rth@redhat.com>
14362
14363 PR target/3997
14364 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
14365 (ASM_OUTPUT_DEF_FROM_DECLS): New.
14366
14367 2002-03-31 Richard Henderson <rth@redhat.com>
14368
14369 * libgcc2.c (__bb_exit_func): Make static.
14370
14371 * config/alpha/alpha.md (trap): New.
14372
14373 2002-03-31 Richard Henderson <rth@redhat.com>
14374
14375 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
14376 promoted argument types; build trap.
14377 (expand_builtin_trap): New.
14378 (expand_builtin): Use it.
14379 * stmt.c (expand_nl_goto_receivers): Likewise.
14380 * expr.h (expand_builtin_trap): Declare.
14381 * libfuncs.h (LTI_abort, abort_libfunc): New.
14382 * optabs.c (init_optabs): Init abort_libfunc.
14383
14384 2002-03-31 Alexandre Oliva <aoliva@redhat.com>
14385
14386 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
14387 (LINK_COMMAND_SPEC): ... from here.
14388 (init_gcc_specs): Duplicate it here too, omitting
14389 shared_name in the second copy.
14390 (init_spec): Test for duplicate
14391 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
14392
14393 2002-03-30 David S. Miller <davem@redhat.com>
14394
14395 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
14396 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
14397
14398 2002-03-30 Roger Sayle <roger@eyesopen.com>
14399 Richard Henderson <rth@redhat.com>
14400
14401 * regmove.c (combine_stack_adjustments_for_block): Avoid
14402 emitting a stack adjustment of zero bytes. Let delete_insn
14403 update bb->head.
14404
14405 2002-03-30 Richard Henderson <rth@redhat.com>
14406
14407 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
14408 (sparc_emitting_epilogue): New.
14409 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
14410 * config/sparc/sparc-protos.h: Update.
14411 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
14412 (TARGET_SWITCHES): Update.
14413 * config/sparc/sparc.md (return): Remove.
14414 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
14415 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
14416 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
14417 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
14418 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
14419 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
14420 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
14421 Remove MASK_EPILOGUE.
14422 * doc/invoke.texi: Update.
14423
14424 2002-03-30 Daniel Berlin <dan@dberlin.org>
14425
14426 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
14427 CPP will start the file for us.
14428
14429 2002-03-30 Richard Henderson <rth@redhat.com>
14430
14431 PR target/5446
14432 * config/ia64/ia64.c (group_barrier_needed_p): Special case
14433 prologue_allocate_stack.
14434 (ia64_single_set): Use insn codes for recognition of special
14435 cases, not rtl matching.
14436 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
14437
14438 Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
14439
14440 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
14441
14442 2002-03-30 Richard Henderson <rth@redhat.com>
14443
14444 PR target/6032
14445 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
14446 or -fomit-frame-pointer with profiling.
14447 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
14448 (FUNCTION_PROFILER): Do nothing.
14449 (PROFILE_HOOK): New.
14450 * config/sparc/sparc.c (sparc_override_options): Don't check
14451 code models for profiling.
14452 (sparc_function_profiler): Remove.
14453 (sparc_profile_hook): New.
14454 * config/sparc/sparc-protos.h: Update.
14455
14456 2002-03-30 Jakub Jelinek <jakub@redhat.com>
14457
14458 PR optimization/6086
14459 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
14460 of SUBREG of volatile MEM or because the MEM was mode dependent,
14461 return CLOBBER instead of unmodified SUBREG.
14462
14463 Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
14464
14465 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
14466 when not optimizing.
14467
14468 * toplev.c (rest_of_compilation): Cann mark_constant_function
14469 only when optimizing.
14470
14471 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
14472 are NULL.
14473
14474 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
14475 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
14476 (try_optimize_cfg): clear all AUX fields.
14477
14478 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
14479 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
14480 (ix86_address_cost): Be prepared for SUBREGed registers.
14481 (legitimate_address_p): Accept SUBREGed registers.
14482
14483 2002-03-29 Richard Henderson <rth@redhat.com>
14484
14485 PR target/5672
14486 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
14487
14488 2002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14489
14490 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
14491 for aggregate and TFmode types.
14492
14493 2002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
14494
14495 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
14496
14497 2002-03-29 Richard Henderson <rth@redhat.com>
14498
14499 PR target/5886
14500 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
14501 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
14502
14503 2002-03-29 Richard Henderson <rth@redhat.com>
14504
14505 PR target/6041
14506 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
14507 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
14508 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
14509 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
14510 conditional.
14511 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
14512
14513 2002-03-29 Dale Johannesen <dalej@apple.com>
14514
14515 * loop.c (combine_movables): Do allow combination of pseudos.
14516
14517 2002-03-29 Loren J. Rittle <ljrittle@acm.org>
14518
14519 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
14520 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
14521 No functional change except ...
14522 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
14523 * doc/install.texi (*-*-freebsd*): Document port configuration.
14524
14525 2002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
14526
14527 * Makefile.in (convert.o, calls.o, expmed.o): Update.
14528 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
14529 Use new hooks.
14530 * builtin-types.def (BT_PTRMODE): Update.
14531 * c-common.c (type_for_size): Rename c_common_type_for_size.
14532 (type_for_mode): Similarly.
14533 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
14534 Use new hook.
14535 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
14536 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
14537 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
14538 Redefine.
14539 * c-typeck.c (common_type, comptypes, default_conversion):
14540 Use new hooks.
14541 * calls.c: Include langhooks.h.
14542 (emit_library_call_value_1): Use new hooks. Avoid redundant
14543 calls.
14544 * convert.c: Include langhooks.h
14545 (convert_to_pointer, convert_to_integer): Use new hooks.
14546 * except.c (init_eh): Similarly.
14547 * expmed.c: Include langhooks.h.
14548 (expand_mult_add): Use new hooks.
14549 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
14550 try_casesi): Similarly.
14551 * fold-const.c (optimize_bit_field_compare, make_range,
14552 decode_field_reference, fold_truthop, fold): Similarly.
14553 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
14554 put_var_into_stack): Similarly.
14555 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
14556 LANG_HOOKS_TYPE_FOR_SIZE): New.
14557 (LANG_HOOKS_TYPES_INITIALIZER): Update.
14558 * langhooks.h (lang_hooks_for_types): New hooks.
14559 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
14560 * tree.c (get_unwidened, get_narrower): Similarly.
14561 * tree.h (type_for_mode, type_for_size): Remove.
14562 * varasm.c (force_const_mem): Use new hooks.
14563 * utils2.c (nonbinary_modular_operation): Update.
14564 objc:
14565 * objc-act.c (handle_impent): Update.
14566 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
14567 Redefine.
14568
14569 2002-03-29 Steve Ellcey <sje@cup.hp.com>
14570
14571 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
14572 * config/ia64/ia64.c (basereg_operand): New.
14573 * config/ia64/ia64-protos.h (basereg_operand): Declare.
14574 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
14575
14576 2002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
14577
14578 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
14579 unwind information when frame_pointer_needed.
14580 (mmix_assemble_integer): Tweak wording in comment.
14581
14582 2002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
14583
14584 * Makefile.in (except.o): Update.
14585 * except.c: Include langhooks.h.
14586 (init_eh): Use langhook.
14587 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
14588 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
14589 (LANG_HOOKS_INITIALIZER): Update.
14590 * langhooks.h (lang_hooks_for_types): New.
14591 (struct lang_hooks): Add it.
14592 * tree.c (make_lang_type_fn, make_lang_type): Remove.
14593 * tree.h (make_lang_type_fn, make_lang_type): Remove.
14594 config:
14595 * alpha/alpha.c: Include langhooks.h.
14596 (alpha_build_va_list): Use langhook.
14597 * d30v/d30v.c: Include langhooks.h.
14598 (d30v_build_va_list): Use langhook.
14599 * i386/i386.c: Include langhooks.h.
14600 (ix86_build_va_list): Use langhook.
14601 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
14602 * s390/s390.c: Include langhooks.h.
14603 (s390_build_va_list): Use langhook.
14604 * stormy16/stormy16.c: Include langhooks.h.
14605 (stormy16_build_va_list): Use langhook.
14606
14607 2002-03-29 Jakub Jelinek <jakub@redhat.com>
14608
14609 PR c++/5964
14610 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
14611 attributes.
14612 (length): Compute variable length for branches/calls/jumps here.
14613 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
14614 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
14615 define branch_type attribute.
14616 (divsi3_sp32): Maximum length is 6 not 7.
14617 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
14618 call_address_untyped_struct_value_sp32,
14619 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
14620 * config/sparc/sparc.c (empty_delay_slot): New function.
14621 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
14622 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
14623
14624 2002-03-29 Jakub Jelinek <jakub@redhat.com>
14625
14626 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
14627 nonzero_bits if not needed.
14628 (nonzero_bits) [XOR]: Likewise.
14629 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
14630 reg_last_set_mode and mode are both MODE_INT, but not equal.
14631 (record_value_for_reg): Compute reg_last_set_nonzero_bits
14632 in nonzero_bits_mode for MODE_INT modes.
14633
14634 2002-03-28 Richard Henderson <rth@redhat.com>
14635
14636 PR target/5715
14637 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
14638 to GAS. Correct drift between alternatives.
14639
14640 2002-03-28 Richard Henderson <rth@redhat.com>
14641
14642 PR target/6087
14643 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
14644
14645 2002-03-28 Alexandre Oliva <aoliva@redhat.com>
14646
14647 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
14648 emulation to the linker.
14649
14650 2002-03-28 Loren J. Rittle <ljrittle@acm.org>
14651
14652 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
14653 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
14654
14655 Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
14656
14657 * combine.c (simplify_and_const_int): Make sure to apply mask
14658 when force_to_mode returns a constant integer. PR3311.
14659
14660 2002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
14661
14662 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
14663
14664 2002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14665
14666 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
14667 and Objective-C Dialect Options.
14668
14669 2002-03-28 Richard Henderson <rth@redhat.com>
14670
14671 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
14672 comparison should be done vs !=0 not >0 return code. Tidy cases.
14673
14674 2002-03-28 Richard Henderson <rth@redhat.com>
14675
14676 * c-decl.c (finish_function): New arg can_defer_p. Pass it
14677 on to c_expand_body.
14678 * c-tree.h (finish_function): Update decl.
14679 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
14680
14681 Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
14682
14683 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
14684
14685 Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
14686
14687 * rtlanal.c: Include flags.h
14688 (may_trap_p): Do not mark FP operations if trapping
14689 if !flag_trapping_math
14690 * Makefile.in (rtlanal.o): Add dependency on flag.h
14691 * ifcvt.c (noce_operand_ok): Avoid the lameness.
14692
14693 2002-03-27 Zack Weinberg <zack@codesourcery.com>
14694
14695 * mips.md: Use dconst1, not 1.0, as first argument of
14696 REAL_VALUE_LDEXP. Don't use union real_extract.
14697
14698 2002-03-28 Alan Modra <amodra@bigpond.net.au>
14699
14700 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
14701 rather than $target. Heed program_prefix and
14702 program_transform_name. Search for gas in cross-compiler case too.
14703 "test -x" rather than "test -f".
14704 (gcc_cv_ld): Likewise.
14705 (gcc_cv_nm): Heed program_prefix and program_transform_name.
14706 (gcc_cv_objdump): Likewise.
14707 * configure: Regenerate.
14708
14709 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
14710
14711 * Makefile.in (attribs.o): Update.
14712 * attribs.c: Include langhooks.h.
14713 (decl_attributes): Use langhook.
14714 * c-decl.c (insert_default_attributes): Rename.
14715 * c-tree.h (c_insert_default_attributes): New.
14716 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
14717 (LANG_HOOKS_INITIALIZER): Update.
14718 * langhooks.h (struct lang_hooks): New hook.
14719 * tree.h (insert_default_attributes): Remove.
14720 objc:
14721 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
14722
14723 2002-03-27 Andreas Schwab <schwab@suse.de>
14724
14725 * config/i386/i386.c (classify_argument): Also check for
14726 QUAL_UNION_TYPE.
14727
14728 2002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14729
14730 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
14731 any more.
14732
14733 Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
14734
14735 * i960.md (ret): Set PC.
14736 (nonlocal_goto): Fix expander.
14737 * builtins.c (epxand_builin_longjmp): Check that we've emitted
14738 some jump or call.
14739
14740 Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
14741
14742 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
14743 of libcall regions.
14744
14745 Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14746
14747 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
14748 assigning to BLOCK_FOR_INSN directly.
14749
14750 Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
14751
14752 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
14753
14754 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
14755
14756 * c-common.c (c_expand_expr): Fix prototype.
14757 * c-common.h (c_expand_expr): Always declare, update.
14758 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
14759 * c-objc-common.c (c_objc_common_init): No global hook.
14760 * expr.c (expand_expr): Use langhook.
14761 * expr.h (enum expand_modifier): Conditionally declare.
14762 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
14763 (LANG_HOOKS_INITIALIZER): Update.
14764 * langhooks.c (lhd_expand_expr): New.
14765 * langhooks.h (struct lang_hooks): New hook.
14766 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
14767 (lang_independent_init): Don't default hook.
14768 objc:
14769 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
14770
14771 2002-03-27 Richard Henderson <rth@redhat.com>
14772
14773 PR target/6054
14774 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
14775 TARGET_CONST_GP. Simplify conditions.
14776
14777 2002-03-27 Richard Henderson <rth@redhat.com>
14778
14779 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
14780 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
14781 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
14782
14783 2002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
14784
14785 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
14786 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
14787 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
14788 Remove unnecessary masks.
14789 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
14790 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
14791 -mwindows, -mdll switches and their negations.
14792
14793 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
14794
14795 * gcc-common.c (lang_mark_false_label_stack): Remove.
14796 * ggc.h (lang_mark_false_label_stack): Similarly.
14797
14798 2002-03-26 Vladimir Makarov <vmakarov@redhat.com>
14799
14800 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
14801
14802 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
14803 or __rtems_ is defined.
14804
14805 2002-03-26 Richard Henderson <rth@redhat.com>
14806
14807 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
14808 if a non-trivial load was emitted.
14809 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
14810 in high+extra+low case.
14811
14812 2002-03-26 Richard Henderson <rth@redhat.com>
14813
14814 * config.gcc (sparc*-solaris): Use float_format=sparc.
14815
14816 2002-03-26 Richard Henderson <rth@redhat.com>
14817
14818 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
14819 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
14820 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
14821 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
14822 (WINT_TYPE_SIZE): Fix at 32.
14823
14824 2002-03-26 Richard Henderson <rth@redhat.com>
14825
14826 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
14827 until after eh landing pad generation.
14828 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
14829 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
14830
14831 2002-03-26 Richard Henderson <rth@redhat.com>
14832
14833 * expr.h (ADD_PARM_SIZE): One more convert for INC.
14834
14835 2002-03-26 Phil Edwards <pme@gcc.gnu.org>
14836
14837 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
14838 and warning switches.
14839 (cc1_options): Likewise.
14840
14841 2002-03-26 Hans Boehm <Hans_Boehm@hp.com>
14842
14843 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
14844 Restore more of the signal context. Set no_reg_stack_frame.
14845 * config/ia64/unwind-ia64.c (unw_state_record):
14846 Add no_reg_stack_frame, comments.
14847 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
14848 (uw_update_context): Adjust bsp when unwinding from leaf,
14849 but not signal frame.
14850
14851 2002-03-26 David Edelsohn <edelsohn@gnu.org>
14852
14853 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
14854
14855 2002-03-26 Bob Wilson <bob.wilson@acm.org>
14856
14857 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
14858
14859 2002-03-26 Richard Earnshaw <rearnsha@arm.com>
14860
14861 PR target/5621
14862 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
14863 "Add a pool_range attribute", which was lost during the ARM/Thumb
14864 merge.
14865
14866 2002-03-26 Bob Wilson <bob.wilson@acm.org>
14867
14868 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
14869 a register into the MAC16 accumulator.
14870
14871 2002-03-26 Andrew Cagney <ac131313@redhat.com>
14872
14873 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
14874 (Warning Options): Document -Wswitch-enum.
14875 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
14876 -Wswitch.
14877 (warn_switch_enum): Define variables.
14878 * flags.h (warn_switch_enum): Declare variables.
14879 * stmt.c (expand_end_case_type): When warn_switch_enum /
14880 -Wswitch-enum, perform switch checks.
14881 Fix PR c/5044.
14882
14883 2002-03-26 Richard Earnshaw <rearnsha@arm.com>
14884
14885 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
14886 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
14887 (reload_muladdsi_compare0_scratch): Delete.
14888
14889 2002-03-26 Loren J. Rittle <ljrittle@acm.org>
14890
14891 * doc/install.texi (*-*-freebsd*): Update.
14892
14893 2002-03-26 Richard Henderson <rth@redhat.com>
14894
14895 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
14896 (SUB_PARM_SIZE): Cast DEC to ssizetype.
14897
14898 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
14899 types from the normal argument frame.
14900
14901 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
14902 variable sized objects by reference.
14903 (sparc_va_arg): Receive them by reference too.
14904
14905 2002-03-26 Hartmut Penner <hpenner@de.ibm.com>
14906
14907 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
14908 code to not restoring global registers.
14909
14910 2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
14911
14912 * Makefile.in (ggc-common.o): Update.
14913 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
14914 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
14915 * c-tree.h (c_mark_tree): New.
14916 * ggc-common.c: Include langhooks.h.
14917 (gcc_mark_trees): Use new langhook.
14918 * ggc-callbacks.c: Delete file.
14919 * ggc.h (lang_mark_tree): Remove.
14920 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
14921 (LANG_HOOKS_INITIALIZER): Update.
14922 * langhooks.h (struct lang_hooks): New hook.
14923 objc:
14924 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
14925
14926 2002-03-25 Zack Weinberg <zack@codesourcery.com>
14927
14928 * doc/cpp.texi: Exclude entire Top node from printed manual.
14929 Move option index after directive index. Insert page breaks
14930 before GFDL and concept index. Index environment variables
14931 with command line options.
14932 * doc/cppenv.texi: Use @vtable for environment variable list.
14933 Add paragraph explaining semantics of empty elements in path
14934 variables. Exclude a cross-reference to Fishkill from the
14935 manpage. Remove an unnecessary cross-reference of the entry
14936 right above the referer. Don't use @anchor in text that goes
14937 into manpage.
14938 * doc/cppopts.texi: Cross-reference the environment variables
14939 section, not the specific environment variable, for consistency.
14940
14941 2002-03-25 Richard Henderson <rth@redhat.com>
14942
14943 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
14944 anywhere in the block. Don't refer to insns that have been
14945 removed from the chain. Iterate backward through the new insns.
14946 Don't refer to edges that have been removed.
14947
14948 2002-03-26 Alan Modra <amodra@bigpond.net.au>
14949
14950 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
14951 test for overflow of constant.
14952
14953 2002-03-25 Richard Earnshaw <rearnsha@arm.com>
14954
14955 PR target/2623
14956 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
14957 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
14958 these patterns on arm_archv4.
14959
14960 2002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
14961
14962 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
14963 int".
14964
14965 2002-03-25 Zack Weinberg <zack@codesourcery.com>
14966
14967 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
14968 float_handled, float_handler, float_signal, set_float_handler,
14969 and do_float_handler. Set handler for SIGFPE to crash_signal.
14970 * toplev.h: Don't prototype do_float_handler.
14971
14972 * c-lex.c: Fold parse_float into lex_number. Make warning
14973 about portability of hex float constants more informative, and
14974 don't issue it on top of a syntax error.
14975 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
14976 their callers.
14977 * real.h: Define REAL_VALUE_ABS here...
14978 * simplify-rtx.c: ... not here. Fold check_fold_consts,
14979 simplify_unary_real, simplify_binary_real, and
14980 simplify_binary_is2orm1 into their callers.
14981 * tree.c: Fold build_real_from_int_cst_1 into caller.
14982
14983 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
14984
14985 * tsystem.h: Include float.h here...
14986 * libgcc2.c: ... not here.
14987
14988 2002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
14989
14990 Fixes for: PR bootstrap/3591, target/5676
14991 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
14992 defined. Do not disable exceptions or rtti.
14993 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
14994 mcore.h. Disable exceptions and rtti, since they are not
14995 supported by EPOC.
14996
14997 2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
14998
14999 * c-decl.c (maybe_build_cleanup): Remove.
15000 * expr.c (expand_expr): Use langhook.
15001 * langhooks-def.h (lhd_return_null_tree,
15002 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
15003 (LANGHOOKS_INITIALIZER): Update.
15004 * langhooks.c (lhd_return_null_tree): New.
15005 * langhooks.h (struct lang_hooks): New hook.
15006 * tree-inline.c (initialize_inlined_parameters): Use langhook.
15007 * tree.h (maybe_build_cleanup): Remove.
15008
15009 2002-03-25 Jakub Jelinek <jakub@redhat.com>
15010
15011 * regrename.c (build_def_use): Move recog_memoized
15012 before extract_insn.
15013
15014 2002-03-25 Jakub Jelinek <jakub@redhat.com>
15015
15016 PR target/6043
15017 * expr.c (emit_group_store): Handle storing into CONCAT.
15018
15019 2002-03-25 Jakub Jelinek <jakub@redhat.com>
15020
15021 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
15022 corresponding MATCH_DUP.
15023
15024 2002-03-24 Richard Henderson <rth@redhat.com>
15025
15026 * unroll.c (unroll_loop): Zero label_map.
15027
15028 * gcse.c: Include except.h.
15029 * Makefile.in (gcse.o): Update.
15030
15031 2002-03-24 Richard Henderson <rth@redhat.com>
15032
15033 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
15034 Do resolve_unique_section before shared data clause.
15035
15036 2002-03-24 Richard Henderson <rth@redhat.com>
15037
15038 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
15039
15040 2002-03-24 Richard Henderson <rth@redhat.com>
15041
15042 * recog.c (peephole2_optimize): Split blocks when EH insns are
15043 generated in the middle of a block. Do global life update if
15044 zapped EH edges.
15045
15046 2002-03-24 Richard Henderson <rth@redhat.com>
15047
15048 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
15049
15050 2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
15051
15052 preprocessor/3951
15053 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
15054 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
15055 (init_dependency_output): Don't make no_output decision here.
15056
15057 2002-03-24 Andrew Cagney <ac131313@redhat.com>
15058
15059 * stmt.c (check_for_full_enumeration_handling): Remove tests of
15060 warn_switch. Update description.
15061 (expand_end_case_type): Call check_for_full_enumeration_handling
15062 when warn_switch.
15063
15064 2002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15065
15066 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
15067 (m68hc11_split_move): Call it to see if the source and destination
15068 operands use the same direction auto inc/dec mode, otherwise make the
15069 source an offsetable memory operand and generate an add.
15070
15071 2002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15072
15073 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
15074 register for operand 2.
15075 ("*subsi3_zero_extendqi"): Likewise.
15076 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
15077 bits so that it is compatible with a pop.
15078 ("*andhi3_gen"): Likewise.
15079 ("xorhi3"): Likewise.
15080
15081 2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
15082
15083 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
15084 -pedantic here...
15085 (cpp_post_options): ... not here.
15086
15087 2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
15088 Aldy Hernandez <aldyh@redhat.com>
15089
15090 Removal of separate preprocessor cpp0.
15091
15092 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
15093 cpp0, install-common): Update.
15094 * c-common.c (flag_preprocess_only): New.
15095 (c_common_init): Preprocess for -E.
15096 * c-common.h (flag_preprocess_only): New.
15097 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
15098 * c-objc-common.c (c_init_decl_processing): Exit quickly
15099 for NULL return from c_common_init.
15100 * cpplib.h (cpp_preprocess_file): New.
15101 * cppmain.c (main, general_init, pfile, progname): Remove.
15102 (do_preprocessing): Rename cpp_preprocess_file, don't call
15103 cpp_finish. Don't close stdout here.
15104 (setup_callbacks): Update prototype.
15105 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
15106 Update.
15107 * tradcpp.c (main): Ignore -quiet.
15108 objc:
15109 * lang-specs.h (default_compilers): Preprocess with cc1obj.
15110
15111 2002-03-24 Richard Henderson <rth@redhat.com>
15112
15113 PR optimization/5742
15114 * machmode.def: Add inner mode field to complex modes.
15115 * config/mips/mips.c (mips_function_value): Always define. Add
15116 new argument to handle libcalls.
15117 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
15118 (FUNCTION_VALUE): Likewise.
15119 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
15120 * config/mips/mips-protos.h: Update.
15121
15122 2002-03-23 Richard Henderson <rth@redhat.com>
15123
15124 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
15125 * config/sparc/sparc-protos.h: Update.
15126 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
15127
15128 2002-03-23 Richard Henderson <rth@redhat.com>
15129
15130 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
15131 _start or _init begins the text segment.
15132
15133 2002-03-23 David Edelsohn <edelsohn@gnu.org>
15134
15135 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
15136 not HOST_WIDEST_INT.
15137 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
15138
15139 2002-03-23 Richard Earnshaw <rearnsha@arm.com>
15140
15141 PR java/5489
15142 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
15143 operand argument to output_return_instruction.
15144 * arm.c (arm_print_operand, case 'd'): If the operand is
15145 const_true_rtx then just return.
15146 (arm_print_operand, case 'D'): If the operand is const_true_rtx
15147 then abort.
15148
15149 2002-03-23 Andrew Cagney <ac131313@redhat.com>
15150
15151 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
15152 (Warning Options): Document -Wswitch-default.
15153 * toplev.c (W_options): Add -Wswitch-default. Update comment on
15154 -Wswitch.
15155 (warn_switch_default): Define variable.
15156 (warn_switch): Update comment.
15157 * flags.h (warn_switch_default): Declare variable.
15158 (warn_switch): Update comment.
15159 * stmt.c (expand_end_case): Check for and, when
15160 warn_switch_no_default, warn of a missing default case.
15161
15162 2002-03-23 Alan Modra <amodra@bigpond.net.au>
15163
15164 * real.h (N): Special case 128 bit doubles.
15165
15166 * combine.c (simplify_comparison): When widening modes, ignore
15167 sign extension on CONST_INTs.
15168
15169 2002-03-22 Bob Wilson <bob.wilson@acm.org>
15170
15171 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
15172 passed to adjust_address. Fix comment formatting.
15173
15174
15175 2002-03-22 Zack Weinberg <zack@codesourcery.com>
15176
15177 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
15178 Always make REAL_VALUE_TYPE a struct containing an array of
15179 HOST_WIDE_INT, not a double. Tidy up the code deciding how
15180 big it is. Don't declare or use union real_extract.
15181
15182 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
15183 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
15184 (print_operand), config/arm/arm.c (output_move_double),
15185 config/arm/arm.md (consttable_4, consttable_8),
15186 config/romp/romp.c (output_fpops), config/s390/s390.h
15187 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
15188 (xtensa_output_literal): Don't use union real_extract.
15189
15190 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
15191 (sfmode_constant_to_ulong), config/ns32k/merlin.h
15192 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
15193 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
15194 (PRINT_OPERAND): Don't use local version of union
15195 real_extract.
15196
15197 * config/convex/convex.c (check_float_value), config/vax/vax.c
15198 (vax_float_literal), config/m88k/m88k.md (divdf3),
15199 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
15200 config/pdp11/pdp11.c (output_move_quad): Don't do host
15201 arithmetic on target floating point quantities.
15202
15203 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
15204 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
15205
15206 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
15207 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
15208
15209 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
15210 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
15211 INFINITY.
15212 * print-rtl.c (print_rtx): Disable code which needs
15213 floating-point emulator.
15214 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
15215 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
15216 depending on HOST_FLOAT_FORMAT to be defined properly.
15217
15218 * config/1750a/1750a.c (get_double, float_label): Delete.
15219 (print_operand): Delete huge commented-out chunk. Use
15220 REAL_VALUE_TO_DECIMAL.
15221 * config/1750a/1750a-protos.h: Delete prototypes of deleted
15222 functions.
15223 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
15224 IEEE_FLOAT_FORMAT.
15225 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
15226 Use REAL_VALUE_TO_DECIMAL as ELF version does.
15227 * config/m88k/m88k.c (real_power_of_2_operand,
15228 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
15229 real_extract out of the union; run the input through
15230 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
15231 from that into the union.
15232 * config/pdp11/pdp11.c (output_move_double): Rearrange
15233 parentheses to make automatic indenter happy.
15234
15235 * doc/tm.texi (Cross-compilation): Rename node to "Floating
15236 Point" and rewrite to describe current situation. Also adjust
15237 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
15238 match code.
15239 * doc/rtl.texi: Adjust cross reference.
15240
15241 2002-03-22 Bob Wilson <bob.wilson@acm.org>
15242
15243 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
15244 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
15245 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
15246 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
15247 prevent use of sp as a reload register.
15248 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
15249 non_acc_reg_operand.
15250 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
15251 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
15252 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
15253 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
15254
15255 2002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
15256
15257 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
15258 * cpplex.c (unterminated): Delete.
15259 (parse_string): No string literal may extend over multiple
15260 lines. Suppress the error when preprocessing assembly.
15261 * cppmain.c (scan_translation_unit): Strings are single-line.
15262
15263 * doc/cpp.texi: Update to match.
15264
15265 2002-03-22 Jakub Jelinek <jakub@redhat.com>
15266
15267 PR optimization/5854
15268 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
15269 Shut up warnings.
15270 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
15271 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
15272 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
15273 const0 if scratch register was not allocated.
15274 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
15275 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
15276 with GEN_INT (...).
15277 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
15278 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
15279 with GEN_INT (...) everywhere. Remove constraints in define_split
15280 patterns.
15281 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
15282 require scratch register for setting 0 into regs/non-pushable memory.
15283
15284 2002-03-22 Alexandre Oliva <aoliva@redhat.com>
15285
15286 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
15287 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
15288
15289 2002-03-22 Phil Edwards <pme@gcc.gnu.org>
15290
15291 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
15292 * cppinit.c (cpp_create_reader): On by default.
15293 (cpp_handle_option): Handle -W[no-]endif-labels.
15294 (cpp_post_options): Also enable if -pedantic.
15295 * cpplib.c (do_else): Use it.
15296 (do_endif): Likewise.
15297 * doc/cppopts.texi: Document new option.
15298 * doc/invoke.texi: Document new option.
15299
15300 2002-03-22 Lars Brinkhoff <lars@nocrew.org>
15301
15302 * config/i386/i386.c, config/i386/i386.md: Change all occurences
15303 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
15304
15305 2002-03-22 Alexandre Oliva <aoliva@redhat.com>
15306
15307 * flow.c (calculate_global_regs_live): Clear aux fields of
15308 ENTRY and EXIT.
15309
15310 2002-03-22 Jakub Jelinek <jakub@redhat.com>
15311
15312 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
15313 REG or MEM subregs, pass rtx * instead of rtx to it.
15314 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
15315 rtx * instead of rtx to alter_subreg.
15316 * config/m32r/m32r.c (gen_split_move_double): Likewise.
15317 * config/pj/pj.c (pj_output_rval): Likewise.
15318
15319 2002-03-22 Richard Henderson <rth@redhat.com>
15320
15321 PR target/3177
15322 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
15323 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
15324 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
15325 (ia64_expand_prologue): Look at int_regs, not words, for number
15326 of incomming int regs.
15327
15328 2002-03-22 Andrew MacLeod <amacleod@redhat.com>
15329
15330 * expr.c (expand_expr): A RESULT_DECL is part of a call.
15331
15332 Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
15333
15334 * toplev.c (flag_loop_optimize, flag_crossjumping):
15335 New static variables.
15336 (rest_of_compilation): Conditionalize crossjumping and
15337 loop optimizer.
15338 (parse_options_and_default_flags): Default loop_optimize and
15339 crossjumping.
15340 (lang_independent_options): Add -fcrossjumping and -floop-optimize
15341 * invoke.texi (crossjumping, loop-optimize): Document.
15342
15343 2002-03-22 Richard Sandiford <rsandifo@redhat.com>
15344
15345 * real.c (eiisneg): Move outside #ifdef NANS.
15346
15347 Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
15348
15349 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
15350 frequencies match; avoid match on different loop depths.
15351 (try_crossjump_to_bb): Kill tests that no longer brings time
15352 savings.
15353 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
15354 updating code.
15355 (split_edge): Likewise.
15356
15357 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
15358 variable.
15359
15360 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
15361 * cfgrtl.c: Include insn-config.h
15362 (split_block) Dirtify block in presence of conditional execution
15363
15364 2002-03-22 Richard Sandiford <rsandifo@redhat.com>
15365
15366 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
15367 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
15368 (function_arg): Constify CUMULATIVE_ARGS.
15369 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
15370 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
15371 (UNITS_PER_DOUBLE): New macro.
15372 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
15373 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
15374 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
15375 fp_regs and stack_words.
15376 (EABI_FLOAT_VARARGS_P): New macro.
15377 * config/mips/mips.c (struct mips_arg_info): New.
15378 (mips_arg_info): New function.
15379 (function_arg_advance): Use it. Add adjustment instructions here
15380 rather than in function_arg.
15381 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
15382 for VOIDmode at the beginning of the function.
15383 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
15384 (function_arg_pass_by_reference): Likewise.
15385 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
15386 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
15387 (mips_va_start): Likewise. Use the new stack_words field of
15388 CUMULATIVE_ARGS to set up overflow area. Reformat.
15389 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
15390 doubles and other types, aligning the overflow pointer for non-doubles
15391 too. Remove some code duplication. Replace hard-coded constants.
15392
15393 2002-03-22 Richard Sandiford <rsandifo@redhat.com>
15394
15395 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
15396 (CLASS_UNITS): Undefine.
15397 (CLASS_MAX_NREGS): Use FP_INC.
15398 * config/mips/mips.c (compute_frame_size): Likewise.
15399 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
15400
15401 2002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
15402
15403 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
15404 prototype, and handle lexing numbers and identifiers.
15405 (parse_identifier): Update to new form of parse_slow.
15406 (parse_number): Fast path only, use parse_slow otherwise.
15407 (_cpp_lex_direct): Update calls to parse_number.
15408
15409 2002-03-21 DJ Delorie <dj@redhat.com>
15410
15411 * bb-reorder.c (make_reorder_chain_1): Protect against
15412 when redundant edges are omitted.
15413 * predict.c (dump_prediction): Likewise.
15414
15415 2002-03-21 Richard Henderson <rth@redhat.com>
15416
15417 PR target/5996
15418 * fixinc/inclhack.def (solaris_stdio_tag): New.
15419 * fixinc/fixincl.x: Regenerate.
15420
15421 2002-03-21 Eric Botcazou <ebotcazou@multimania.com>
15422
15423 PR c/5597
15424 * c-typeck.c (process_init_element): Flag non-static
15425 initialization of a flexible array member as illegal.
15426
15427 2002-03-22 Alan Modra <amodra@bigpond.net.au>
15428
15429 * config/rs6000/t-linux64: New.
15430 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
15431 t-ppccomm. Use t-rs6000 and t-linux64.
15432 (powerpc64-*-gnu* <tmake_file>): Likewise.
15433 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
15434 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
15435 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
15436
15437 2002-03-21 Aldy Hernandez <aldyh@redhat.com>
15438
15439 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
15440 flag_really_no_inline instead of optimize == 0.
15441
15442 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
15443
15444 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
15445
15446 * flags.h (flag_really_no_inline): New.
15447
15448 * c-common.c (c_common_post_options): Initialize
15449 flag_really_no_inline.
15450
15451 * toplev.c (flag_really_no_inline): New.
15452
15453 2002-03-21 Jakub Jelinek <jakub@redhat.com>
15454
15455 * config/avr/avr.md (length): Fix length computation for
15456 conditional branches.
15457
15458 2002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
15459
15460 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
15461 sdbout.o, profile.o): Update.
15462 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
15463 langhook.
15464 * c-common.h (gettags): Move here from tree.h.
15465 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
15466 insert_block, getdecls, kept_level_p, global_bindings_p): New.
15467 * dbxout.c (dbxout_init): Use getdecls langhook.
15468 * expr.c (expand_expr): Use insert_block langhook.
15469 * fold-const.c: Include langhooks.h.
15470 (fold_range_test, fold_binary_op_with_conditional_arg,
15471 fold): Use global_bindings_p langhook.
15472 * integrate.c (expand_inline_function): Use insert_block langhook.
15473 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
15474 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
15475 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
15476 LANG_HOOKS_GETDECLS): New.
15477 (LANG_HOOKS_INITIALIZER): Update.
15478 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
15479 langhook.
15480 * langhooks.h (struct lang_hooks_for_decls): New.
15481 (struct lang_hooks): Update.
15482 * profile.c: Include langhooks.h.
15483 (output_func_start_profiler): Use new langhooks.
15484 * sdbout.c: Include langhooks.h.
15485 (sdbout_init, sdbout_finish): Use getdecls langhook.
15486 * stmt.c: Include langhooks.h.
15487 (expand_fixup, fixup_gotos): Use new langhooks.
15488 * stor-layout.c: Include langhooks.h.
15489 (variable_size): Use global_bindings_p langhook.
15490 * toplev.c (compile_file): Use getdecls langhook.
15491 * tree-inline.c (remap_block): Use insert_block langhook.
15492 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
15493 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
15494
15495 2002-03-21 Richard Henderson <rth@redhat.com>
15496
15497 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
15498 constants in .data when -fpic.
15499
15500 2002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15501
15502 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
15503 where appropriate.
15504
15505 2002-03-21 Tom Tromey <tromey@redhat.com>
15506
15507 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
15508
15509 Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15510
15511 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
15512
15513 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
15514
15515 2002-03-21 Eric Botcazou <ebotcazou@multimania.com>
15516 Richard Henderson <rth@redhat.com>
15517
15518 PR c/5354
15519 * c-common.c (c_expand_expr): Preserve result of a statement
15520 expression if needed.
15521
15522 2002-03-21 Jakub Jelinek <jakub@redhat.com>
15523
15524 PR bootstrap/4195
15525 * genrecog.c (maybe_both_true_mode): Remove.
15526 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
15527 * machmode.def (Pmode): Likewise.
15528
15529 Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
15530
15531 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
15532 (nonlocal_mentioned_p_1): New function.
15533 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
15534 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
15535 (mark_constant_function): Recognize pure functions.
15536 * rtl.h (global_reg_mentioned_p): New prototype.
15537 * rtlanal.c (global_reg_mentioned_p,
15538 global_reg_mentioned_p_1): New function.
15539
15540 2002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15541
15542 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
15543 UNIX assert.h.
15544 * fixinc/fixincl.x: Regenerate.
15545
15546 2002-03-20 Jason Merrill <jason@redhat.com>
15547
15548 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
15549
15550 2002-03-20 Michael Meissner <meissner@redhat.com>
15551
15552 * doc/invoke.texi (Optimize Options): Document that -O2 sets
15553 -fstrict-aliasing.
15554
15555 2002-03-20 Bob Wilson <bob.wilson@acm.org>
15556
15557 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
15558 ".literal_position" directive before the constant pool.
15559
15560 2002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15561
15562 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
15563 Add Craig Rodrigues.
15564 Add Brad Lucier to testers.
15565
15566 2002-03-20 Jakub Jelinek <jakub@redhat.com>
15567
15568 PR target/4792
15569 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
15570 to if_then_else.
15571 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
15572 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
15573 instead of insn_extract.
15574
15575 2002-03-20 Jakub Jelinek <jakub@redhat.com>
15576
15577 PR bootstrap/4192
15578 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
15579
15580 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
15581 stmt if some case has been output.
15582
15583 2002-03-20 Jakub Jelinek <jakub@redhat.com>
15584
15585 PR c/5972
15586 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
15587 movsfcc_1, movdfcc_1): Add %O2.
15588 * config/i386/i386.c (print_operand): Handle %ON.
15589 Print . before float condition codes in Sun as cmov syntax.
15590 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
15591 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
15592 no longer true.
15593
15594 2002-03-20 Philip Blundell <pb@nexus.co.uk>
15595
15596 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
15597 return instruction if PC was popped.
15598
15599 2002-03-20 Bob Wilson <bob.wilson@acm.org>
15600
15601 * config/xtensa/xtensa.md: Remove unused type attributes.
15602 (adddi_carry, subddi_carry): Change type attribute to "multi".
15603
15604 2002-03-19 Dale Johannesen <dalej@apple.com>
15605
15606 PR optimization/5999, middle-end/5731
15607 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
15608 multiplications by reciprocals.
15609
15610 2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
15611
15612 * Makefile.in: Update.
15613 * c-common.c: Include langhooks.h.
15614 (inline_forbidden_p): Use new hook.
15615 * diagnostic.c: Include langhooks.h.
15616 (format_with_decl, announce_function,
15617 default_print_error_function): Use new hook.
15618 * dwarf2out.c (dwarf2_name): Use new hook.
15619 * function.c: Include langhooks.h.
15620 (init_function_start): Use new hook.
15621 * langhooks-def.h (lhd_decl_printable_name): New.
15622 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
15623 (LANGHOOKS_INITIALIZER): Update.
15624 * langhooks.c (lhd_decl_printable_name): New.
15625 * langhooks.h (struct lang_hooks): New hook.
15626 * toplev.c (decl_name, decl_printable_name): Remove.
15627 (open_dump_file): Use new hook.
15628 (process_options): Remove old hook.
15629 * tree.h (decl_printable_name): Remove.
15630 objc:
15631 * objc-act.c (objc_init): Remove old hook.
15632 (objc_printable_name): Export.
15633 * objc-act.h (objc_printable_name): New.
15634 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
15635
15636 2002-03-19 Jim Blandy <jimb@redhat.com>
15637
15638 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
15639 the start_source_file debug hook, not the current line number.
15640
15641 2002-03-19 Richard Henderson <rth@redhat.com>
15642
15643 * flow.c (EH_USES): Provide default.
15644 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
15645 * doc/tm.texi (EH_USES): New.
15646
15647 * config/ia64/ia64.c (ia64_eh_uses): New.
15648 * config/ia64/ia64-protos.h: Update.
15649 * config/ia64/ia64.h (EH_USES): New.
15650
15651 2002-03-19 Richard Henderson <rth@redhat.com>
15652
15653 * varasm.c (output_constant_def): Fix stupid typo.
15654
15655 2002-03-19 Richard Henderson <rth@redhat.com>
15656
15657 PR 5879
15658 * except.c (current_function_has_exception_handlers): New.
15659 * except.h: Declare it.
15660 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
15661 Combine tests that disable all sibcalls for the function.
15662
15663 2002-03-19 Olivier Hainque <hainque@act-europe.fr>
15664
15665 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
15666 for INTEGER_CST.
15667
15668 2002-03-19 Richard Henderson <rth@redhat.com>
15669
15670 PR 5977, 5991
15671 * config/ia64/ia64.c: Revert 2002-03-01 patch.
15672 * config/ia64/ia64.h (INIT_EXPANDERS): New.
15673
15674 2002-03-19 Jim Blandy <jimb@redhat.com>
15675
15676 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
15677 name, even if the replacement list contains no tokens, as required
15678 by Dwarf.
15679
15680 2002-03-19 Jason Merrill <jason@redhat.com>
15681
15682 * varasm.c (globalize_decl): Get the name from the RTL, not
15683 DECL_ASSEMBLER_NAME.
15684
15685 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
15686
15687 2002-03-19 Bob Wilson <bob.wilson@acm.org>
15688
15689 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
15690 subdi_carry): Define.
15691
15692 2002-03-19 David Edelsohn <edelsohn@gnu.org>
15693
15694 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
15695 about -fpic/-fPIC if extra_warnings set.
15696
15697 2002-03-19 David Edelsohn <edelsohn@gnu.org>
15698
15699 * expr.c (expand_expr): Sign-extend CONST_INT generated from
15700 TREE_STRING_POINTER.
15701 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
15702
15703 Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15704
15705 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
15706 in favor of SP if FRAME_POINTER_REQUIRED is false.
15707
15708 2002-03-19 Lars Brinkhoff <lars@nocrew.org>
15709
15710 * emit-rtl.c (gen_int_mode): New function.
15711 * rtl.h: Prototype for it.
15712 * combine.c (make_extraction, simplify_comparison), expmed.c
15713 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
15714 (convert_modes, store_field), optabs.c (expand_fix),
15715 simplify-rtx.c (neg_const_int, simplify_unary_real),
15716
15717 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
15718 Use it instead of GEN_INT (trunc_int_for_mode (...)).
15719
15720 2002-03-19 Jakub Jelinek <jakub@redhat.com>
15721
15722 PR c/5656
15723 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
15724 convert_parm_for_inlining.
15725 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
15726 Define.
15727 * langhooks-def.h: Likewise.
15728 * objc/objc-lang.c: Likewise.
15729 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
15730 function.
15731 * tree-inline.c (initialize_inlined_parameters):
15732 Call convert_parm_for_inlining lang hook if needed.
15733 * c-typeck.c (c_convert_parm_for_inlining): New function.
15734 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
15735
15736 2002-03-18 Mark Mitchell <mark@codesourcery.com>
15737
15738 * calls.c (precompute_arguments): Do not assume that temporaries
15739 can be destroyed after expanding the argument.
15740 (expand_call): Likewise.
15741
15742 2002-03-15 Eric Christopher <echristo@redhat.com>
15743
15744 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
15745 Fix register preference on last change.
15746 * config/mips/mips.c (mips_return_in_memory): New function.
15747 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
15748 * config/mips/mips-protos.h: Declare.
15749 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
15750 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
15751
15752 2002-03-18 Alexandre Oliva <aoliva@redhat.com>
15753
15754 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
15755 a register too.
15756 (anddi3, iorsi3): Likewise.
15757
15758 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
15759 use %gprel for symbols that are going to be placed in linkonce
15760 sections.
15761
15762 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
15763 RETURN_ADDRESS_POINTER_REGNUM to $ra.
15764 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
15765 not needed. Disregard leaf_function_p().
15766 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
15767 mips16 frame pointer.
15768 * config/mips/mips.md (store ra): Only to small SP offsets.
15769 2001-08-22 Graham Stott <grahams@redhat.com>
15770 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
15771 return a REG rtx for the return address register.
15772
15773 2002-03-18 Bob Wilson <bob.wilson@acm.org>
15774
15775 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
15776 constant-pool addresses as "mode-dependent".
15777 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
15778
15779 2002-03-18 Jakub Jelinek <jakub@redhat.com>
15780
15781 PR target/5740
15782 * expr.c (emit_group_load): Use extract_bit_field if
15783 needed for CONCAT arguments.
15784
15785 2002-03-18 Richard Earnshaw <rearnsha@arm.com>
15786
15787 PR target/4863
15788 * arm.md (tablejump): Make this a define_expand. For PIC add the
15789 offset to the base of the table.
15790 (thumb_tablejump): Matcher for Thumb tablejump insn.
15791 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
15792 as the difference of two labels.
15793 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
15794 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
15795 tables in the code.
15796 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
15797 * arm.c (get_jump_table_size): If the table is not in the text
15798 section, return zero.
15799
15800 2002-03-18 Bernd Schmidt <bernds@redhat.com>
15801
15802 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
15803 of gen_rtx_SUBREG.
15804 (arm_reload_out_hi): Use gen_lowpart instead of
15805 gen_rtx_SUBREG to access QImode components.
15806 * config/arm/arm.md: Disable zero_extend split for QImode
15807 subregs in BIG_ENDIAN mode.
15808 (storehi_bigend): Match use of least significant byte.
15809 (storeinthi): Remove extraneous SUBREG.
15810 Add missing construction of operands[2].
15811 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
15812 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
15813 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
15814
15815 2002-03-18 Aldy Hernandez <aldyh@redhat.com>
15816
15817 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
15818 any_operand.
15819
15820 2002-03-17 Richard Henderson <rth@redhat.com>
15821
15822 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
15823 explicitly.
15824
15825 2002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
15826
15827 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
15828 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
15829
15830 2002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15831
15832 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
15833
15834 * predict.c (estimate_bb_frequencies): Delete unused variables.
15835
15836 2002-03-17 Richard Henderson <rth@redhat.com>
15837
15838 * config/ia64/ia64.c (ia64_attribute_table): Move before
15839 targetm definition. Make static.
15840
15841 2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
15842
15843 * c-common.h (yyparse, c_common_parse_file): New.
15844 * c-lang.c: Include c-common.h.
15845 (LANG_HOOKS_PARSE_FILE): Redefine.
15846 * c-lex.c: Include c-common.h.
15847 (yyparse): Rename c_common_parse_file. Call yyparse.
15848 * c-parse.in (yyparse): Remove macro.
15849 * c-tree.h (yyparse_1): Remove.
15850 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
15851 (LANG_HOOKS_INITIALIZER): Update.
15852 * langhooks.h (struct lang_hoooks): New hook parse_file.
15853 * toplev.c (compile_file): Use parse_file hook.
15854 * tree.h (yyparse): Remove.
15855 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
15856
15857 2002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
15858
15859 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
15860 float_truncate, not fix.
15861 ("*truncdfsf2_real"): Ditto.
15862 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
15863
15864 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
15865
15866 2002-03-16 Alexandre Oliva <aoliva@redhat.com>
15867
15868 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
15869 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
15870 where appropriate. Make the second reference to
15871 leaf_function_p a function call, as intended. Reindented.
15872
15873 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
15874 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
15875
15876 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
15877 add register to non-constant into sp.
15878
15879 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
15880 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
15881 (mips16_gp_pseudo_rtx): Lose.
15882 (INIT_EXPANDERS): Deleted.
15883 * config/mips/mips.c (mips_init_machine_status): New.
15884 (mips_free_machine_status): New.
15885 (mips_mark_machine_status): New.
15886 (override_options): Set them.
15887 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
15888 (struct machine_function): ... new. Replaced all references.
15889 (mips_add_gc_roots): Don't mark them.
15890 (embedded_pic_fnaddr_reg): New, extracted from...
15891 (embedded_pic_offset): ... here.
15892 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
15893 (movsi): Likewise.
15894
15895 2002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
15896
15897 * cppinit.c: Revert -MD removal.
15898
15899 2002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15900
15901 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
15902 soft registers by default for 68HC12.
15903 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
15904 when compiling with -fomit-frame-pointer.
15905 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
15906 (expand_epilogue): Likewise.
15907 (m68hc11_gen_rotate): Use exg when rotating by 8.
15908
15909 2002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15910
15911 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
15912 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
15913 (splits): Remove unused add splits.
15914 ("*addhi3_68hc12"): Tune constraints.
15915 ("addhi_sp"): Try to use X instead of Y in all cases and if the
15916 constant fits in 8-bits and D is dead use abx/aby instructions.
15917 ("*addhi3"): Remove extern declaration of ix_reg.
15918 ("*subsi3"): Optimize and provide new split.
15919 ("subhi3"): Cleanup.
15920 ("*subhi3_sp"): Avoid saving X if we know it is dead.
15921 (arith splits): For 68hc12 save the address register on the stack
15922 and do the arithmetic operation with a pop.
15923
15924 2002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15925
15926 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
15927 allocating QImode in address registers.
15928 ("*movqi_m68hc11"): Likewise.
15929
15930 Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
15931
15932 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
15933
15934 2002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
15935
15936 * cppinit.c (print_help): Display -MD and -MMD.
15937 Don't display usage string. Update assertion syntax and
15938 typo.
15939 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
15940 (cpp_handle_option): Update.
15941
15942 2002-03-15 Chris Demetriou <cgd@broadcom.com>
15943
15944 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
15945 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
15946 and define it so that regardless of target CPU size,
15947 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
15948 of "int" rather than "long."
15949
15950 2002-03-15 Richard Henderson <rth@redhat.com>
15951
15952 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
15953 size as a tree.
15954
15955 2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15956
15957 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
15958 ("tstqi" split): Avoid using memory for tstqi on address register.
15959 (splits): Remove constraints.
15960 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
15961 ("cmpdf", "cmpsf"): Remove since not used.
15962 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
15963 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
15964
15965 2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15966
15967 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
15968 ("neghi2"): Tighten constraints.
15969 ("one_cmplsi2"): Optimize and simplify split.
15970 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
15971
15972 2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15973
15974 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
15975 and split of AND operation to clear the upper bits.
15976 ("*logicalsi3_zextqi"): Likewise.
15977 ("*logicallhi3_zexthi_ashift8"): Likewise.
15978 ("*logicalsi3_silshr16"): Likewise.
15979 ("logicalsi3_silshl16"): Likewise.
15980 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
15981
15982 2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15983
15984 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
15985 (m68hc11_indirect_p): New function.
15986 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
15987 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
15988 TARGET_M6812.
15989 (asm_print_register): Likewise.
15990 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
15991 (m68hc11_indirect_p): Declare.
15992 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
15993 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
15994 (TARGET_SWITCHES): New option -mrelax.
15995 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
15996 destination.
15997 ("iorsi3", "xorsi3"): Likewise.
15998 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
15999 ("*andhi3_mem"): New to handle destination in memory with bclr
16000 and a scratch register.
16001 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
16002 ("*andhi3_const"): New when operand2 is constant.
16003 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
16004 ("*andhi3_gen"): Cleanup of the old "andhi3".
16005 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
16006 ("xorqi3"): Update constraints.
16007
16008 2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16009
16010 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
16011 for reg_equiv_memory_loc when the operand is a register that does
16012 not get a hard register (stack location).
16013 (tst_operand): After reload, accept all memory operand.
16014 (symbolic_memory_operand): Fix detection of symbolic references.
16015 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
16016 accept symbols and any constant.
16017
16018 2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16019
16020 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
16021 note on the insn that sets the soft frame register.
16022 (must_parenthesize): ix and iy are also reserved names.
16023 (print_operand_address): One more place where parenthesis are required
16024 to avoid confusion with register names.
16025 (m68hc11_gen_movhi): Allow push of stack pointer.
16026 (m68hc11_check_z_replacement): Fix handling of parallel with a
16027 clobber.
16028 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
16029 the replacement register is.
16030 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
16031 and D8_REGS classes.
16032 (MODES_TIEABLE_P): All modes are tieable except QImode.
16033
16034 2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16035
16036 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
16037 (___subdi3): Likewise.
16038 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
16039 (__map_data_section): Optimize 68hc11 case.
16040
16041 2002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16042
16043 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
16044 than a shift to avoid adding a register with itself.
16045 (m68hc11_memory_move_cost): Take into account NO_REGS.
16046 (m68hc11_register_move_cost): Update and use memory move cost
16047 for soft registers.
16048 (m68hc11_address_cost): Make cost of valid offset not 0 so that
16049 it gives more opportunities to cse to optimize.
16050 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
16051 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
16052
16053 2002-03-15 Mark Mitchell <mark@codesourcery.com>
16054
16055 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
16056 * c-common.def (CLEANUP_STMT): New tree node.
16057 * c-common.h (CLEANUP_DECL): New macro.
16058 (CLEANUP_EXPR): Likewise.
16059 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
16060 * expr.c (expand_expr): Tidy.
16061 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
16062 * tree-inline.c (initialize_inlined_parameters): Clean up
16063 new local variables.
16064
16065 2002-03-15 Jakub Jelinek <jakub@redhat.com>
16066
16067 PR bootstrap/4128
16068 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
16069 before movrXX only, use reg_overlap_mentioned_p.
16070 Only special case NE if just one insn can be generated.
16071
16072 2002-03-15 Jason Merrill <jason@redhat.com>
16073
16074 * varasm.c (assemble_variable): Call resolve_unique_section before
16075 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
16076 of error_mark_node.
16077
16078 2002-03-15 Richard Earnshaw <rearnsha@arm.com>
16079
16080 PR target/5170
16081 * arm.md (split pattern for thumb shiftable immediates): Add comment
16082 explaining non-obvious test.
16083
16084 2002-03-15 Richard Earnshaw <rearnsha@arm.com>
16085
16086 PR target/5712
16087 * arm.md (movaddr, movaddr_insn): Delete.
16088
16089 2002-03-15 Jason Merrill <jason@redhat.com>
16090
16091 * toplev.c (wrapup_global_declarations): Clarify variable handling.
16092 -fkeep-static-consts doesn't apply to comdats.
16093
16094 2002-03-14 Richard Henderson <rth@redhat.com>
16095
16096 * c-decl.c: Include c-pragma.h.
16097 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
16098 (finish_function): Tidy.
16099 * c-pragma.c: Include c-common.h.
16100 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
16101 (handle_pragma_weak): Use them.
16102 (init_pragma): Register pending_weaks.
16103 * c-pragma.h (maybe_apply_pragma_weak): Declare.
16104 * print-tree.c (print_node): Print DECL_WEAK.
16105 * varasm.c (mark_weak_decls): Remove.
16106 (remove_from_pending_weak_list): Remove.
16107 (add_weak): Remove.
16108 (asm_emit_uninitialised): Call globalize_decl for weak commons.
16109 (weak_decls): Make a tree_list.
16110 (declare_weak): Cons weak_decls directly.
16111 (globalize_decl): Remove weak_decls elements directly.
16112 (weak_finish): Simplify weak_decls walk. Don't weaken unused
16113 symbols. Don't pretend to handle aliases.
16114 (init_varasm_once): Update weak_decls registry.
16115 * Makefile.in: Update dependencies.
16116
16117 2002-03-14 Richard Henderson <rth@redhat.com>
16118
16119 PR target/5312
16120 * config/ia64/ia64.c: Include tm_p.h last.
16121 (gen_nop_type): Remove duplicate definition.
16122 (cycle_end_fill_slots): Set sched_data for second L slot.
16123 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
16124 (nop_cycles_until): Fix typos.
16125
16126 2002-03-15 Jakub Jelinek <jakub@redhat.com>
16127
16128 PR optimization/5891
16129 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
16130
16131 2002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
16132
16133 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
16134 descriptors correctly.
16135
16136 2002-03-14 Michael Meissner <meissner@redhat.com>
16137
16138 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
16139 100, allowing MAX_UNROLLED_INSNS to be overridden.
16140
16141 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
16142 --param.
16143
16144 * unroll.c (params.h): Include.
16145 (MAX_UNROLLED_INSNS): Delete, now in params.h.
16146
16147 * doc/invoke.texi (--param max-unroll-insns): Document.
16148
16149 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
16150
16151 2002-03-14 Richard Earnshaw <rearnsha@arm.com>
16152
16153 * arm.md: Fix warnings about constraints in peepholes and splits.
16154
16155 2002-03-14 Zack Weinberg <zack@codesourcery.com>
16156
16157 * cpphash.h (struct lexer_state): Remove line_extension member.
16158 * cpplib.c (dequote_string, do_linemarker): New functions.
16159 (linemarker_dir): New data object.
16160 (DIRECTIVE_TABLE): No longer need to interpret #line in
16161 preprocessed source. Delete obsolete comment about return
16162 values of handlers.
16163 (end_directive, directive_diagnostics, _cpp_handle_directive):
16164 Don't muck with line_extension.
16165 (directive_diagnostics): No need to issue warnings for
16166 linemarkers here.
16167 (_cpp_handle_directive): Issue warnings for linemarkers here,
16168 when appropriate. Dispatch linemarkers to do_linemarker, not
16169 do_line.
16170 (do_line): Code to handle linemarkers split out to do_linemarker.
16171 Convert escape sequences in filename argument, both places.
16172
16173 * cppmacro.c (quote_string): Rename cpp_quote_string and
16174 export. All callers changed.
16175 * cpplib.h (cpp_quote_string): Prototype.
16176 * cppmain.c (print_line): Call cpp_quote_string on to_file
16177 before printing it.
16178
16179 * doc/cpp.texi: Document that escapes are now interpreted in
16180 #line and in linemarkers, and that non-printing characters are
16181 converted to octal escapes when linemarkers are generated.
16182
16183 Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
16184
16185 * emit-rtl.c (try_split): Use delete_insns.
16186 * recog.c (split_all_insns): Fix terminating condition.
16187
16188 2002-03-14 Richard Earnshaw <rearnsha@arm.com>
16189 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16190
16191 PR target/5828
16192 * arm.c (arm_output_epilogue): Fix floating-point register save
16193 adjustment when using a frame pointer.
16194
16195 2002-03-14 Richard Sandiford <rsandifo@redhat.com>
16196
16197 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
16198 * config/mips/mips.c (compute_frame_size): Retrofit them here.
16199 (save_restore_insns, mips_expand_epilogue): And here.
16200 (build_mips16_call_stub): And here.
16201 (mips_function_value): Use the new macros to decide whether a single
16202 or complex float can be returned in floating-point registers. Return
16203 a parallel rtx in the complex case.
16204
16205 Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
16206
16207 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
16208 call after liveness analysis.
16209
16210 * recog.c (split_insn): Use delete_insn_and_edges.
16211
16212 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
16213 instructions to have branch prediction notes.
16214 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
16215
16216 2002-03-14 Geoffrey Keating <geoffk@redhat.com>
16217
16218 * configure.in: Don't pass -Wno-long-long to a ADA compiler
16219 that doesn't support it.
16220 * configure: Regenerate.
16221
16222 2002-03-13 Jakub Jelinek <jakub@redhat.com>
16223
16224 PR target/5626
16225 * config/sparc/sparc.md (normal_branch, inverted_branch,
16226 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
16227 inverted_fp_branch): Adjust calls to output_cbranch.
16228 Set length attribute.
16229 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
16230 output_v9branch. Set length attribute.
16231 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
16232 predicates.
16233 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
16234 (output_cbranch): Likewise. Handle far branches.
16235 (output_v9branch): Handle far branches.
16236 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
16237 Adjust prototypes.
16238 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
16239 noov_compare64_op predicates.
16240
16241 2002-03-13 Jason Merrill <jason@redhat.com>
16242
16243 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
16244 into the function and constify it.
16245 * gthr-dce.h, gthr-solaris.h: Likewise.
16246
16247 2002-03-13 David Edelsohn <edelsohn@gnu.org>
16248
16249 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
16250 * config/rs6000/rs6000.c (rs6000_va_arg): Use
16251 std_expand_builtin_va_arg if not ABI_V4.
16252
16253 2002-03-13 Jason Merrill <jason@redhat.com>
16254
16255 * varasm.c (globalize_decl): New fn.
16256 (assemble_start_function): Use it.
16257 (asm_emit_uninitialized): Use it.
16258 (assemble_alias): Use it.
16259 (assemble_variable): Use it.
16260
16261 2002-03-13 Hans-Peter Nilsson <hp@axis.com>
16262
16263 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
16264 2002-03-12 internal visibility change.
16265 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
16266 visibility into SYMBOL_REF_FLAG.
16267
16268 2002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
16269
16270 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
16271 VOIDmode operand. Add compile-time optimization for constant results.
16272
16273 2002-03-12 Jason Merrill <jason@redhat.com>
16274
16275 * c-typeck.c (convert_for_assignment): Don't allow conversions
16276 between pointers and references. Only allow lvalues to convert to
16277 reference.
16278
16279 2002-03-13 Hartmut Penner <hpenner@de.ibm.com>
16280
16281 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
16282 before prologue, to avoid scheduling problems.
16283
16284 2002-03-13 Jakub Jelinek <jakub@redhat.com>
16285
16286 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
16287 (ELIMINABLE_REGS): Add sfp->sp.
16288 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
16289
16290 2002-03-13 Jakub Jelinek <jakub@redhat.com>
16291
16292 PR optimization/5892
16293 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
16294
16295 2002-03-13 Jakub Jelinek <jakub@redhat.com>
16296
16297 * loop.c (basic_induction_var): Don't call convert_modes if mode
16298 classes are different.
16299
16300 2002-03-12 Richard Henderson <rth@redhat.com>
16301
16302 PR optimization/5901
16303 * function.c (reposition_prologue_and_epilogue_notes): Position
16304 the markers after/before the last/first insn not deleted.
16305
16306 2002-03-12 Richard Henderson <rth@redhat.com>
16307
16308 PR optimization/5878
16309 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
16310 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
16311 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
16312
16313 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
16314 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
16315 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
16316
16317 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
16318 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
16319 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
16320 also. Don't set it if not flag_pic.
16321 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
16322 to be INVALID_REGNUM when not used.
16323
16324 2002-03-13 Aldy Hernandez <aldyh@redhat.com>
16325
16326 * expmed.c (store_bit_field): Reset alias set for memory.
16327 (extract_bit_field): Same.
16328
16329 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16330
16331 * c-common.c (c_tree_code_type, c_tree_code_length,
16332 c_tree_code_name, add_c_tree_codes): Delete.
16333 * c-common.h (add_c_tree_codes): Delete.
16334 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
16335 Define.
16336 * c-objc-common.c (c_objc_common_init): Don't call
16337 add_c_tree_codes, instead set lang_unsafe_for_reeval.
16338 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
16339 objc_tree_code_name, add_objc_tree_codes): Delete.
16340 (objc_init): Don't call add_objc_tree_codes.
16341 * objc/objc-lang.c (tree_code_type, tree_code_length,
16342 tree_code_name): Define.
16343 * toplev.c (lang_independent_init): Don't set
16344 tree_code_length[IDENTIFIER_NODE].
16345 * tree.c (tree_code_type, tree_code_length, tree_code_name):
16346 Delete definitions, moved to language front-ends.
16347 * tree.def (IDENTIFIER_NODE): Hardwire the length.
16348 * tree.h (tree_code_type, tree_code_length, tree_code_name):
16349 Const-ify.
16350 (tree_code_length): Change type to unsigned char.
16351
16352 2002-03-12 Richard Henderson <rth@redhat.com>
16353
16354 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
16355 internal visibility change.
16356
16357 2002-03-12 Bob Wilson <bob.wilson@acm.org>
16358
16359 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
16360 validize_mem() instead of change_address to avoid clobbering
16361 memory attributes.
16362
16363 2002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
16364
16365 * c-lex.h (position_after_whitespace): Remove.
16366
16367 2002-03-12 Jakub Jelinek <jakub@redhat.com>
16368
16369 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
16370 (lex_string): Use unsigned char pointers.
16371
16372 2002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
16373
16374 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
16375 is not a valid memory_operand.
16376
16377 2002-03-12 Bob Wilson <bob.wilson@acm.org>
16378
16379 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
16380 * config/xtensa/lib1funcs.asm: Fix copyright to include
16381 special case for libgcc files.
16382 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
16383 (__divsi3): Likewise.
16384 (__umodsi3): Likewise.
16385 (__modsi3): Likewise.
16386 * config/xtensa/lib2funcs.S: Fix copyright to include
16387 special case for libgcc files.
16388
16389 2002-03-12 Tom Rix <trix@redhat.com>
16390
16391 * collect2.c (resolve_lib_name): Move outside of
16392 OBJECT_FORMAT_COFF ifdef.
16393 (ignore_library): Same.
16394
16395 2002-03-12 Bob Wilson <bob.wilson@acm.org>
16396
16397 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
16398
16399 2002-03-12 Bob Wilson <bob.wilson@acm.org>
16400
16401 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
16402 to function_section before writing out the constant pool.
16403
16404 2002-03-12 David Edelsohn <edelsohn@gnu.org>
16405
16406 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
16407 zero_constant.
16408 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
16409
16410 2002-03-12 Alan Modra <amodra@bigpond.net.au>
16411
16412 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
16413 (adddi3): Likewise.
16414 (movdf): Likewise.
16415 (movdi): Likewise.
16416 (cmpsi splitter): Likewise.
16417 (modsi3): Fail if <= 0.
16418 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
16419 redundant test when HOST_BITS_PER_WIDE_INT != 32.
16420 (reg_or_sub_cint64_operand): Likewise.
16421 (num_insns_constant_wide): Optimize sign extension.
16422 (rs6000_legitimize_address): Likewise.
16423
16424 2002-03-12 Andrew MacLeod <amacleod@redhat.com>
16425
16426 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
16427 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
16428
16429 2002-03-12 Andrew MacLeod <amacleod@redhat.com>
16430
16431 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
16432 address calculation.
16433
16434 2002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
16435
16436 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
16437 scratch register to DImode / TImode.
16438 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
16439 register used does not overlap the target.
16440
16441 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16442
16443 * Makefile.in (debug.o): Depend on debug.h.
16444 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
16445 * debug.c (do_nothing_debug_hooks): Likewise.
16446 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
16447 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
16448 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
16449 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
16450 * dwarfout.c (dwarf_debug_hooks): Likewise.
16451 * integrate.c (output_inline_function): Likewise.
16452 * objc/objc-act.c (synth_module_prologue): Likewise.
16453 * sdbout.c (sdb_debug_hooks): Likewise.
16454 * toplev.c (debug_hooks): Likewise.
16455 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
16456
16457 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16458
16459 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
16460 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
16461 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
16462 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
16463 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
16464 * defaults.h (POINTER_SIZE): Define.
16465 * doc/tm.texi (POINTER_SIZE): Document default.
16466
16467 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16468
16469 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
16470
16471 2002-03-11 Richard Henderson <rth@redhat.com>
16472
16473 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
16474 if rebuild_label_notes_after_reload.
16475
16476 2002-03-12 Hans-Peter Nilsson <hp@axis.com>
16477
16478 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
16479 emit pic register load if "internal" visibility.
16480 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
16481 (cris_expand_builtin_va_arg): Do all computations on trees.
16482
16483 2002-03-11 Richard Henderson <rth@redhat.com>
16484
16485 * rtlanal.c: Include recog.h.
16486 (keep_with_call_p): Fix thinko.
16487 * Makefile.in (rtlanal.o): Update dependencies.
16488
16489 2002-03-11 Chris Meyer <cmeyer@gatan.com>
16490
16491 * genflags.c (gen_insn): Use IS_VSPACE.
16492 * genoutput.c (output_insn_data): Likewise.
16493 (process_template): Likewise.
16494
16495 2002-03-11 Richard Henderson <rth@redhat.com>
16496
16497 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
16498
16499 2002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
16500
16501 * Makefile.in: Update.
16502 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
16503 Update documentation.
16504 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
16505 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
16506
16507 2002-03-11 Zack Weinberg <zack@codesourcery.com>
16508
16509 * Makefile.in: Give texi2pod its input file as a command line
16510 argument, not on stdin.
16511
16512 2002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
16513 Daniel Berlin <dan@dberlin.org>
16514
16515 C++ alias analysis improvement.
16516 * alias.c (record_component_aliases): Record aliases for base
16517 classes too.
16518
16519 2002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
16520
16521 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
16522
16523 2002-03-11 Douglas B Rupp <rupp@gnat.com>
16524
16525 * toplev.c (vms_fopen): Remove, not needed.
16526
16527 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
16528
16529 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
16530
16531 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
16532 for FP, already done later.
16533
16534 * toplev.c (debug_args): Add entry for VMS_DEBUG.
16535 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
16536
16537 2002-03-11 Richard Sandiford <rsandifo@redhat.com>
16538
16539 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
16540 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
16541 LARGEST_EXPONENT_IS_NORMAL for the given mode.
16542 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
16543 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
16544 (ediv, emul, eldexp, esqrt): Likewise.
16545 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
16546 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
16547 (saturate): New function.
16548 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
16549 (make_nan): Use a saturation value instead of a NaN if
16550 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
16551 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
16552 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
16553 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
16554 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
16555 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
16556 !ROUND_TOWARDS_ZERO.
16557 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
16558 (ROUND_TOWARDS_ZERO): Document.
16559
16560 2002-03-11 Andreas Jaeger <aj@suse.de>
16561
16562 * cfg.c (dump_flow_info): Remove unused variable.
16563
16564 2002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
16565
16566 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
16567 computations on trees.
16568
16569 2002-03-10 Richard Henderson <rth@redhat.com>
16570
16571 PR 5693:
16572 * reload.c (copy_replacements_1): New.
16573 (copy_replacements): Use it to recurse through the rtx.
16574
16575 2002-03-10 Richard Henderson <rth@redhat.com>
16576
16577 * loop.c (strength_reduce): Compute number of iterations as
16578 unsigned HOST_WIDE_INT.
16579
16580 2002-03-10 Richard Henderson <rth@redhat.com>
16581
16582 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
16583 to move away from the end of the block.
16584
16585 2002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
16586
16587 PR preprocessor/5899
16588 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
16589
16590 2002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16591
16592 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
16593
16594 * attribs.c (decl_attributes): Fix signed/unsigned warning.
16595
16596 2002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
16597
16598 * config/mmix/mmix.c: Improve comments.
16599 (mmix_target_asm_function_prologue): Drop variable
16600 empty_stack_frame. Don't allocate unused slot above fp.
16601 (mmix_target_asm_function_epilogue): Mirror prologue changes.
16602 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
16603 brace in first column.
16604 (enum reg_class): Ditto.
16605 (FIRST_PARM_OFFSET): Now 0.
16606 (USER_LABEL_PREFIX): Remove #if 0:d definition.
16607
16608 2002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16609
16610 * combine.c (make_extraction): Fix error in last change.
16611
16612 2002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16613
16614 * c4x.c (c4x_fp_reglist): Const-ify.
16615 * cris.c (cris_print_operand): Likewise.
16616 * i386.c (ix86_va_arg): Likewise.
16617 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
16618 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
16619 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
16620 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
16621 * mcore.h (regno_reg_class): Likewise.
16622 * mips.c (gen_int_relational): Likewise.
16623 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
16624 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
16625 * pdp11.c (move_costs): Likewise.
16626 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
16627 * s390.c (s390_branch_condition_mnemonic, regclass_map):
16628 Likewise.
16629 * s390.h (regclass_map): Likewise.
16630 * sh.c (shift_amounts): Likewise.
16631 * sh.md (rotlsi3): Likewise.
16632
16633 2002-03-09 Geoffrey Keating <geoffk@redhat.com>
16634
16635 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
16636 (ne0+5): Use new clobber to generate proper shift pattern.
16637 Patch by Michael Matz <matz@kde.org>.
16638
16639 2002-03-09 Andreas Schwab <schwab@suse.de>
16640
16641 * gcc.c (validate_all_switches): Also handle `%W{...}'.
16642
16643 2002-03-09 Geoffrey Keating <geoffk@redhat.com>
16644
16645 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
16646
16647 2002-03-09 Jakub Jelinek <jakub@redhat.com>
16648
16649 PR middle-end/5877
16650 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
16651 even for non-representable constants.
16652
16653 Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16654
16655 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
16656 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
16657 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
16658 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
16659 (pop_function_context): Compute MAY_SHARE parameter for
16660 fixup_var_refs.
16661 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
16662 (gen_mem_addressof): Call fixup_var_refs with new parm.
16663
16664 * combine.c (make_extraction): Don't make extension of CONST_INT.
16665
16666 2002-03-09 Alexandre Oliva <aoliva@redhat.com>
16667
16668 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
16669 in o32 and o64 ABIs.
16670 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
16671 but getting fixed-size structs passed in registers regardless of
16672 padding in o32 and o64 ABIs.
16673
16674 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
16675 offset before loading address of argument passed by transparent
16676 reference.
16677
16678 2002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
16679
16680 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
16681
16682 2002-03-09 Alexandre Oliva <aoliva@redhat.com>
16683
16684 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
16685 marker such that registers after it are saved.
16686
16687 2002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16688
16689 * sparc.c (arith_4096_operand): Fix error in last change.
16690
16691 2002-03-08 Alexandre Oliva <aoliva@redhat.com>
16692
16693 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
16694 defaults for MEABI.
16695
16696 2002-03-08 Aldy Hernandez <aldyh@redhat.com>
16697
16698 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
16699 vectors.
16700
16701 2002-03-08 Aldy Hernandez <aldyh@redhat.com>
16702
16703 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
16704
16705 Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
16706
16707 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
16708 removed; fix return value.
16709 * combine.c (combine_instructions): Dirtify blocks where we failed to
16710 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
16711 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
16712
16713 2002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16714
16715 * gcse.c (insert_insn_end_bb): Fix typo in last change.
16716
16717 Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
16718
16719 * recog.c (peephole2_optimize): Re-distribute EH edges.
16720
16721 2002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
16722
16723 * expr.c (expand_expr): Use unsave lang hook.
16724 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
16725 (LANG_HOOKS_INITIALIZER): Update.
16726 * langhooks.h (struct lang_hooks): New hook unsave.
16727 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
16728 (unsave_expr_1): Remove unused lang_unsave_expr_now.
16729 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
16730 (unsave_expr_now): Remove.
16731 * tree.h (unsave_expr_now, lang_unsave,
16732 lang_unsave_expr_now): Remove.
16733 (lhd_unsave): New.
16734
16735 2002-03-08 Andreas Jaeger <aj@suse.de>
16736
16737 * flow.c (propagate_block_delete_insn): Remove unused variable.
16738
16739 2002-03-08 Kazu Hirata <kazu@hxi.com>
16740
16741 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
16742 insn length for memory load/store.
16743
16744 2002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
16745
16746 * doc/install.texi (--with-libiconv-prefix): Document.
16747
16748 2002-03-08 Michael Y. Brukman <myb2@cornell.edu>
16749
16750 * doc/sourcebuild.texi: Fix typo.
16751
16752 2002-03-08 Jakub Jelinek <jakub@redhat.com>
16753
16754 PR c/3711
16755 * builtins.c (std_expand_builtin_va_arg): Do all computations on
16756 trees.
16757
16758 Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16759
16760 * rtl.c (copy_most_rtx): Move from here ...
16761 * emit-rtl.c (copy_most_rtx): ... to here.
16762
16763 2002-03-08 Alexandre Oliva <aoliva@redhat.com>
16764
16765 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
16766 SUBTARGET_CPP_SIZE_SPEC.
16767 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
16768
16769 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
16770
16771 2002-03-07 Matt Hiller <hiller@redhat.com>
16772
16773 * gensupport.c (first_dir_md_include): Renamed from include;
16774 change all references.
16775 (last_dir_md_include): Renamed from last_include; change all
16776 references.
16777 (init_md_reader): Unconditionally initialize base_dir whether or
16778 not filename is a relative path.
16779
16780 2002-03-07 Alexandre Oliva <aoliva@redhat.com>
16781
16782 * config/fp-bit.c (_unord_f2): Compile it in even if
16783 US_SOFTWARE_GOFAST is enabled.
16784
16785 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
16786 NULL_RTX. Set all HFmode operations as NULL_RTX.
16787 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
16788 NULL_RTX, try reversing the comparison and the operands.
16789
16790 2002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
16791
16792 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
16793 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
16794 and MATCH_OP_DUP.
16795
16796 Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
16797
16798 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
16799
16800 Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
16801
16802 * basic-block.h (fixup_abnormal_edges): Declare.
16803 * reload1.c (fixup_abnormal_edges): New function.
16804 * reg-stack.c (convert_regs): Use it.
16805
16806 * gcse.c (insert_insn_end_bb): Handle trapping insns.
16807
16808 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
16809
16810 2002-03-07 Richard Sandiford <rsandifo@redhat.com>
16811
16812 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
16813 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
16814 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
16815 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
16816 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
16817 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
16818 unless x and y could be infinite.
16819 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
16820 Check that the common type of both arguments is a real, even for
16821 targets without unordered comparisons. Allow an integer argument
16822 to be compared against a real.
16823 (expand_tree_builtin): Use expand_unordered_cmp.
16824 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
16825 * cse.c (fold_rtx): Likewise. Fix indentation.
16826 * fold-const.c (fold_real_zero_addition_p): New.
16827 (fold): Use it, and the new HONOR_... macros.
16828 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
16829 * jump.c (reversed_comparison_code_parts): After searching for
16830 the true comparison mode, use HONOR_NANS to decide whether it
16831 can be safely reversed.
16832 (reverse_condition_maybe_unordered): Remove IEEE check.
16833 * simplify-rtx.c (simplify_binary_operation): Use the new macros
16834 to decide which simplifications are valid. Allow the following
16835 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
16836 and (a - -b) to (a + b).
16837 (simplify_relational_operation): Use HONOR_NANS.
16838 * doc/tm.texi: Document the MODE_HAS_... macros.
16839
16840 2002-03-07 Richard Earnshaw <rearnsha@arm.com>
16841
16842 * combine.c (simplify_comparison): If simplifying a logical shift
16843 right and compare with constant, force the comparison to unsigned.
16844
16845 2002-03-07 Aldy Hernandez <aldyh@redhat.com>
16846
16847 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
16848
16849 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
16850 -mabi=no-altivec
16851 (alt_reg_names): Remove % for vrsave.
16852
16853 2002-03-06 Richard Henderson <rth@redhat.com>
16854
16855 PR optimization/5844
16856 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
16857 if used indicates we've already emitted one copy of an operand.
16858 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
16859 (gen_split): Supply a non-null used.
16860
16861 2002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
16862
16863 * reload1.c (reload): Unshare all rtl after reload is done.
16864
16865 * simplify-rtx.c (simplify_plus_minus): Do not abort,
16866 but simply fail if the expression is too complex to simplify.
16867 (simplify_gen_binary): Handle simplify_plus_minus failures.
16868
16869 Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
16870
16871 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
16872 consistently call delete_trivially_dead_insns after CSE and GCSE;
16873 fix DFI_life dumping; do jump threading after liveness; do crossjumping
16874 after liveness2; update comment in last crossjumping.
16875 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
16876
16877 Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
16878
16879 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
16880 after completing fast dead code elimination.
16881
16882 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
16883 COMPARE operator.
16884
16885 2002-03-06 Phil Edwards <pme@gcc.gnu.org>
16886
16887 * version.c: Fix misplaced leading blanks on first line.
16888
16889 Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
16890
16891 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
16892
16893 Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
16894
16895 * cfgcleanup.c (mentions_nonequal_regs): New function.
16896 (thread_jump): Use it.
16897 * toplev.c (rest_of_compilation): Run jump threading after
16898 liveness.
16899
16900 2002-03-06 Jakub Jelinek <jakub@redhat.com>
16901
16902 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
16903 patch.
16904
16905 Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
16906
16907 * predict.c (estimate_bb_frequencies): Do not reload the
16908 frequencies from notes.
16909
16910 Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
16911
16912 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
16913 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
16914
16915 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
16916 delete_noop_moves): Return indeger.
16917 * flow.c (ndead): New variable.
16918 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
16919 BB argument; update callers.
16920 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
16921 (life_analysis): Do not call purge_all_dead_edges.
16922 (update_life_info): Return number of deleted insns; print statistics.
16923 (update_life_info_in_dirty_blocks): likewise.
16924 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
16925 return number of insns deleted.
16926
16927 * cse.c: Include timevar.h
16928 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
16929 iterate until stabilizes; print statistics; return number of killed
16930 insns.
16931 * Makefile.in: (cse.o): Add timevar.h dependency
16932 * rtl.h (delete_trivially_dead_insns): New.
16933 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
16934 * toplev.c (rest_of_compilation): Update callers.
16935
16936 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
16937 (try_optimize_cfg): Do not update liveness.
16938 (cleanup-cfg): Loop until try_optimize_cfg and dead code
16939 removal stabilizes; use delete_trivially_dead_insns.
16940
16941 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
16942
16943 2002-03-05 Zack Weinberg <zack@codesourcery.com>
16944
16945 * cppmain.c (setup_callbacks): Disable #pragma and #ident
16946 callbacks when processing assembly language.
16947
16948 2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
16949
16950 * pa.h (ASM_FILE_END): Define.
16951 * som.h (ASM_FILE_END): Delete.
16952
16953 * pa.c (function_arg): Don't pass floats in general registers in
16954 indirect calls if TARGET_ELF32.
16955
16956 2002-03-05 Richard Henderson <rth@redhat.com>
16957
16958 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
16959
16960 2002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
16961
16962 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
16963
16964 2002-03-05 Jakub Jelinek <jakub@redhat.com>
16965
16966 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
16967 -r command line. Don't hide any symbols if not building
16968 shared libgcc.
16969
16970 Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
16971
16972 * cfg.c (dump_flow_info): Warn about profile mismatches.
16973 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
16974 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
16975
16976 2002-03-05 Jakub Jelinek <jakub@redhat.com>
16977
16978 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
16979 wide volatile memory by parts.
16980
16981 2002-03-05 Jakub Jelinek <jakub@redhat.com>
16982
16983 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
16984 is NULL.
16985
16986 2002-03-05 Richard Henderson <rth@redhat.com>
16987
16988 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
16989
16990 2002-03-04 Geoffrey Keating <geoffk@redhat.com>
16991
16992 * toplev.c (documented_lang_options): Document more
16993 language-specific options.
16994 * doc/invoke.texi (Warning Options): Correct documentation for
16995 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
16996 * c-decl.c (c_decode_option): Use a table to handle warning options.
16997
16998 2002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
16999
17000 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
17001 parameter to mmix_encode_section_info.
17002 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
17003 relocatably. Always produce ELF, not mmo if linking relocatably.
17004 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
17005 first is non-zero, don't add symbol prefix.
17006 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
17007 prototype accordingly.
17008
17009 2002-03-04 Krister Walfridsson <cato@df.lth.se>
17010
17011 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
17012
17013 2002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
17014
17015 * configure.in: Increase required makeinfo version to 4.1.
17016 * configure: Regenerate.
17017
17018 2002-03-04 Geoffrey Keating <geoffk@redhat.com>
17019
17020 * .cvsignore: Remove *.info* and genrtl*; these files are generated
17021 elsewhere now.
17022
17023 2002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
17024
17025 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
17026 * doc/invoke.texi: Fix @math uses.
17027
17028 Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
17029
17030 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
17031 removal
17032
17033 2002-03-03 Aldy Hernandez <aldyh@redhat.com>
17034
17035 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
17036 (powerpc-*-eabisimaltivec*): Same.
17037
17038 * config/rs6000/t-ppcendian: New.
17039
17040 2002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
17041
17042 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
17043 nonimmediate_src_operand and nonimmediate_lsrc_operand to
17044 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
17045
17046 2002-03-03 Richard Henderson <rth@redhat.com>
17047
17048 * toplev.c (rest_of_decl_compilation): Revert last two changes.
17049
17050 2002-03-03 Zack Weinberg <zack@codesourcery.com>
17051
17052 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
17053 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
17054 tree.c, config/m68k/m68k.c:
17055 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
17056 REAL_ARITHMETIC blocks unconditional. Delete some further
17057 #ifdef blocks predicated on REAL_ARITHMETIC.
17058 * flags.h, toplev.c: Delete remaining references to
17059 flag_pretend_float.
17060
17061 * doc/invoke.texi: Remove documentation of -fpretend-float.
17062 * doc/tm.texi: Describe the various REAL_* macros as provided by
17063 real.h, not by the target configuration files.
17064
17065 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
17066 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
17067 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
17068 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
17069 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
17070 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
17071 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
17072 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
17073 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
17074 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
17075 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
17076 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
17077 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
17078 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
17079 config/xtensa/xtensa.h:
17080 Do not define, undefine, or mention in comments any of
17081 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
17082 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
17083 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
17084 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
17085 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
17086 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
17087 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
17088 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
17089 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
17090
17091 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17092
17093 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
17094 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
17095 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
17096 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
17097 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
17098 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
17099 Delete.
17100 * defaults.h (BITS_PER_WORD): Define.
17101 * doc/tm.texi (BITS_PER_WORD): Document default value.
17102
17103 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
17104 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
17105 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
17106
17107 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17108
17109 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
17110 lieu of explicit sizeof/sizeof.
17111 * i386.c (override_options, ix86_init_mmx_sse_builtins,
17112 ix86_expand_builtin): Likewise.
17113 * mips.c (mips_add_gc_roots): Likewise.
17114 * mmix.c (mmix_output_condition): Likewise.
17115 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
17116 altivec_init_builtins): Likewise.
17117 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
17118 * cppexp.c (Nsuff, parse_number): Likewise.
17119 * cppinit.c (builtin_array_end): Likewise.
17120 * gcc.c (n_default_compilers, process_command): Likewise.
17121 * genpreds.c (output_predicate_decls): Likewise.
17122 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
17123 * lcm.c (N_ENTITIES): Likewise.
17124 * stor-layout.c (set_sizetype): Likewise.
17125
17126 2002-03-03 Richard Henderson <rth@redhat.com>
17127
17128 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
17129 for types or labels.
17130
17131 2002-03-03 Richard Henderson <rth@redhat.com>
17132
17133 * c-decl.c (start_decl): Initialized variables are not common.
17134
17135 2002-03-02 Per Bothner <per@bothner.com>
17136
17137 * gcc.c (option_map): Suport new --bootclasspath option.
17138 --CLASSPATH is now just an alias for --classpath.
17139
17140 2002-03-02 Richard Henderson <rth@redhat.com>
17141
17142 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
17143 load if "internal" visibility.
17144 * doc/extend.texi: Document visibility meanings.
17145
17146 2002-03-02 Richard Henderson <rth@redhat.com>
17147
17148 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
17149 to functions as well.
17150
17151 2002-03-02 Richard Henderson <rth@redhat.com>
17152
17153 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
17154 (handle_visibility_attribute): Don't call assemble_visibility.
17155 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
17156 without asmspec. Invoke assemble_alias when needed.
17157 * varasm.c (maybe_assemble_visibility): New.
17158 (assemble_start_function, assemble_variable, assemble_alias): Use it.
17159
17160 2002-03-02 Richard Henderson <rth@redhat.com>
17161
17162 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
17163 invoke ENCODE_SECTION_INFO with first call flag.
17164
17165 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
17166 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
17167 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
17168 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
17169 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
17170 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
17171 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
17172 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
17173 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
17174 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
17175 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
17176 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
17177 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
17178 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
17179 config/mcore/mcore-protos.h, config/mcore/mcore.c,
17180 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
17181 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
17182 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
17183 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
17184 config/sh/sh.h, config/sparc/sparc.h,
17185 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
17186 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
17187 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
17188 FIRST argument. As needed, examine it and do nothing.
17189
17190 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
17191 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
17192 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
17193
17194 * config/arm/t-pe (pe.o): Add dependencies.
17195
17196 2002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17197
17198 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
17199 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
17200 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
17201 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
17202 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
17203 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
17204 * defaults.h (BITS_PER_UNIT): Define.
17205 * doc/tm.texi (BITS_PER_UNIT): Document default value.
17206
17207 2002-03-02 Kazu Hirata <kazu@hxi.com>
17208
17209 * config/h8300/h8300-protos.h: Add a prototype for
17210 compute_a_shift_length.
17211 * config/h8300/h8300.c (h8300_asm_insn_count): New.
17212 (compute_a_shift_length): Likewise.
17213 (h8300_adjust_insn_length): Do not adjust insn length of shift
17214 insns.
17215 * config/h8300/h8300.md (anonymous shift patterns): Use
17216 compute_a_shift_length.
17217
17218 Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17219
17220 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
17221 trunc_int_for_mode.
17222
17223 * emit-rtl.c (offset_address): Call update_temp_slot_address.
17224
17225 2002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17226
17227 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
17228 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
17229 * flags.h (flag_zero_initialized_in_bss): Declare.
17230 * toplev.c (flag_zero_initialized_in_bss): New flag.
17231 (lang_independent_options): Add flag_zero_initialized_in_bss.
17232 * tree.c (initializer_zerop): New function.
17233 * tree.h (initializer_zerop): Declare.
17234 * varasm.c (assemble_variable): If we can emit bss, put zero
17235 initializers in the bss section.
17236
17237 2002-03-02 Alan Modra <amodra@bigpond.net.au>
17238
17239 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
17240 like more than one symbol per .weak directive.
17241
17242 2002-03-01 Richard Henderson <rth@redhat.com>
17243
17244 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
17245 adjust argument_pointer by pretend_args_size.
17246 (ia64_va_start): Adjust va_start address by -pretend_args_size.
17247
17248 2002-03-01 Kazu Hirata <kazu@hxi.com>
17249
17250 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
17251
17252 Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
17253
17254 * toplev.c (rest_of_compilation): Delete dead jumptables before
17255 loop.
17256 * flow.c (delete_dead_jumptables): Make global.
17257 * rtl.h (delete_dead_jumptables): Declare.
17258
17259 2002-03-01 David Edelsohn <edelsohn@gnu.org>
17260
17261 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
17262 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
17263 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
17264
17265 2002-03-01 Kazu Hirata <kazu@hxi.com>
17266
17267 * config/h8300/h8300-protos.h: Fix formatting.
17268 * config/h8300/h8300.c: Likewise.
17269 * config/h8300/h8300.h: Likewise.
17270
17271 2002-03-01 Kazu Hirata <kazu@hxi.com>
17272
17273 * config/h8300/h8300.c (print_operand): Support 16-bit
17274 constant addresses.
17275 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
17276
17277 2002-02-28 Richard Henderson <rth@redhat.com>
17278
17279 * expmed.c (store_bit_field): Prevent generation of CONCATs;
17280 pun complex values as integers; use gen_lowpart instead of
17281 gen_rtx_SUBREG.
17282 (extract_bit_field): Likewise.
17283
17284 2002-03-01 Alan Modra <amodra@bigpond.net.au>
17285 David Edelsohn <edelsohn@gnu.org>
17286
17287 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
17288 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
17289 (SUPPORTS_WEAK): Likewise.
17290 * output.h (add_weak): Add tree param.
17291 * varasm.c (add_weak): Likewise. Save decl.
17292 (struct weak_syms): Add decl field.
17293 (mark_weak_decls): New function.
17294 (init_varasm_once): ggc_add_root mark_weak_decls.
17295 (assemble_start_function): Use ASM_WEAKEN_DECL.
17296 (assemble_variable): Likewise.
17297 (assemble_alias): Likewise.
17298 (declare_weak): Pass decl to add_weak.
17299 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
17300 (remove_from_pending_weak_list): Declare and define for
17301 ASM_WEAKEN_DECL.
17302 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
17303 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
17304 * defaults.h (SUPPORTS_WEAK): Likewise.
17305 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
17306 .weak for code sym. Do emit .size for descriptor sym.
17307 (ASM_DECLARE_FUNCTION_SIZE): Define.
17308 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
17309 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
17310 .lglobl unless TARGET_XCOFF. Formatting fixes.
17311 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
17312 .weak for code sym.
17313 (HANDLE_PRAGMA_WEAK): Remove.
17314 (ASM_WEAKEN_LABEL): Remove.
17315 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
17316
17317 2002-03-01 Jason Merrill <jason@redhat.com>
17318
17319 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
17320 (TARGET_EXPR_CLEANUP): New macro.
17321
17322 2002-02-28 Steve Ellcey <sje@cup.hp.com>
17323
17324 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
17325 to take ptr_extend into account as third type of extension.
17326 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
17327 fields used by SUBREG_PROMOTED_UNSIGNED_P.
17328 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
17329 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
17330 * calls.c (precompute_arguments): Use new macro.
17331 (expand_call): Ditto.
17332 * combine.c (nonzero_bits): Ditto.
17333 (record_promoted_value): Ditto.
17334 * expr.c (store_expr): Ditto.
17335 (expand_expr): Ditto.
17336 * function.c (assign_parms): Ditto.
17337
17338 2002-02-28 Alexandre Oliva <aoliva@redhat.com>
17339
17340 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
17341 override -shared and -shared-libgcc.
17342
17343 2002-02-28 David O'Brien <obrien@FreeBSD.org>
17344
17345 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
17346 of "ultrasparc".
17347 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
17348 to be broken.
17349
17350 2002-02-28 Richard Henderson <rth@redhat.com>
17351
17352 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
17353 4 cycle latency from MM producers.
17354 (ia64_internal_sched_reorder): Likewise with pipeline flush.
17355
17356 2002-02-28 Jakub Jelinek <jakub@redhat.com>
17357
17358 * mklibgcc.in: Don't use GNU make extension.
17359
17360 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
17361
17362 * c-parse.in (STATIC): New terminal.
17363 (scspec): New non-terminal. Update productions accordingly.
17364 (program): Remove bogus ifc / end ifc.
17365 (array_declarator): Simplify production using STATIC.
17366
17367 2002-02-28 Jim Meyering <meyering@lucent.com>
17368
17369 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
17370 \a still means TARGET_BELL.
17371
17372 2002-02-28 Richard Henderson <rth@redhat.com>
17373
17374 * haifa-sched.c (sched_emit_insn): New.
17375 (schedule_block): Use last_scheduled_insn to track last insn.
17376 * sched-int.h (sched_emit_insn): Prototype.
17377 * config/ia64/ia64.c (last_issued): Remove.
17378 (ia64_variable_issue): Don't set it.
17379 (nop_cycles_until): Use sched_emit_insn.
17380
17381 2002-02-28 Andrew MacLeod <amacleod@redhat.com>
17382
17383 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
17384 extended constants.
17385
17386 2002-02-28 Kazu Hirata <kazu@hxi.com>
17387
17388 * config/h8300/h8300.c: Fix formatting.
17389 * config/h8300/h8300.h: Likewise.
17390
17391 2002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
17392
17393 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
17394 which may overwrite the high byte of the frame pointer.
17395
17396 2002-02-28 Bo Thorsen <bo@suse.de>
17397
17398 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
17399 (STARTFILE_SPEC): Add 64 bit files.
17400 (ENDFILE_SPEC): Likewise.
17401
17402 2002-02-28 Jason Merrill <jason@redhat.com>
17403
17404 * c-decl.c (finish_function): Only warn about missing return
17405 statement with -Wreturn-type.
17406
17407 Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
17408
17409 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
17410
17411 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
17412 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
17413
17414 Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
17415
17416 * basic-block.h (BB_REACHABLE): Renumber.
17417 (BB_DIRTY, BB_NEW): New flags.
17418 (clear_bb_flags): Declare.
17419 (update_life_info_in_dirty_blocks): Declare.
17420 * cfg.c (clear_bb_flags): New function.
17421 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
17422 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
17423 reorder_insns, emit_insn_after): Mark block as dirty.
17424 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
17425 (update_life_info_in_dirty_blocks): New function.
17426 * recog.c (apply_change_group): Dirtify block.
17427
17428 * cse.c (cse_insn): Reorder emitting of jump insn to keep
17429 cfg consistent.
17430 * gcse.c (delete_null_pointer_checks): Likewise.
17431
17432 * toplev.c (dump_file_index): Move cse2 after bp,
17433 add DFI_null
17434 (dump_file_info): Similary.
17435 (rest_of_compilation): Avoid most of CFG rebuilds;
17436 do first if converision after null pointer checks, do cse2
17437 after branch prediction; avoid full liveness rebuild after
17438 initializing subregs.
17439 * invoke.texi (-d options): Document -du, renumber.
17440
17441 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
17442 (notice_new_block): Do not set BB_UPDATE_LIFE.
17443 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
17444 merge_blocks_move_successor_nojumps, merge_blocks,
17445 try_crossjump_to_edge): Likewise.
17446 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
17447 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
17448 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
17449 (merge_of_block): Do not use life_data_ok.
17450 (find_if_case_1): Do not use SET_UPDATE_LIFE.
17451 (if_convert): Use BB_DIRTY mechanizm to update life.
17452 * lcm.c (optimize_mode_switching): Update
17453 update_life_info_in_dirty_blocks
17454
17455 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
17456
17457 * Makefile.in (integrate.o): Update.
17458 * c-decl.c (copy_lang_decl): Rename.
17459 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
17460 * integrate.c: Include langhooks.h.
17461 (copy_decl_for_inlining): Update to use langhook.
17462 * langhooks-def.h (lhd_do_nothing_t,
17463 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
17464 (LANG_HOOKS_INITIALIZER): Update.
17465 * langhooks.c (lhd_do_nothing_t): New.
17466 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
17467 * tree.h (copy_lang_decl): Remove.
17468 objc:
17469 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
17470
17471 2002-02-27 Andrew MacLeod <amacleod@redhat.com>
17472
17473 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
17474 POST_DEC, and POST_MODIFY.
17475
17476 2002-02-27 Zack Weinberg <zack@codesourcery.com>
17477
17478 * c-typeck.c (digest_init): Remove unused parameter; all
17479 callers changed.
17480
17481 2002-02-27 Geoffrey Keating <geoffk@redhat.com>
17482
17483 * expmed.c (expand_shift): Correctly test for low part of a
17484 subreg.
17485
17486 2002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
17487
17488 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
17489 insn UIDs with insn addresses.
17490
17491 2002-02-27 Zack Weinberg <zack@codesourcery.com>
17492
17493 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
17494 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
17495 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
17496 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
17497 gcc.c, toplev.c: Delete code implementing -traditional mode.
17498
17499 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
17500 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
17501 Document removal of -traditional mode for compilation, and
17502 remove documentation only relevant to that mode.
17503
17504 * config/nextstep.h, config/ptx4.h, config/svr4.h,
17505 config/convex/convex.h, config/d30v/d30v.h,
17506 config/i386/dgux.h, config/i386/osf1elf.h,
17507 config/i386/osfelf.h, config/i386/osfrose.h,
17508 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
17509 config/m68k/hp310.h, config/m88k/dgux.h,
17510 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
17511 config/m88k/m88k.h, config/m88k/openbsd.h,
17512 config/mips/abi64.h, config/mips/osfrose.h,
17513 config/mips/svr4-5.h, config/mips/svr4-t.h,
17514 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
17515 config/stormy16/stormy16.h: Remove all references to
17516 -traditional from target specs. Delete all mention of the
17517 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
17518 delete a couple of commented-out definitions of
17519 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
17520 to -traditional.
17521
17522 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
17523 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
17524
17525 2002-02-27 Zack Weinberg <zack@codesourcery.com>
17526
17527 * mklibgcc.in: Don't use \n in a line subject to
17528 interpretation by echo.
17529
17530 2002-02-27 Graham Stott <grahams@redhat.com>
17531
17532 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
17533 Constify NAME.
17534
17535 * loop.c (prescan_loop): Handle PARALLEL.
17536
17537 * unroll.c (loop_iterations): Return 0 if the add_val for
17538 a BIV is REG.
17539
17540 * final.c (output_operand_lossage): Constify PFX_STR.
17541
17542 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
17543
17544 Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
17545
17546 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
17547 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
17548
17549 Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
17550
17551 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
17552
17553 2002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
17554
17555 * cpplex.c (_cpp_lex_token): Handle directives in macro
17556 arguments.
17557 * cpplib.c (_cpp_handle_directive): Save and restore state
17558 if parsing macro args when entering a directive.
17559 * cppmacro.c (collect_args): No need to handle directives
17560 in macro arguments.
17561 (enter_macro_context, replace_args): Use the original macro
17562 definition in case it was redefined whilst collecting arguments.
17563 doc:
17564 * cpp.texi: Update.
17565
17566 2002-02-26 David Edelsohn <edelsohn@gnu.org>
17567
17568 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
17569 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
17570 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
17571 method on AIX.
17572 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
17573 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
17574 (load_toc_v4_PIC_2): Same.
17575
17576 2002-02-26 Alan Modra <amodra@bigpond.net.au>
17577
17578 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
17579
17580 2002-02-26 Richard Henderson <rth@redhat.com>
17581
17582 * config/alpha/alpha.md (ashldi_se): Re-enable.
17583
17584 2002-02-26 Richard Henderson <rth@redhat.com>
17585
17586 * config/alpha/alpha.c (alpha_encode_section_info): Examine
17587 MODULE_LOCAL_P; improve commentary.
17588
17589 2002-02-26 Zack Weinberg <zack@codesourcery.com>
17590
17591 * doc/cpp.texi: Clarify documentation of relationship between
17592 #line and #include.
17593
17594 2002-02-26 Kazu Hirata <kazu@hxi.com>
17595
17596 * config/h8300/h8300-protos.h: Update the prototype for
17597 compute_logical_op_length. Add the prototype for
17598 compute_logical_op_cc.
17599 * config/h8300/h8300.c (compute_logical_op_length): Figure out
17600 code from operands.
17601 (compute_logical_op_cc): New.
17602 * config/h8300/h8300.md: Combine all the logical op patterns
17603 in HImode and SImode. Use compute_logical_op_cc.
17604
17605 2002-02-26 Kelley Cook <kelleycook@comcast.net>
17606
17607 * config/i386/i386.c (print_operand): Don't append ATT-style
17608 length suffixs to x87 opcodes when in Intel mode.
17609
17610 2002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
17611
17612 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
17613 (init_emit_once): Update calls.
17614 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
17615 (init_syntax_once): Prototype.
17616
17617 2002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
17618
17619 * pa-linux.h (LIB_SPEC): Update definition.
17620 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
17621
17622 2002-02-26 Richard Henderson <rth@redhat.com>
17623
17624 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
17625 if we emitted a stop bit.
17626
17627 2002-02-26 Jakub Jelinek <jakub@redhat.com>
17628
17629 * configure.in (libgcc_visibility): Substitute.
17630 * configure: Rebuilt.
17631 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
17632 defined symbols .hidden.
17633
17634 2002-02-26 Jakub Jelinek <jakub@redhat.com>
17635
17636 * attribs.c (c_common_attribute_table): Add visibility.
17637 (handle_visibility_attribute): New function.
17638 * varasm.c (assemble_visibility): New function.
17639 * output.h (assemble_visibility): Add prototype.
17640 * tree.h (MODULE_LOCAL_P): Define.
17641 * crtstuff.c (__dso_handle): Use visibility attribute.
17642 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
17643 for MODULE_LOCAL_P symbols too.
17644 * config/ia64/ia64.c (ia64_encode_section_info): Handle
17645 MODULE_LOCAL_P symbols the same way as local symbols.
17646 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
17647 into .sdata/.sbss by the user.
17648 * doc/extend.texi (Function Attributes): Document visibility
17649 attribute.
17650
17651 2002-02-26 Jakub Jelinek <jakub@redhat.com>
17652
17653 PR debug/5770
17654 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
17655 STRING_CST initializer spanning the whole variable without
17656 embedded zeros.
17657 If expand_expr returned MEM, don't use it.
17658
17659 2002-02-26 Alexandre Oliva <aoliva@redhat.com>
17660
17661 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
17662 generate a die for the lexical block.
17663
17664 2002-02-26 Kazu Hirata <kazu@hxi.com>
17665
17666 * config/h8300/h8300-protos.h: Add a prototype for
17667 compute_logical_op_length.
17668 * config/h8300/h8300.c (compute_logical_op_length): New.
17669 * config/h8300/h8300.md (anonymous logical patterns): Use
17670 compute_logical_op_length for length.
17671
17672 2002-02-26 Aldy Hernandez <aldyh@redhat.com>
17673
17674 * dwarf2out.c (modified_type_die): Do not call type_main_variant
17675 for vectors.
17676 (gen_type_die): Same.
17677
17678 * attribs.c (handle_vector_size_attribute): Set debug information.
17679
17680 2002-02-26 Daniel Egger <degger@fhm.edu>
17681
17682 * config/rs6000/rs6000.md: Swap define_insn attributes to
17683 fix incorrect generation of merge high instructions instead
17684 of merge low.
17685
17686 2002-02-26 Aldy Hernandez <aldyh@redhat.com>
17687
17688 * c-typeck.c (really_start_incremental_init): Use
17689 bitsize_zero_node for vectors.
17690
17691 2002-02-26 Aldy Hernandez <aldyh@redhat.com>
17692
17693 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
17694 ("*set_vrsave_internal"): Same.
17695
17696 2002-02-25 Richard Henderson <rth@redhat.com>
17697
17698 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
17699 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
17700
17701 2002-02-25 Jakub Jelinek <jakub@redhat.com>
17702
17703 PR target/5755
17704 * config/i386/i386.c (ix86_return_pops_args): Only pop
17705 fake structure return argument if it was passed on the stack.
17706
17707 2002-02-25 Jason Merrill <jason@redhat.com>
17708
17709 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
17710 RESULT_DECL.
17711
17712 2002-02-25 Alexandre Oliva <aoliva@redhat.com>
17713
17714 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
17715 link with shared_name only.
17716 * doc/invoke.texi (Link Options): Document new behavior.
17717
17718 2002-02-25 Aldy Hernandez <aldyh@redhat.com>
17719
17720 * c-typeck.c (push_init_level): Handle vectors.
17721
17722 2002-02-25 Alexandre Oliva <aoliva@redhat.com>
17723
17724 * config/sparc/sparc.c (const64_high_operand): Zero-extend
17725 operands of SPARC_SETHI_P.
17726 (input_operand): Likewise.
17727 (sparc_emit_set_const32): Likewise.
17728 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
17729 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
17730 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
17731 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
17732 (movdi_insn_sp64_vis): Likewise.
17733 (movdi split, movdf split): Use SETHI32.
17734 * doc/md.texi: Document SPARC constraints L, M and N.
17735
17736 2002-02-25 Aldy Hernandez <aldyh@redhat.com>
17737
17738 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
17739 ("*set_vrsave_internal"): use mfspr for Darwin.
17740
17741 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
17742 gen_get_vrsave_internal.
17743
17744 Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17745
17746 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
17747
17748 2002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
17749
17750 * cpplex.c (cpp_interpret_charconst): Get signedness or
17751 otherwise of wide character constants correct.
17752 * cppexp.c (lex): Get signedness of wide charconsts correct.
17753
17754 Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17755
17756 * optabs.c (widen_operand): Only call convert_modes for
17757 promoted SUBREG if signedness matches.
17758 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
17759
17760 2002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
17761
17762 * cpplib.c (glue_header_name): Use local buffer to build up
17763 header name.
17764
17765 2002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
17766
17767 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
17768
17769 2002-02-23 Kazu Hirata <kazu@hxi.com>
17770
17771 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
17772 H8/300[HS] separately.
17773 * config/h8300/h8300.md: Remove the early clobber constraint
17774 from bit field patterns.
17775
17776 2002-02-23 Kazu Hirata <kazu@hxi.com>
17777
17778 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
17779 register_operand.
17780 (mulhisi3): Likewise.
17781 (umulqisi3): Likewise.
17782 (umulhisi3): Likewise.
17783
17784 2002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
17785
17786 * cppinit.c (output_deps): Correct test for stdout output.
17787 (init_dependency_output): Cure warning.
17788
17789 Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17790
17791 * expr.c (store_expr): When converting expression to promoted
17792 equivalent type, allow using SUBREG_REG of TARGET as the target
17793 of the expansion of EXP.
17794 * loop.c (basic_induction_var, case SUBREG): Always look inside.
17795 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
17796 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
17797 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
17798 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
17799
17800 2002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
17801
17802 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
17803 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
17804 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
17805
17806 2002-02-23 Jakub Jelinek <jakub@redhat.com>
17807
17808 PR optimization/5747
17809 * loop.c (scan_loop): Update reg info if move_movables created new
17810 pseudos.
17811
17812 2002-02-23 David Edelsohn <edelsohn@gnu.org>
17813
17814 * gcc.c (init_gcc_spec): Revert last change.
17815
17816 2002-02-23 David Edelsohn <edelsohn@gnu.org>
17817
17818 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
17819 gpc_reg_operand constraint.
17820
17821 2002-02-23 Alan Modra <amodra@bigpond.net.au>
17822
17823 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
17824 Simplify comparison of `low'.
17825 (add_operand): Fix formatting.
17826 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
17827 (mask_operand): Disallow mask to wrap in 64-bit mode.
17828 (rs6000_stack_info): Remove redundant test setting push_p.
17829 (output_toc): Fix formatting.
17830 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
17831 cc_reg_not_cr0_operand constraint.
17832 (booldi3, boolcdi3 splitters): Same.
17833
17834 2002-02-23 Aldy Hernandez <aldyh@redhat.com>
17835
17836 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
17837
17838 2002-02-22 David Edelsohn <edelsohn@gnu.org>
17839
17840 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
17841 gcc invoked with -shared-libgcc.
17842
17843 2002-02-22 Jakub Jelinek <jakub@redhat.com>
17844
17845 PR c++/5748
17846 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
17847 decl if any of elements was TREE_USED.
17848
17849 2002-02-22 Alexandre Oliva <aoliva@redhat.com>
17850
17851 * config/sparc/sol2.h: Don't include sys/mman.h.
17852 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
17853 (arith_4096_operand): Don't throw high bits away.
17854 (const64_operand): Take sign extension of CONST_INTs into account.
17855 (const64_high_operand, sparc_emit_set_const32): Likewise.
17856 (GEN_HIGHINT64): Likewise.
17857 (sparc_emit_set_const64_quick1): Likewise.
17858 (const64_is_2insns): Likewise.
17859 (print_operand): Use trunc_int_for_mode for sign extension.
17860 * config/sparc/sparc.h (SMALL_INT32): Likewise.
17861 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
17862 chars. Assume CONST_INT is already properly sign-extended.
17863 (movdi split): Sign-extend each SImode part.
17864 (andsi3 split): Don't mask high bits off, so that result
17865 remains properly sign-extend.
17866 (iorsi3 split): Likewise.
17867 (xorsi3 split): Likewise.
17868
17869 2002-02-22 Richard Sandiford <rsandifo@redhat.com>
17870
17871 * fold-const.c (fold): Fix typo in comments.
17872
17873 2002-02-21 Diego Novillo <dnovillo@redhat.com>
17874
17875 * Makefile.in (langhooks.o): Update dependencies.
17876
17877 2002-02-21 Diego Novillo <dnovillo@redhat.com>
17878
17879 * langhooks.c: Include flags.h.
17880
17881 2002-02-21 Aldy Hernandez <aldyh@redhat.com>
17882
17883 * testsuite/gcc.dg/attr-alwaysinline.c: New.
17884
17885 * c-common.c (c_common_post_options): Set inline trees by
17886 default.
17887
17888 * doc/extend.texi (Function Attributes): Document always_inline
17889 attribute.
17890 Update documentation about inlining when not optimizing.
17891
17892 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
17893
17894 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
17895 unless DECL_ALWAYS_INLINE.
17896
17897 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
17898 unless DECL_ALWAYS_INLINE.
17899 (c_disregard_inline_limits): Disregard if always_inline set.
17900
17901 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
17902 Disregard if always_inline set.
17903 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
17904 unless DECL_ALWAYS_INLINE.
17905
17906 * attribs.c (handle_always_inline_attribute): New.
17907 (c_common_attribute_table): Add always_inline.
17908
17909 * config/rs6000/altivec.h: Add prototypes for builtins
17910 requiring the always_inline attribute.
17911
17912 2002-02-21 Eric Christopher <echristo@redhat.com>
17913
17914 * expmed.c (store_bit_field): Try to simplify the subreg
17915 before generating a new one when when the mode size of
17916 value is less than maxmode.
17917
17918 2002-02-21 Richard Henderson <rth@redhat.com>
17919
17920 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
17921 than gen_rtx_PLUS to form the sum.
17922 * explow.c (force_reg): Rearrange to not allocate new pseudo
17923 when force_operand returns a register.
17924 * expr.c (expand_assignment): Allow offset_rtx expansion to
17925 return a sum. Do not force addresses into registers.
17926 (expand_expr): Likewise.
17927 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
17928 to canonicalize arithmetic that didn't simpify.
17929 (simplify_plus_minus): New argument force; update
17930 all callers. Don't split CONST unless we can do something with it,
17931 and wouldn't lose the constness of the operands.
17932
17933 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
17934 that we generated earlier.
17935
17936 2002-02-21 Tom Tromey <tromey@redhat.com>
17937
17938 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
17939 (output_line_info): Use constant `1', with a long explanatory
17940 comment.
17941 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
17942
17943 Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
17944
17945 * jump.c (redirect_jump): If old label has no UID, don't try to
17946 delete it.
17947
17948 Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
17949
17950 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
17951 If input is constant, do shifts at compile time.
17952
17953 2002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
17954
17955 * doc/extend.texi: Fix some more overfull hboxes.
17956
17957 2002-02-21 Jakub Jelinek <jakub@redhat.com>
17958
17959 PR optimization/4994
17960 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
17961 register moves.
17962
17963 2002-02-21 Jakub Jelinek <jakub@redhat.com>
17964
17965 PR c++/4574
17966 * expr.h (expand_and): Add mode argument.
17967 * expmed.c (expand_and): Add mode argument.
17968 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
17969 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
17970 * except.c (expand_builtin_extract_return_addr): Likewise.
17971 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
17972 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
17973 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
17974 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
17975 * config/c4x/c4x.md: Use GEN_INT (x) instead of
17976 gen_rtx (CONST_INT, VOIDmode, x).
17977
17978 2002-02-21 Jakub Jelinek <jakub@redhat.com>
17979
17980 PR c/4697:
17981 * stmt.c (warn_if_unused_value): Move side effects test once more.
17982
17983 2002-02-20 Torbjorn Granlund <tege@swox.com>
17984
17985 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
17986 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
17987
17988 Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
17989
17990 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
17991 SUBREG or ZERO_EXTEND.
17992
17993 Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
17994
17995 * sh.h (current_function_anonymous_args): Remove.
17996 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
17997 of current_function_varargs and current_function_stdarg is set.
17998 * sh.c (sh_expand_prologue): Check current_function_varargs /
17999 current_function_stdarg / TARGET_SH5 instead of
18000 current_function_anonymous_args.
18001
18002 * sh64.h (TARGET_VERSION): Define.
18003
18004 2002-02-20 David Edelsohn <edelsohn@gnu.org>
18005
18006 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
18007 VRSAVE_REGNO on TARGET_ALTIVEC.
18008
18009 2002-02-20 Alan Modra <amodra@bigpond.net.au>
18010
18011 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
18012 bits of SImode const_int.
18013 (includes_rshift_p): Likewise.
18014 (print_operand): Call mask_operand and mask64_operand with correct
18015 mode.
18016 (rs6000_output_function_epilogue): Pad traceback table to word.
18017 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
18018 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
18019 mask64_operand with correct mode.
18020 (FUNCTION_ARG_REGNO_P): Correct parentheses.
18021
18022 2002-02-20 Jakub Jelinek <jakub@redhat.com>
18023
18024 PR debug/4461
18025 * varasm.c (get_pool_constant_mark): New.
18026 * rtl.h (get_pool_constant_mark): Add prototype.
18027 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
18028 be represented if it has not been output.
18029
18030 2002-02-20 Alexandre Oliva <aoliva@redhat.com>
18031
18032 * combine.c (do_SUBST): Sanity check substitutions of
18033 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
18034 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
18035 CONST_INT into its operand.
18036 (known_cond): Likewise, for ZERO_EXTEND.
18037 * simplify-rtx.c (simplify_unary_operation): Fix condition to
18038 allow for simplification of wide modes. Reject CONST_INTs in
18039 ZERO_EXTEND when their actual mode is not given.
18040
18041 2002-02-20 Alexandre Oliva <aoliva@redhat.com>
18042
18043 * c-decl.c (pushdecl): If no global declaration is found for an
18044 extern declaration in block scope, try a limbo one.
18045
18046 2002-02-20 Jakub Jelinek <jakub@redhat.com>
18047
18048 PR c++/4401
18049 * c-common.c (pointer_int_sum): Moved from...
18050 * c-typeck.c (pointer_int_sum): ...here.
18051 * c-common.h (pointer_int_sum): Add prototype.
18052
18053 2002-02-20 Jakub Jelinek <jakub@redhat.com>
18054
18055 PR c++/5713
18056 * c-decl.c (duplicate_decls): Return 0 if issued error about
18057 redeclaration.
18058
18059 2002-02-20 Roger Sayle <roger@eyesopen.com>
18060 Jakub Jelinek <jakub@redhat.com>
18061
18062 PR c/4389
18063 * tree.c (host_integerp): Ensure that the constant integer is
18064 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
18065 when pos is zero or non-zero respectively. Clarify comment.
18066 * c-format.c (check_format_info_recurse): Fix host_integerp
18067 usage; the pos argument should be zero when assigning to a
18068 signed HOST_WIDE_INT.
18069
18070 2002-02-20 Richard Henderson <rth@redhat.com>
18071
18072 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
18073 of the operand, rather than assuming TImode.
18074 (ix86_expand_binop_builtin): Cope with commutative patterns
18075 using nonimmediate_operand for both operands.
18076 (ix86_expand_timode_binop_builtin): Likewise.
18077 (ix86_expand_store_builtin): Validate operand 1.
18078 (ix86_expand_unop1_builtin): Likewise.
18079
18080 2002-02-20 Philip Blundell <philb@gnu.org>
18081
18082 PR 5705
18083 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
18084
18085 2002-02-20 Richard Henderson <rth@redhat.com>
18086
18087 PR c/5615
18088 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
18089
18090 2002-02-20 Tom Tromey <tromey@redhat.com>
18091
18092 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18093 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18094 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18095 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18096 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
18097 unconditionally.
18098
18099 Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
18100
18101 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
18102 for (const_int 0) in X not just INTVAL.
18103
18104 2002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
18105
18106 * doc/extend.texi: Avoid or reduce overfull hboxes.
18107
18108 2002-02-20 Diego Novillo <dnovillo@redhat.com>
18109
18110 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
18111 operations if the field does not start at a mode boundary.
18112
18113 2001-02-20 Joel Sherrill <joel@OARcorp.com>
18114
18115 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
18116 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
18117 Also done for -Acpu and -Amachine.
18118
18119 2002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
18120
18121 * cppinit.c (init_dependency_output): Take deps output file
18122 from -o if none given with -MF. Suppress normal output.
18123 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
18124 * doc/cpp.texi, doc/invoke.texi: Update.
18125
18126 2002-02-19 Zack Weinberg <zack@codesourcery.com>
18127
18128 * toplev.c (output_quoted_string): Write unprintable
18129 characters with octal escapes.
18130
18131 2002-02-19 David Edelsohn <edelsohn@gnu.org>
18132
18133 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
18134 really_call_used[VRSAVE_REGNO] if not Altivec.
18135
18136 2002-02-19 Alan Modra <amodra@bigpond.net.au>
18137
18138 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
18139 MODE_MASK.
18140 (constant_pool_expr_1): Fix formatting.
18141 (rs6000_legitimize_reload_address): Likewise.
18142
18143 Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18144
18145 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
18146 now that we have one.
18147
18148 2002-02-19 Zack Weinberg <zack@codesourcery.com>
18149
18150 * tree.h (struct tree_common): Remove aux. Add unused_0 at
18151 end of first block of bitfields (which was only seven bits);
18152 rename dummy to unused_1; remove comment which is no longer true.
18153
18154 2002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
18155
18156 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
18157
18158 2002-02-19 Philip Blundell <pb@nexus.co.uk>
18159
18160 PR 5399
18161 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
18162 if generating PIC.
18163
18164 PR 5054
18165 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
18166 arm_is_longcall_p rather than inspecting call-type cookie
18167 directly.
18168 (call_value_insn) [TARGET_THUMB]: Likewise.
18169
18170 2002-02-19 Graham Stott <grahams@redhat.com>
18171
18172 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
18173
18174 2002-02-19 David Edelsohn <edelsohn@gnu.org>
18175
18176 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
18177 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
18178 (FP_SAVE_INLINE): Delete.
18179
18180 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
18181 * config/rs6000/eabi.asm: Remove ABI save restore routines.
18182 * config/rs6000/t-ppccomm: Build crtsavres.o.
18183 * config/rs6000/crtsavres.asm: New file.
18184
18185 2002-02-19 Philip Blundell <philb@gnu.org>
18186
18187 * config/arm/arm.c (use_return_insn): Don't reject interrupt
18188 functions.
18189 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
18190 (output_return_instruction): Allow interrupt functions to return with
18191 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
18192 (arm_expand_prologue): Subtract 4 before stacking LR in an
18193 interrupt function.
18194
18195 2002-02-19 Philip Blundell <pb@nexus.co.uk>
18196
18197 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
18198 decl, not just FUNCTION_DECL.
18199 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
18200 (arm_assemble_integer): Likewise.
18201 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
18202 marked local.
18203
18204 2002-02-19 matthew green <mrg@eterna.com.au>
18205
18206 * config.gcc (sparc-*-netbsdelf*): Enable target.
18207 (sparc64-*-netbsd*): New target.
18208 * config/sparc/netbsd-elf.h: New file.
18209 * config/sparc/t-netbsd64: New file.
18210
18211 2002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
18212
18213 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
18214
18215 2002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
18216
18217 * doc/invoke.texi: explicitly list the style guidelines that
18218 -Weffc++ checks for.
18219
18220 Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
18221
18222 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
18223
18224 2002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
18225
18226 PR other/5718
18227 * gcc.c (cpp_unique_options): Treat -o as indicating object file
18228 only if not -E. If -E, pass -o through to the preprocessor.
18229
18230 2002-02-19 Kazu Hirata <kazu@hxi.com>
18231
18232 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
18233 register number with an appropriate macro.
18234
18235 2002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
18236
18237 * doc/rtl.texi (Constants): Close @code tag.
18238
18239 2002-02-19 Aldy Hernandez <aldyh@redhat.com>
18240
18241 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
18242 ("mmx_uavgv4hi3"): Same.
18243 ("pmulhrwv4hi3"): Same.
18244
18245 * tree-inline.c (walk_tree): Handle vectors.
18246
18247 * c-common.c (constant_expression_warning): Handle vectors.
18248 (overflow_warning): Same.
18249
18250 * sched-deps.c (sched_analyze_2): Handle vectors.
18251
18252 * rtlanal.c (rtx_unstable_p): Handle vectors.
18253 (rtx_varies_p): Same.
18254 (count_occurrences): Same.
18255 (regs_set_between_p): Same.
18256 (modified_between_p): Same.
18257 (modified_in_p): Same.
18258 (volatile_insn_p): Same.
18259 (volatile_refs_p): Same.
18260 (side_effects_p): Same.
18261 (may_trap_p): Same.
18262 (inequality_comparisons_p): Same.
18263 (replace_regs): Same.
18264 (computed_jump_p_1): Same.
18265
18266 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
18267 argument.
18268 (inner_mode_array): New.
18269 (copy_rtx): Handle vectors.
18270 (copy_most_rtx): Same.
18271 (rtx_equal_p): Same.
18272 (get_mode_alignment): Adjust for vectors.
18273
18274 * resource.c (mark_referenced_resources): Handle vectors.
18275 (mark_set_resources): Same.
18276
18277 * reload1.c (eliminate_regs): Handle vectors.
18278 (elimination_effects): Same.
18279 (scan_paradoxical_subregs): Same.
18280
18281 * reload.c (subst_reg_equivs): Handle vectors.
18282
18283 * regrename.c (scan_rtx): Handle vectors.
18284
18285 * regclass.c (reg_scan_mark_refs): Handle vectors.
18286
18287 * recog.c (find_single_use_1): Handle vectors.
18288
18289 * local-alloc.c (equiv_init_varies_p): Handle vectors.
18290 (contains_replace_regs): Same.
18291 (memref_referenced_p): Same.
18292
18293 * integrate.c (copy_rtx_and_substitute): Handle vectors.
18294 (subst_constants): Same.
18295
18296 * genattrtab.c (attr_copy_rtx): Handle vectors.
18297 (encode_units_mask): Same.
18298 (clear_struct_flag): Same.
18299 (count_sub_rtxs): Same.
18300
18301 * gcse.c (want_to_gcse_p): Handle vectors.
18302 (oprs_unchanged_p): Same.
18303 (hash_expr_1): Same.
18304 (oprs_not_set_p): Same.
18305 (expr_killed_p): Same.
18306 (compute_transp): Same.
18307 (store_ops_ok): Same.
18308
18309 * function.c (purge_addressof_1): Do not allow paradoxical subregs
18310 of vectors.
18311 (fixup_var_refs_1): Same.
18312 (instantiate_virtual_regs_1): Same.
18313
18314 * fold-const.c (operand_equal_p): Handle vectors.
18315 (fold): Same.
18316 (rtl_expr_nonnegative_p): Same.
18317
18318 * flow.c (mark_used_regs): Handle vectors.
18319
18320 * df.c (df_uses_record): Handle vectors.
18321
18322 * cselib.c (cselib_subst_to_values): Handle vectors.
18323 (cselib_mem_conflict_p): Same.
18324 (hash_rtx): Same.
18325
18326 * cse.c (canon_reg): Handle vectors.
18327 (fold_rt): Same.
18328 (cse_process_notes): Same.
18329 (count_reg_usage): Same.
18330 (canon_hash): Same.
18331
18332 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
18333
18334 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
18335
18336 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
18337 (gen_rtx): Handle CONST_VECTOR.
18338 (gen_const_vector_0): New.
18339 (copy_rtx_if_shared): CONST_VECTORs can be shared.
18340 (reset_used_flags): Same.
18341 (copy_insn_1): Same.
18342 (initializer_constant_valid_p): Handle VECTOR_CST.
18343
18344 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
18345
18346 * doc/rtl.texi (Constants): Document const_vector.
18347 (CONST0_RTX): Update for vectors.
18348 (RTL sharing): Same.
18349
18350 * print-tree.c (print_node): Add case for VECTOR_CST.
18351
18352 * tree.h (TREE_VECTOR_CST_ELTS): New.
18353 (struct tree_vector): New.
18354 (union tree_node): Add vector node.
18355 (build_vector): Add prototype.
18356
18357 * tree.def (VECTOR_CST): New.
18358
18359 * tree.c (build_vector): New.
18360
18361 * expmed.c (make_tree): Handle CONST_VECTOR.
18362
18363 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
18364 (CONST_VECTOR_ELT): New.
18365 (CONST_VECTOR_NUNITS): New.
18366
18367 * machmode.h (GET_MODE_INNER): New.
18368 (DEF_MACHMODE): Accept 8th arg.
18369
18370 * machmode.def: Add 8th argument for vector inner mode.
18371 Add inner vector modes for vectors.
18372
18373 * rtl.def (VEC_CONST): Remove.
18374 (CONST_VECTOR): New.
18375
18376 * expr.c (clear_storage): Allow vectors.
18377 (is_zeros_p): Handle VECTOR_CST.
18378
18379 * varasm.c (output_constant_pool): Handle vectors.
18380 (rtx_const): Add veclo and vechi fields.
18381 (kind): Add RTX_VECTOR.
18382 (decode_rtx_const): Add case for vector.
18383
18384 * config/rs6000/rs6000-protos.h: Add zero_constant.
18385
18386 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
18387 constants. Force easy vector constants into memory.
18388 (easy_vector_constant): New.
18389 (emit_easy_vector_constant): New.
18390 (rs6000_legitimize_reload_address): Do not generate bad reloads on
18391 darwin.
18392
18393 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
18394 instruction does.
18395 ("altivec_lvxl"): Same.
18396 (altivec_lvebx): Same.
18397 (altivec_lvehx): Same.
18398 (altivec_lvewx): Same.
18399 ("*movv4si_const0"): New.
18400 ("*movv4sf_const0"): New.
18401 ("*movv8hi_const0"): New.
18402 ("*movv16qi_const0"): New.
18403
18404 2002-02-18 Kazu Hirata <kazu@hxi.com>
18405
18406 * config/h8300/h8300.c (notice_update_cc): Use
18407 cc_status.value2.
18408
18409 2002-02-18 Kazu Hirata <kazu@hxi.com>
18410
18411 * config/h8300/h8300.md (divmod patterns): Change the
18412 constraints for operands[1] to register_operand.
18413
18414 2002-02-18 Kazu Hirata <kazu@hxi.com>
18415
18416 * config/h8300/h8300-protos.h: Remove the prototype for
18417 p_operand.
18418 * config/h8300/h8300.c (p_operand): Remove.
18419 * config/h8300/h8300.md: Replace p_operand with
18420 const_int_operand.
18421
18422 2002-02-18 Philip Blundell <pb@nexus.co.uk>
18423
18424 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
18425 comment.
18426 (output_return_instruction): Allow use of LDR to unstack
18427 return addresss even for interrupt handlers or when
18428 interworking. If compiling for ARMv5, use interworking-safe
18429 return instructions by default. Remove duplicated code and
18430 lengthy "strcat" sequences.
18431
18432 2002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18433
18434 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
18435 (LINK_EH_SPEC): Define.
18436 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
18437
18438 2002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
18439
18440 * config/s390/s390.c (s390_emit_prologue): Do not set the
18441 frame_related flag for call-clobbered registers.
18442
18443 Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
18444
18445 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
18446 (construct_container): Fix handling of SSE operands.
18447 (ix86_expand_builtin): Fix handling of 64bit pointers.
18448 (mmx_maskmovq_rex): New pattern.
18449
18450 Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
18451
18452 * regrename.c (kill_set_value): Handle subregs properly.
18453
18454 2002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
18455
18456 * objc/objc-act.c (handle_impent): Remove leading '*'
18457 from objc_class_name.
18458
18459 2002-02-17 Richard Henderson <rth@redhat.com>
18460
18461 * config/alpha/alpha.c (some_small_symbolic_operand,
18462 some_small_symbolic_operand_1, split_small_symbolic_operand,
18463 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
18464 Handle small SYMBOL_REFs anywhere, not just inside memories.
18465 * config/alpha/alpha-protos.h: Update.
18466 * config/alpha/alpha.h (PREDICATE_CODES): Update.
18467 * config/alpha/alpha.md (small symbolic operand splitter): Update.
18468
18469 2002-02-17 Roland McGrath <roland@frob.com>
18470
18471 * config.gcc (powerpc-*-gnu-gnualtivec*,
18472 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
18473 * config/rs6000/gnu.h: New file.
18474 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
18475 Grok "gnu" in rs6000_abi_name.
18476 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
18477 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
18478 Grok -mcall-gnu analogous to -mcall-linux et al.
18479 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
18480 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
18481 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
18482
18483 2002-02-17 Jakub Jelinek <jakub@redhat.com>
18484
18485 PR c/3444:
18486 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
18487 shortening.
18488
18489 2002-02-17 Philipp Thomas <pthomas@suse.de>
18490
18491 * config/cris/cris.h: Undefine STARTFILE_SPEC and
18492 ENDFILE_SPEC before (re)defining them.
18493
18494 2002-02-17 Kazu Hirata <kazu@hxi.com>
18495
18496 * config/h8300/h8300.c: Fix formatting.
18497 * config/h8300/h8300.h: Likewise.
18498
18499 2002-02-17 Philipp Thomas <pthomas@suse.de>
18500
18501 * doc/tm.texi: Explain why empty strings should not be
18502 marked for translation.
18503
18504 2002-02-17 Philipp Thomas <pthomas@suse.de>
18505
18506 * final.c (output_operand_lossage): Changed to accept
18507 printf style arguments. Change calls where necessary.
18508 * output.h (output_operand_lossage): Change declaration
18509 accordingly. Update copyright.
18510 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
18511 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
18512 Update copyright date where necessary.
18513
18514 * config/i386/i386.c (print_operand): Likewise. Remove use of
18515 sprintf.
18516
18517 * config/cris/cris.c (cris_operand_lossage): Likewise.
18518 Rename parameter so that exgettext recognizes it as
18519 translatable message.
18520 (LOSE_AND_RETURN): Rename parameter to msgid.
18521
18522 2002-02-17 Kazu Hirata <kazu@hxi.com>
18523
18524 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
18525 hard coded register number with an appropriate macro.
18526 (HARD_REGNO_MODE_OK): Likewise.
18527 (ARG_POINTER_REGNUM): Likewise.
18528 (STATIC_CHAIN_REGNUM): Likewise.
18529 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
18530 * config/h8300/h8300.md (define_constants): Define more
18531 register numbers.
18532
18533 2002-02-17 Philipp Thomas <pthomas@suse.de>
18534
18535 * config/i386/i386.h: Don't mark empty strings for translation.
18536
18537 2002-02-16 H.J. Lu <hjl@gnu.org>
18538
18539 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
18540
18541 2002-02-16 Zack Weinberg <zack@codesourcery.com>
18542
18543 * cppinit.c (merge_include_chains): Check for brack being
18544 NULL before attempting to merge it with qtail.
18545
18546 2002-02-16 Andrew Cagney <ac131313@redhat.com>
18547
18548 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
18549 DBX_DEBUG.
18550
18551 2002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
18552
18553 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
18554
18555 2002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
18556
18557 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
18558 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
18559 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
18560
18561 Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18562
18563 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
18564 now only if !TARGET_FIX.
18565 (*movsi_nt_vms_fix): New pattern.
18566
18567 2002-02-16 Douglas B Rupp <rupp@gnat.com>
18568
18569 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
18570 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
18571 (alpha_sa_mask, alpha_sa_size): Reflect above change.
18572 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
18573 (alpha_start_function, alpha_expand_epilogue): Likewise.
18574 (unicosmk_gen_dsib): Likewise.
18575
18576 Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18577
18578 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
18579
18580 2002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
18581
18582 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
18583 check_and_change_labels, s390_final_chunkify): Delete.
18584 (s390_split_branches, s390_chunkify_pool): New functions.
18585 (s390_function_prologue): Call them.
18586
18587 * config/s390/s390.h (S390_REL_MAX): Delete.
18588 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
18589
18590 * config/s390/s390.md (cjump, icjump, jump): Fix length
18591 attribute calculation.
18592
18593
18594 2002-02-15 David Edelsohn <edelsohn@gnu.org>
18595
18596 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
18597 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
18598
18599 2002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
18600
18601 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
18602 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
18603 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
18604
18605 2002-02-15 Richard Sandiford <rsandifo@redhat.com>
18606
18607 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
18608
18609 2002-02-15 Richard Sandiford <rsandifo@redhat.com>
18610
18611 * reload.c (find_dummy_reload): Check that an output register
18612 is valid for its mode.
18613
18614 2002-02-14 Alexandre Oliva <aoliva@redhat.com>
18615
18616 * combine.c (known_cond): After replacing the REG of a SUBREG, try
18617 to simplify it.
18618
18619 * function.c (assign_parms): Demote promoted argument passed by
18620 transparent reference.
18621
18622 2001-02-14 Joel Sherrill <joel@OARcorp.com>
18623
18624 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
18625 -Acpu() and -Amachine() to eliminate warnings.
18626
18627 2002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
18628
18629 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
18630
18631 2002-02-14 Kazu Hirata <kazu@hxi.com>
18632
18633 * config/h8300/h8300-protos.h: Update the prototype for
18634 const_costs.
18635 * config/h8300/h8300.c (const_costs): Treat SET as a little
18636 more expensive operation.
18637 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
18638 reference to const_costs.
18639
18640 2002-02-14 Hans-Peter Nilsson <hp@axis.com>
18641
18642 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
18643
18644 2002-02-14 Jakub Jelinek <jakub@redhat.com>
18645
18646 PR c/5503:
18647 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
18648 use arguments from newtype.
18649
18650 2002-02-13 Eric Christopher <echristo@redhat.com>
18651
18652 * config/mips/mips.c (override_options): Add check for march/mipsX
18653 on the same command line. Fix error message in cpu processing.
18654 Remove architecture and ISA checks.
18655
18656 2002-02-14 Aldy Hernandez <aldyh@redhat.com>
18657
18658 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
18659
18660 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
18661
18662 2002-02-14 Aldy Hernandez <aldyh@redhat.com>
18663
18664 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
18665 alternatives.
18666 ("*movv8hi_internal1"): Same.
18667 ("*movv16qi_internal1"): Same.
18668 ("*movv4sf_internal1"): Same.
18669
18670 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
18671 not push_reload for altivec modes.
18672
18673 2002-02-13 Joel Sherrill <joel@OARcorp.com>
18674
18675 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
18676 all RTEMS targets including removal of #includes from config/*/rtems*.h
18677 file and adding them to tm_file setting. Added xm_defines=POSIX to
18678 many targets.
18679 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
18680 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
18681 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
18682 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
18683 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
18684 config/m68k/rtemself.h: Ditto.
18685 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
18686 config/mips/rtems64.h: Ditto.
18687 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
18688 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
18689 Ditto.
18690 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
18691 config/sparc/rtemself.h: Ditto.
18692 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
18693 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
18694 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
18695 more like arm-elf.
18696 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
18697 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
18698 target made more similar to i386-elf.
18699 * config/i386/t-rtems-i386: Added soft float support and multilibs.
18700 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
18701 be similar to config/m68k/t-m68kelf.
18702 * gthr-rtems.h: Encapsulate with extern "C" for C++.
18703
18704 Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
18705
18706 * regmove.c (kill_value): Handle subregs.
18707
18708 Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
18709
18710 * i386.md (mul patterns): Allow memory operand to be first;
18711 add expanders where needed; fix constraints.
18712 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
18713 Allow memory operand to be the first.
18714
18715 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
18716 operands.
18717
18718 2002-02-13 Jakub Jelinek <jakub@redhat.com>
18719
18720 PR c/5681:
18721 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
18722 GET_MODE (x).
18723
18724 2002-02-13 Jakub Jelinek <jakub@redhat.com>
18725
18726 PR optimization/5547:
18727 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
18728 all valid IA-32 address modes involving non-scaled %ebx and
18729 GOT/GOTOFF as displacement.
18730
18731 2002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
18732
18733 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
18734 after emitting ltorg insns.
18735
18736 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
18737 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
18738 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
18739 *abssf2): Fix "op_type" attribute.
18740
18741 2002-02-13 Douglas B Rupp <rupp@gnat.com>
18742
18743 * mkconfig.sh: Avoid using a subshell redirect.
18744 ($output.T): Change to $(output)T.
18745 (ENABLE_NLS): Remove unneeded undef.
18746
18747 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
18748 * config/alpha/x-vms (libsubdir): Define.
18749
18750 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
18751 register frame procedures. Optimize retrieving context.
18752
18753 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
18754 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
18755 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
18756
18757 Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18758
18759 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
18760 Make same change as for find_base_value.
18761
18762 2002-02-13 Kazu Hirata <kazu@hxi.com>
18763
18764 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
18765 of QImode and SImode.
18766
18767 2002-02-13 Kazu Hirata <kazu@hxi.com>
18768
18769 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
18770 length computation of movsi.
18771 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
18772
18773 2002-02-13 Kazu Hirata <kazu@hxi.com>
18774
18775 * config/h8300/h8300.md (subqi3): Tighten the predicate for
18776 operands[2] to register_operand.
18777
18778 Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
18779
18780 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
18781
18782 2002-02-12 Aldy Hernandez <aldyh@redhat.com>
18783
18784 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
18785 for altivec_lvx* and altivec_stvx*.
18786 ("*movv4si_internal"): Add constraint for loading from GPRs.
18787 ("*movv8hi_internal1"): Same.
18788 ("*movv16qi_internal1"): Same.
18789 ("*movv4sf_internal1"): Same.
18790
18791 * config/rs6000/rs6000.c (altivec_register_operand): New.
18792
18793 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
18794 altivec_register_operand.
18795
18796 2002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
18797
18798 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
18799 handle SYMBOL_REF.
18800
18801 2002-02-13 Stan Shebs <shebs@apple.com>
18802
18803 * c-typeck.c (digest_init): Handle vectors.
18804 (really_start_incremental_init): Same.
18805 (pop_init_level): Same.
18806 (process_init_element): Same.
18807
18808 * varasm.c (output_constant): Same.
18809
18810 * expr.c (clear_storage): Same.
18811 (store_constructor): Same.
18812
18813 2002-02-12 Eric Christopher <echristo@redhat.com>
18814
18815 * explow.c (hard_function_value): Add comment explaining
18816 signed/unsigned comparison.
18817
18818 2002-02-12 Jakub Jelinek <jakub@redhat.com>
18819
18820 * jump.c (never_reached_warning): Add finish argument.
18821 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
18822 real insn after end.
18823 * rtl.h (never_reached_warning): Adjust prototype.
18824 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
18825 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
18826 never_reached_warning.
18827
18828 2002-02-12 Graham Stott <grahams@redhat.com>
18829
18830 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
18831
18832 2002-02-12 Kazu Hirata <kazu@hxi.com>
18833
18834 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
18835 logical shifts on H8/300.
18836 (shift_alg_si): Improve several shifts on H8/300.
18837 (get_shift_alg): Likewise.
18838
18839 2002-02-12 Graham Stott <grahams@redhat.com>
18840
18841 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
18842
18843 Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18844
18845 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
18846 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
18847
18848 2002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
18849
18850 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
18851 non-CONST_INT through default_assemble_integer.
18852 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
18853 <case 8>: Abort for CONST_DOUBLE.
18854
18855 2002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
18856
18857 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
18858 is specified.
18859 * config/pa/pa-linux.h (LIB_SPEC): Delete.
18860 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
18861
18862 2002-02-11 Andrew Haley <aph@cambridge.redhat.com>
18863
18864 * config/stormy16/stormy16.md (zero_extendqihi2): New.
18865
18866 2002-02-11 Alexandre Oliva <aoliva@redhat.com>
18867
18868 * regrename.c (regrename_optimize): Don't accept a
18869 part-clobbered register if the replaced register is not part
18870 clobbered.
18871
18872 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
18873 take padding into account when computing the argument value.
18874
18875 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
18876
18877 * combine.c (try_combine): Apply substitutions in
18878 CALL_INSN_FUNCTION_USAGE too.
18879
18880 2002-02-11 Aldy Hernandez <aldyh@redhat.com>
18881
18882 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
18883 __builtin_altivec_abs*.
18884 (bdesc_abs): New.
18885
18886 * config/rs6000/rs6000.h (rs6000_builtins): Add
18887 ALTIVEC_BUILTIN_ABS*.
18888
18889 * config/rs6000/altivec.h: Use const char for builtins expecting
18890 literals.
18891 (vec_abs): New versions for C and C++.
18892 (vec_abss): Same.
18893
18894 2002-02-10 Kazu Hirata <kazu@hxi.com>
18895
18896 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
18897 using Pmode.
18898
18899 2002-02-10 Kazu Hirata <kazu@hxi.com>
18900
18901 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
18902 constant definition from h8300.md.
18903 (FRAME_POINTER_REGNUM): Likewise.
18904 * config/h8300/h8300.md (define_constants): Add FP_REG.
18905
18906 2002-02-10 Kazu Hirata <kazu@hxi.com>
18907
18908 * config/h8300/h8300.c (print_operand): Remove redundant code.
18909
18910 2002-02-10 Kazu Hirata <kazu@hxi.com>
18911
18912 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
18913 * config/h8300/h8300.c (byte_reg): Make it static.
18914
18915 2002-02-10 Richard Henderson <rth@redhat.com>
18916
18917 PR c/5623
18918 * c-typeck.c (incomplete_type_error): Handle flexible array members.
18919
18920 2002-02-10 Richard Henderson <rth@redhat.com>
18921
18922 PR c++/5624
18923 * tree.c (append_random_chars): Don't abort if main_input_filename
18924 does not exist.
18925
18926 2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
18927
18928 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
18929
18930 2002-02-10 Kazu Hirata <kazu@hxi.com>
18931
18932 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
18933 (pushhi1): Likewise.
18934
18935 2002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
18936
18937 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
18938 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
18939
18940 2002-02-09 David O'Brien <obrien@FreeBSD.org>
18941
18942 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
18943 remove MASK_VIS.
18944 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
18945
18946 2002-02-09 Kazu Hirata <kazu@hxi.com>
18947
18948 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
18949 a half of an SImode register on H8/300.
18950
18951 Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
18952
18953 * i386.md (movdi_2): Add missing '!'.
18954
18955 2002-02-09 Kazu Hirata <kazu@hxi.com>
18956
18957 * config/h8300/h8300.h: Fix formatting. Remove commented-out
18958 definitions.
18959
18960 2002-02-09 Kazu Hirata <kazu@hxi.com>
18961
18962 * config/h8300/h8300.md (length): Correct the distance valid
18963 for the short branch.
18964
18965 2002-02-09 Kazu Hirata <kazu@hxi.com>
18966
18967 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
18968
18969 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
18970
18971 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
18972 registers in SImode.
18973 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
18974 part-clobbered.
18975
18976 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
18977 patch.
18978
18979 Contribute sh64-elf.
18980 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
18981 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
18982 (sh_cannot_modify_jumps_p): New function.
18983 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
18984 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
18985 (sh_ms_bitfield_layout_p): New function.
18986 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
18987 Zack Weinberg <zack@codesourcery.com>
18988 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
18989 expand_simple_binop instead of expand_binop.
18990 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
18991 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
18992 use of .quad and .uaquad.
18993 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
18994 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
18995 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
18996 * config/sh/sh.md (movdi_const, movdi_const_32bit,
18997 movdi_const_16bit): Make sure all CONSTs have modes.
18998 (sym2PIC): Ditto, but by adjusting all callers.
18999 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
19000 if the prologue calls the SHmedia argument decoder or register
19001 saver.
19002 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
19003 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
19004 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
19005 (sh_expand_epilogue): Don't emit USE of return target register.
19006 (prepare_move_operands): Legitimize DImode PIC addresses.
19007 (sh_media_register_for_return): Skip tr0, used to initialize the
19008 PIC register.
19009 (sh_expand_prologue): Remove explicit USE of return register.
19010 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
19011 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
19012 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
19013 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
19014 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
19015 EXTRA_CONSTRAINT_T.
19016 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
19017 (MOVI_SHORI_BASE_OPERAND_P): New.
19018 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
19019 (EXTRA_CONSTRAINT_T): Define in terms of them.
19020 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
19021 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
19022 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
19023 alternatives supporting TARGET_REGS.
19024 (UNSPEC_GOTPLT): New constant.
19025 (movdi split): Move incrementing of LABEL_NUSES...
19026 (movdi_const, movdi_const_32bit): Here. Use
19027 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
19028 (movdi_const_16bit): New.
19029 (call, call_value) [flag_pic]: Use GOTPLT.
19030 (call_pop, call_value_pop): New expands.
19031 (call_pop_compact, call_pop_rettramp): New insns.
19032 (call_value_pop_compact, call_value_pop_rettramp): New insns.
19033 (sibcall) [flag_pic]: Use GOT.
19034 (builtint_setjmp_receiver): Remove bogus, unused expand.
19035 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
19036 (*pt, *ptb, ptrel): New insns.
19037 (sym2GOT): Handle DImode GOT.
19038 (sym2GOTPLT, symGOTPLT2reg): New expands.
19039 (sym2PIC): New expand.
19040 (shcompact_return_tramp): Use GOTPLT to return trampoline.
19041 (shcompact_return_tramp_i): Use return register explicitly.
19042 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
19043 disable flag_reorder_blocks.
19044 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
19045 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
19046 clobbers, for clarity.
19047 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
19048 restoring of r0 in macl as MAYBE_DEAD.
19049 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
19050 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
19051 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
19052 alter_subreg all over.
19053 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
19054 reload, instead of emitting instructions that would require
19055 reloading.
19056 (casesi_load_media): Add missing modes.
19057 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
19058 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
19059 as used if the argument decoder is called.
19060 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
19061 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
19062 Pmode, then extend it to DImode if necessary.
19063 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
19064 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
19065 constants in FPU-enabled SHmedia, let them be loaded from memory.
19066 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
19067 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
19068 Adjust whitespace in assembly output templates.
19069 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
19070 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
19071 mode of if_then_else.
19072 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
19073 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
19074 sh.h.
19075 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
19076 Joern Rennecke <amylaar@redhat.com>
19077 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
19078 (SUBTARGET_CPP_PTR_SPEC): New.
19079 (SUBTARGET_CPP_SPEC): Remove.
19080 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
19081 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
19082 Fix typo in previous checkin.
19083 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
19084 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
19085 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
19086 Alexandre Oliva <aoliva@redhat.com>
19087 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
19088 what single FP register can hold for SHmedia target.
19089 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
19090 Alexandre Oliva <aoliva@redhat.com>
19091 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
19092 Do not split into SUBREG.
19093 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
19094 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
19095 and added new functions as specified in SH5 ABI r9.
19096 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
19097 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
19098 8-byte boundary.
19099 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
19100 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
19101 gen_consttable_4 and gen_consttable_8. Emit multiple labels
19102 and consttable_window_ends.
19103 2001-06-03 Graham Stott <grahams@redhat,com>
19104 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
19105 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
19106 * config/sh/sh.c (print_operand): Handle floating-point pair,
19107 vector and matrix registers.
19108 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
19109 vector modes into account.
19110 * config/sh/sh.md (movv2sf): Split move between registers into
19111 movdf.
19112 (movv4sf, movv16sf): Introduce insns that get split only after
19113 reload.
19114 * config/sh/shmedia.h: Fix Copyright dates.
19115 * config/sh/ushmedia.h: Likewise. Move loop counter
19116 declarations into conditionals that uses them.
19117 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
19118 loop boundary.
19119 * config/sh/sshmedia.h: Fix Copyright dates.
19120 (sh_media_PUTCFG): Fix constraints.
19121 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
19122 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
19123 ptrmemfunc_vbit_in_delta for SH5.
19124 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
19125 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
19126 * invoke.texi: Likewise.
19127 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
19128 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
19129 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
19130 GCC_pop_shmedia_regs_nofpu): New global symbols.
19131 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
19132 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
19133 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
19134 compact function with nonlocal labels.
19135 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
19136 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
19137 (initial_elimination_offset): Account for their stack space.
19138 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
19139 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
19140 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
19141 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
19142 least one of the operands to be a register.
19143 (movv2sf): Likewise. Renamed to movv2sf_i.
19144 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
19145 prepare_move_operands() before emitting SHmedia insns.
19146 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
19147 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
19148 Don't save nor initialize r12. Don't mis-align the stack.
19149 Pad the code with a nop.
19150 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
19151 stack.
19152 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
19153 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
19154 [__SHMEDIA__]: Implement.
19155 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
19156 * config/sh/sh.md: Set latency of `pt' closer to reality.
19157 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
19158 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
19159 Set move, load and store type attributes.
19160 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
19161 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
19162 profiling.
19163 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
19164 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
19165 * config/sh/sh.c (sh_media_register_for_return): New function.
19166 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
19167 branch-target register.
19168 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
19169 * config/sh/sh.md (return_media_i): Use any call-clobbered
19170 branch-target register.
19171 (return_media): If r18 wasn't copied in the prologue, copy it
19172 here.
19173 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
19174 Clear class FP0_REGS.
19175 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
19176 from elf.h.
19177 2001-03-08 DJ Delorie <dj@redhat.com>
19178 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
19179 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
19180 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
19181 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
19182 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
19183 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
19184 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
19185 return value correctly for call_cookie.
19186 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
19187 * config/sh/crt1.asm (start): Modified so as to call
19188 ___setup_argv_and_call_main.
19189 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
19190 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
19191 SHmedia mode.
19192 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
19193 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
19194 (STRIP_NAME_ENCODING): Use it.
19195 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
19196 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
19197 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
19198 prepare_scc_operands().
19199 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
19200 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
19201 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
19202 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
19203 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
19204 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
19205 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
19206 used in shcompact_incoming_args.
19207 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
19208 change.
19209 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
19210 mode.
19211 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
19212 Adjust accordingly.
19213 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
19214 Simplify. Adjust. Add sanity check.
19215 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
19216 FPU_SINGLE_BIT.
19217 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
19218 TARGET_SHCOMPACT.
19219 (udivsi3, divsi3): Use them.
19220 (force_mode_for_call): New insn.
19221 (call, call_value, sibcall_value): Emit it before SHcompact
19222 calls.
19223 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
19224 * config/sh/sh.md (call, call_value, sibcall): Make sure the
19225 call cookie is non-NULL before taking its value.
19226 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
19227 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
19228 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
19229 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
19230 block.
19231 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
19232 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
19233 temporary for stack adjusts. Use MACL and MACH to pass
19234 arguments to shcompact_incoming_args.
19235 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
19236 clobber r1.
19237 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
19238 (nested_trampoline): Load static chain address into r1.
19239 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
19240 2001-01-07 Alexandre Oliva <aoliva@redhat.com
19241 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
19242 fp_arith_reg_operand().
19243 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
19244 * config/sh/sh.md (casesi): Sign-extend the first two operands,
19245 and use signed compares for them.
19246 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
19247 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
19248 ones properly aligned.
19249 (find_barrier): Account for extra alignment needed for 8-byte wide
19250 constants.
19251 (machine_dependent_reorg): Require a label for the second 4-byte
19252 constant after an 8-byte one.
19253 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
19254 change.
19255 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
19256 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
19257 last_float when switching float modes.
19258 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
19259 auto-increment for general-purpose registers.
19260 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
19261 result.
19262 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
19263 for stack adjust.
19264 * config/sh/sh.c (sh_builtin_saveregs): Support using all
19265 registers for varargs.
19266 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
19267 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
19268 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
19269 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
19270 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
19271 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
19272 call_cookie accordingly.
19273 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
19274 (SHCOMPACT_BYREF): Likewise.
19275 (SHCOMPACT_FORCE_ON_STACK): New macro.
19276 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
19277 (sh_builtin_saveregs): Likewise.
19278 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
19279 shcompact_incoming_args): Use new shift values. Support
19280 sequences of consecutive and non-consecutive pushes/pops.
19281 * config/sh/sh.md (return): Don't explicitly use PR_REG.
19282 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
19283 * config/sh/sh.h (TEXT_SECTION): Define.
19284 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
19285 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
19286 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
19287 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
19288 return values on FPU-enabled SHmedia.
19289 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
19290 FPU-enabled SHmedia.
19291 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
19292 value is returned in a non-FP reg and is not returned by
19293 reference.
19294 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
19295 jump_ind.
19296 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
19297 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
19298 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
19299 quad-aligned to be passed by callee-copy reference.
19300 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
19301 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
19302 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
19303 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
19304 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
19305 copying low-numbered FP regs to r7 and r8.
19306 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
19307 FP regs to general-purpose regs only if the copy was passed on the
19308 stack.
19309 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
19310 copying FP reg to r9.
19311 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
19312 copy FP regs to general-purpose regs only in outgoing calls.
19313 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
19314 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
19315 HOST_WIDE_INT.
19316 * config/sh/sh.h (struct sh_args): Document all fields.
19317 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
19318 passed partially on the stack should not consider making
19319 sibcalls.
19320 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
19321 stack_regs only for incoming calls. When passing FP args,
19322 make sure there are FP regs available before modifying
19323 call_cookie.
19324 (SHCOMPACT_BYREF): Pass double args in general-purpose
19325 registers by reference.
19326 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
19327 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
19328 attempt to generate sibcalls if the caller got any arguments
19329 by reference.
19330 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
19331 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
19332 to 8-byte boundaries.
19333 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
19334 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
19335 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
19336 stored in the stack.
19337 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
19338 for the offsets to have the ISA bit set.
19339 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
19340 invocation. Use beq instead of bgt to mark end of sequence of
19341 loads.
19342 (shcompact_incoming_args): Fix store of r2. Use beq instead of
19343 bgt to mark end of sequence of stores.
19344 * config/sh/sh.c (arith_operand): Don't check whether
19345 CONST_OK_FOR_J for now.
19346 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
19347 instead of long for conversion.
19348 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
19349 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
19350 before passing it to fprintf.
19351 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
19352 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
19353 Call set_fpscr before reading/writing SR.
19354 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
19355 Call set_fpscr.
19356 * config/sh/lib1funcs.asm: Add `.align 2' directives before
19357 SHmedia code.
19358 (FMOVD_WORKS): Define on SH5 with FPU.
19359 (set_fpscr): Define on SH5. Remove separate _fpscr_values
19360 setting.
19361 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
19362 _fpscr_values.
19363 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
19364 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
19365 address.
19366 (ia_main_table): Ditto.
19367 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
19368 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
19369 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
19370 the definitions from sh.h.
19371 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
19372 TARGET_SH5.
19373 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
19374 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
19375 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
19376 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
19377 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
19378 Increment LABEL_NUSES.
19379
19380 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
19381 TARGET_SH5.
19382 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
19383 defined.
19384 * config/sh/elf.h (SIZE_TYPE): Likewise.
19385 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
19386 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
19387 shcompact_incoming_args): Load switch table addresses using
19388 datalabel.
19389 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
19390 (NO_BUILTIN_SIZE_TYPE): Define.
19391 (SIZE_TYPE): Don't define.
19392 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
19393 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
19394 definition of __SH5__=32 for -m5-compact-nofpu.
19395 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
19396 ADDR_DIFF_VEC.
19397 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
19398 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
19399 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
19400 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
19401 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
19402 (INSN_LENGTH_ALIGNMENT): Likewise.
19403 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
19404 * config/sh/sh.md (call, call_value, sibcall): Simplify
19405 copying of non-branch-target register.
19406 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
19407 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
19408 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
19409 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
19410 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
19411 floating-point values as structs.
19412 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
19413 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
19414 general-purpose register.
19415 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
19416 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
19417 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
19418 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
19419 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
19420 (ENCODE_SECTION_INFO): Enclose variables and constants in
19421 DATALABEL unspecs.
19422 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
19423 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
19424 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
19425 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
19426 only for LABEL_REFs. For SYMBOL_REFs, prepend
19427 SH_DATALABEL_ENCODING to the symbol name.
19428 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
19429 convert_mode().
19430 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
19431 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
19432 UNSPEC_DATALABEL.
19433 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
19434 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
19435 (DATALABEL_REF_P): Don't require CONST.
19436 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
19437 REL label.
19438 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
19439 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
19440 right.
19441 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
19442 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
19443 Use shallow_copy_rtx and PUT_MODE to change the mode of
19444 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
19445 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
19446 on SHmedia using GENERAL_REGs.
19447 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
19448 bltu_media_i): Fix reversion of conditions.
19449 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
19450 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
19451 * config/sh/sh.c (output_far_jump): Save r13 in macl.
19452 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
19453 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
19454 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
19455 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
19456 (GCC_nested_trampoline): Likewise.
19457 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
19458 * config/sh/sh.c (gen_datalabel_ref): Define.
19459 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
19460 (INITIALIZE_TRAMPOLINE): Likewise.
19461 (TRAMPOLINE_ADJUST_ADDRESS): Define.
19462 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
19463 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
19464 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
19465 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
19466 (ic_invalidate): Adjust for SH5.
19467 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
19468 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
19469 _nested_trampoline.
19470 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
19471 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
19472 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
19473 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
19474 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
19475 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
19476 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
19477 * config/sh/sh.c (target_reg_operand): Match only target-branch
19478 registers and pseudos that aren't virtual registers.
19479 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
19480 Copy operands that don't match target_reg_operand to pseudos.
19481 (call_media, call_value_media, sibcall_media): Use
19482 target_reg_operand instead of target_operand.
19483 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
19484 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
19485 * config/sh/sh.c (target_reg_operand): Match hardware registers
19486 other than branch-target registers.
19487 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
19488 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
19489 (fpscr_values) [SH5 == 32]: Define.
19490 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
19491 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
19492 Handle function addresses coming in SUBREGs.
19493 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
19494 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
19495 shcompact_return_trampoline): Use datalabel where appropriate.
19496 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
19497 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
19498 general-purpose register to copy one branch-target register to
19499 another.
19500 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
19501 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
19502 SYMBOL_REFs with VOIDmode.
19503 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
19504 bltu_media_i): New insns.
19505 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
19506 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
19507 (INIT_CUMULATIVE_ARGS): Likewise.
19508 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
19509 * machmode.def (V16SFmode): New mode.
19510 * c-common.c (type_for_mode): Support V2SF and V16SF.
19511 * tree.c (build_common_tree_nodes_2): Likewise.
19512 * tree.h (tree_index): Likewise.
19513 * calls.c (emit_call_1): Take args_so_far. Adjust all
19514 callers. Introduce CALL_POPS_ARGS.
19515 * tm.texi (CALL_POPS_ARGS): Document.
19516 * config/sh/crt1.asm: Implement in SHmedia mode.
19517 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
19518 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
19519 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
19520 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
19521 Implement divsi and udivsi in SHmedia mode. Introduce
19522 SHcompact trampolines.
19523 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
19524 only in SHmedia64.
19525 (regno_reg_class): Rewrite.
19526 (fp_reg_names): Remove.
19527 (sh_register_names, sh_additional_register_names): New.
19528 (print_operand): Added `u'. Support SUBREGs in addresses.
19529 Add parentheses around shifted CONSTs.
19530 (output_file_start): Output .mode and .abi directives.
19531 (shiftcosts, addsubcosts, multcosts): Adjust.
19532 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
19533 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
19534 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
19535 bytes, not registers. Take into account the need for the
19536 SHcompact incoming args trampoline. Adjust all callers.
19537 (sh_expand_prologue): Take stack_regs into account. Call
19538 incoming args trampoline. Keep stack aligned as per SH5 ABI.
19539 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
19540 stack aligned as per SH5 ABI.
19541 (sh_builtin_saveregs): Support SH5 ABI.
19542 (sh_build_va_list, sh_va_start): Likewise.
19543 (initial_elimination_offset): Take alignment into account.
19544 Compute location of PR according to the SH5 stack frame.
19545 (arith_reg_operand): Reject branch-target registers.
19546 (shmedia_6bit_operand): New.
19547 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
19548 (target_reg_operand): Match DImode only. Accept SUBREGs.
19549 (target_operand): New.
19550 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
19551 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
19552 SIBCALL_REGS for SHmedia.
19553 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
19554 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
19555 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
19556 (TARGET_SWITCHES): New SH5 flags.
19557 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
19558 VALID_REGISTER_P to disable unsupported registers.
19559 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
19560 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
19561 (FUNCTION_ARG_PADDING): Define.
19562 (FASTEST_ALIGNMENT): Adjust.
19563 (SH_REGISTER_NAMES_INITIALIZER): New.
19564 (sh_register_names): Declare.
19565 (DEBUG_REGISTER_NAMES): Define.
19566 (REGISTER_NAMES): Define based on sh_register_names.
19567 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
19568 (sh_additional_register_names): Declare.
19569 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
19570 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
19571 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
19572 (REGISTER_NATURAL_MODE): Define.
19573 (FIRST_PSEUDO_REGISTER): Adjust.
19574 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
19575 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
19576 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
19577 (VECTOR_MODE_SUPPORTED_P): Define.
19578 (REG_CLASS_CONTENTS): Adjust.
19579 (SMALL_REGISTER_CLASSES): Adjust.
19580 (REG_ALLOC_ORDER): Adjust.
19581 (INDEX_REG_CLASS): Adjust.
19582 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
19583 (CONST_OK_FOR_LETTER_P): Adjust.
19584 (PREFERRED_RELOAD_CLASS): Adjust.
19585 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
19586 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
19587 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
19588 (FIRST_FP_PARM_REG): Adjust.
19589 (CALL_POPS_ARGS): Define.
19590 (FUNCTION_ARG_REGNO_P): Adjust.
19591 (struct sh_args): New fields.
19592 (GET_SH_ARG_CLASS): Adjust.
19593 (INIT_CUMULATIVE_ARGS): Adjust.
19594 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
19595 (FUNCTION_ARG_ADVANCE): Adjust.
19596 (FUNCTION_ARG): Adjust.
19597 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
19598 (FUNCTION_ARG_CALLEE_COPIES): Define.
19599 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
19600 (STRICT_ARGUMENT_NAMING): Define.
19601 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
19602 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
19603 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
19604 (SETUP_INCOMING_VARARGS): Adjust.
19605 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
19606 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
19607 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
19608 (SUBREG_OK_FOR_INDEX_P): Adjust.
19609 (EXTRA_CONSTRAINT_S): Update.
19610 (EXTRA_CONSTRAINT_T): New.
19611 (EXTRA_CONSTRAINT): Adjust.
19612 (GO_IF_LEGITIMATE_INDEX): Adjust.
19613 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
19614 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
19615 (MOVE_MAX): Adjust.
19616 (MAX_MOVE_MAX): Define.
19617 (Pmode): Adjust.
19618 (CONST_COSTS): Adjust.
19619 (REGISTER_MOVE_COST): Adjust.
19620 (BRANCH_COST): Adjust.
19621 (TEXT_SECTION_ASM_OP): Adjust.
19622 (DBX_REGISTER_NUMBER): Adjust.
19623 (ASM_OUTPUT_DOUBLE_INT): New.
19624 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
19625 (PREDICATE_CODES): Adjust.
19626 (PROMOTE_MODE): Adjust.
19627 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
19628 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
19629 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
19630 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
19631 (DR0_REG, DR2_REG, DR4_REG): Renumber.
19632 (TR0_REG, TR1_REG, TR2_REG): New.
19633 (XD0_REG): Renumber.
19634 (UNSPEC_COMPACT_ARGS): New.
19635 (type): Added pt and ptabs.
19636 (length): Default to 4 on SHmedia. Default pt length to 12
19637 and 20 on SHmedia32 and SHmedia64, respectively.
19638 (pt): New function unit.
19639 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
19640 Add whitespace between operands of SHmedia instructions.
19641 (movdicc): Fix.
19642 (adddi3_media, addsi3_media): Adjust constraints.
19643 (subsi3) [SHmedia]: Force operand 1 into a register.
19644 (udivsi3_i1_media, udivsi3_i4_media): New.
19645 (udivsi3): Support SHmedia.
19646 (divsi3_i1_media, divsi3_i4_media): New.
19647 (divsi3): Support SHmedia.
19648 (anddi3, iordi3, xordi3): Adjust constraints.
19649 (zero_extendhidi2, zero_extendqidi2): New.
19650 (extendsidi2, extendhidi2, extendqidi2): New.
19651 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
19652 (pop_e, pop_fpul, pop_4): Likewise.
19653 (movsi_media): Support FP and BT registers.
19654 (movsi_media_nofpu): New. Adjust splits to DImode.
19655 (lduw, ldub): Renamed to zero_extend* above.
19656 (movqi_media): Fix typo.
19657 (movdi_media): Support FP and BT registers.
19658 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
19659 (movdi_const_32bit): New.
19660 (shori_media): Require immediate operand. Use `u' for output.
19661 (movdf_media, movsf_media): Simplified.
19662 (movdf_media_nofpu, movsf_media_nofpu): New.
19663 (movdf, movsf): Adjust
19664 (movv2sf, movv2sf, movv16sf): New.
19665 (beq_media, beq_media_i): Adjust constraints. Don't use
19666 scratch BT register.
19667 (bne_media, bne_media_i): Likewise.
19668 (bgt_media, bgt_media_i): Likewise.
19669 (bge_media, bge_media_i): Likewise.
19670 (bgtu_media, bgtu_media_i): Likewise.
19671 (bgeu_media, bgeu_media_i): Likewise.
19672 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
19673 bunordered): Emit jump insn. Force operands to registers when
19674 needed.
19675 (jump_media, jump): Simplify.
19676 (call_compact, call_compact_rettramp): New.
19677 (call_value_compact, call_value_compact_rettramp): New.
19678 (call_media, call_value_media): Simplify.
19679 (sibcall_compact, sibcall_media): New.
19680 (call, call_value): Adjust for SHmedia and SHcompact.
19681 (sibcall, sibcall_value, untyped_call): Likewise.
19682 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
19683 (indirect_jump): Adjust for SHmedia.
19684 (casesi_jump_media): New.
19685 (nop): Re-enable for SHmedia.
19686 (call_site): Restrict to SH1.
19687 (casesi): Adjust for SHmedia.
19688 (casesi_shift_media, casesi_load_media): New.
19689 (return): Explicitly use PR register. Call return trampoline
19690 on SHcompact.
19691 (return_i): Explicitly use PR register.
19692 (shcompact_return_tramp, shcompact_return_tramp_i): New.
19693 (return_media): Adjust.
19694 (shcompact_incoming_args): New.
19695 (epilogue): Adjust.
19696 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
19697 (movstrsi): Disable on SH5.
19698 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
19699 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
19700 (subsf3, subsf3_media): Likewise.
19701 (mulsf3, mulsf3_media, mac_media): Likewise.
19702 (divsf3, divsf3_media): Likewise.
19703 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
19704 (floatsisf2, fux_truncsfsi2): Likewise.
19705 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
19706 constraints.
19707 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
19708 (cmpunsf_media, cmpsf): Likewise.
19709 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
19710 (abssf2, abssf2_media): Likewise.
19711 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
19712 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
19713 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
19714 (floatsidf2, fix_truncdfsi2): Likewise.
19715 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
19716 constraints.
19717 (cmpeqdf_media, cmpgtdf_media): Likewise.
19718 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
19719 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
19720 (absdf2, absdf2_media): Likewise.
19721 (extendsfdf2, extendsfdf2_media): Likewise.
19722 (truncsfdf2, truncsfdf2_media): Likewise.
19723 * config/sh/sh64.h: New file.
19724 * config/sh/t-sh64: New file.
19725 * config/sh/shmedia.h: New file.
19726 * config/sh/ushmedia.h: New file.
19727 * config/sh/sshmedia.h: New file.
19728 * configure.in: Added sh64-*-elf.
19729 * configure: Rebuilt.
19730 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
19731 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
19732 (reg_class_from_letter): Use `b' for TARGET_REGS.
19733 (print_operand): Support `%M', `%m', `AND' and
19734 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
19735 (andcosts): Adjust for SHmedia.
19736 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
19737 Likewise.
19738 (target_reg_operand): New function.
19739 * config/sh/sh-protos.h (target_reg_operand): Declare.
19740 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
19741 FP registers on SH5.
19742 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
19743 on SH4.
19744 (TARGET_REGISTER_P): New macro.
19745 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
19746 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
19747 (EXTRA_CONSTRAINT_S): New macro.
19748 (EXTRA_CONSTRAINT): Adjust.
19749 (FLOAT_TYPE_SIZE): Define to 32.
19750 (Pmode): DImode on SHmedia.
19751 (CONST_COSTS): Adjust for SHmedia literals.
19752 (PREDICATE_CODES): Added target_reg_operand.
19753 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
19754 * config/sh/sh.md: Remove all attrs from SHmedia insns.
19755 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
19756 (cmpdi): Accept SHmedia.
19757 (movdicc_false, movdicc_true): New insns.
19758 (movdicc): New expand.
19759 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
19760 no_new_pseudos.
19761 (addsi3_media): Match `S' constraint.
19762 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
19763 (negdi2): Expand for SHmedia.
19764 (one_cmpldi2): New expand.
19765 (zero_extendsidi2): Change from expand to insn.
19766 (extendsidi2): Add constraints.
19767 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
19768 LD/ST address. Fix SI immediate loading split.
19769 (movhi_media, movqi_media, lduw, ldub): New insns.
19770 (movhi, movqi): Accept SHmedia.
19771 (shori_media, movdi_media): Relax input constraints. Split
19772 symbolic constants.
19773 (movdf_media, movsf_media): New insn. New split to movdi.
19774 (movdf, movsf): Match on SHmedia.
19775 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
19776 bgeu_media): New insns and splits. New insns with `_i' suffix.
19777 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
19778 (bunordered): New expand.
19779 (jump_compact): Renamed from `jump'.
19780 (jump_media): New insn.
19781 (jump): New expand.
19782 (call_media, call_value_media): New insns.
19783 (call, call_value): Adjust.
19784 (indirect_jump_compact): Renamed from `indirect_jump'.
19785 (indirect_jump_media): New insn.
19786 (indirect_jump): New expand.
19787 (untyped_call, return): Accept SHmedia.
19788 (return_media): New insn.
19789 (prologue, epilogue, blockage): Accept SHmedia.
19790 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
19791 (sunordered): New expand.
19792 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
19793 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
19794 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
19795 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
19796 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
19797 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
19798 abssf2_media): New insns.
19799 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
19800 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
19801 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
19802 floatdidf2, floatsidf2_media, fix_truncdfdi2,
19803 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
19804 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
19805 absdf2_media): New insns.
19806 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
19807 (extendsfdf2_media, truncdfsf2_media): New insns.
19808 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
19809 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
19810 * config/sh/sh.h (CONST_OK_FOR_J): Document.
19811 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
19812 * config/sh/sh.md (adddi3): New expand.
19813 (adddi3_media, adddi3z_media): New insns.
19814 (adddi3_compact): Renamed from adddi3.
19815 (addsi3_media): Use add.l r63 to add constant zero.
19816 (subdi3): New expand.
19817 (subdi3_media): New insn.
19818 (subdi3_compact): Renamed from subdi3.
19819 (mulsidi3): New expand.
19820 (mulsidi3_media): New insn.
19821 (mulsidi3_compact): Renamed from mulsidi3.
19822 (umulsidi3): New expand.
19823 (umulsidi3_media): New insn.
19824 (umulsidi3_compact): Renamed from umulsidi3.
19825 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
19826 (ashlsi3, ashrsi3, lshrsi3): Use them.
19827 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
19828 (ashldi3, ashrdi3, lshrdi3): Use them.
19829 (zero_extendsidi2): New expand.
19830 (extendsidi2): New insn.
19831 (movsi_media): New insn. Split to movdi to load constants.
19832 (movsi): Enable for shmedia.
19833 (movdi_media): New insn. Use shori_media to load wide constants.
19834 (short_media): New insn.
19835 (movdi): Enable for shmedia.
19836 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
19837 * config/sh/sh.h (CPP_SPEC): Added `m5'.
19838 (SUBTARGET_CPP_SPEC): Added `!m5'.
19839 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
19840 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
19841 to all other SH variants.
19842 (TARGET_DEFAULT): Set to SH1_BIT.
19843 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
19844 (BITS_PER_WORD): Raise to 64 on shmedia.
19845 (MAX_BITS_PER_WORD): Change to 64.
19846 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
19847 (INT_TYPE_SIZE): Keep as 32.
19848 (UNITS_PER_WORD): Raise to 8 on shmedia.
19849 (MIN_UNITS_PER_WORD): Keep as 4.
19850 (POINTER_SIZE): Raise to 64 on shmedia.
19851 (CONST_OK_FOR_J): New macro.
19852 (CONST_OK_FOR_LETTER_P): Use it.
19853 (processor_type): Add PROCESSOR_SH5.
19854 * config/sh/sh.md: Conditionalize all expands, insns and
19855 splits to TARGET_SH1.
19856 (cpu): Added sh5.
19857 (addsi3_compact): Renamed from...
19858 (addsi3): Now an expand.
19859 (addsi3_media, subsi3_media): New insns.
19860 (subsi3): Don't negate constants with SHmedia.
19861
19862 * hooks.c: New file.
19863 * hooks.h: New file.
19864 * Makefile.in (HOOKS_H): New.
19865 (TARGET_DEF_H): Added $(HOOKS_H).
19866 (OBJS): Added hooks.o.
19867 (cfgcleanup.o, bb-reorder.o): Added target.h.
19868 (hooks.o): Added dependencies.
19869 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
19870 (TARGET_INITIALIZER): this.
19871 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
19872 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
19873 * bb-reorder.c: Include target.h.
19874 (reorder_basic_blocks): Skip if cannot modify jumps.
19875 * cfgcleanup.c: Include target.h.
19876 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
19877
19878 2002-02-08 Chris Demetriou <cgd@broadcom.com>
19879
19880 * config/mips/mips.md (casesi_internal, casesi_internal_di):
19881 Protect jump delay slot instructions with .set noreorder and
19882 .set nomacro.
19883
19884 2002-02-08 Chris Demetriou <cgd@broadcom.com>
19885
19886 * config/mips/mips.md (casesi_internal_di): Calculate
19887 the index into the target offset table correctly.
19888
19889 2002-02-08 Richard Henderson <rth@redhat.com>
19890
19891 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
19892 * final.c (output_addr_const): Accept and discard SUBREG.
19893 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
19894 mark them unknown instead.
19895 (simplify_subtraction): Handle RTX_UNKNOWN.
19896 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
19897
19898 2002-02-08 David Edelsohn <edelsohn@gnu.org>
19899
19900 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
19901
19902 2002-02-08 Richard Henderson <rth@redhat.com>
19903
19904 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
19905
19906 2002-02-08 Andreas Jaeger <aj@suse.de>
19907
19908 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
19909 * config/i386/t-linux64: New file.
19910
19911 2002-02-08 Jakub Jelinek <jakub@redhat.com>
19912
19913 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
19914 * c-parse.in (compstmt): Clear last_expr_type.
19915
19916 2002-02-07 Richard Henderson <rth@redhat.com>
19917
19918 * loop.c (strength_reduce): Sink final_value when not
19919 eliminating a biv.
19920
19921 2002-02-07 David O'Brien <obrien@FreeBSD.org>
19922
19923 * config/sparc/freebsd.h: Fix mismatched spec {.
19924
19925 2002-02-07 Richard Henderson <rth@redhat.com>
19926
19927 * cfgrtl.c: Include recog.h and insn-config.h.
19928 (keep_with_call_p): Fix general_operand invocation.
19929 * Makefile.in (cfgrtl.o): Update dependencies.
19930
19931 2002-02-07 Kazu Hirata <kazu@hxi.com>
19932
19933 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
19934 comment. Accept HImode only if TARGET_H8300.
19935
19936 2002-02-07 Eric Christopher <echristo@redhat.com>
19937
19938 * config/mips/crtn.asm: Cleanup #ifdefs.
19939
19940 2002-02-07 Eric Christopher <echristo@redhat.com>
19941
19942 * config/mips/crti.asm: Add changes for mips16. mips16 uses
19943 register 7 as RA instead of $31.
19944 * config/mips/crtn.asm: Ditto.
19945 * config/mips/mips.c (mips_move_2words): Add case for
19946 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
19947 (compute_frame_size): Fix typo.
19948 (save_restore_insns): Ditto. Make documentation about using
19949 register $7 as return register more precise.
19950 (mips_expand_epilogue): Fix comment. Add code to work around not
19951 being able to add to the stack pointer directly.
19952 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
19953 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
19954 epilogue.
19955
19956 2002-02-07 Tom Rix <trix@redhat.com>
19957
19958 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
19959 immediates in ldu and stdu DS opcode field.
19960 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
19961 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
19962 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
19963
19964 2002-02-07 Jeff Sturm <jsturm@one-point.com>
19965
19966 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
19967 offset for stack bias.
19968
19969 2002-02-07 H.J. Lu <hjl@gnu.org>
19970
19971 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
19972
19973 2002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
19974
19975 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
19976
19977 Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
19978
19979 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
19980 * i386.c (x86_order_regs_for_local_alloc): New global function.
19981 * i386.h (REG_ALLOC_ORDER): CLeanup.
19982 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
19983
19984 2002-02-07 Richard Henderson <rth@redhat.com>
19985
19986 PR optimization/2463
19987 * alias.c (find_base_value): Recall base values for fixed hard regs.
19988 * loop.c (loop_regs_update): Don't use single_set on non-insns.
19989
19990 2002-02-07 Alexandre Oliva <aoliva@redhat.com>
19991
19992 * config/mips/mips.md (define_delay) [mips16]: Adjust required
19993 length.
19994
19995 2002-02-06 Richard Henderson <rth@redhat.com>
19996
19997 PR c/5609
19998 * stmt.c (resolve_operand_name_1): Take more care with mixed
19999 named and unnamed operands.
20000
20001 2002-02-06 Janis Johnson <janis187@us.ibm.com>
20002 Jan Hubicka <jh@suse.cz>
20003
20004 * loop.c (remove_constant_addition): Avoid clobbering a shared
20005 CONST expression.
20006
20007 2002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
20008
20009 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
20010 * config/s390/t-linux64: New file.
20011 * config/s390/libgcc-glibc.ver: New file.
20012
20013 2002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
20014
20015 * config/s390/linux64.h: Delete file.
20016 * config/s390/s390x.h: New file.
20017 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
20018 as target header file.
20019 * config/s390/linux.h (TARGET_VERSION): Define depending on
20020 DEFAULT_TARGET_64BIT.
20021 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
20022 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
20023 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
20024 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
20025 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
20026 (EXTRA_SPEC): New define.
20027 * config/s390/s390.h (TARGET_VERSION): Define depending on
20028 DEFAULT_TARGET_64BIT.
20029 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
20030
20031 2002-02-06 Jason Merrill <jason@redhat.com>
20032
20033 * c-decl.c (finish_function): Warn about a non-void function with
20034 no return statement and no abnormal exit.
20035 (current_function_returns_abnormally): New variable.
20036 (start_function): Clear it.
20037 (struct c_language_function): Add returns_abnormally.
20038 (push_c_function_context): Save it.
20039 (pop_c_function_context): Restore it.
20040 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
20041 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
20042 an explicit return type.
20043 * c-tree.h: Declare current_function_returns_abnormally.
20044 (C_FUNCTION_IMPLICIT_INT): New macro.
20045 * c-typeck.c (build_function_call): Set it.
20046 (c_expand_return): Set current_function_returns_value even if the
20047 value is erroneous.
20048
20049 2002-02-06 Jakub Jelinek <jakub@redhat.com>
20050
20051 PR c/5420:
20052 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
20053 unsafe for reevaluation.
20054
20055 2002-02-06 Jakub Jelinek <jakub@redhat.com>
20056
20057 PR c/5482:
20058 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
20059 EXPR_STMT, but COMPOUND_STMT, recurse into it.
20060
20061 2002-02-06 Richard Henderson <rth@redhat.com>
20062
20063 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
20064 be a general_operand. Dest for function value must be a pseudo.
20065
20066 2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
20067
20068 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
20069 as SYMBOL_REFs from the constant pool.
20070
20071 2002-02-06 Alexandre Oliva <aoliva@redhat.com>
20072
20073 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
20074 passed by invisible reference.
20075
20076 2002-02-05 Richard Henderson <rth@redhat.com>
20077
20078 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
20079
20080 2002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
20081
20082 Implement using "base addresses" in insn operands as default.
20083 * config/mmix/mmix.c (mmix_conditional_register_usage): if
20084 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
20085 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
20086 used to read the rtx value.
20087 (mmix_target_asm_function_epilogue): Fix spacing.
20088 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
20089 (mmix_legitimate_address): Ditto.
20090 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
20091 should be loaded with a GETA insn. Don't allocate needless extra
20092 char for nul termination and fix misleading comment.
20093 (mmix_print_operand_address): Handle constants if
20094 TARGET_BASE_ADDRESSES.
20095 (mmix_output_register_setting): Use base addressing if
20096 TARGET_BASE_ADDRESSES and the number of insns is 3.
20097 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
20098 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
20099 to use R as constraint, add LDA to match s.
20100 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
20101 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
20102 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
20103 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
20104 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
20105 order with other fixed registers.
20106 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
20107 other parameter/call-clobbered registers.
20108 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
20109 -mbase-addresses, -mno-base-addresses.
20110 (MMIX Options): Ditto.
20111
20112 2002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
20113
20114 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
20115
20116 2002-02-06 Aldy Hernandez <aldyh@redhat.com>
20117
20118 * config/rs6000/altivec.h: Change elem to _S_elem.
20119
20120 2002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
20121
20122 * config/netbsd.h (WCHAR_TYPE): Define.
20123 (WCHAR_TYPE_SIZE): Ditto.
20124 (WINT_TYPE): Ditto.
20125 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
20126 (WCHAR_UNSIGNED): Ditto.
20127 (WCHAR_TYPE_SIZE): Ditto.
20128 (WINT_TYPE): Ditto.
20129 * config/arm/netbsd.h: Likewise.
20130 * config/i386/netbsd-elf.h: Likewise.
20131 * config/i386/netbsd.h: Likewise.
20132 * config/m68k/netbsd-elf.h: Likewise.
20133 * config/m68k/netbsd.h: Likewise.
20134 * config/ns32k/netbsd.h: Likewise.
20135 * config/sparc/netbsd.h: Likewise.
20136 * config/vax/netbsd.: Likewise.
20137
20138 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
20139
20140 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
20141 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
20142 (TARGET_INITIALIZER): this.
20143 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
20144 (BITFIELD_NBYTES_LIMITED): Markup fix.
20145 * tree.h (default_ms_bitfield_layout_p): Declare.
20146 (record_layout_info): Added prev_field.
20147 * tree.c (default_ms_bitfield_layout_p): New fn.
20148 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
20149 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
20150 * stor-layout.c: Include target.h.
20151 (start_record_layout): Initialize prev_field.
20152 (place_field): Handle MS bit-field layout, and disregard
20153 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
20154 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
20155 * Makefile.in (stor-layout.o): Adjust dependencies.
20156
20157 2002-02-05 Jason Merrill <jason@redhat.com>
20158
20159 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
20160
20161 2002-02-05 Andreas Jaeger <aj@suse.de>
20162
20163 * crtstuff.c: Fix comments.
20164
20165 2002-02-05 Richard Henderson <rth@redhat.com>
20166
20167 PR fortran/3393
20168 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
20169 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
20170
20171 PR fortran/3392
20172 * config/mips/mips.c (function_arg): Handle TImode.
20173 (function_arg_advance): Likewise.
20174
20175 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
20176
20177 * config/rs6000/altivec.h (vec_step_help): Rename to
20178 __vec_step_help.
20179
20180 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
20181
20182 * config/rs6000/altivec.h: Fix typos.
20183
20184 2002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
20185
20186 * config/arm/netbsd.h: Correct a comment.
20187
20188 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
20189
20190 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
20191 building void typed builtins.
20192
20193 * config/rs6000/altivec.h (vec_ld*): Fix typos.
20194 (vec_step): Implement for C++.
20195
20196 Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20197
20198 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
20199
20200 2002-02-04 Richard Henderson <rth@redhat.com>
20201
20202 * combine.c (nonzero_bits): Re-introduce special case for
20203 sp/fp/ap wrt REGNO_POINTER_ALIGN.
20204
20205 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
20206
20207 * doc/extend.texi: Warn about unsupported usage of altivec
20208 builtins.
20209
20210 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
20211 (altivec_predicate_*): New.
20212
20213 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
20214 Add C++ version of vec_*() functions.
20215
20216 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
20217 (bdesc_2arg): Remove altivec predicates.
20218 (altivec_expand_builtin): Handle predicates.
20219 (altivec_init_builtins): Handle predicates.
20220 (altivec_expand_predicate_builtin): New.
20221
20222 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20223
20224 * pa.c (DO_FRAME_NOTES): Move forward.
20225 (store_reg): Revise handling of frame notes.
20226 (load_reg): Likewise.
20227 (set_reg_plus_d): Likewise.
20228 (hppa_expand_prologue): Likewise.
20229 (hppa_expand_epilogue): Likewise.
20230
20231 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20232
20233 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
20234
20235 2002-02-04 Jakub Jelinek <jakub@redhat.com>
20236
20237 PR c/4475, c++/3780:
20238 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
20239 * c-common.h (SWITCH_TYPE): Define.
20240 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
20241 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
20242 Rename spareness variable to sparseness.
20243 (expand_end_case_type): Renamed from expand_end_case, use orig_type
20244 if non-NULL instead of TREE_TYPE (orig_index).
20245 * tree.h (expand_end_case_type): Renamed from expand_end_case.
20246 (expand_end_case): Define using expand_end_case_type.
20247 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
20248 to expand_end_case_type.
20249 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
20250
20251 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20252
20253 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
20254 (BIGGEST_ALIGNMENT): Change to 128.
20255
20256 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20257
20258 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
20259
20260 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20261
20262 * pa.md (call_internal_reg_64bit): Remove unused variable.
20263
20264 2002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
20265
20266 * config/arm/arm.h (machine_function): Add uses_anonymous_args
20267 field.
20268 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
20269 * config/arm/arm.c (current_function_anonymous_args): Delete,
20270 replace uses with cfun->machine->uses_anonymous_args.
20271 (arm_reorg): Do not reset uses_anonymous_args.
20272
20273 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
20274 any geenral register.
20275
20276 2001-02-04 Bernd Schmidt <bernds@redhat.com>s
20277
20278 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
20279 the entry block.
20280
20281 2002-02-04 Richard Henderson <rth@redhat.com>
20282
20283 * combine.c (force_to_mode): Remove STACK_BIAS code.
20284 (nonzero_bits): Likewise. Replace sp/fp special case with
20285 REGNO_POINTER_ALIGN.
20286
20287 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
20288 (HARD_FRAME_POINTER_REGNUM): New.
20289 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
20290 (FIXED_REGS, CALL_USED_REGS): Update.
20291 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
20292 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
20293 (HARD_REGNO_NREGS): Update for SFP.
20294 (STACK_POINTER_OFFSET): Include bias here ...
20295 (FIRST_PARM_OFFSET): ... not here.
20296 (STACK_BIAS): Remove.
20297 (INIT_EXPANDERS): New.
20298 (STARTING_FRAME_OFFSET): Do not include bias.
20299 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
20300 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
20301 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
20302 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
20303 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
20304 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
20305 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
20306 (MUST_SAVE_REGISTER): Likewise.
20307 (sparc_flat_function_prologue): Likewise.
20308 (sparc_flat_function_epilogue): Likewise.
20309 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
20310 (sparc_init_modes): SFP is GENERAL_REGS.
20311 (sparc_builtin_saveregs): SFP does not have bias applied.
20312
20313 2002-02-04 Richard Henderson <rth@redhat.com>
20314
20315 * config/alpha/alpha.c (current_function_is_thunk): Don't check
20316 current_function_is_thunk.
20317 (alpha_sa_mask): Distinguish between current_function_is_thunk
20318 called from ASM_OUTPUT_MI_THUNK and not.
20319 (alpha_does_function_need_gp): Thunks always need gp.
20320 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
20321 (alpha_output_mi_thunk_osf): New.
20322 * config/alpha/alpha-protos.h: Update.
20323 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
20324
20325 2002-02-04 Richard Sandiford <rsandifo@redhat.com>
20326
20327 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
20328 function types, not when they're taken away.
20329
20330 Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
20331
20332 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
20333 CODE_LABEL and jump table when replacing a table jump with a
20334 simple jump.
20335
20336 2002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
20337
20338 * config/s390/s390-protos.h (legitimize_la_operand,
20339 s390_secondary_input_reload_class, s390_plus_operand,
20340 s390_expand_plus_operand): Add prototypes.
20341
20342 config/s390/s390.c (s390_secondary_input_reload_class,
20343 s390_plus_operand, s390_expand_plus_operand): New functions.
20344
20345 (struct s390_address): New member 'pointer'.
20346 (s390_decompose_address): Compute it.
20347 (legitimate_la_operand_p): Use it.
20348 (legitimize_la_operand): New function.
20349 (movti, movdi, movdf splitters): Call it.
20350
20351 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
20352 (PREDICATE_CODES): Add s390_plus_operand.
20353
20354 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
20355 (la_ccclobber): Allow GENERAL_REGS as output operand.
20356
20357 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
20358 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
20359 (*la_64, *la_31, reload_indi, reload_insi): ... these.
20360
20361 2002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
20362
20363 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
20364 register names for regular asm () construct.
20365
20366 2002-02-04 Jakub Jelinek <jakub@redhat.com>
20367
20368 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
20369 registers.
20370
20371 2002-02-04 Jakub Jelinek <jakub@redhat.com>
20372
20373 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
20374 pat for recog.
20375
20376 2002-02-04 Hartmut Penner <hpenner@de.ibm.com>
20377
20378 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
20379 constant pool to be identical by string address and index.
20380
20381 2002-02-04 Anthony Green <green@redhat.com>
20382
20383 * output.h (SECTION_OVERRIDE): Define.
20384 * varasm.c (named_section): Obey SECTION_OVERRIDE.
20385
20386 2002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
20387
20388 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
20389 by existing arm*-*-netbsd* (a.out) target.
20390 (ns32k-*-netbsdelf*): Likewise.
20391 (sparc-*-netbsdelf*): Likewise.
20392 (vax-*-netbsdelf*): Likewise.
20393
20394 2002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
20395
20396 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
20397 headers and libobjc headers.
20398
20399 2002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
20400
20401 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
20402 (_mingw.h): Remove duplicate include.
20403
20404 2002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
20405
20406 * config.gcc: Set cpu_type to m68k for 68010, as well.
20407 (m68010-*-netbsdelf*): New...
20408 (m68k*-*-netbsdelf*): ...targets.
20409 * config/m68k/netbsd-elf.h: New file.
20410
20411 2002-02-02 Kazu Hirata <kazu@hxi.com>
20412
20413 * config/h8300/h8300.c (hand_list): Move inside function_arg.
20414
20415 2002-02-02 Kazu Hirata <kazu@hxi.com>
20416
20417 * config/h8300/h8300.c (h8_push_ops): Move inside
20418 h8300_init_once.
20419 (h8_pop_ops): Likewise.
20420 (h8_move_ops): Likewise.
20421
20422 2002-02-02 Kazu Hirata <kazu@hxi.com>
20423
20424 * config/h8300/h8300.c (os_task): Make it static.
20425 (monitor): Likewise.
20426 (pragma_saveall): Likewise.
20427
20428 2002-02-02 Alexandre Oliva <aoliva@redhat.com>
20429
20430 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
20431 constant is a valid sign-extension for Pmode.
20432
20433 2002-02-02 Kazu Hirata <kazu@hxi.com>
20434
20435 * config/h8300/h8300.c: Fix formatting.
20436
20437 2002-02-02 Kazu Hirata <kazu@hxi.com>
20438
20439 * config/h8300/h8300.md: Fix formatting.
20440
20441 2002-02-02 Kazu Hirata <kazu@hxi.com>
20442
20443 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
20444 predicates of operands[1]. Split the patterns for each
20445 processor variant.
20446
20447 2002-02-02 Kazu Hirata <kazu@hxi.com>
20448
20449 * config/h8300/h8300.md (xor patterns): Tighten the predicates
20450 of operands[1] to register_operand.
20451
20452 2002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
20453
20454 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
20455 * cpphash.c (_cpp_init_hashtable): Similarly.
20456 * cppinit.c (cpp_create_reader): Default the signed_char flag.
20457 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
20458 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
20459 (cpp_handle_option): Handle the new options.
20460 * cpplex.c (cpp_interpret_charconst): Use new flag.
20461 * cpplib.h (struct cpp_options): New member signed_char.
20462 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
20463 (cpp_options): Handle -fsigned-char and -funsigned-char.
20464 (static_specs): Remove signed_char_spec.
20465 (do_spec1): Don't handle %c.
20466 * system.h: Poison SIGNED_CHAR_SPEC.
20467 * tradcif.y (yylex): Use flag_signed_char.
20468 * tradcpp.h (flag_signed_char): New.
20469 * tradcpp.c (flag_signed_char): New.
20470 (main): Handle new command-line options.
20471 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
20472 config:
20473 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
20474 * avr/avr.h: Remove old comments.
20475 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
20476 (CC1_SPEC): Pass -fsigned-char if -mic*.
20477 (SIGNED_CHAR_SPEC): Remove.
20478 doc:
20479 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
20480
20481 2002-02-01 Eric Christopher <echristo@redhat.com>
20482
20483 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
20484 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
20485 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
20486 (ASM_OUTPUT_REG_POP): Ditto.
20487
20488 2002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
20489
20490 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
20491 patch.
20492
20493 2002-02-02 Jakub Jelinek <jakub@redhat.com>
20494
20495 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
20496
20497 2002-02-02 Jakub Jelinek <jakub@redhat.com>
20498
20499 PR c/5304:
20500 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
20501 unconditionally.
20502
20503 2002-02-01 Janis Johnson <janis187@us.ibm.com>
20504
20505 * cfganal.c: Include tm_p.h.
20506 (keep_with_call_p): Fix the test that determines if a register holds
20507 the return value of a call.
20508
20509 2002-02-01 DJ Delorie <dj@redhat.com>
20510
20511 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
20512 we are given conflicting registers, switch to the other one we
20513 had allocated for us.
20514 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
20515 as TImode so we know when the "other" register is available.
20516
20517 2002-02-01 David O'Brien <obrien@FreeBSD.org>
20518
20519 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
20520 sparc/sparc_bi.h.
20521
20522 2002-02-01 Janis Johnson <janis187@us.ibm.com>
20523
20524 * cfganal.c (keep_with_call_p): New function.
20525 (flow_call_edges_add): Prevent splitting a block between a call and
20526 a single-set instruction that should be kept in the same block.
20527
20528 2002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
20529
20530 * doc/install.texi (avr): Update outdated URL.
20531
20532 2002-01-30 Andrew Haley <aph@cambridge.redhat.com>
20533
20534 * config/stormy16/stormy16.md (pushqi): New.
20535 (popqi): New.
20536 (pushhi): New.
20537 (pophi): New.
20538 (movhi): Remove stack operands.
20539 (movqi): Likewise.
20540 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
20541 nonimmediate_nonstack_operand.
20542 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
20543 New.
20544 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
20545 New.
20546
20547 2002-01-31 Jason Merrill <jason@redhat.com>
20548
20549 * Makefile.in (c-parse.c): Handle .output file.
20550 * objc/Make-lang.in (objc-parse.c): Likewise.
20551
20552 2002-02-01 Alexandre Oliva <aoliva@redhat.com>
20553
20554 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
20555 the -me[lb] option is given. Don't output the default flag
20556 twice.
20557
20558 2002-01-31 Zack Weinberg <zack@codesourcery.com>
20559
20560 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
20561 the primary source file; this has not been done yet.
20562 * c-decl.c (c_expand_body): Reset input_filename from
20563 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
20564
20565 2002-01-31 Kazu Hirata <kazu@hxi.com>
20566
20567 * rtlanal.c (subreg_regno_offset): Do not use
20568 SUBREG_REGNO_OFFSET.
20569 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
20570 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
20571
20572 2002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
20573
20574 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
20575 version rather than GNATS version in --version output.
20576
20577 2002-01-31 Richard Sandiford <rsandifo@redhat.com>
20578
20579 * ifcvt.c (noce_process_if_block): Make a copy of the destination
20580 when copying back from a temporary.
20581
20582 2002-01-30 Richard Henderson <rth@redhat.com>
20583
20584 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
20585 and new_dest are the same.
20586
20587 2002-01-30 Richard Henderson <rth@redhat.com>
20588
20589 PR opt/5076
20590 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
20591 * rtl.c (note_insn_name): Update.
20592 * emit-rtl.c (remove_unnecessary_notes): Kill it.
20593 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
20594 to perform loop rotation.
20595 (expand_exit_loop_top_cond): New.
20596 * tree.h (expand_exit_loop_top_cond): Declare it.
20597 * c-semantics.c (genrtl_while_stmt): Use it.
20598 (genrtl_for_stmt): Likewise.
20599
20600 2002-01-30 Alexandre Oliva <aoliva@redhat.com>
20601
20602 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
20603 arguments to 64-bit boundaries on 64-bit ABIs.
20604
20605 2002-01-30 Steve Ellcey <sje@cup.hp.com>
20606
20607 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
20608
20609 2002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
20610
20611 * c-decl.c (grokdeclarator): Handle type being a typedef for an
20612 invalid type.
20613
20614 2002-01-30 David O'Brien <obrien@FreeBSD.org>
20615
20616 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
20617 * config/sparc/sparc_bi.h: Remove file.
20618 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
20619
20620 2002-01-30 Richard Henderson <rth@redhat.com>
20621
20622 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
20623
20624 2002-01-30 Zack Weinberg <zack@codesourcery.com>
20625
20626 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
20627
20628 2002-01-30 Jason Merrill <jason@redhat.com>
20629
20630 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
20631 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
20632 (reg_save): Use DW_CFA_offset_extended_sf instead.
20633
20634 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
20635
20636 2002-01-29 Jakub Jelinek <jakub@redhat.com>
20637
20638 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
20639 in cselib_lookup.
20640
20641 2002-01-29 Aldy Hernandez <aldyh@redhat.com>
20642
20643 * rs6000.md ("*call_value_local32"): Remove constraints.
20644 ("*call_value_local64"): Same.
20645 ("*call_value_indirect_nonlocal_aix32"): Same.
20646 ("*call_value_nonlocal_aix32"): Same.
20647 ("*call_value_indirect_nonlocal_aix64"): Same.
20648 ("*call_value_nonlocal_aix64"): Same.
20649 ("*call_value_nonlocal_sysv"): Same.
20650
20651 2002-01-29 Richard Henderson <rth@redhat.com>
20652
20653 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
20654
20655 2002-01-29 Richard Henderson <rth@redhat.com>
20656
20657 * expr.c (force_operand): Ignore flag_pic for detecting pic
20658 address loads.
20659 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
20660 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
20661 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
20662 instead of open-coded loop.
20663 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
20664 be fixed when in use.
20665
20666 2002-01-29 Richard Henderson <rth@redhat.com>
20667
20668 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
20669 * sched-rgn.c (propagate_deps): Update them.
20670 * sched-deps.c (sched_analyze_insn): Update them. Flush the
20671 clobbers list when either gets too long.
20672
20673 2002-01-29 Jakub Jelinek <jakub@redhat.com>
20674
20675 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
20676 and INDEX_REGS the same as GENERAL_REGS.
20677 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
20678
20679 2002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
20680
20681 * tree.c (build_nonstandard_integer_type): Correct prototype.
20682
20683 2002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
20684
20685 * config/s390/s390.md (movstrsico, movstrdix_64,
20686 movstrsix_31): Remove, replace by ...
20687 (movstrdi_short, movstrsi_short, movstrdi_long,
20688 movstrsi_long): ... these. New.
20689 (movstrdi, movstrsi): Adapt.
20690
20691 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
20692 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
20693 Remove unnecessary CC clobber.
20694 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
20695 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
20696
20697 (divmoddi4): Don't partially initialize TImode register.
20698
20699 2002-01-29 Geoffrey Keating <geoffk@redhat.com>
20700
20701 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
20702
20703 2002-01-29 Richard Henderson <rth@redhat.com>
20704
20705 * flow.c (print_rtl_and_abort): Remove.
20706 (print_rtl_and_abort_fcn): Remove.
20707 (verify_local_live_at_start): Use dump_bb instead.
20708 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
20709 (verify_wide_reg_1): Return 2 on mode test failure.
20710
20711 2002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
20712
20713 PR c/3325, c/3326, c/2511, c/3347
20714 * c-decl.c (enum_decl_context): Remove BITFIELD.
20715 (grokdeclarator): Take bitfield width as an input.
20716 Ensure bitfields are given the correct type. Perform
20717 bitfield width validation with build_bitfield_integer_type
20718 rather than waiting for finish_struct.
20719 (grok_typename, grok_typename_in_parm_context, start_decl,
20720 push_parmdecl, grokfield, start_function): Update calls to
20721 grokdeclarator.
20722 (build_bitfield_integer_type): New function.
20723 (finish_struct): Move bitfield validation to grokdeclarator
20724 and build_bitfield_integer_type.
20725 * tree.c (build_nonstandard_integer_type): New function.
20726 * tree.h (build_nonstandard_integer_type): New prototype.
20727 objc:
20728 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
20729
20730 2002-01-29 Jakub Jelinek <jakub@redhat.com>
20731
20732 PR other/1502:
20733 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
20734 don't ignore unrecognized -W* options.
20735 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
20736 * cpplib.h (cpp_handle_option): Adjust prototype.
20737 * c-decl.c (c_decode_options): Pass 0 as last argument to
20738 cpp_handle_option.
20739
20740 PR c/2896:
20741 * gcc.c (cpp_unique_options): Split from cpp_options.
20742 (cpp_options): Source cpp_unique_options.
20743 (default_compilers): Use cpp_unique_options instead of cpp_options
20744 when used together with cc1_options.
20745 (static_specs): Add cpp_unique_options.
20746 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
20747 when used together with cc1_options.
20748
20749 2002-01-29 Kazu Hirata <kazu@hxi.com>
20750
20751 * config/h8300/h8300-protos.h: Update the prototype of
20752 output_a_shift.
20753 * config/h8300/h8300.c (output_a_shift): Remove an unused
20754 argument 'insn'. Remove redundant code.
20755 * config/h8300/h8300.md: Adust to the new prototype of
20756 output_a_shift.
20757
20758 2002-01-29 Kazu Hirata <kazu@hxi.com>
20759
20760 * config/h8300/h8300-protos.h: Update the prototypes of
20761 emit_a_rotate and expand_a_rotate.
20762 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
20763 first argument to 'enum rtx_code'.
20764 (expand_a_rotate): Likewise.
20765
20766 2002-01-28 Kazu Hirata <kazu@hxi.com>
20767
20768 * config/h8300/h8300-protos.h: Update the prototype of
20769 output_simode_bld.
20770 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
20771 'log2'.
20772 * config/h8300/h8300.md: Adjust to the new prototype.
20773
20774 2002-01-28 Kazu Hirata <kazu@hxi.com>
20775
20776 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
20777 redundant code.
20778
20779 2002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
20780
20781 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
20782 is a fixed register before returning pic_offset_table_rtx.
20783 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
20784 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
20785
20786 2002-01-28 Jason Merrill <jason@redhat.com>
20787
20788 * dwarf2.h: Sync with src version.
20789
20790 2002-01-28 Paul Koning <pkoning@equallogic.com>
20791
20792 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
20793 BT_FN_VOID_PTR_VAR.
20794 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
20795 * doc/extend.texi (__builtin_prefetch): Update documentation:
20796 first argument is now const void ptr.
20797
20798 2002-01-28 Kazu Hirata <kazu@hxi.com>
20799
20800 * config/h8300/h8300-protos.h: Remove an unused prototype.
20801
20802 2002-01-28 Roman Zippel <zippel@linux-m68k.org>
20803
20804 * toplev.c (lang_independent_init): Round up identifier size.
20805
20806 2002-01-28 Richard Earnshaw <rearnsha@arm.com>
20807
20808 * config.gcc: Revert previous change.
20809
20810 2002-01-28 Andris Pavenis <pavenis@latnet.lv>
20811
20812 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
20813
20814 2002-01-28 Richard Earnshaw <rearnsha@arm.com>
20815
20816 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
20817 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
20818 other non-elf netbsd config frags.
20819 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
20820 collect2 will does that.
20821 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
20822 shared-lib frobbing will work.
20823
20824 2002-01-28 Kazu Hirata <kazu@hxi.com>
20825
20826 * config/h8300/h8300.h: Fix formatting.
20827 * config/h8300/h8300.md: Likewise.
20828
20829 2002-01-28 Loren J. Rittle <ljrittle@acm.org>
20830
20831 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
20832 the old, removed AAA_standards fix.
20833 * fixinc/fixincl.x: Rebuilt.
20834
20835 2002-01-28 Hans-Peter Nilsson <hp@axis.com>
20836
20837 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
20838 atexit call in crtbegin, hooked in after call to frame_dummy;
20839 register EH before registering __fini__start.
20840
20841 2002-01-28 Aldy Hernandez <aldyh@redhat.com>
20842
20843 * config/rs6000/altivec.h: Remove spurious semicolons.
20844
20845 2002-01-27 Kazu Hirata <kazu@hxi.com>
20846
20847 * config/h8300/h8300.md: Replace dead bit extraction patterns
20848 with ones that work.
20849
20850 Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20851
20852 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
20853 if not STRICT_ALIGNMENT.
20854 * rtl.h (MEM_ALIGN): Likewise.
20855
20856 2002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
20857
20858 * doc/invoke.texi (-fdump-translation-unit): Revert this
20859 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
20860
20861 2002-01-27 Kazu Hirata <kazu@hxi.com>
20862
20863 * config/h8300/h8300.md (define_constants): New.
20864 (anonymous patterns) Use defined constants appropriately.
20865
20866 2002-01-27 Kazu Hirata <kazu@hxi.com>
20867
20868 * config/h8300/h8300.c (function_arg): Remove redundant code.
20869
20870 2002-01-26 Richard Henderson <rth@redhat.com>
20871
20872 * sched-deps.c (reg_pending_uses_head): New.
20873 (reg_pending_barrier): Rename from reg_pending_sets_all.
20874 (find_insn_list): Don't mark inline.
20875 (find_insn_mem_list): Remove.
20876 (add_dependence_list, add_dependence_list_and_free): New.
20877 (flush_pending_lists): Replace only_write param with separate
20878 for_read and for_write parameters. Update all callers. Use
20879 add_dependence_list_and_free.
20880 (sched_analyze_1): Do not add reg dependencies here; just set
20881 the pending bits. Use add_dependence_list.
20882 (sched_analyze_2): Likewise.
20883 (sched_analyze_insn): Replace schedule_barrier_found with
20884 reg_pending_barrier. Add all dependencies for pending reg
20885 uses, sets, and clobbers.
20886 (sched_analyze): Don't add reg dependencies for calls, just
20887 set pending bits. Use regs_invalidated_by_call. Treat
20888 sched_before_next_call as a normal list, not a fake insn.
20889 (init_deps): No funny init for sched_before_next_call.
20890 (free_deps): Free pending mems lists. Don't zero reg_last.
20891 (init_deps_global): Init reg_pending_uses.
20892 (finish_deps_global): Free it.
20893 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
20894 (find_insn_mem_list): Remove.
20895 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
20896 (propagate_deps): Use them. Zero temp mem lists.
20897
20898 2002-01-26 Richard Henderson <rth@redhat.com>
20899
20900 * Makefile.in (CRTSTUFF_CFLAGS): New.
20901 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
20902 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
20903 crtstuff.c instead of alpha assembly version.
20904 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
20905 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
20906 not FORCE_{INIT,FINI}_SECTION_ALIGN.
20907 (__do_global_dtors_aux): Mark used.
20908 (frame_dummy, __do_global_ctors_aux): Mark used.
20909 (fini_dummy, init_dummy): Remove.
20910
20911 * config/alpha/crtbegin.asm: Remove file.
20912 * config/alpha/crtend.asm: Remove file.
20913 * config/alpha/t-crtbe: Remove file.
20914 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
20915 (LINK_EH_SPEC): New.
20916
20917 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
20918 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
20919 calling constructors.
20920 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
20921
20922 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
20923 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
20924 CRT_END_INIT_DUMMY hack.
20925 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
20926 FORCE_{INIT,FINI}_SECTION_ALIGN.
20927
20928 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
20929 FORCE_{INIT,FINI}_SECTION_ALIGN.
20930
20931 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
20932 invocation sequence.
20933 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
20934
20935 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
20936 (FORCE_CODE_SECTION_ALIGN): New.
20937
20938 2002-01-26 Richard Henderson <rth@redhat.com>
20939
20940 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
20941
20942 2002-01-26 Richard Henderson <rth@redhat.com>
20943
20944 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
20945 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
20946
20947 2002-01-26 Kazu Hirata <kazu@hxi.com>
20948
20949 * config/h8300/h8300.md: Remove bit extraction patterns that
20950 cannot be triggered.
20951 Restrict each bit extraction pattern to a variant on which the
20952 pattern is tested.
20953
20954 2002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
20955
20956 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
20957
20958 2002-01-26 Kazu Hirata <kazu@hxi.com>
20959
20960 * config/h8300/h8300.md: Remove bit test patterns that cannot
20961 be triggered.
20962 Restrict each bit test pattern to a variant on which the
20963 pattern is tested.
20964
20965 2002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20966
20967 * builtins.c (expand_builtin_strncat): Remove redundant check for
20968 INTEGER_CST.
20969
20970 2002-01-25 David O'Brien <obrien@FreeBSD.org>
20971
20972 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
20973 default setting.
20974 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
20975 existing setting.
20976
20977 2002-01-25 Geoffrey Keating <geoffk@redhat.com>
20978
20979 * dbxout.c (dbxout_init): Use assemble_name rather than just
20980 stripping off the first character.
20981 (dbxout_source_file): Likewise.
20982
20983 2002-01-25 DJ Delorie <dj@redhat.com>
20984
20985 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
20986 using rtx_equal_p, not by comparing pointers.
20987
20988 2002-01-25 Steve Ellcey <sje@cup.hp.com>
20989
20990 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
20991 for PIC_OFFSET_TABLE_REGNUM.
20992 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
20993
20994 2002-01-25 David O'Brien <obrien@FreeBSD.org>
20995
20996 * config.gcc (x86_64-*-freebsd*): New target.
20997 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
20998 value.
20999 (i[34567]86-*-freebsd*): Don't include svr4.h.
21000 * config/i386/freebsd64.h: New file.
21001
21002 2002-01-25 Douglas B Rupp <rupp@gnat.com>
21003
21004 * config/alpha/x-vms (version): Make static.
21005
21006 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
21007 in previous checkin.
21008
21009 * Makefile.in (install-headers-cp): New target.
21010 * config.gcc (alpha-dec-*vms*): Install headers with
21011 install-headers-cp
21012
21013 Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
21014
21015 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
21016 avoid it's copies.
21017
21018 Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21019
21020 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
21021 of compare_tree_int.
21022 (expand_builtin_strncat): Likewise.
21023 * c-decl.c (finish_struct): Use tree_low_cst.
21024 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
21025 * tree.c (compare_tree_int): Likewise.
21026
21027 2002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
21028
21029 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
21030 adjustments even if they are implemented by more than two insns.
21031
21032 Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
21033
21034 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
21035 * df.h (struct ref): Kill B.
21036 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
21037
21038 * basic-block.h (PROP_EQUAL_NOTES): New flag.
21039 * flow.c (propagate_one_insn): Use it.
21040 (mark_used_regs): Handle NIL.
21041
21042 2002-01-25 Geoffrey Keating <geoffk@redhat.com>
21043
21044 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
21045 to help folding.
21046
21047 2002-01-25 David Edelsohn <edelsohn@gnu.org>
21048
21049 * rs6000.md (prefetch): Make address V4SI mode so that the address
21050 is restricted to legitimate form for instruction.
21051
21052 2002-01-25 Bob Wilson <bob.wilson@acm.org>
21053
21054 * doc/install.texi (xtensa-*-elf): New target.
21055 (xtensa-*-linux*): New target.
21056 * doc/contrib.texi: Add myself.
21057
21058 2002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
21059
21060 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
21061 purpose register to hold an SImode (or smaller) value.
21062
21063 2002-01-25 Jakub Jelinek <jakub@redhat.com>
21064
21065 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
21066 registry only.
21067 * crtstuff.c: Likewise.
21068
21069 2002-01-25 Kazu Hirata <kazu@hxi.com>
21070
21071 * config/h8300/h8300.md (negation patterns): Tighten
21072 predicates to register_operand.
21073
21074 2002-01-24 Aldy Hernandez <aldyh@redhat.com>
21075
21076 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
21077 mode, not Pmode.
21078
21079 * builtins.c (expand_builtin_prefetch): Same.
21080
21081 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
21082
21083 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
21084 modes.
21085
21086 2002-01-24 Kazu Hirata <kazu@hxi.com>
21087
21088 * config/h8300/h8300.c (print_operand): Remove support for
21089 operand character 'A'.
21090 * config/h8300/h8300.md (three anonymous patterns): Replace
21091 operand character 'A' with either 'T' or 'S'.
21092
21093 2002-01-24 Kazu Hirata <kazu@hxi.com>
21094
21095 * config/h8300/h8300.c (print_operand): Remove support for
21096 operand character 'U'.
21097
21098 2002-01-24 Andris Pavenis <pavenis@latnet.lv>
21099
21100 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
21101
21102 2002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
21103
21104 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
21105 values to be assigned to the stack pointer.
21106
21107 2002-01-14 Hartmut Penner <hpenner@de.ibm.com>
21108
21109 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
21110 to const_double needs to be done right for big-endian systems.
21111
21112 2002-01-24 Jason Merrill <jason@redhat.com>
21113
21114 PR c++/2432
21115 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
21116 to can_throw_internal.
21117
21118 2002-01-23 Richard Henderson <rth@redhat.com>
21119
21120 * fold-const.c (fold): Change UINT_MAX test to check vs precision
21121 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
21122
21123 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
21124
21125 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
21126 (symGOT2reg): Use them, then set as GOT value as unchanging.
21127 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
21128 as a temporary, if possible.
21129 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
21130 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
21131
21132 2002-01-23 Kazu Hirata <kazu@hxi.com>
21133
21134 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
21135 accept to accept 0x80 as operands[2].
21136
21137 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
21138
21139 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
21140
21141 2002-01-23 Richard Henderson <rth@redhat.com>
21142
21143 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
21144
21145 2002-01-23 Aldy Hernandez <aldyh@redhat.com>
21146
21147 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
21148 (parmlist_or_identifiers_1): Verify that only a parmlist follows
21149 an attribute.
21150
21151 2002-01-23 Richard Henderson <rth@redhat.com>
21152
21153 * expr.c (move_by_pieces_1): Extend size before negation.
21154
21155 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
21156 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
21157 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
21158 * config/m68k/t-m68kelf: Likewise.
21159
21160 2002-01-23 Bob Wilson <bob.wilson@acm.org>
21161
21162 * config/xtensa/elf.h: New file.
21163 * config/xtensa/lib1funcs.asm: New file.
21164 * config/xtensa/lib2funcs.S: New file.
21165 * config/xtensa/linux.h: New file.
21166 * config/xtensa/t-xtensa: New file.
21167 * config/xtensa/xtensa-config.h: New file.
21168 * config/xtensa/xtensa-protos.h: New file.
21169 * config/xtensa/xtensa.c: New file.
21170 * config/xtensa/xtensa.h: New file.
21171 * config/xtensa/xtensa.md: New file.
21172 * config.gcc (xtensa-*-elf*): New target.
21173 (xtensa-*-linux*): New target.
21174 * cse.c (canon_hash): Compare rtx pointers instead of register
21175 numbers. This is required for the Xtensa port.
21176 * integrate.c (copy_insn_list): Handle case where the static
21177 chain is in memory and the memory address has to be copied to
21178 a register.
21179 * doc/invoke.texi (Option Summary): Add Xtensa options.
21180 (Xtensa Options): New node.
21181 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
21182
21183 2002-01-23 Zack Weinberg <zack@codesourcery.com>
21184
21185 * diagnostic.c (internal_error): Do ICE suppression only
21186 when ENABLE_CHECKING is not defined.
21187
21188 * c-typeck.c (require_complete_type): Return error_mark_node
21189 if type is error_mark_node.
21190
21191 2002-01-23 Janis Johnson <janis187@us.ibm.com>
21192
21193 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
21194 -Os and issue a warning.
21195
21196 2002-01-23 Zack Weinberg <zack@codesourcery.com>
21197
21198 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
21199 current (lack of) need for host configuration by hand.
21200
21201 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
21202 references. Documentation of some target macros moved from
21203 hostconfig.texi to tm.texi.
21204
21205 2002-01-23 Will Cohen <wcohen@redhat.com>
21206
21207 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
21208 defined.
21209
21210 2002-01-23 Kazu Hirata <kazu@hxi.com>
21211
21212 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
21213 operand[3].
21214
21215 2002-01-23 Jason Merrill <jason@redhat.com>
21216
21217 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
21218
21219 * function.c (assign_parms): Don't put args of inline functions
21220 into registers when not optimizing.
21221
21222 2002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
21223
21224 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
21225 (prologue_use): New pattern.
21226 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
21227 preference to gen_rtx_USE.
21228 (thumb_expand_prologue): Use gen_prologue_use in preference to
21229 gen_rtx_USE.
21230 (thumb_expand_epilogue): Use gen_prologue_use in preference to
21231 gen_rtx_USE.
21232
21233 2002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
21234
21235 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
21236
21237 2002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
21238
21239 PR c/3504
21240 * doc/extend.texi: Correct documentation of __alignof__.
21241
21242 2002-01-22 Zack Weinberg <zack@codesourcery.com>
21243
21244 * params.h: Rename arguments of DEFPARAM so that it will be
21245 recognized as a translation keyword.
21246
21247 2002-01-22 Aldy Hernandez <aldyh@redhat.com>
21248
21249 * extend.texi: Document altivec functions.
21250 Fix N-bit adjectives in X86 builtin documentation.
21251
21252 2002-01-22 Alexandre Oliva <aoliva@redhat.com>
21253
21254 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
21255 auto_inc_dec values.
21256
21257 2002-01-22 Richard Earnshaw <rearnsha@arm.com>
21258
21259 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
21260 after backslash.
21261 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
21262
21263 2002-01-22 Alexandre Oliva <aoliva@redhat.com>
21264
21265 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
21266
21267 2002-01-22 Richard Henderson <rth@redhat.com>
21268
21269 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
21270 copy_insn not copy_rtx.
21271
21272 2002-01-23 Alan Modra <amodra@bigpond.net.au>
21273
21274 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
21275 "nonzero" as that might add "1" bits. Ensure "constop" is
21276 properly sign extened.
21277 (force_to_mode): Tweak for sign extended constop.
21278
21279 2002-01-22 Richard Henderson <rth@redhat.com>
21280
21281 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
21282 for_each_rtx instead of assuming we're already looking at the MEM.
21283 (split_small_symbolic_mem_operand): Likewise.
21284 * config/alpha/alpha.h (PREDICATE_CODES): Update.
21285 * config/alpha/alpha.md (small symbolic memory splitters): Update.
21286
21287 2002-01-22 Richard Henderson <rth@redhat.com>
21288
21289 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
21290 sequence number for the literal.
21291 (divmoddi_internal_er): Likewise.
21292
21293 2002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
21294
21295 PR java/4972
21296 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
21297 in LIBICONV variable.
21298 * configure: Regenerated.
21299
21300 2002-01-22 Krister Walfridsson <cato@df.lth.se>
21301
21302 * dependence.c (build_def_use): Remove array_idx.
21303
21304 * dwarfout.c (last_filename): Remove.
21305 (output_compile_unit_die): Remove last_filename.
21306
21307 2002-01-22 Roger Sayle <roger@eyesopen.com>
21308 Richard Henderson <rth@redhat.com>
21309
21310 PR opt/3640
21311 * fold-const.c (fold): Optimize unsigned comparisons against
21312 UINT_MAX (and similar unsigned constants).
21313
21314 2002-01-22 Janis Johnson <janis187@us.ibm.com>
21315
21316 * Makefile.in (loop.o): Depend on OPTABS_H.
21317 * loop.c (emit_prefetch_instructions): Check the prefetch operand
21318 against the predicate.
21319
21320 PR target/5379
21321 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
21322 for the address operand.
21323
21324 2002-01-22 Richard Henderson <rth@redhat.com>
21325
21326 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
21327
21328 2002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
21329
21330 PR other/5450
21331 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
21332 preprocessor flags.
21333
21334 2002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
21335
21336 * config.gcc (x86_64-*-netbsd*): New target.
21337 * config/i386/netbsd64.h: New file.
21338
21339 2002-01-22 Aldy Hernandez <aldyh@redhat.com>
21340
21341 * regrename.c (kill_value): Fix typo.
21342
21343 2002-01-22 Aldy Hernandez <aldyh@redhat.com>
21344
21345 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
21346
21347 * config/rs6000/rs6000.h: Same.
21348
21349 * function.c (instantiate_virtual_regs): Remove
21350 STARTING_FRAME_PHASE.
21351 (assign_stack_local_1): Same.
21352 Calculate frame phase.
21353
21354 2002-01-22 Nick Clifton <nickc@redhat.com>
21355
21356 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
21357 variable declaration to outer scope in order to simplify
21358 future extensions.
21359 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
21360 arm_hard_regno_mode_ok.
21361 * config/arm/arm-protos.h: Add a prototype for
21362 arm_hard_regno_mode_ok.
21363 * config/arm/arm.c (soft_df_operand): Remove now redundant
21364 check for DImode values using IP_REGNUM.
21365 (nonimmediate_soft_df_operand): Remove now redundant check for
21366 DImode values using IP_REGNUM.
21367 (arm_hard_regno_mode_ok): New function. New check: make sure
21368 that DImode values are not stored in IP_REGNUM.
21369
21370 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
21371 note with a USE.
21372 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
21373
21374 2002-01-22 Jason Merrill <jason@redhat.com>
21375
21376 * c-semantics.c (genrtl_compound_stmt): Only check nesting
21377 consistency if this COMPOUND_STMT is scoped.
21378
21379 2002-01-22 Kazu Hirata <kazu@hxi.com>
21380
21381 * predict.c: Fix formatting.
21382 * print-tree.c: Likewise.
21383 * protoize.c: Likewise.
21384 * real.h: Likewise.
21385 * rtl.h: Likewise.
21386 * sbitmap.h: Likewise.
21387 * scan.c: Likewise.
21388 * sched-deps.c: Likewise.
21389 * sched-vis.c: Likewise.
21390 * sdbout.c: Likewise.
21391 * sibcall.c: Likewise.
21392 * ssa.c: Likewise.
21393 * ssa-ccp.c: Likewise.
21394 * ssa-dce.c: Likewise.
21395 * stmt.c: Likewise.
21396 * stor-layout.c: Likewise.
21397 * system.h: Likewise.
21398
21399 Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21400
21401 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
21402 if fits in bounds of base type.
21403
21404 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
21405 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
21406 (add_bound_info, default): If can't find a context, make a
21407 SAVE_EXPR.
21408 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
21409
21410 2002-01-22 Hans-Peter Nilsson <hp@axis.com>
21411
21412 * c-typeck.c (parser_build_binary_op): If result from
21413 build_binary_op is ERROR_MARK just return error_mark_node without
21414 further processing.
21415
21416 2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
21417
21418 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
21419 Split a.out-specific bits into...
21420 * config/netbsd-aout.h: ...this.
21421 * config/netbsd-elf.h: New file.
21422 * config/alpha/netbsd-elf.h: Remove.
21423 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
21424 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
21425 (STARTFILE_SPEC): Remove redundant definition.
21426 (ENDFILE_SPEC): Likewise.
21427 (LINK_SPEC): Likewise.
21428 (CPP_SPEC): Likewise.
21429 (ASM_SPEC): Likewise.
21430 (LIB_SPEC): Likewise.
21431 (SWITCH_TAKES_ARG): Likewise.
21432 (TARGET_MEM_FUNCTIONS): Likewise.
21433 (CPP_PREDEFINES): Redefine.
21434 (ASM_FINAL_SPEC): Remove redefinition.
21435 (ASM_COMMENT_START): Redefine.
21436 (FUNCTION_PROFILER): Define.
21437 (TARGET_VERSION): Redefine.
21438 Comment and formatting cleanup.
21439 * config/i386/netbsd.h: Include <netbsd-aout.h>.
21440 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
21441 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
21442 big- or little-endian.
21443 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
21444 * config.gcc (*-*-netbsd*): Add definitions common to all
21445 NetBSD configs.
21446 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
21447 gnu_ld definitions. Add netbsd-elf.h to and remove
21448 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
21449 tmake_file, and don't lose previous tmake_file contents.
21450 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
21451 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
21452 gnu_ld definitions. Add netbsd-elf.h to tm_file.
21453 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
21454 (mipsel-*-netbsd*): Rename this to...
21455 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
21456 mips/little.h to tm_file for mips*el-*.
21457 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
21458 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
21459 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
21460
21461 2002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
21462
21463 * pa-protos.h (reg_before_reload_operand): New function prototype.
21464 * pa.c (reg_before_reload_operand): New function implementation.
21465 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
21466 contraints to "*m".
21467
21468 2002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
21469
21470 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
21471
21472 2002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
21473
21474 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
21475 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
21476 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
21477 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
21478 (ENDFILE_SPEC): Undefine.
21479 (STARTFILE_SPEC): Redefine for PA.
21480
21481 2002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
21482
21483 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
21484
21485 2002-01-21 Daniel Jacobowitz <drow@mvista.com>
21486
21487 * config.gcc: Add entries to supported PowerPC --with-cpu
21488 types.
21489
21490 2002-01-21 Jakub Jelinek <jakub@redhat.com>
21491
21492 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
21493 true for 64-bit mode only SSE registers in 32-bit mode.
21494
21495 2002-01-21 Kazu Hirata <kazu@hxi.com>
21496
21497 * unwind-dw2.c: Fix formatting.
21498 * unwind-dw2-fde.c: Likewise.
21499 * unwind-dw2-fde.h: Likewise.
21500 * unwind-pe.h: Likewise.
21501 * varasm.c: Likewise.
21502 * varray.h: Likewise.
21503
21504 2002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
21505
21506 Remove workaround for register stack overwrite bug in mmix.
21507 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
21508 support for TARGET_REG_STACK_FILL_BUG.
21509 * config/mmix/mmix.h: Remove member has_call_without_parameters.
21510 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
21511 Delete.
21512 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
21513 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
21514 -mno-reg-stack-fill-bug-workaround.
21515 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
21516 machine member has_call_without_parameters.
21517 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
21518 -mreg-stack-fill-bug-workaround and
21519 -mno-reg-stack-fill-bug-workaround.
21520 (MMIX Options): Ditto.
21521
21522 2002-01-21 Kazu Hirata <kazu@hxi.com>
21523
21524 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
21525 as appropriate.
21526 Remove redundant code.
21527
21528 2002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
21529
21530 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
21531 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
21532 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
21533 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
21534 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
21535 out target macro definitions and non-target-specific comments
21536 mostly taken from old versions of the manual.
21537
21538 2002-01-20 Kazu Hirata <kazu@hxi.com>
21539
21540 * config/h8300/h8300.h: Fix comment formatting.
21541 * config/ia64/aix.h: Likewise.
21542 * config/ia64/ia64-protos.h: Likewise.
21543 * config/ia64/ia64.c: Likewise.
21544 * config/ia64/ia64.h: Likewise.
21545 * config/ia64/ia64intrin.h: Likewise.
21546 * config/ia64/linux.h: Likewise.
21547 * config/ia64/unwind-aix.c: Likewise.
21548 * config/ia64/unwind-ia64.c: Likewise.
21549
21550 2002-01-20 Kazu Hirata <kazu@hxi.com>
21551
21552 * config/h8300/h8300.c: Revise comments about shift code.
21553
21554 2002-01-20 Kazu Hirata <kazu@hxi.com>
21555
21556 * config/h8300/h8300.c (function_arg): Update a comment.
21557
21558 2002-01-20 Kazu Hirata <kazu@hxi.com>
21559
21560 * config/h8300/h8300.md: Update the comments at the beginning
21561 of the file.
21562
21563 2002-01-20 Kazu Hirata <kazu@hxi.com>
21564
21565 * config/i370/i370.c: Fix comment formatting.
21566 * config/i370/i370.h: Likewise.
21567 * config/i370/i370.md: Likewise.
21568 * config/i370/linux.h: Likewise.
21569
21570 Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21571
21572 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
21573
21574 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
21575 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
21576 in incomplete case.
21577
21578 2002-01-20 Graham Stott <grahams@redhat.com>
21579
21580 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
21581
21582 2002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
21583
21584 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
21585
21586 2002-01-19 Tom Rix <trix@redhat.com>
21587
21588 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
21589
21590 2002-01-18 Aldy Hernandez <aldyh@redhat.com>
21591
21592 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
21593
21594 * function.c (assign_stack_local_1): Adjust x_frame_offset with
21595 STARTING_FRAME_PHASE.
21596 (STARTING_FRAME_PHASE): New.
21597 (instantiate_virtual_regs): Check saneness of
21598 STARTING_FRAME_PHASE.
21599
21600 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
21601
21602 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
21603
21604 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
21605
21606 2002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
21607
21608 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
21609 be used for bootstrapping GCC 3.0.
21610
21611 2002-01-18 Kazu Hirata <kazu@hxi.com>
21612
21613 * config/h8300/h8300.md: Fix an insn length.
21614
21615 2002-01-18 Kazu Hirata <kazu@hxi.com>
21616
21617 * bitmap.h: Fix comment formatting.
21618 * combine.c: Likewise.
21619 * cppfiles.c: Likewise.
21620 * c-pragma.h: Likewise.
21621 * c-typeck.c: Likewise.
21622 * df.c: Likewise.
21623 * dwarf2out.c: Likewise.
21624 * function.c: Likewise.
21625 * gcc.c: Likewise.
21626 * genattrtab.c: Likewise.
21627 * gthr-win32.h: Likewise.
21628 * haifa-sched.c: Likewise.
21629 * predict.c: Likewise.
21630 * rtlanal.c: Likewise.
21631 * rtl.h: Likewise.
21632 * unwind-dw2-fde.h: Likewise.
21633 * unwind-pe.h: Likewise.
21634 * vmsdbgout.c: Likewise.
21635
21636 Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21637
21638 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
21639 if type_required and passed decl.
21640
21641 2002-01-17 Aldy Hernandez <aldyh@redhat.com>
21642
21643 * config.gcc (cpu_type): Include altivec.h in powerpc
21644 extra_headers.
21645 Same for darwin.
21646
21647 * config/rs6000/altivec.h: New.
21648
21649 2002-01-17 David Edelsohn <edelsohn@gnu.org>
21650
21651 * doc/install.texi (*-ibm-aix*): Update assembler and exception
21652 handling information.
21653 * doc/trouble.texi (Interoperation): Add libstdc++ information
21654 for AIX.
21655 (Misunderstandings): Add template instantiation and static template
21656 member information for AIX.
21657
21658 2002-01-17 Jason Merrill <jason@redhat.com>
21659
21660 * dbxout.c (dbxout_type): Support const and volatile.
21661
21662 * except.c (add_partial_entry): Remove backwards compatibility code.
21663 (end_protect_partials): Likewise.
21664
21665 2002-01-17 Jakub Jelinek <jakub@redhat.com>
21666
21667 * config/ia64/ia64.md (prologue_use): New.
21668 * config/ia64/ia64.c (ia64_expand_prologue): Use
21669 gen_prologue_use instead of gen_rtx_USE.
21670 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
21671 as CODE_FOR_pred_rel_mutex.
21672 (ia64_sched_reorder2): Likewise.
21673
21674 2002-01-16 Eric Christopher <echristo@redhat.com>
21675
21676 * config/mips/r3900.h: Reformat.
21677 (SUBTARGET_CPP_SIZE_SPEC): Remove.
21678 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
21679 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
21680 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
21681 * config/mips/t-elf: Remove mips3 multilib.
21682
21683 2002-01-16 H.J. Lu <hjl@gnu.org>
21684
21685 * config/mips/linux.h: Include "mips/abi64.h".
21686
21687 2002-01-16 H.J. Lu <hjl@gnu.org>
21688
21689 * config/mips/t-linux: New.
21690
21691 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
21692
21693 * config/mips/linux.h: Don't include "gofast.h".
21694 (INIT_SUBTARGET_OPTABS): Removed.
21695
21696 2002-01-16 Kazu Hirata <kazu@hxi.com>
21697
21698 * config/h8300/h8300-protos.h: Replace emit_a_shift with
21699 output_a_shift.
21700 * config/h8300/h8300.c: Likewise.
21701 * config/h8300/h8300.md: Likewise.
21702
21703 2002-01-16 Kazu Hirata <kazu@hxi.com>
21704
21705 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
21706 spaces after an opcode name.
21707 (pushqi1_h8300hs): Likewise.
21708 (pushhi1_h8300hs): Likewise.
21709
21710 2002-01-16 Kazu Hirata <kazu@hxi.com>
21711
21712 * doc/extend.texi: Replace "option" with "attribute"
21713 appropriately.
21714
21715 2002-01-16 Jakub Jelinek <jakub@redhat.com>
21716
21717 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
21718 (and:DI () (const_int -8)).
21719 (split_small_symbolic_mem_operand): Split
21720 (mem (and:DI () (const_int -8)).
21721
21722 2002-01-16 Jakub Jelinek <jakub@redhat.com>
21723
21724 PR target/5309:
21725 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
21726 same way as TYPE_IMUL.
21727 (ultrasparc_sched_reorder): Likewise.
21728 * config/sparc/sparc.md (type): Add comment to update
21729 ultrasparc_sched_reorder when making changes.
21730
21731 2002-01-16 Kazu Hirata <kazu@hxi.com>
21732
21733 * doc/invoke.texi: Change the dump file name of block
21734 reordering pass from 28.bbro to 29.bbro.
21735 Mention -dk option.
21736
21737 Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
21738
21739 * i386.md (minsf splitter): Fix pasto.
21740
21741 2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
21742
21743 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
21744 to frame pointer initialisation instruction.
21745 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
21746 initialisation instruction.
21747 (soft_df_operand): Do not accept the IP register.
21748 (nonimmediate_soft_df_operand): Do not accept the IP register.
21749
21750 2002-01-16 Jakub Jelinek <jakub@redhat.com>
21751
21752 PR target/5357:
21753 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
21754 MASK_V8 being both set.
21755
21756 2002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
21757
21758 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
21759 insn for GOT register; add REG_MAYBE_DEAD notes instead.
21760 config/s390/s390.md (call, call_value): Add GOT register to
21761 CALL_INSN_FUNCTION_USAGE where needed.
21762 (call_exp, call_value_exp): New.
21763
21764 2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
21765
21766 * config/arm/arm.c: General formatting tidy up.
21767
21768 2002-01-16 Graham Stott <grahams@redhat.com>
21769
21770 * calls.c (try_to_integrate): Use "(size_t)" intermediate
21771 cast and when casting an integer literal to "rtx" pointer.
21772 (expand_call): Likewise.
21773 * flow.c (try_pre_increment): Likewise.
21774 (find_use_as_address): Likewise.
21775 * integrate.c (expand_iline_function): Likewise.
21776 * regmove.c (try_auto_increment): Likewise.
21777
21778 2002-01-16 Graham Stott <grahams@redhat.com>
21779
21780 * sched-rgn.c (passed): Use sbitmap_free.
21781 (header): Likewise.
21782 (inner): Likewise.
21783 (in_queue): Likewise.
21784 (in_stack): Likewise.
21785
21786 2002-01-15 Eric Christopher <echristo@redhat.com>
21787
21788 * flow.c (propagate_one_insn): Change to use fatal_insn.
21789
21790 2002-01-15 Kazu Hirata <kazu@hxi.com>
21791
21792 * expmed.c (extract_fixed_bit_field): Remove unused code.
21793 * system.h: Poison SLOW_ZERO_EXTEND.
21794 * doc/tm.texi: Remove.
21795 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
21796 * config/arm/arm.h: Likewise.
21797 * config/avr/avr.h: Likewise.
21798 * config/clipper/clipper.h: Likewise.
21799 * config/convex/convex.h: Likewise.
21800 * config/d30v/d30v.h: Likewise.
21801 * config/dsp16xx/dsp16xx.h: Likewise.
21802 * config/elxsi/elxsi.h: Likewise.
21803 * config/fr30/fr30.h: Likewise.
21804 * config/h8300/h8300.h: Likewise.
21805 * config/i370/i370.h: Likewise.
21806 * config/i386/i386.h: Likewise.
21807 * config/m68k/m68k.h: Likewise.
21808 * config/mips/mips.h: Likewise.
21809 * config/ns32k/ns32k.h: Likewise.
21810 * config/pdp11/pdp11.h: Likewise.
21811 * config/pj/pj.h: Likewise.
21812 * config/s390/s390.h: Likewise.
21813 * config/sh/sh.h: Likewise.
21814 * config/stormy16/stormy16.h: Likewise.
21815 * config/v850/v850.h: Likewise.
21816 * config/vax/vax.h: Likewise.
21817 * config/we32k/we32k.h: Likewise.
21818
21819 2002-01-15 Aldy Hernandez <aldyh@redhat.com>
21820
21821 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
21822 (altivec_lvsl): Change constraint to b.
21823 (altivec_lvsr): Same.
21824 (altivec_lvebx): Same.
21825 (altivec_lvehx): Same.
21826 (altivec_lvewx): Same.
21827 (altivec_lvxl): Same.
21828 (altivec_lvx): Same.
21829 (altivec_stvx): Add parallel.
21830 (altivec_stvxl): Same.
21831 (altivec_stvehx): Same.
21832 (altivec_stvebx): Same.
21833 (altivec_stvebx): Same.
21834
21835 2002-01-15 Aldy Hernandez <aldyh@redhat.com>
21836
21837 * config.gcc: Change altivec.h to altivec-defs.h.
21838
21839 * config/rs6000/altivec.h: Delete.
21840
21841 * config/rs6000/altivec-defs.h: Add.
21842
21843 2002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
21844
21845 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
21846 and UMOD modes.
21847
21848 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
21849 less than or equal to eight bytes.
21850
21851 * vax.md (andsi3): Remove constraints and change SET destination
21852 operand type to nonimmediate_operand.
21853 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
21854 when it is a CONST_INT.
21855
21856 2002-01-15 Jason Merrill <jason@redhat.com>
21857
21858 * c-common.def (FILE_STMT): New code.
21859 * c-common.c (statement_code_p): It's a statement.
21860 * c-common.h (stmt_tree_s): Add x_last_filename.
21861 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
21862 (last_expr_filename): New macro.
21863 * c-semantics.c (begin_stmt_tree): Initialize it.
21864 (add_stmt): If the filename changed, also insert a
21865 FILE_STMT.
21866 (expand_stmt): Handle seeing one.
21867
21868 2002-01-15 Eric Christopher <echristo@redhat.com>
21869
21870 * flow.c (propagate_one_insn): Add error message and print out
21871 insn for debugging.
21872
21873 2002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
21874
21875 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
21876 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
21877 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
21878 TRAMPOLINE_ALIGNMENT.
21879 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
21880 to be in bits.
21881 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
21882 PCC_BITFIELD_TYPE_MATTERS.
21883 * config/interix.h (STDC_VALUE): Remove. Use
21884 STDC_0_IN_SYSTEM_HEADERS.
21885 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
21886 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
21887 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
21888
21889 2002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
21890
21891 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
21892 not work on this platform currently.
21893
21894 2002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
21895
21896 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
21897 readonly_warning in _().
21898
21899 2002-01-15 Douglas B Rupp <rupp@gnat.com>
21900
21901 * gcc.c (delete_if_ordinary): Backout previous change.
21902
21903 2002-01-15 Kazu Hirata <kazu@hxi.com>
21904
21905 * config/h8300/h8300.c (print_operand): Remove support for
21906 unused operand characters.
21907
21908 * read-rtl.c: Fix formatting.
21909 * real.c: Likewise.
21910 * recog.c: Likewise.
21911 * regclass.c: Likewise.
21912 * regmove.c: Likewise.
21913 * reg-stack.c: Likewise.
21914 * reload1.c: Likewise.
21915 * rtlanal.c: Likewise.
21916
21917 2002-01-15 Kazu Hirata <kazu@hxi.com>
21918
21919 * config/i386/i386.c: Fix formatting.
21920
21921 2002-01-15 Jakub Jelinek <jakub@redhat.com>
21922
21923 * c-typeck.c (process_init_element): Don't save_expr
21924 COMPOUND_LITERAL_EXPR if just its initializer will be used.
21925
21926 2002-01-15 David Edelsohn <edelsohn@gnu.org>
21927
21928 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
21929 emit optional traceback table if optimize_size or TARGET_ELF.
21930 * config/rs6000/rs6000.md (prefetch): New.
21931
21932 2002-01-15 Andreas Jaeger <aj@suse.de>
21933
21934 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
21935
21936 2002-01-15 Kazu Hirata <kazu@hxi.com>
21937
21938 * mips-tfile.c: Fix formatting.
21939
21940 Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
21941
21942 * unroll.c (final_reg_note_copy): Fix previous commit.
21943
21944 2002-01-14 Kazu Hirata <kazu@hxi.com>
21945
21946 * config/h8300/h8300-protos.h: Remove the prototype for
21947 eq_operator.
21948 * config/h8300/h8300.c (eq_operator): Remove.
21949
21950 2002-01-14 Richard Henderson <rth@redhat.com>
21951
21952 * config/i386/i386.md (prefetch): Tidy.
21953 (prefetch_3dnow): Fix locality operand.
21954
21955 2002-01-14 Richard Henderson <rth@redhat.com>
21956
21957 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
21958 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
21959
21960 2002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
21961
21962 * reload1.c (reload_combine): Pass reg_sum replacement through
21963 copy_rtx in loop performing multiple changes.
21964
21965 2002-01-14 Jakub Jelinek <jakub@redhat.com>
21966
21967 * except.c (remove_unreachable_regions): New.
21968 (free_eh_status): Clear exception_handler_labels.
21969 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
21970 (find_exception_handler_labels): Don't add the same label more than
21971 once.
21972 (remove_exception_handler_label): Don't die if
21973 find_exception_handler_labels hasn't been called for the current
21974 function yet.
21975
21976 Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
21977
21978 * toplev.c (rest_of_compilation): Rebuild jump labels after
21979 gcse.
21980
21981 2002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
21982
21983 * doc/extend.texi: Move documentation of X86 built-in functions
21984 here.
21985 * doc/invoke.texi: From here.
21986 * doc/sourcebuild.texi: Document location of documentation for
21987 machine built-in functions.
21988
21989 2002-01-13 Christopher Faylor <cgf@redhat.com>
21990
21991 * cppfiles.c (TEST_THRESHOLD): New macro.
21992 (SHOULD_MMAP): Ditto.
21993 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
21994 be used.
21995
21996 Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
21997
21998 * unroll.c (final_reg_note_copy): Properly handle
21999 REG_LABEL
22000 (unroll_loops): Fix LOOP_CONDITION heuristics.
22001
22002 2002-01-14 Geoffrey Keating <geoffk@redhat.com>
22003
22004 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
22005 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
22006
22007 Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
22008
22009 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
22010 threaded loop.
22011
22012 2002-01-14 Tom Rix <trix@redhat.com>
22013
22014 * config/rs6000/rs6000.md: Fix typo with sradi.
22015
22016 2002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
22017
22018 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
22019 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
22020 (clrstrdi, clrstrsi): Adapt callers.
22021
22022 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
22023
22024 (movti splitter): Never use register 0 as base register.
22025
22026 2002-01-14 Hartmut Penner <hpenner@de.ibm.com>
22027
22028 * combine.c (simplify_shift_const): Always generate new rtx
22029 for shift expression instead of reusing given expression.
22030
22031 Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22032
22033 * config/alpha/alpha.c (alpha_expand_mov): Don't call
22034 alpha_legitimize_address unless mode is Pmode.
22035
22036 2002-01-13 Geoffrey Keating <geoffk@redhat.com>
22037
22038 * doc/md.texi (Modifiers): Document the '*' constraint for the
22039 user.
22040
22041 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
22042 * doc/extend.texi (Function Attributes): 'interrupt' is valid
22043 for xstormy16 too.
22044
22045 2002-01-13 Richard Henderson <rth@redhat.com>
22046
22047 * reload.c (find_reloads): Use a hard reg destination as reload reg
22048 for an input reload of the source.
22049
22050 2002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
22051
22052 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
22053 more generic.
22054
22055 Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
22056
22057 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
22058 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
22059
22060 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
22061
22062 Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22063
22064 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
22065
22066 2002-01-12 Tom Rix <trix@redhat.com>
22067
22068 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
22069 TARGET_POWERPC64.
22070
22071 2002-01-12 Richard Henderson <rth@redhat.com>
22072
22073 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
22074
22075 * doc/invoke.texi: Update Alpha options.
22076
22077 * doc/invoke.texi: Update i386 built-in function lists.
22078
22079 Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
22080
22081 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
22082 referencing outside.
22083
22084 Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22085
22086 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
22087 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
22088 offsets, and change line folding.
22089 * optabs.c (expand_binop): Remove warnings.
22090 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
22091
22092 2002-01-12 Graham Stott <grahams@redhat.com>
22093
22094 * attribs.c (handle_deprecated_attribute): constify WHAT.
22095 * diagnostic.c (warn_deprecated_use): Add braces, fixes
22096 dangling else warning and constify WHAT.
22097 * except.h (struct function, struct inline_remap): Move
22098 struct tag forward defs before all prototypes.
22099 (duplicate_eh_regions): Whitespace.
22100
22101 2002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
22102
22103 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
22104 MODE_BASE_REG_CLASS.
22105 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
22106
22107 2002-01-12 Richard Henderson <rth@redhat.com>
22108
22109 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
22110 (ix86_expand_vector_move): New.
22111 (bdesc_2arg): Remove andps, andnps, orps, xorps.
22112 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
22113 Remove old prefetch builtins. Special case the logicals removed above.
22114 (ix86_expand_builtin): Likewise.
22115 (safe_vector_operand): Use V4SFmode, not TImode.
22116 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
22117 (ix86_expand_timode_binop_builtin): New.
22118 * config/i386/i386-protos.h: Update.
22119 * config/i386/i386.h (enum ix86_builtins): Update.
22120 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
22121 Use ix86_expand_vector_move in vector move expanders.
22122 (movti_internal, movti_rex64): Add xorps alternative.
22123 (sse_clrv4sf): Rename and adjust from sse_clrti.
22124 (prefetch): Don't work so hard.
22125 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
22126 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
22127 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
22128
22129 2002-01-11 Richard Henderson <rth@redhat.com>
22130
22131 * config/i386/mmintrin.h: New file.
22132 * config/i386/xmmintrin.h: New file.
22133 * config.gcc (i?86-*-*): Add extra_headers.
22134 * simplify-rtx.c (simplify_unary_operation): Handle saturating
22135 truncation codes.
22136 (simplify_binary_operation): Handle saturating arithmetic codes.
22137 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
22138 not the lowpart subreg.
22139 (ix86_expand_builtin): Return a TImode dummy register instead of 0
22140 on error.
22141 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
22142
22143 2002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
22144
22145 * conflict.c (conflict_graph_compute): Free regsets when finished.
22146 * ssa.c (compute_coalesced_reg_partition): Likewise.
22147
22148 2002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
22149
22150 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
22151 every where we allocate a register.
22152
22153 2002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
22154
22155 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
22156 * lcm.c (compute_earliest, compute_farthest): Likewise.
22157
22158 2002-01-11 Janis Johnson <janis187@us.ibm.com>
22159
22160 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
22161
22162 2002-01-11 Janis Johnson <janis187@us.ibm.com>
22163
22164 * doc/rtl.texi (Insns): Fix 2 typos.
22165
22166 2002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
22167
22168 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
22169 options. Use @table @gcctabopt for MMIX options. Add index
22170 entries for MMIX options. Start new paragraph with first
22171 heading of the machine-dependent options.
22172
22173 2002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
22174
22175 PR other/5299
22176 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
22177 * combine.c (force_to_mode): Same.
22178 * reload1.c (clear_reload_reg_in_use): Same.
22179
22180 2002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
22181
22182 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
22183 and 'subtargets'.
22184
22185 2002-01-11 Andreas Jaeger <aj@suse.de>,
22186 Brad Lucier <lucier@math.purdue.edu>
22187
22188 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
22189 mcpu.
22190
22191 Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
22192
22193 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
22194 Protect with IN_LIBGCC.
22195 (LINK_EH_SPEC): Add required trailing space.
22196
22197 Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
22198
22199 * c-tree.h: Move function declarations so that they are listed
22200 under the filename which contains them.
22201 (check_identifier, finish_decl_top_level,
22202 lookup_name_current_level_global, shadow_record_fields): Remove.
22203
22204 2002-01-11 Andreas Jaeger <aj@suse.de>
22205
22206 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
22207 march.
22208
22209 2002-01-10 Richard Henderson <rth@redhat.com>
22210
22211 * config/alpha/alpha.c (print_operand): Add 'J'.
22212 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
22213 new operand with the sequence number for the lituse. When splitting
22214 the insns, use gen_movdi_er_high_g and generate a sequence number.
22215 (gen_movdi_er_high_g): Print the sequence number if non-zero.
22216
22217 2002-01-10 Aldy Hernandez <aldyh@redhat.com>
22218
22219 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
22220 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
22221 stvxl.
22222 (altivec_expand_builtin): Same.
22223 (altivec_expand_stv_builtin): New.
22224
22225 * config/rs6000/rs6000.h (rs6000_builtins): Same.
22226
22227 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
22228 ("altivec_lvehx"): New.
22229 ("altivec_lvewx"): New.
22230 ("altivec_lvxl"): New.
22231 ("altivec_lvx"): New.
22232 ("altivec_stvx"): New.
22233 ("altivec_stvebx"): New.
22234 ("altivec_stvehx"): New.
22235 ("altivec_stvewx"): New.
22236 ("altivec_stvxl"): New.
22237
22238 2002-01-10 Richard Henderson <rth@redhat.com>
22239
22240 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
22241 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
22242 care not to delete instructions twice.
22243
22244 2002-01-10 Zack Weinberg <zack@codesourcery.com>
22245
22246 * toplev.c: Don't declare environ (it's not used anywhere).
22247 * configure.in: Don't check for declaration of environ.
22248 * config/i386/xm-mingw32.h: Don't #define environ.
22249 * config.in, configure: Regenerate.
22250
22251 2002-01-10 Zack Weinberg <zack@codesourcery.com>
22252
22253 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
22254 * configure: Regenerate.
22255
22256 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
22257 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
22258 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
22259 alpha/xm-vms.h.
22260 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
22261 LIMITS_H_TEST here, not in m68k/x-next.
22262 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
22263 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
22264
22265 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
22266 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
22267 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
22268
22269 * config/i386/x-djgpp: Renamed i386/t-djgpp.
22270 * config/m88k/x-dolph: Renamed m88k/t-dolph.
22271 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
22272 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
22273 replacement of quadlib.asm with quadlib.c.
22274
22275 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
22276 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
22277 config/rs6000/xm-beos.h: Delete file.
22278
22279 * config.gcc: Update to match above changes.
22280
22281 2002-01-10 Kazu Hirata <kazu@hxi.com>
22282
22283 * config/h8300/h8300.h: Fix comment typos.
22284 * config/h8300/h8300.md: Likewise.
22285 * config/h8300/lib1funcs.asm: Likewise.
22286
22287 2002-01-10 Dale Johannesen <dalej@apple.com>
22288
22289 PR optimization/5269
22290 * unroll.c (precondition_loop_p): Make *increment be the correct
22291 sign when n_iterations known, to avoid confusing caller.
22292
22293 2002-01-10 Kazu Hirata <kazu@hxi.com>
22294
22295 * doc/extend.texi (deprecated): Fix a typo.
22296
22297 Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
22298
22299 * basic-block.h (update_br_prob_note): Declare.
22300 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
22301 (try_forward_edges): Care negative frequencies and update note.
22302 (outgoing_edges_match): Tweek conditional merging heuristics.
22303 (try_crossjump_to_edge): use update_br_prob_note.
22304 * cfglayout.c (fixup_reorder_chain): Likewise.
22305 * cfrtl.c (update_br_prob_note): New.
22306 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
22307
22308 * i386.c (ix86_decompose_address): Return -1 if address contains
22309 shift.
22310 (legitimate_address_p): Require ix86_decompose_address to return 1.
22311
22312 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
22313 (cprop_insn): Likewise.
22314
22315 2002-01-10 Kazu Hirata <kazu@hxi.com>
22316
22317 * toplev.c: Fix formatting.
22318 * tree.c: Likewise.
22319 * tree-dump.c: Likewise.
22320 * unroll.c: Likewise.
22321 * unwind-dw2.c: Likewise.
22322 * unwind-dw2-fde.c: Likewise.
22323 * unwind-dw2-fde-glibc.c: Likewise.
22324 * unwind-sjlj.c: Likewise.
22325
22326 2002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
22327
22328 * doc/invoke.texi: Document PDP-11 options.
22329
22330 2002-01-10 Kazu Hirata <kazu@hxi.com>
22331
22332 * config/h8300/h8300.h: Fix formatting.
22333
22334 2002-01-10 Ira Ruben <ira@apple.com>
22335
22336 Add __attribute__ ((deprecated)).
22337 * extend.texi: Document __attribute__ ((deprecated)).
22338 * invoke.texi: Document -Wno-deprecated-declarations.
22339 * testsuite/g++.dg/other/deprecated.C: New C++ test.
22340 * testsuite/gcc.dg/deprecated.c: New C test.
22341 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
22342 (c_common_attribute_table): Add "deprecated" entry.
22343 (handle_deprecated_attribute): New function.
22344 * c-decl.c (deprecated_states): New enum.
22345 deprecated_state: State of "deprecated" handling.
22346 (start_decl): Set deprecated_state based on attributes.
22347 (grokdeclarator): Test for deprecated uses, propagate attribute.
22348 * c-typeck.c (build_component_ref): Test for deprecated fields.
22349 (build_external_ref): Test for deprecated primaries.
22350 * diagnostic.c (warn_deprecated_use) New function to issue
22351 warnings about __attribute__ ((depricated)) references.
22352 * flags.h (warn_deprecated_decl): Extern declared for
22353 -W[no-]deprecated-declarations option.
22354 * print-tree.c (print_node): Show deprecated flag status.
22355 * toplev.c (warn_deprecated_decl): Defined.
22356 (W_options): Added "deprecated-declaration".
22357 * toplev.h (warn_deprecated_use): Extern declared.
22358 * tree.h (struct tree_common): Define deprecated_flag.
22359 (TREE_DEPRECATED): New macro to access flag.
22360 * cp/call.c (build_call): Test for deprecated calls.
22361 * cp/class.c (add_implicitly_declared_members): Set global
22362 flag to tell grokdeclarator to not issue deprecated warnings.
22363 * cp/cp-tree.h: Add extern for adding_implicit_members.
22364 * cp/decl.c (deprecated_states): New enum.
22365 (start_decl): Set deprecated_state based on attributes.
22366 (grokdeclarator): Test for deprecated uses, propagate attribute.
22367 * cp/lex.c (do_identifier): Test for deprecated primaries.
22368 * cp/typeck.c (build_component_ref): Test for deprecated fields.
22369
22370 2002-01-10 Ira Ruben <ira@apple.com>
22371
22372 Fix to assign attributes to inline member functions.
22373 * cp/decl.c (start_method): Handle attrlist.
22374
22375 2002-01-10 Kazu Hirata <kazu@hxi.com>
22376
22377 * combine.c (expand_field_assignment): Use subreg_lsb().
22378
22379 2002-01-10 David Edelsohn <edelsohn@gnu.org>
22380
22381 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
22382 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
22383 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
22384 Recurse for any operand of AND as long as constant is non-zero.
22385
22386 2002-01-10 Kazu Hirata <kazu@hxi.com>
22387
22388 * config/h8300/h8300.md: Remove constraints from expanders.
22389
22390 2002-01-10 Kazu Hirata <kazu@hxi.com>
22391
22392 * varasm.c: Fix formatting.
22393 * varray.c: Likewise.
22394 * vmsdbgout.c: Likewise.
22395 * xcoffout.c: Likewise.
22396
22397 Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
22398
22399 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
22400 update edge probabilities to match.
22401
22402 2002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
22403
22404 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
22405 dependencies.
22406 * doc/languages.texi, doc/sourcebuild.texi: New files.
22407 * doc/configfiles.texi: Make a subsubsection. Update.
22408 * doc/configterms.texi: Add @node. Remove warning that this isn't
22409 instructions for building GCC.
22410 * doc/makefile.texi: Make a subsection.
22411 * doc/gccint.texi: Update.
22412
22413 Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
22414
22415 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
22416
22417 Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
22418
22419 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
22420
22421 Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
22422
22423 * optabs.c (expand_fix): Look for wider integer modes first.
22424
22425 * i386.md (mov?f): Avoid the fake const double trick for medium
22426 memory model.
22427 (min?f*/max?f*): Prohibit memory operands for i387 variant.
22428 (fop_df_4): Disable for SSE compilation.
22429
22430 2002-01-10 Graham Stott <grahams@redhat.com>
22431
22432 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
22433 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
22434
22435 2002-01-10 Richard Henderson <rth@redhat.com>
22436
22437 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
22438
22439 2002-01-10 Richard Henderson <rth@redhat.com>
22440
22441 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
22442 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
22443
22444 2002-01-10 Kazu Hirata <kazu@hxi.com>
22445
22446 * combine.c (can_combine_p): Fix a comment typo.
22447
22448 2002-01-09 Zack Weinberg <zack@codesourcery.com>
22449
22450 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
22451 empty list correctly. Change loop index $t to $f for
22452 consistency with rest of Makefile.
22453
22454 2002-01-08 Aldy Hernandez <aldyh@redhat.com>
22455
22456 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
22457 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
22458
22459 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
22460 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
22461 (altivec_init_builtins): Same.
22462 (altivec_expand_unop_builtin): Return NULL_RTX on error.
22463 (altivec_expand_binop_builtin): Same.
22464 (altivec_expand_ternop_builtin): Same.
22465 (bdesc_dst): New.
22466
22467 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
22468 ("altivec_vctuxs"): Fix typo.
22469 ("altivec_vnmsubfp"): Same.
22470 ("altivec_dssall"): New.
22471 ("altivec_mfvscr"): New.
22472 ("altivec_dss"): New.
22473 ("altivec_lvsl"): New.
22474 ("altivec_lvsr"): New.
22475 ("altivec_dstt"): New.
22476 ("altivec_dstst"): New.
22477 ("altivec_dststt"): New.
22478 ("altivec_dst"): New.
22479
22480 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
22481 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
22482
22483 2002-01-09 Richard Henderson <rth@redhat.com>
22484
22485 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
22486
22487 2002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
22488
22489 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
22490 function.
22491 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
22492 prototype.
22493 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
22494
22495 2002-01-09 Kazu Hirata <kazu@hxi.com>
22496
22497 * read-rtl.c: Fix formatting.
22498 * real.c: Likewise.
22499 * regclass.c: Likewise.
22500 * regrename.c: Likewise.
22501 * reg-stack.c: Likewise.
22502 * reload1.c: Likewise.
22503 * reload.c: Likewise.
22504 * rtl.c: Likewise.
22505
22506 2002-01-09 Kazu Hirata <kazu@hxi.com>
22507
22508 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
22509 to extract items in the expr_list chain.
22510
22511 2002-01-09 Richard Henderson <rth@redhat.com>
22512
22513 * config/vax/vax.c (vax_rtx_cost): Never abort.
22514
22515 * config/vax/vax.h (REAL_ARITHMETIC): Define.
22516
22517 2002-01-09 Jan Hubicka <jh@suse.cz>
22518
22519 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
22520
22521 2002-01-09 Richard Henderson <rth@redhat.com>
22522
22523 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
22524 Unify code from various alternatives.
22525
22526 2002-01-09 Richard Henderson <rth@redhat.com>
22527
22528 * regrename.c (copy_value): Ignore the copy if the source register
22529 is present in the value chain with a narrower mode.
22530
22531 2002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
22532
22533 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
22534 for the c4x target. Also improve layout.
22535
22536 2002-01-09 Richard Henderson <rth@redhat.com>
22537
22538 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
22539 * config/m32r/m32r.md (and ior xor splitters): Swap operands
22540 to match insn patterns.
22541
22542 2002-01-09 Richard Henderson <rth@redhat.com>
22543
22544 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
22545 (copyprop_hardreg_forward_1): Likewise.
22546
22547 2002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
22548
22549 * pa.md (decrement_and_branch_until_zero): Change predicate for
22550 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
22551
22552 2002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
22553
22554 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
22555 gets undefined. For Darwin.
22556
22557 2002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
22558
22559 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
22560
22561 2002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
22562
22563 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
22564
22565 2002-01-08 Richard Henderson <rth@redhat.com>
22566
22567 * regrename.c (copy_value): Ignore overlapping copies.
22568
22569 2002-01-08 Richard Henderson <rth@redhat.com>
22570
22571 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
22572 as needed to avoid shared structure.
22573
22574 2002-01-08 Kazu Hirata <kazu@hxi.com>
22575
22576 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
22577 H8/300H and H8/S.
22578
22579 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
22580
22581 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
22582 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
22583 documentation of obsolete macros.
22584 * system.h: Poison these macros.
22585 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
22586 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
22587 config/c4x/c4x.h, config/clipper/clipper.h,
22588 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
22589 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
22590 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
22591 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
22592 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
22593 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
22594 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
22595 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
22596 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
22597 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
22598 config/sparc/sparc.h, config/stormy16/stormy16.h,
22599 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
22600 definitions and commented out definitions of obsolete macros.
22601 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
22602 of MAX_INT_TYPE_SIZE.
22603
22604 2002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
22605
22606 * config/s390/s390.c (s390_preferred_reload_class): Never
22607 return ADDR_REGS if it isn't a subset of the given class.
22608 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
22609 FP_REGS, but all superclasses as well.
22610
22611 * config/s390/s390.c (s390_function_profiler): Fix thinko.
22612
22613 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
22614 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
22615 must not be a const_int.
22616
22617 2002-01-08 Richard Henderson <rth@redhat.com>
22618
22619 * Makefile.in (toplev.o): Depend on options.h.
22620 (gcc.o): Depend on specs.h.
22621
22622 2002-01-08 Jakub Jelinek <jakub@redhat.com>
22623
22624 * expr.c (store_expr): Convert VOIDmode constants back to target's
22625 mode.
22626
22627 2002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
22628
22629 * doc/invoke.texi: Markup gcc as @command. Refer to
22630 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
22631 of http://gcc.gnu.org/thanks.html.
22632
22633 2002-01-08 Dale Johannesen <dalej@apple.com>
22634
22635 * config/rs6000/rs6000.md: Add missing int register
22636 target case to movdf_low.
22637
22638 2002-01-08 Zack Weinberg <zack@codesourcery.com>
22639
22640 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
22641 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
22642 (cppinit.o): Depend on except.h.
22643 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
22644 s-specs): New rules.
22645
22646 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
22647 Don't create specs.h/options.h/gencheck.h here. Remove
22648 unnecessary variable settings from last argument of AC_OUTPUT.
22649 * config.in, configure: Regenerate.
22650 * intl.c: Hardcode package name as "gcc".
22651
22652 * cppinit.c: Include except.h.
22653 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
22654 appropriate.
22655 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
22656 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
22657 (!)USING_SJLJ_EXCEPTIONS.
22658 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
22659
22660 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
22661
22662 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
22663 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
22664 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
22665 documentation of obsolete macros.
22666 * system.h: Poison these macros.
22667 * config/d30v/d30v.h, config/ns32k/encore.h,
22668 config/stormy16/stormy16.h: Remove definitions and commented out
22669 definitions of obsolete macros.
22670
22671 Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
22672
22673 * objc/objc-act.c (handle_class_ref): Mark the declaration of
22674 %sobjc_class_ref_%s as used - to prevent unwanted compiler
22675 warnings.
22676
22677 2002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
22678
22679 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
22680 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
22681 to insn adjusting stack/frame pointer.
22682 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
22683 accept operands that cause the insn to be non-splittable.
22684
22685 2002-01-08 Graham Stott <grahams@redhat.com>
22686
22687 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
22688 (C_TYPE_FIELDS_VOLATILE): Likewise.
22689 (C_TYPE_BEING_DEFINED): Likewise.
22690 (C_IS_RESERVED_WORD): Likewise.
22691 (C_TYPE_VARIABLE_SIZE): Likewise.
22692 (C_DECL_VARIABLE_SIZE): Likewise.
22693 (C_MISSING_PROTOTYPE_WARNED): Likewise.
22694 (C_SET_EXP_ORIGINAL_CODE): Likewise.
22695 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
22696 parenthesis.
22697 (C_DECL_ANTICIPATED): Likewise.
22698 (c_build_type_variant): Add parenthesis.
22699
22700 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
22701
22702 * gcc.c (option_map): Remove --version.
22703 (process_command): Handle -fversion following the GNU Coding
22704 Standards. Partially addresses PR other/704.
22705
22706 2002-01-08 Graham Stott <grahams@redhat.com>
22707
22708 * combine.c (combine_instructions): Fix typo.
22709
22710 2002-01-08 Graham Stott <grahams@redhat.com>
22711
22712 * debug.h: Use "tree" and "rtx" throughout.
22713
22714 * debug.c: Likewise.
22715
22716 2002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
22717
22718 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
22719 constant pool, use the pool's version of the symbol instead.
22720
22721 2002-01-07 Richard Henderson <rth@redhat.com>
22722
22723 * regrename.c (find_oldest_value_reg): Ignore the value chain if
22724 the original register was copied in a mode with a fewer number of
22725 hard registers than the desired mode.
22726 (copyprop_hardreg_forward_1): Likewise.
22727 (debug_value_data): Fix loop test.
22728 * toplev.c (parse_options_and_default_flags): Reenable
22729 -fcprop-registers at -O1.
22730
22731 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
22732
22733 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
22734 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
22735
22736 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
22737 predicates.
22738
22739 * config/rs6000/rs6000.md: Add altivec predicate patterns.
22740
22741 2002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
22742
22743 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
22744 (pa_output_function_prologue): Output local label at the beginning of
22745 the prologue when profiling.
22746 (hppa_profile_hook): Use the local label rather than the function label.
22747 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
22748
22749 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
22750
22751 * config/rs6000/rs6000.c (print_operand): Remove extra space.
22752 (altivec_expand_unop_builtin): Fix thinko.
22753 (altivec_expand_binop_builtin): Same.
22754 (altivec_expand_ternop_builtin): Same.
22755 (altivec_expand_builtin): Same.
22756
22757 2002-01-07 Richard Henderson <rth@redhat.com>
22758
22759 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
22760
22761 2002-01-07 Jason Merrill <jason@redhat.com>
22762
22763 * unwind-dw2.c (execute_cfa_program): Use < again.
22764
22765 2002-01-07 Jakub Jelinek <jakub@redhat.com>
22766
22767 * predict.c (combine_predictions_for_insn): Avoid division by zero.
22768
22769 2002-01-07 Jakub Jelinek <jakub@redhat.com>
22770
22771 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
22772 Don't allow -1 - x -> ~x simplifications in the first pass.
22773
22774 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
22775
22776 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
22777 arguments.
22778 (altivec_expand_binop_builtin): Same.
22779 (altivec_expand_unop_builtin): Same.
22780 (print_operand): Fix typo.
22781 (bdesc_1arg): Add vupk* variants.
22782
22783 * rs6000.h (rs6000_builtins): Add vupk* enums.
22784
22785 * rs6000.md: Add altivec_vupk* variants.
22786
22787 2002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
22788
22789 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
22790 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
22791 and last update dates.
22792
22793 2002-01-07 Janis Johnson <janis187@us.ibm.com>
22794
22795 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
22796
22797 2002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
22798
22799 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
22800 * config/avr/avr.h (CPP_SPEC): Likewise.
22801 (LINK_SPEC): Likewise.
22802 (CRT_BINUTILS_SPECS): Likewise.
22803 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
22804 * doc/invoke.texi (AVR Options): Document them.
22805
22806 Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
22807
22808 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
22809 LABEL_NUSES.
22810
22811 2002-01-07 Graham Stott <grahams@redhat.com>
22812
22813 * config/i386/i386.h: Update copyright date.
22814 (HALF_PIC_PTR): Add parenthesis.
22815 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
22816 (CONSTANT_ALIGNMENT): Add parenthesis.
22817 (DATA_ALIGNMENT): Likewise.
22818 (LOCAL_ALIGNMENT): Likewise.
22819 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
22820 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
22821 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
22822 (HARD_REGNO_NREGS): Add paranethesis.
22823 (VALID_SSE_REG_MODE): Whitespace.
22824 (VALID_MMX_REG_MODE): Whitespace.
22825 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
22826 (ix86_hard_regno_mode_ok): Add parenthesis.
22827 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
22828 (RETURN_IN_MEMORY): Whitespace.
22829 (N_REG_CLASSES): Add parenthesis.
22830 (INTEGER_CLASS_P): Add parenthesis and wrap.
22831 (FLOAT_CLASS_P): Likewise.
22832 (SSE_CLASS_P): Likewise.
22833 (MMX_CLASS_P): Likewise.
22834 (MAYBE_INTEGER_CLASS_P): Likewise.
22835 (MAYBE_FLOAT_CLASS_P): Likewise.
22836 (MAYBE_SSE_CLASS_P): Likewise.
22837 (MAYBE_MMX_CLASS_P): Likewise.
22838 (Q_CLASS_P): Likewise.
22839 (GENERAL_REGNO_P): Uppercase macro parameter.
22840 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
22841 (FP_REGNO_P): Likewise.
22842 (ANY_FP_REGNO_P): Uppercase macro parameter.
22843 (SSE_REGNO_P): Likewise.
22844 (SSE_REGNO): Likewise.
22845 (SSE_REG_P): Likewise.
22846 (SSE_FLOAT_MODE_P): Likewise.
22847 (MMX_REGNO_P): Likewise.
22848 (MMX_REG_P):Likewise.
22849 (STACK_REG_P): Likewise.
22850 (NON_STACK_REG_P): Likewise.
22851 (STACK_TOP_P): Likewise.
22852 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
22853 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
22854 (SECONDARY_MEMORY_NEEDED): Likewise.
22855 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
22856 (MD_ASM_CLOBBERS): Whitespace and wrap.
22857 (MUST_PASS_IN_STACK): Whitespace and wrap.
22858 (RETURN_POPS_ARGS): Add parenthesis.
22859 (INIT_CUMULATIVE_ARGS): Likewise.
22860 (FUNCTION_ARG): Likewise.
22861 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
22862 (SETUP_INCOMING_VARARGS): Likewise.
22863 (BUILD_VA_LIST_TYPE): Add parenthesis.
22864 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
22865 parenthsis.
22866 (EXPAND_BUILTIN_VA_ARG): Likewise.
22867 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
22868 (INITIALIZE_TRAMPOLINE): Add parenthesis.
22869 (INITIAL_ELIMINATION_OFFSET): Likewise.
22870 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
22871 (REGNO_OK_FOR_BASE_P): Likewise.
22872 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
22873 (REGNO_OK_FOR_DIREG_P): Likewise.
22874 (REG_OK_FOR_INDEX_P): Whitespace.
22875 (REG_OK_FOR_BASE_P): Whitespace.
22876 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
22877 parenthesis.
22878 (FIND_BASE_TERM): Fix typo.
22879 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
22880 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
22881 (SYMBOLIC_CONST; Whitespace.
22882 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
22883 (ENCODE_SECTION_INFO): Whitespace.
22884 (FINALIZE_PIC): Remove do { ... } while (0).
22885 (PROMOTE_MODE): Wrap in do { ... } while (0).
22886 (CONST_COSTS): Whitespace.
22887 (RTX_COSTS): Add paramethesis, whitespace and wrap.
22888 (REGISTER_MOVE_COST): Add parenthesis.
22889 (MEMORY_MOVE_COST): Likewise.
22890 (EXTRA_CC_MODES): Whitespace.
22891 (SELECT_CC_MODE): Add parenthesis and whitespace.
22892 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
22893 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
22894 (ASM_OUTPUT_LABEL): Add paramethesis.
22895 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
22896 (ASM_OUTPUT_REG_POP): Likewise.
22897 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
22898 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
22899
22900 * config/i386/i386.c: Update copyright.
22901 (CHECK_STACK_LIMIT): Add parenthesis.
22902 (AT_BP): Uppercase macro parameter.
22903 (x86_64_int_parameter_registers): Constify.
22904 (x86_64_int_return_registers): Likewise.
22905 (ix86_compare_op0): Use rtx.
22906 (construct_container): Constify INTREG parameter.
22907 (function_arg): Use rtx.
22908
22909 * diagnostic.h: Update copyright date.
22910 (output_buffer_state): Add parenthesis.
22911 (output_buffer_format_args): Likewise.
22912
22913 * combine.c (combine_instructions): Replace XEXP (links, 0)
22914 with link.
22915
22916 2002-01-06 H.J. Lu <hjl@gnu.org>
22917
22918 * cfgcleanup.c (thread_jump): Fix 2 typos.
22919
22920 2002-01-06 Aldy Hernandez <aldyh@redhat.com>
22921
22922 * config.gcc: Add support for --enable-altivec.
22923
22924 2002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
22925
22926 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
22927
22928 2002-01-06 Jakub Jelinek <jakub@redhat.com>
22929
22930 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
22931 __objc_class_name_*.
22932
22933 2002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
22934
22935 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
22936
22937 2002-01-06 Richard Henderson <rth@redhat.com>
22938
22939 * reorg.c (emit_delay_sequence): Remove death notes, not merely
22940 nop them out. Increment label reference count for REG_LABEL.
22941 (fill_slots_from_thread): Frob label reference count around
22942 delete_related_insns.
22943
22944 2002-01-05 Richard Henderson <rth@redhat.com>
22945
22946 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
22947 jump threading.
22948
22949 2002-01-05 Richard Henderson <rth@redhat.com>
22950
22951 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
22952 * integrate.c (output_inline_function): Likewise.
22953 * toplev.c (rest_of_compilation): Do it here instead. Move call
22954 to remove_unnecessary_notes after emitting abstract instance.
22955 Force an emitted nested function to have its parent emited as well.
22956 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
22957 for null.
22958 (rtl_for_decl_location): Do not look at reload data structures
22959 before reload has run.
22960
22961 2002-01-05 Kazu Hirata <kazu@hxi.com>
22962
22963 * cse.c: Fix formatting.
22964 * dwarf2asm.c: Likewise.
22965 * dwarf2out.c: Likewise.
22966 * explow.c: Likewise.
22967 * expmed.c: Likewise.
22968 * function.c: Likewise.
22969 * gcov.c: Likewise.
22970 * gencheck.c: Likewise.
22971 * genrecog.c: Likewise.
22972 * ggc-common.c: Likewise.
22973 * ggc-page.c: Likewise.
22974 * global.c: Likewise.
22975
22976 2002-01-05 Kazu Hirata <kazu@hxi.com>
22977
22978 * combine.c: Fix formatting.
22979
22980 2002-01-05 Craig Rodrigues <crodrigu@bbn.com>
22981
22982 PR middle-end/1557
22983 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
22984
22985 2002-01-05 David Edelsohn <edelsohn@gnu.org>
22986
22987 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
22988 as 1 for __powerpc64__ as well.
22989
22990 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
22991
22992 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
22993 return it.
22994
22995 2002-01-05 Daniel Berlin <dan@dberlin.org>
22996
22997 * lcm.c: Revert change, due to performance regression it causes on
22998 SPEC because it's slightly more conservative (sigh, I hate
22999 edge-based LCM).
23000
23001 Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
23002
23003 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
23004
23005 2002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
23006
23007 * doc/cppinternals.texi: Update.
23008
23009 2002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
23010
23011 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
23012 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
23013 negatives.
23014 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
23015 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
23016 kludge for pre-october-14th mmix versions to handle new-found bug
23017 with PUSHJ/PUSHGO and the register stack.
23018 * config/mmix/mmix.h (struct machine_function): Rename member
23019 has_call_value_without_parameters to has_call_without_parameters.
23020 All referers changed.
23021 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
23022 TARGET_MASK_BRANCH_PREDICT): New macros.
23023 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
23024 -mno-reg-stack-fill-bug-workaround.
23025 * config/mmix/mmix.md ("call"): Set struct machine member
23026 has_call_without_parameters.
23027
23028 Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
23029
23030 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
23031
23032 Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
23033
23034 * cfgcleanup.c: Include tm_p.h
23035 (mark_effect): Fix handling of hard register; fix handling of SET
23036
23037 2002-01-04 Kazu Hirata <kazu@hxi.com>
23038
23039 * config/h8300/h8300.md (anonymous patterns): Check that
23040 operands are registers before using REGNO on them.
23041
23042 2002-01-03 Roland McGrath <roland@frob.com>
23043
23044 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
23045
23046 2002-01-04 Jakub Jelinek <jakub@redhat.com>
23047
23048 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
23049 * c-common.h (genrtl_expr_stmt_value): Likewise.
23050 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
23051 (expand_expr_stmt_value): Add maybe_last argument.
23052 Don't warn about statement with no effect if it is the last statement
23053 in expression statement.
23054 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
23055 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
23056 expand_expr_stmt_value.
23057 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
23058 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
23059 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
23060 as maybe_last to expand_expr_stmt_value.
23061
23062 Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
23063
23064 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
23065 be passed in, do not build it.
23066 (c_begin_if_stmt): New function.
23067 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
23068 * c-common.h (c_expand_start_cond): Update prototype.
23069 (c_begin_if_stmt): Prototype new function.
23070 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
23071 * c-parse.in (if_prefix): Use c_begin_if_stmt,
23072 c_begin_while_stmt and c_finish_while_stmt_cond.
23073
23074 2002-01-04 William Cohen <wcohen@redhat.com>
23075
23076 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
23077 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
23078 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
23079 * config/pa/som.h (ASM_FILE_START): Likewise.
23080
23081 2002-01-04 Daniel Berlin <dan@cgsoftware.com>
23082
23083 * lcm.c: Include df.h.
23084 Add available_transfer_function prototype.
23085 (compute_available): Rework to use iterative dataflow framework.
23086 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
23087 with bb_info in df.h
23088 (available_transfer_function): New function.
23089
23090 * Makefile.in (lcm.o): add df.h to dependencies.
23091
23092 2002-01-04 Richard Henderson <rth@redhat.com>
23093
23094 * config/alpha/alpha.c (some_operand): Accept HIGH.
23095 (input_operand): Likewise; accept simple references to globals.
23096 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
23097 (alpha_const_double_ok_for_letter_p): Likewise.
23098 (alpha_extra_constraint): Likewise.
23099 (alpha_preferred_reload_class): Likewise. Do not force
23100 symbolic constants to memory.
23101 (alpha_legitimate_address_p): Accept simple references
23102 to small_symbolic_operand.
23103 (alpha_legitimize_address): New arg scratch. Be prepared to be
23104 called when no_new_pseudos. Emit simple symbolic references.
23105 Split integers into low, high, and rest.
23106 (alpha_expand_mov): Use alpha_legitimize_address.
23107 (some_small_symbolic_mem_operand): New.
23108 (split_small_symbolic_mem_operand): New.
23109 * config/alpha/alpha-protos.h: Update.
23110 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
23111 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
23112 (EXTRA_CONSTRAINT): Likewise.
23113 (PREFERRED_RELOAD_CLASS): Likewise.
23114 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
23115 (PREDICATE_CODES): Update.
23116 * config/alpha/alpha.md: New post-reload splitters to convert
23117 simplfied symbolic operands to the form that references $29.
23118 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
23119 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
23120
23121 2002-01-03 Richard Henderson <rth@redhat.com>
23122
23123 * local-alloc.c (function_invariant_p): Update commentary.
23124
23125 2002-01-04 H.J. Lu <hjl@gnu.org>
23126
23127 * toplev.c (rest_of_compilation): Fix a typo when calling
23128 cleanup_cfg.
23129
23130 2002-01-03 Kazu Hirata <kazu@hxi.com>
23131
23132 * c-common.c: Fix formatting.
23133 * diagnostic.c: Likewise.
23134 * doloop.c: Likewise.
23135 * dwarf2out.c: Likewise.
23136
23137 2002-01-03 Kazu Hirata <kazu@hxi.com>
23138
23139 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
23140 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
23141
23142 2002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
23143
23144 * cpperror.c: Update comments and copyright.
23145 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
23146 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
23147
23148 2002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
23149
23150 * collect2.c (main): Use strcmp when testing for "-shared".
23151
23152 2002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
23153
23154 * cppmacro.c: Don't include intl.h. Update comments.
23155 (new_number_token): Allocate enough buffer for 64-bit unsigned
23156 integers; update prototype.
23157 * cppmain.c: Update comments.
23158
23159 2002-01-03 William Cohen <wcohen@redhat.com>
23160
23161 * function.h (struct function): Add profile.
23162 (current_function_profile): New.
23163 doc/extend.texi: Update documentation.
23164 * final.c (final_start_function): Use current_function_profile
23165 instead of profile_flag.
23166 (profile_after_prologue): Likewise.
23167 * function.c (expand_function_start): Likewise.
23168 (expand_function_start): Likewise.
23169 * config/alpha/alpha.c (direct_call_operand):
23170 (alpha_does_function_need_gp): Likewise.
23171 (alpha_expand_prologue): Likewise.
23172 * config/arm/arm.c (arm_expand_prologue): Likewise.
23173 thumb_expand_prologue: Likewise.
23174 * config/d30v/d30v.c (d30v_stack_info): Likewise.
23175 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
23176 (fr30_expand_prologue): Likewise.
23177 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
23178 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
23179 * config/i386/i386.h (FINALIZE_PIC): Likewise.
23180 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
23181 * config/i960/i960.c (i960_output_function_prologue): Likewise.
23182 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
23183 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
23184 (m32r_expand_prologue): Likewise.
23185 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
23186 (m88k_expand_prologue): Likewise.
23187 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
23188 * config/mips/mips.c (compute_frame_size): Likewise.
23189 (mips_expand_prologue): Likewise.
23190 (mips_can_use_return_insn): Likewise.
23191 * config/pa/elf.h (ASM_FILE_START): Likewise.
23192 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
23193 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
23194 * config/pa/som.h (ASM_FILE_START): Likewise.
23195 * config/romp/romp.c (romp_using_r14): Likewise.
23196 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
23197 (rs6000_stack_info): Likewise.
23198 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
23199 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
23200 * config/v850/v850.c (compute_register_save_size): Likewise.
23201
23202 2002-01-03 Jakub Jelinek <jakub@redhat.com>
23203
23204 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
23205 gen_lowpart_common fails, use gen_lowpart_SUBREG.
23206
23207 2002-01-03 Turly O'Connor <turly@apple.com>
23208
23209 * darwin.c (machopic_output_possible_stub_label): Don't generate
23210 stub routines for pseudo-stubs which we've just defined.
23211
23212 2002-01-03 Kazu Hirata <kazu@hxi.com>
23213
23214 * builtins.c: Fix formatting.
23215 * c-typeck.c: Likewise.
23216 * combine.c: Likewise.
23217 * expr.c: Likewise.
23218 * loop.c: Likewise.
23219
23220 2002-01-03 Andreas Schwab <schwab@suse.de>
23221
23222 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
23223 and return true if _cpp_push_next_buffer pushed a new include
23224 file.
23225 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
23226 _cpp_pop_file_buffer did not push a new file.
23227 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
23228
23229 2002-01-02 Eric Christopher <echristo@redhat.com>
23230
23231 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
23232 FIND_REG_INC_NOTE call. Update copyright.
23233 * loop.c (canonicalize_condition): Ditto.
23234 * reorg.c (delete_scheduled_jump): Ditto.
23235
23236 2002-01-03 Kazu Hirata <kazu@hxi.com>
23237
23238 * gcse.c: Fix formatting.
23239
23240 2002-01-03 Graham Stott <grahams@redhat.com>
23241
23242 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
23243 forward defs for struct tags rtx_def, union_tree, rtvec_def
23244 also output corresponding typedefs for rtx, tree, and rtvec.
23245
23246 * system.h: Move forward defs for struct tags rtx_def, union_tree,
23247 rtvec_def along with corresponding typedefs for rtx, tree, and
23248 rtvec to config.h, hconfig.h, tconfig.h.
23249
23250 2002-01-03 Graham Stott <grahams@redhat.com>
23251
23252 * tree.h: Update copyright date.
23253 (IS_EXPR_CODE_CLASS): Add parenthesis.
23254 (TREE_SET_CODE): Add whitespace.
23255 (TREE_CHECK): Add parenthesis.
23256 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
23257 (CST_OR_CONSTRUCTOR_CHECK):
23258 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
23259 (TREE_SYMBOL_REFERENCED): Whitespace.
23260 (INT_CST_LT): Likewise.
23261 (INT_CST_LT_UNSIGNED): Likewise.
23262 (tree_real_cst): Unwrap comment.
23263 (tree_string): Likewise.
23264 (tree_complex): Likewise.
23265 (IDENTIFIER_POINTER): correct cast.
23266 (SAVE_EXPR_CONTEXT): Whitespace.
23267 (EXPR_WFL_FILENAME_NODE): Likewise.
23268 (EXPR_WFL_FILENAME): Remove parenthesis.
23269 (DECL_ORIGIN): Add parenthesis.
23270 (DECL_FROM_INLINE): Use NULL_TREE.
23271 (build_int_2): Whitespace.
23272 (build_type_variant): Add parenthesis.
23273
23274 * gcc/jcf-parse.c: Update copyright date.
23275 (yyparse): Constify resource_filename.
23276
23277 2002-01-03 Graham Stott <grahams@redhat.com>
23278
23279 * rtl.h: Update copyright date.
23280 (RTL_CHECK1): Wrap long line.
23281 (RTL_CHECK2): Likewise.
23282 (RTL_CHECKC1): Wrap long line and whitespace.
23283 (RTL_CHECKC2): Likewise.
23284 (XWINT): Whitespace.
23285 (XINT): Likewise.
23286 (XSTR): Likewise.
23287 (XEXP): Likewise.
23288 (XVEC): Likewise.
23289 (XMODE): Likewise.
23290 (XBITMAP): Likewise.
23291 (XTREE): Likewise.
23292 (XBBDEF): Likewise.
23293 (XTMPL): Likewise.
23294 (X0WINT): Likewise.
23295 (X0INT):Likewise.
23296 (X0UINT): Likewise.
23297 (X0STR): Likewise.
23298 (X0EXP): Likewise.
23299 (X0VEC): Likewise.
23300 (X0MODE): Likewise.
23301 (X0BITMAP): Likewise.
23302 (X0TREE): Likewise.
23303 (X0BBDEF): Likewise.
23304 (X0ADVFLAGS): Likewise.
23305 (X0CSELIB): Likewise.
23306 (X0MEMATTR): Likewise.
23307 (XCWINT): Likewise.
23308 (XCINT): Likewise.
23309 (XCUINT): Likewise.
23310 (XCSTR): Likewise.
23311 (XCEXP): Likewise.
23312 (XCVEC): Likewise.
23313 (XCMODE): Likewise.
23314 (XCBITMAP): Likewise.
23315 (XCTREE): Likewise.
23316 (XCBBDEF): Likewise.
23317 (XCADVFLAGS): Likewise.
23318 (XCCSELIB): Likewise.
23319 (XC2EXP): Likewise.
23320 (INSN_UID): Likewise.
23321 (PREV_INSN): Likewise.
23322 (PATTERN): Likewise.
23323 (INSN_CODE): Likewise.
23324 (PUT_REG_NOTE_KIND): Likewise.
23325 (CODE_LABEL_NUMBER): Likewise.
23326 (NOTE_SOURCE_FILE): Likewise.
23327 (NOTE_BLOCK): Likewise.
23328 (NOTE_EH_HANDLER): Likewise.
23329 (NOTE_RANGE_INFO): Likewise.
23330 (NOTE_LIVE_INFO): Likewise.
23331 (NOTE_BASIC_BLOCK): Likewise.
23332 (NOTE_EXPECTED_VALUE): Likewise.
23333 (NOTE_LINE_NUMBER): Likewise.
23334 (LABEL_NAME): Likewise.
23335 (LABEL_NUSES): Likewise.
23336 (LABEL_ALTERNATE_NAME): Likewise.
23337 (ADDRESSOF_DECL): Likewise.
23338 (JUMP_LABEL): Likewise.
23339 (LABEL_NEXTREF): Likewise.
23340 (REGNO): Likewise.
23341 (ORIGINAL_REGNO: Likewise.
23342 (HARD_REGISTER_NUM_P): Add parenthesis.
23343 (SUBREG_REG): Whitespace.
23344 (SUBREG_BYTE): Likewise.
23345 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
23346 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
23347 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
23348 (ASM_OPERANDS_INPUT_VEC): Likewise.
23349 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
23350 (ASM_OPERANDS_INPUT): Likewise.
23351 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
23352 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
23353 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
23354 (ASM_OPERANDS_INPUT_MODE): Likewise.
23355 (ASM_OPERANDS_SOURCE_FILE): Likewise.
23356 (ASM_OPERANDS_SOURCE_LINE): Likewise.
23357 (MEM_SET_IN_STRUCT_P): Minor reformat.
23358 (TRAP_CONDITION): Whitespace.
23359 (TRAP_CODE): Likewise.
23360 (COND_EXEC_TEST): Likewise.
23361 (COND_EXEC_CODE): Likewise.
23362 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
23363 (PHI_NODE_P): Add parenthesis.
23364 (plus_constant): Whitespace and add parenthesis.
23365
23366 2002-01-03 Kazu Hirata <kazu@hxi.com>
23367
23368 * config/avr/avr.c: Fix comment typos.
23369 * config/c4x/c4x.md: Likewise.
23370 * config/dsp16xx/dsp16xx.h: Likewise.
23371 * config/dsp16xx/dsp16xx.md: Likewise.
23372 * config/i386/i386.md: Likewise.
23373 * config/ia64/ia64.c: Likewise.
23374 * config/m32r/m32r.h: Likewise.
23375 * config/m68hc11/m68hc11.md: Likewise.
23376 * config/mmix/mmix.c: Likewise.
23377 * config/mn10200/mn10200.c: Likewise.
23378 * config/romp/romp.c: Likewise.
23379 * config/sh/sh.c: Likewise.
23380 * config/stormy16/stormy16.c: Likewise.
23381 * config/stormy16/stormy16.h: Likewise.
23382 * config/stormy16/stormy16.md: Likewise.
23383
23384 2002-01-03 Graham Stott <grahams@redhat.com>
23385
23386 * loop.h: Update copyright date.
23387 (LOOP_MOVABLES): Fix typo.
23388 (LOOP_REGS): Likewise.
23389 (LOOP_IVS): Likewise.
23390
23391 2002-01-03 Graham Stott <grahams@redhat.com>
23392
23393 * cppinit.c: Update copyright date.
23394 Don't include output.h
23395 * Makefile.in: Update copyright date.
23396 Update dependency.
23397
23398 2002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
23399
23400 PR c/5226
23401 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
23402 (-pthread) Add to RS/6000 options.
23403
23404 2002-01-02 Kazu Hirata <kazu@hxi.com>
23405
23406 * except.c: Fix comment typos.
23407 * loop.c: Likewise.
23408 * varasm.c: Likewise.
23409 * doc/tm.texi: Fix a typo.
23410
23411 2002-01-02 Jakub Jelinek <jakub@redhat.com>
23412
23413 * c-typeck.c (output_init_element): Allow initializing static storage
23414 duration objects with compound literals.
23415
23416 2002-01-02 Richard Henderson <rth@redhat.com>
23417
23418 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
23419 after abusing it.
23420
23421 2002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
23422
23423 * gcc.c (default_compilers): Const-ify.
23424 * mips-tdump.c (stab_names): Likewise.
23425 * mips-tfile.c (map_coff_types, map_coff_storage,
23426 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
23427 pseudo_ops_t, pseudo_ops): Likewise.
23428 * protoize.c (default_include): Likewise
23429
23430 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
23431 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
23432 Add array size in declaration.
23433 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
23434 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
23435 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
23436 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
23437 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
23438 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
23439 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
23440 emtens, make_nan): Const-ify.
23441 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
23442 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
23443
23444 2002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
23445
23446 * config.gcc (ia64-*-*): Set extra_headers.
23447 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
23448 * config/alpha/t-osf: Remove.
23449 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
23450
23451 2002-01-02 David Edelsohn <edelsohn@gnu.org>
23452
23453 * config/rs6000/t-aix43: Revert previous change.
23454
23455 2002-01-02 Jason Merrill <jason@redhat.com>
23456
23457 * c-decl.c (c_expand_body): Call outlining_inline_function when
23458 emitting an inline function out of line.
23459
23460 2002-01-02 Richard Henderson <rth@redhat.com>
23461
23462 * dwarf2out.c (limbo_die_node): Add created_for member.
23463 (new_die): New argument created_for. Update all callers.
23464 (mark_limbo_die_list): New.
23465 (dwarf2out_init): Register limbo_die_list as a root.
23466 (dwarf2out_finish): Force insert limbo dies into their function
23467 context.
23468
23469 2002-01-02 Nathan Sidwell <nathan@codesourcery.com>
23470
23471 PR c++/5089
23472 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
23473
23474 2002-01-02 Kazu Hirata <kazu@hxi.com>
23475
23476 * config/h8300/fixunssfsi.c: Update copyright.
23477 Fix comment typos.
23478 Fix formatting.
23479 * config/h8300/h8300.c: Update copyright.
23480 Eliminate warnings.
23481
23482 2002-01-02 Kazu Hirata <kazu@hxi.com>
23483
23484 * config/romp/romp.c: Fix comment formatting.
23485 * config/romp/romp.h: Likewise.
23486 * config/romp/romp.md: Likewise.
23487 * config/s390/s390.c: Likewise.
23488 * config/stormy16/stormy16.c: Likewise.
23489 * config/stormy16/stormy16.h: Likewise.
23490
23491 2002-01-02 Alexandre Oliva <aoliva@redhat.com>
23492
23493 * c-common.h (genrtl_expr_stmt_value): Declare.
23494 * c-semantics.c (genrtl_goto_stmt): Redirect to...
23495 (genrtl_goto_stmt_value): ... this new function. Pass new
23496 argument down to expand_expr_stmt_value, taking
23497 TREE_ADDRESSABLE into account.
23498 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
23499 STMT_EXPR as addressable, i.e., one whose result we want.
23500 * expr.c (expand_expr): Don't save expression statement value
23501 of labeled_blocks or loop_exprs.
23502 * stmt.c (expand_expr_stmt): Redirect to...
23503 (expand_expr_stmt_value): ... this new function. Use new
23504 argument to tell whether to save expression value.
23505 (expand_end_stmt_expr): Reset last_expr_type and
23506 last_expr_value if we don't have either.
23507 * tree-inline.c (declare_return_variable): Mark its use
23508 statement as addressable.
23509 * tree.h: Document new use of TREE_ADDRESSABLE.
23510 (expand_expr_stmt_value): Declare.
23511
23512 2002-01-01 Tom Rix <trix@redhat.com>
23513
23514 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
23515 rs6000_emit_allocate_stack.
23516
23517 2002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
23518
23519 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
23520 ${srcdir}/ginclude/ to every entry in extra_headers.
23521 * configure: Regenerate.
23522 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
23523 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
23524 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
23525 * ginclude/proto.h: Rename to config/convex/proto.h.
23526
23527 Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
23528
23529 * attribs.c (handle_vector_size_attribute): Use host_integerp
23530 and tree_int_cst; remove warnings.
23531 * caller-save.c (insert_restore): Add cast to get rid of warning.
23532 (insert_save): Likewise.
23533 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
23534 * regmove.c (find_matches): Add temporary var to kill a warning.
23535
23536 2002-01-01 Douglas B Rupp <rupp@gnat.com>
23537
23538 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
23539 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
23540 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
23541 (vms-dwarf2eh.o): Add Makefile rule.
23542 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
23543 * config/alpha/vms-dwarf2eh.asm: New file.
23544
23545 * gcc.c (delete_if_ordinary): Delete all versions.
23546
23547 2002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
23548
23549 * config/mmix/mmix.md: Update FIXME to not mention
23550 define_constants.
23551 (MMIX_rJ_REGNUM): New define_constants constant.
23552 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
23553 "*movdicc_real"): Adjust contraints formatting.
23554 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
23555 for branch prediction.
23556 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
23557 output template.
23558 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
23559 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
23560 number. Delete related FIXMEs.
23561 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
23562 from number to MMIX_rJ_REGNUM.
23563 (TARGET_MASK_BRANCH_PREDICT): New.
23564 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
23565 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
23566 value. Add -mbranch-predict and -mno-branch-predict.
23567 (TARGET_VERSION): Drop date.
23568 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
23569 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
23570 for finding out global symbols.
23571 (mmix_asm_output_labelref): Revert condition for global symbol.
23572 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
23573 (mmix_print_operand_punct_valid_p): A '+' is valid.
23574
23575 See ChangeLog.6 for earlier changes.