attribs.c (handle_alias_attribute): Don't call assemble_alias.
[gcc.git] / gcc / ChangeLog
1 2002-03-02 Richard Henderson <rth@redhat.com>
2
3 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
4 (handle_visibility_attribute): Don't call assemble_visibility.
5 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
6 without asmspec. Invoke assemble_alias when needed.
7 * varasm.c (maybe_assemble_visibility): New.
8 (assemble_start_function, assemble_variable, assemble_alias): Use it.
9
10 2002-03-02 Richard Henderson <rth@redhat.com>
11
12 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
13 invoke ENCODE_SECTION_INFO with first call flag.
14
15 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
16 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
17 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
18 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
19 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
20 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
21 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
22 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
23 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
24 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
25 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
26 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
27 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
28 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
29 config/mcore/mcore-protos.h, config/mcore/mcore.c,
30 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
31 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
32 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
33 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
34 config/sh/sh.h, config/sparc/sparc.h,
35 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
36 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
37 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
38 FIRST argument. As needed, examine it and do nothing.
39
40 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
41 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
42 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
43
44 * config/arm/t-pe (pe.o): Add dependencies.
45
46 2002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
47
48 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
49 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
50 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
51 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
52 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
53 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
54 * defaults.h (BITS_PER_UNIT): Define.
55 * doc/tm.texi (BITS_PER_UNIT): Document default value.
56
57 2002-03-02 Kazu Hirata <kazu@hxi.com>
58
59 * config/h8300/h8300-protos.h: Add a prototype for
60 compute_a_shift_length.
61 * config/h8300/h8300.c (h8300_asm_insn_count): New.
62 (compute_a_shift_length): Likewise.
63 (h8300_adjust_insn_length): Do not adjust insn length of shift
64 insns.
65 * config/h8300/h8300.md (anonymous shift patterns): Use
66 compute_a_shift_length.
67
68 Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
69
70 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
71 trunc_int_for_mode.
72
73 * emit-rtl.c (offset_address): Call update_temp_slot_address.
74
75 2002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
76
77 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
78 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
79 * flags.h (flag_zero_initialized_in_bss): Declare.
80 * toplev.c (flag_zero_initialized_in_bss): New flag.
81 (lang_independent_options): Add flag_zero_initialized_in_bss.
82 * tree.c (initializer_zerop): New function.
83 * tree.h (initializer_zerop): Declare.
84 * varasm.c (assemble_variable): If we can emit bss, put zero
85 initializers in the bss section.
86
87 2002-03-02 Alan Modra <amodra@bigpond.net.au>
88
89 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
90 like more than one symbol per .weak directive.
91
92 2002-03-01 Richard Henderson <rth@redhat.com>
93
94 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
95 adjust argument_pointer by pretend_args_size.
96 (ia64_va_start): Adjust va_start address by -pretend_args_size.
97
98 2002-03-01 Kazu Hirata <kazu@hxi.com>
99
100 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
101
102 Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
103
104 * toplev.c (rest_of_compilation): Delete dead jumptables before
105 loop.
106 * flow.c (delete_dead_jumptables): Make global.
107 * rtl.h (delete_dead_jumptables): Declare.
108
109 2002-03-01 David Edelsohn <edelsohn@gnu.org>
110
111 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
112 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
113 * config/rs6000/xcoff.h (COLLET_EXPORT_LIST): Delete.
114
115 2002-03-01 Kazu Hirata <kazu@hxi.com>
116
117 * config/h8300/h8300-protos.h: Fix formatting.
118 * config/h8300/h8300.c: Likewise.
119 * config/h8300/h8300.h: Likewise.
120
121 2002-03-01 Kazu Hirata <kazu@hxi.com>
122
123 * config/h8300/h8300.c (print_operand): Support 16-bit
124 constant addresses.
125 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
126
127 2002-02-28 Richard Henderson <rth@redhat.com>
128
129 * expmed.c (store_bit_field): Prevent generation of CONCATs;
130 pun complex values as integers; use gen_lowpart instead of
131 gen_rtx_SUBREG.
132 (extract_bit_field): Likewise.
133
134 2002-03-01 Alan Modra <amodra@bigpond.net.au>
135 David Edelsohn <edelsohn@gnu.org>
136
137 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
138 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
139 (SUPPORTS_WEAK): Likewise.
140 * output.h (add_weak): Add tree param.
141 * varasm.c (add_weak): Likewise. Save decl.
142 (struct weak_syms): Add decl field.
143 (mark_weak_decls): New function.
144 (init_varasm_once): ggc_add_root mark_weak_decls.
145 (assemble_start_function): Use ASM_WEAKEN_DECL.
146 (assemble_variable): Likewise.
147 (assemble_alias): Likewise.
148 (declare_weak): Pass decl to add_weak.
149 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
150 (remove_from_pending_weak_list): Declare and define for
151 ASM_WEAKEN_DECL.
152 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
153 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
154 * defaults.h (SUPPORTS_WEAK): Likewise.
155 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
156 .weak for code sym. Do emit .size for descriptor sym.
157 (ASM_DECLARE_FUNCTION_SIZE): Define.
158 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
159 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
160 .lglobl unless TARGET_XCOFF. Formatting fixes.
161 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
162 .weak for code sym.
163 (HANDLE_PRAGMA_WEAK): Remove.
164 (ASM_WEAKEN_LABEL): Remove.
165 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
166
167 2002-03-01 Jason Merrill <jason@redhat.com>
168
169 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
170 (TARGET_EXPR_CLEANUP): New macro.
171
172 2002-02-28 Steve Ellcey <sje@cup.hp.com>
173
174 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
175 to take ptr_extend into account as third type of extension.
176 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
177 fields used by SUBREG_PROMOTED_UNSIGNED_P.
178 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
179 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
180 * calls.c (precompute_arguments): Use new macro.
181 (expand_call): Ditto.
182 * combine.c (nonzero_bits): Ditto.
183 (record_promoted_value): Ditto.
184 * expr.c (store_expr): Ditto.
185 (expand_expr): Ditto.
186 * function.c (assign_parms): Ditto.
187
188 2002-02-28 Alexandre Oliva <aoliva@redhat.com>
189
190 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
191 override -shared and -shared-libgcc.
192
193 2002-02-28 David O'Brien <obrien@FreeBSD.org>
194
195 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
196 of "ultrasparc".
197 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
198 to be broken.
199
200 2002-02-28 Richard Henderson <rth@redhat.com>
201
202 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
203 4 cycle latency from MM producers.
204 (ia64_internal_sched_reorder): Likewise with pipeline flush.
205
206 2002-02-28 Jakub Jelinek <jakub@redhat.com>
207
208 * mklibgcc.in: Don't use GNU make extension.
209
210 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
211
212 * c-parse.in (STATIC): New terminal.
213 (scspec): New non-terminal. Update productions accordingly.
214 (program): Remove bogus ifc / end ifc.
215 (array_declarator): Simplify production using STATIC.
216
217 2002-02-28 Jim Meyering <meyering@lucent.com>
218
219 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
220 \a still means TARGET_BELL.
221
222 2002-02-28 Richard Henderson <rth@redhat.com>
223
224 * haifa-sched.c (sched_emit_insn): New.
225 (schedule_block): Use last_scheduled_insn to track last insn.
226 * sched-int.h (sched_emit_insn): Prototype.
227 * config/ia64/ia64.c (last_issued): Remove.
228 (ia64_variable_issue): Don't set it.
229 (nop_cycles_until): Use sched_emit_insn.
230
231 2002-02-28 Andrew MacLeod <amacleod@redhat.com>
232
233 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
234 extended constants.
235
236 2002-02-28 Kazu Hirata <kazu@hxi.com>
237
238 * config/h8300/h8300.c: Fix formatting.
239 * config/h8300/h8300.h: Likewise.
240
241 2002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
242
243 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
244 which may overwrite the high byte of the frame pointer.
245
246 2002-02-28 Bo Thorsen <bo@suse.de>
247
248 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
249 (STARTFILE_SPEC): Add 64 bit files.
250 (ENDFILE_SPEC): Likewise.
251
252 2002-02-28 Jason Merrill <jason@redhat.com>
253
254 * c-decl.c (finish_function): Only warn about missing return
255 statement with -Wreturn-type.
256
257 Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
258
259 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
260
261 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
262 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
263
264 Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
265
266 * basic-block.h (BB_REACHABLE): Renumber.
267 (BB_DIRTY, BB_NEW): New flags.
268 (clear_bb_flags): Declare.
269 (update_life_info_in_dirty_blocks): Declare.
270 * cfg.c (clear_bb_flags): New function.
271 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
272 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
273 reorder_insns, emit_insn_after): Mark block as dirty.
274 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
275 (update_life_info_in_dirty_blocks): New function.
276 * recog.c (apply_change_group): Dirtify block.
277
278 * cse.c (cse_insn): Reorder emitting of jump insn to keep
279 cfg consistent.
280 * gcse.c (delete_null_pointer_checks): Likewise.
281
282 * toplev.c (dump_file_index): Move cse2 after bp,
283 add DFI_null
284 (dump_file_info): Similary.
285 (rest_of_compilation): Avoid most of CFG rebuilds;
286 do first if converision after null pointer checks, do cse2
287 after branch prediction; avoid full liveness rebuild after
288 initializing subregs.
289 * invoke.texi (-d options): Document -du, renumber.
290
291 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
292 (notice_new_block): Do not set BB_UPDATE_LIFE.
293 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
294 merge_blocks_move_successor_nojumps, merge_blocks,
295 try_crossjump_to_edge): Likewise.
296 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
297 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
298 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
299 (merge_of_block): Do not use life_data_ok.
300 (find_if_case_1): Do not use SET_UPDATE_LIFE.
301 (if_convert): Use BB_DIRTY mechanizm to update life.
302 * lcm.c (optimize_mode_switching): Update
303 update_life_info_in_dirty_blocks
304
305 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
306
307 * Makefile.in (integrate.o): Update.
308 * c-decl.c (copy_lang_decl): Rename.
309 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
310 * integrate.c: Include langhooks.h.
311 (copy_decl_for_inlining): Update to use langhook.
312 * langhooks-def.h (lhd_do_nothing_t,
313 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
314 (LANG_HOOKS_INITIALIZER): Update.
315 * langhooks.c (lhd_do_nothing_t): New.
316 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
317 * tree.h (copy_lang_decl): Remove.
318 objc:
319 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
320
321 2002-02-27 Andrew MacLeod <amacleod@redhat.com>
322
323 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
324 POST_DEC, and POST_MODIFY.
325
326 2002-02-27 Zack Weinberg <zack@codesourcery.com>
327
328 * c-typeck.c (digest_init): Remove unused parameter; all
329 callers changed.
330
331 2002-02-27 Geoffrey Keating <geoffk@redhat.com>
332
333 * expmed.c (expand_shift): Correctly test for low part of a
334 subreg.
335
336 2002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
337
338 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
339 insn UIDs with insn addresses.
340
341 2002-02-27 Zack Weinberg <zack@codesourcery.com>
342
343 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
344 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
345 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
346 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
347 gcc.c, toplev.c: Delete code implementing -traditional mode.
348
349 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
350 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
351 Document removal of -traditional mode for compilation, and
352 remove documentation only relevant to that mode.
353
354 * config/nextstep.h, config/ptx4.h, config/svr4.h,
355 config/convex/convex.h, config/d30v/d30v.h,
356 config/i386/dgux.h, config/i386/osf1elf.h,
357 config/i386/osfelf.h, config/i386/osfrose.h,
358 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
359 config/m68k/hp310.h, config/m88k/dgux.h,
360 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
361 config/m88k/m88k.h, config/m88k/openbsd.h,
362 config/mips/abi64.h, config/mips/osfrose.h,
363 config/mips/svr4-5.h, config/mips/svr4-t.h,
364 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
365 config/stormy16/stormy16.h: Remove all references to
366 -traditional from target specs. Delete all mention of the
367 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
368 delete a couple of commented-out definitions of
369 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
370 to -traditional.
371
372 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
373 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
374
375 2002-02-27 Zack Weinberg <zack@codesourcery.com>
376
377 * mklibgcc.in: Don't use \n in a line subject to
378 interpretation by echo.
379
380 2002-02-27 Graham Stott <grahams@redhat.com>
381
382 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
383 Constify NAME.
384
385 * loop.c (prescan_loop): Handle PARALLEL.
386
387 * unroll.c (loop_iterations): Return 0 if the add_val for
388 a BIV is REG.
389
390 * final.c (output_operand_lossage): Constify PFX_STR.
391
392 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
393
394 Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
395
396 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
397 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
398
399 Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
400
401 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
402
403 2002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
404
405 * cpplex.c (_cpp_lex_token): Handle directives in macro
406 arguments.
407 * cpplib.c (_cpp_handle_directive): Save and restore state
408 if parsing macro args when entering a directive.
409 * cppmacro.c (collect_args): No need to handle directives
410 in macro arguments.
411 (enter_macro_context, replace_args): Use the original macro
412 definition in case it was redefined whilst collecting arguments.
413 doc:
414 * cpp.texi: Update.
415
416 2002-02-26 David Edelsohn <edelsohn@gnu.org>
417
418 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
419 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
420 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
421 method on AIX.
422 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
423 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
424 (load_toc_v4_PIC_2): Same.
425
426 2002-02-26 Alan Modra <amodra@bigpond.net.au>
427
428 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
429
430 2002-02-26 Richard Henderson <rth@redhat.com>
431
432 * config/alpha/alpha.md (ashldi_se): Re-enable.
433
434 2002-02-26 Richard Henderson <rth@redhat.com>
435
436 * config/alpha/alpha.c (alpha_encode_section_info): Examine
437 MODULE_LOCAL_P; improve commentary.
438
439 2002-02-26 Zack Weinberg <zack@codesourcery.com>
440
441 * doc/cpp.texi: Clarify documentation of relationship between
442 #line and #include.
443
444 2002-02-26 Kazu Hirata <kazu@hxi.com>
445
446 * config/h8300/h8300-protos.h: Update the prototype for
447 compute_logical_op_length. Add the prototype for
448 compute_logical_op_cc.
449 * config/h8300/h8300.c (compute_logical_op_length): Figure out
450 code from operands.
451 (compute_logical_op_cc): New.
452 * config/h8300/h8300.md: Combine all the logical op patterns
453 in HImode and SImode. Use compute_logical_op_cc.
454
455 2002-02-26 Kelley Cook <kelleycook@comcast.net>
456
457 * config/i386/i386.c (print_operand): Don't append ATT-style
458 length suffixs to x87 opcodes when in Intel mode.
459
460 2002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
461
462 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
463 (init_emit_once): Update calls.
464 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
465 (init_syntax_once): Prototype.
466
467 2002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
468
469 * pa-linux.h (LIB_SPEC): Update definition.
470 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
471
472 2002-02-26 Richard Henderson <rth@redhat.com>
473
474 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
475 if we emitted a stop bit.
476
477 2002-02-26 Jakub Jelinek <jakub@redhat.com>
478
479 * configure.in (libgcc_visibility): Substitute.
480 * configure: Rebuilt.
481 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
482 defined symbols .hidden.
483
484 2002-02-26 Jakub Jelinek <jakub@redhat.com>
485
486 * attribs.c (c_common_attribute_table): Add visibility.
487 (handle_visibility_attribute): New function.
488 * varasm.c (assemble_visibility): New function.
489 * output.h (assemble_visibility): Add prototype.
490 * tree.h (MODULE_LOCAL_P): Define.
491 * crtstuff.c (__dso_handle): Use visibility attribute.
492 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
493 for MODULE_LOCAL_P symbols too.
494 * config/ia64/ia64.c (ia64_encode_section_info): Handle
495 MODULE_LOCAL_P symbols the same way as local symbols.
496 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
497 into .sdata/.sbss by the user.
498 * doc/extend.texi (Function Attributes): Document visibility
499 attribute.
500
501 2002-02-26 Jakub Jelinek <jakub@redhat.com>
502
503 PR debug/5770
504 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
505 STRING_CST initializer spanning the whole variable without
506 embedded zeros.
507 If expand_expr returned MEM, don't use it.
508
509 2002-02-26 Alexandre Oliva <aoliva@redhat.com>
510
511 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
512 generate a die for the lexical block.
513
514 2002-02-26 Kazu Hirata <kazu@hxi.com>
515
516 * config/h8300/h8300-protos.h: Add a prototype for
517 compute_logical_op_length.
518 * config/h8300/h8300.c (compute_logical_op_length): New.
519 * config/h8300/h8300.md (anonymous logical patterns): Use
520 compute_logical_op_length for length.
521
522 2002-02-26 Aldy Hernandez <aldyh@redhat.com>
523
524 * dwarf2out.c (modified_type_die): Do not call type_main_variant
525 for vectors.
526 (gen_type_die): Same.
527
528 * attribs.c (handle_vector_size_attribute): Set debug information.
529
530 2002-02-26 Daniel Egger <degger@fhm.edu>
531
532 * config/rs6000/rs6000.md: Swap define_insn attributes to
533 fix incorrect generation of merge high instructions instead
534 of merge low.
535
536 2002-02-26 Aldy Hernandez <aldyh@redhat.com>
537
538 * c-typeck.c (really_start_incremental_init): Use
539 bitsize_zero_node for vectors.
540
541 2002-02-26 Aldy Hernandez <aldyh@redhat.com>
542
543 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
544 ("*set_vrsave_internal"): Same.
545
546 2002-02-25 Richard Henderson <rth@redhat.com>
547
548 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
549 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
550
551 2002-02-25 Jakub Jelinek <jakub@redhat.com>
552
553 PR target/5755
554 * config/i386/i386.c (ix86_return_pops_args): Only pop
555 fake structure return argument if it was passed on the stack.
556
557 2002-02-25 Jason Merrill <jason@redhat.com>
558
559 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
560 RESULT_DECL.
561
562 2002-02-25 Alexandre Oliva <aoliva@redhat.com>
563
564 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
565 link with shared_name only.
566 * doc/invoke.texi (Link Options): Document new behavior.
567
568 2002-02-25 Aldy Hernandez <aldyh@redhat.com>
569
570 * c-typeck.c (push_init_level): Handle vectors.
571
572 2002-02-25 Alexandre Oliva <aoliva@redhat.com>
573
574 * config/sparc/sparc.c (const64_high_operand): Zero-extend
575 operands of SPARC_SETHI_P.
576 (input_operand): Likewise.
577 (sparc_emit_set_const32): Likewise.
578 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
579 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
580 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
581 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
582 (movdi_insn_sp64_vis): Likewise.
583 (movdi split, movdf split): Use SETHI32.
584 * doc/md.texi: Document SPARC constraints L, M and N.
585
586 2002-02-25 Aldy Hernandez <aldyh@redhat.com>
587
588 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
589 ("*set_vrsave_internal"): use mfspr for Darwin.
590
591 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
592 gen_get_vrsave_internal.
593
594 Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
595
596 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
597
598 2002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
599
600 * cpplex.c (cpp_interpret_charconst): Get signedness or
601 otherwise of wide character constants correct.
602 * cppexp.c (lex): Get signedness of wide charconsts correct.
603
604 Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
605
606 * optabs.c (widen_operand): Only call convert_modes for
607 promoted SUBREG if signedness matches.
608 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
609
610 2002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
611
612 * cpplib.c (glue_header_name): Use local buffer to build up
613 header name.
614
615 2002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
616
617 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
618
619 2002-02-23 Kazu Hirata <kazu@hxi.com>
620
621 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
622 H8/300[HS] separately.
623 * config/h8300/h8300.md: Remove the early clobber constraint
624 from bit field patterns.
625
626 2002-02-23 Kazu Hirata <kazu@hxi.com>
627
628 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
629 register_operand.
630 (mulhisi3): Likewise.
631 (umulqisi3): Likewise.
632 (umulhisi3): Likewise.
633
634 2002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
635
636 * cppinit.c (output_deps): Correct test for stdout output.
637 (init_dependency_output): Cure warning.
638
639 Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
640
641 * expr.c (store_expr): When converting expression to promoted
642 equivalent type, allow using SUBREG_REG of TARGET as the target
643 of the expansion of EXP.
644 * loop.c (basic_induction_var, case SUBREG): Always look inside.
645 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
646 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
647 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
648 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
649
650 2002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
651
652 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
653 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
654 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
655
656 2002-02-23 Jakub Jelinek <jakub@redhat.com>
657
658 PR optimization/5747
659 * loop.c (scan_loop): Update reg info if move_movables created new
660 pseudos.
661
662 2002-02-23 David Edelsohn <edelsohn@gnu.org>
663
664 * gcc.c (init_gcc_spec): Revert last change.
665
666 2002-02-23 David Edelsohn <edelsohn@gnu.org>
667
668 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
669 gpc_reg_operand constraint.
670
671 2002-02-23 Alan Modra <amodra@bigpond.net.au>
672
673 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
674 Simplify comparison of `low'.
675 (add_operand): Fix formatting.
676 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
677 (mask_operand): Disallow mask to wrap in 64-bit mode.
678 (rs6000_stack_info): Remove redundant test setting push_p.
679 (output_toc): Fix formatting.
680 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
681 cc_reg_not_cr0_operand constraint.
682 (booldi3, boolcdi3 splitters): Same.
683
684 2002-02-23 Aldy Hernandez <aldyh@redhat.com>
685
686 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
687
688 2002-02-22 David Edelsohn <edelsohn@gnu.org>
689
690 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
691 gcc invoked with -shared-libgcc.
692
693 2002-02-22 Jakub Jelinek <jakub@redhat.com>
694
695 PR c++/5748
696 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
697 decl if any of elements was TREE_USED.
698
699 2002-02-22 Alexandre Oliva <aoliva@redhat.com>
700
701 * config/sparc/sol2.h: Don't include sys/mman.h.
702 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
703 (arith_4096_operand): Don't throw high bits away.
704 (const64_operand): Take sign extension of CONST_INTs into account.
705 (const64_high_operand, sparc_emit_set_const32): Likewise.
706 (GEN_HIGHINT64): Likewise.
707 (sparc_emit_set_const64_quick1): Likewise.
708 (const64_is_2insns): Likewise.
709 (print_operand): Use trunc_int_for_mode for sign extension.
710 * config/sparc/sparc.h (SMALL_INT32): Likewise.
711 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
712 chars. Assume CONST_INT is already properly sign-extended.
713 (movdi split): Sign-extend each SImode part.
714 (andsi3 split): Don't mask high bits off, so that result
715 remains properly sign-extend.
716 (iorsi3 split): Likewise.
717 (xorsi3 split): Likewise.
718
719 2002-02-22 Richard Sandiford <rsandifo@redhat.com>
720
721 * fold-const.c (fold): Fix typo in comments.
722
723 2002-02-21 Diego Novillo <dnovillo@redhat.com>
724
725 * Makefile.in (langhooks.o): Update dependencies.
726
727 2002-02-21 Diego Novillo <dnovillo@redhat.com>
728
729 * langhooks.c: Include flags.h.
730
731 2002-02-21 Aldy Hernandez <aldyh@redhat.com>
732
733 * testsuite/gcc.dg/attr-alwaysinline.c: New.
734
735 * c-common.c (c_common_post_options): Set inline trees by
736 default.
737
738 * doc/extend.texi (Function Attributes): Document always_inline
739 attribute.
740 Update documentation about inlining when not optimizing.
741
742 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
743
744 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
745 unless DECL_ALWAYS_INLINE.
746
747 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
748 unless DECL_ALWAYS_INLINE.
749 (c_disregard_inline_limits): Disregard if always_inline set.
750
751 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
752 Disregard if always_inline set.
753 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
754 unless DECL_ALWAYS_INLINE.
755
756 * attribs.c (handle_always_inline_attribute): New.
757 (c_common_attribute_table): Add always_inline.
758
759 * config/rs6000/altivec.h: Add prototypes for builtins
760 requiring the always_inline attribute.
761
762 2002-02-21 Eric Christopher <echristo@redhat.com>
763
764 * expmed.c (store_bit_field): Try to simplify the subreg
765 before generating a new one when when the mode size of
766 value is less than maxmode.
767
768 2002-02-21 Richard Henderson <rth@redhat.com>
769
770 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
771 than gen_rtx_PLUS to form the sum.
772 * explow.c (force_reg): Rearrange to not allocate new pseudo
773 when force_operand returns a register.
774 * expr.c (expand_assignment): Allow offset_rtx expansion to
775 return a sum. Do not force addresses into registers.
776 (expand_expr): Likewise.
777 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
778 to canonicalize arithmetic that didn't simpify.
779 (simplify_plus_minus): New argument force; update
780 all callers. Don't split CONST unless we can do something with it,
781 and wouldn't lose the constness of the operands.
782
783 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
784 that we generated earlier.
785
786 2002-02-21 Tom Tromey <tromey@redhat.com>
787
788 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
789 (output_line_info): Use constant `1', with a long explanatory
790 comment.
791 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
792
793 Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
794
795 * jump.c (redirect_jump): If old label has no UID, don't try to
796 delete it.
797
798 Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
799
800 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
801 If input is constant, do shifts at compile time.
802
803 2002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
804
805 * doc/extend.texi: Fix some more overfull hboxes.
806
807 2002-02-21 Jakub Jelinek <jakub@redhat.com>
808
809 PR optimization/4994
810 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
811 register moves.
812
813 2002-02-21 Jakub Jelinek <jakub@redhat.com>
814
815 PR c++/4574
816 * expr.h (expand_and): Add mode argument.
817 * expmed.c (expand_and): Add mode argument.
818 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
819 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
820 * except.c (expand_builtin_extract_return_addr): Likewise.
821 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
822 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
823 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
824 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
825 * config/c4x/c4x.md: Use GEN_INT (x) instead of
826 gen_rtx (CONST_INT, VOIDmode, x).
827
828 2002-02-21 Jakub Jelinek <jakub@redhat.com>
829
830 PR c/4697:
831 * stmt.c (warn_if_unused_value): Move side effects test once more.
832
833 2002-02-20 Torbjorn Granlund <tege@swox.com>
834
835 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
836 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
837
838 Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
839
840 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
841 SUBREG or ZERO_EXTEND.
842
843 Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
844
845 * sh.h (current_function_anonymous_args): Remove.
846 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
847 of current_function_varargs and current_function_stdarg is set.
848 * sh.c (sh_expand_prologue): Check current_function_varargs /
849 current_function_stdarg / TARGET_SH5 instead of
850 current_function_anonymous_args.
851
852 * sh64.h (TARGET_VERSION): Define.
853
854 2002-02-20 David Edelsohn <edelsohn@gnu.org>
855
856 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
857 VRSAVE_REGNO on TARGET_ALTIVEC.
858
859 2002-02-20 Alan Modra <amodra@bigpond.net.au>
860
861 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
862 bits of SImode const_int.
863 (includes_rshift_p): Likewise.
864 (print_operand): Call mask_operand and mask64_operand with correct
865 mode.
866 (rs6000_output_function_epilogue): Pad traceback table to word.
867 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
868 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
869 mask64_operand with correct mode.
870 (FUNCTION_ARG_REGNO_P): Correct parentheses.
871
872 2002-02-20 Jakub Jelinek <jakub@redhat.com>
873
874 PR debug/4461
875 * varasm.c (get_pool_constant_mark): New.
876 * rtl.h (get_pool_constant_mark): Add prototype.
877 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
878 be represented if it has not been output.
879
880 2002-02-20 Alexandre Oliva <aoliva@redhat.com>
881
882 * combine.c (do_SUBST): Sanity check substitutions of
883 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
884 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
885 CONST_INT into its operand.
886 (known_cond): Likewise, for ZERO_EXTEND.
887 * simplify-rtx.c (simplify_unary_operation): Fix condition to
888 allow for simplification of wide modes. Reject CONST_INTs in
889 ZERO_EXTEND when their actual mode is not given.
890
891 2002-02-20 Alexandre Oliva <aoliva@redhat.com>
892
893 * c-decl.c (pushdecl): If no global declaration is found for an
894 extern declaration in block scope, try a limbo one.
895
896 2002-02-20 Jakub Jelinek <jakub@redhat.com>
897
898 PR c++/4401
899 * c-common.c (pointer_int_sum): Moved from...
900 * c-typeck.c (pointer_int_sum): ...here.
901 * c-common.h (pointer_int_sum): Add prototype.
902
903 2002-02-20 Jakub Jelinek <jakub@redhat.com>
904
905 PR c++/5713
906 * c-decl.c (duplicate_decls): Return 0 if issued error about
907 redeclaration.
908
909 2002-02-20 Roger Sayle <roger@eyesopen.com>
910 Jakub Jelinek <jakub@redhat.com>
911
912 PR c/4389
913 * tree.c (host_integerp): Ensure that the constant integer is
914 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
915 when pos is zero or non-zero respectively. Clarify comment.
916 * c-format.c (check_format_info_recurse): Fix host_integerp
917 usage; the pos argument should be zero when assigning to a
918 signed HOST_WIDE_INT.
919
920 2002-02-20 Richard Henderson <rth@redhat.com>
921
922 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
923 of the operand, rather than assuming TImode.
924 (ix86_expand_binop_builtin): Cope with commutative patterns
925 using nonimmediate_operand for both operands.
926 (ix86_expand_timode_binop_builtin): Likewise.
927 (ix86_expand_store_builtin): Validate operand 1.
928 (ix86_expand_unop1_builtin): Likewise.
929
930 2002-02-20 Philip Blundell <philb@gnu.org>
931
932 PR 5705
933 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
934
935 2002-02-20 Richard Henderson <rth@redhat.com>
936
937 PR c/5615
938 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
939
940 2002-02-20 Tom Tromey <tromey@redhat.com>
941
942 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
943 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
944 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
945 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
946 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
947 unconditionally.
948
949 Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
950
951 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
952 for (const_int 0) in X not just INTVAL.
953
954 2002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
955
956 * doc/extend.texi: Avoid or reduce overfull hboxes.
957
958 2002-02-20 Diego Novillo <dnovillo@redhat.com>
959
960 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
961 operations if the field does not start at a mode boundary.
962
963 2001-02-20 Joel Sherrill <joel@OARcorp.com>
964
965 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
966 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
967 Also done for -Acpu and -Amachine.
968
969 2002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
970
971 * cppinit.c (init_dependency_output): Take deps output file
972 from -o if none given with -MF. Suppress normal output.
973 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
974 * doc/cpp.texi, doc/invoke.texi: Update.
975
976 2002-02-19 Zack Weinberg <zack@codesourcery.com>
977
978 * toplev.c (output_quoted_string): Write unprintable
979 characters with octal escapes.
980
981 2002-02-19 David Edelsohn <edelsohn@gnu.org>
982
983 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
984 really_call_used[VRSAVE_REGNO] if not Altivec.
985
986 2002-02-19 Alan Modra <amodra@bigpond.net.au>
987
988 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
989 MODE_MASK.
990 (constant_pool_expr_1): Fix formatting.
991 (rs6000_legitimize_reload_address): Likewise.
992
993 Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
994
995 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
996 now that we have one.
997
998 2002-02-19 Zack Weinberg <zack@codesourcery.com>
999
1000 * tree.h (struct tree_common): Remove aux. Add unused_0 at
1001 end of first block of bitfields (which was only seven bits);
1002 rename dummy to unused_1; remove comment which is no longer true.
1003
1004 2002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
1005
1006 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
1007
1008 2002-02-19 Philip Blundell <pb@nexus.co.uk>
1009
1010 PR 5399
1011 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
1012 if generating PIC.
1013
1014 PR 5054
1015 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
1016 arm_is_longcall_p rather than inspecting call-type cookie
1017 directly.
1018 (call_value_insn) [TARGET_THUMB]: Likewise.
1019
1020 2002-02-19 Graham Stott <grahams@redhat.com>
1021
1022 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
1023
1024 2002-02-19 David Edelsohn <edelsohn@gnu.org>
1025
1026 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
1027 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
1028 (FP_SAVE_INLINE): Delete.
1029
1030 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
1031 * config/rs6000/eabi.asm: Remove ABI save restore routines.
1032 * config/rs6000/t-ppccomm: Build crtsavres.o.
1033 * config/rs6000/crtsavres.asm: New file.
1034
1035 2002-02-19 Philip Blundell <philb@gnu.org>
1036
1037 * config/arm/arm.c (use_return_insn): Don't reject interrupt
1038 functions.
1039 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
1040 (output_return_instruction): Allow interrupt functions to return with
1041 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
1042 (arm_expand_prologue): Subtract 4 before stacking LR in an
1043 interrupt function.
1044
1045 2002-02-19 Philip Blundell <pb@nexus.co.uk>
1046
1047 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
1048 decl, not just FUNCTION_DECL.
1049 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
1050 (arm_assemble_integer): Likewise.
1051 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
1052 marked local.
1053
1054 2002-02-19 matthew green <mrg@eterna.com.au>
1055
1056 * config.gcc (sparc-*-netbsdelf*): Enable target.
1057 (sparc64-*-netbsd*): New target.
1058 * config/sparc/netbsd-elf.h: New file.
1059 * config/sparc/t-netbsd64: New file.
1060
1061 2002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
1062
1063 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
1064
1065 2002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
1066
1067 * doc/invoke.texi: explicitly list the style guidelines that
1068 -Weffc++ checks for.
1069
1070 Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
1071
1072 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
1073
1074 2002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
1075
1076 PR other/5718
1077 * gcc.c (cpp_unique_options): Treat -o as indicating object file
1078 only if not -E. If -E, pass -o through to the preprocessor.
1079
1080 2002-02-19 Kazu Hirata <kazu@hxi.com>
1081
1082 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
1083 register number with an appropriate macro.
1084
1085 2002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1086
1087 * doc/rtl.texi (Constants): Close @code tag.
1088
1089 2002-02-19 Aldy Hernandez <aldyh@redhat.com>
1090
1091 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
1092 ("mmx_uavgv4hi3"): Same.
1093 ("pmulhrwv4hi3"): Same.
1094
1095 * tree-inline.c (walk_tree): Handle vectors.
1096
1097 * c-common.c (constant_expression_warning): Handle vectors.
1098 (overflow_warning): Same.
1099
1100 * sched-deps.c (sched_analyze_2): Handle vectors.
1101
1102 * rtlanal.c (rtx_unstable_p): Handle vectors.
1103 (rtx_varies_p): Same.
1104 (count_occurrences): Same.
1105 (regs_set_between_p): Same.
1106 (modified_between_p): Same.
1107 (modified_in_p): Same.
1108 (volatile_insn_p): Same.
1109 (volatile_refs_p): Same.
1110 (side_effects_p): Same.
1111 (may_trap_p): Same.
1112 (inequality_comparisons_p): Same.
1113 (replace_regs): Same.
1114 (computed_jump_p_1): Same.
1115
1116 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
1117 argument.
1118 (inner_mode_array): New.
1119 (copy_rtx): Handle vectors.
1120 (copy_most_rtx): Same.
1121 (rtx_equal_p): Same.
1122 (get_mode_alignment): Adjust for vectors.
1123
1124 * resource.c (mark_referenced_resources): Handle vectors.
1125 (mark_set_resources): Same.
1126
1127 * reload1.c (eliminate_regs): Handle vectors.
1128 (elimination_effects): Same.
1129 (scan_paradoxical_subregs): Same.
1130
1131 * reload.c (subst_reg_equivs): Handle vectors.
1132
1133 * regrename.c (scan_rtx): Handle vectors.
1134
1135 * regclass.c (reg_scan_mark_refs): Handle vectors.
1136
1137 * recog.c (find_single_use_1): Handle vectors.
1138
1139 * local-alloc.c (equiv_init_varies_p): Handle vectors.
1140 (contains_replace_regs): Same.
1141 (memref_referenced_p): Same.
1142
1143 * integrate.c (copy_rtx_and_substitute): Handle vectors.
1144 (subst_constants): Same.
1145
1146 * genattrtab.c (attr_copy_rtx): Handle vectors.
1147 (encode_units_mask): Same.
1148 (clear_struct_flag): Same.
1149 (count_sub_rtxs): Same.
1150
1151 * gcse.c (want_to_gcse_p): Handle vectors.
1152 (oprs_unchanged_p): Same.
1153 (hash_expr_1): Same.
1154 (oprs_not_set_p): Same.
1155 (expr_killed_p): Same.
1156 (compute_transp): Same.
1157 (store_ops_ok): Same.
1158
1159 * function.c (purge_addressof_1): Do not allow paradoxical subregs
1160 of vectors.
1161 (fixup_var_refs_1): Same.
1162 (instantiate_virtual_regs_1): Same.
1163
1164 * fold-const.c (operand_equal_p): Handle vectors.
1165 (fold): Same.
1166 (rtl_expr_nonnegative_p): Same.
1167
1168 * flow.c (mark_used_regs): Handle vectors.
1169
1170 * df.c (df_uses_record): Handle vectors.
1171
1172 * cselib.c (cselib_subst_to_values): Handle vectors.
1173 (cselib_mem_conflict_p): Same.
1174 (hash_rtx): Same.
1175
1176 * cse.c (canon_reg): Handle vectors.
1177 (fold_rt): Same.
1178 (cse_process_notes): Same.
1179 (count_reg_usage): Same.
1180 (canon_hash): Same.
1181
1182 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
1183
1184 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
1185
1186 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
1187 (gen_rtx): Handle CONST_VECTOR.
1188 (gen_const_vector_0): New.
1189 (copy_rtx_if_shared): CONST_VECTORs can be shared.
1190 (reset_used_flags): Same.
1191 (copy_insn_1): Same.
1192 (initializer_constant_valid_p): Handle VECTOR_CST.
1193
1194 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
1195
1196 * doc/rtl.texi (Constants): Document const_vector.
1197 (CONST0_RTX): Update for vectors.
1198 (RTL sharing): Same.
1199
1200 * print-tree.c (print_node): Add case for VECTOR_CST.
1201
1202 * tree.h (TREE_VECTOR_CST_ELTS): New.
1203 (struct tree_vector): New.
1204 (union tree_node): Add vector node.
1205 (build_vector): Add prototype.
1206
1207 * tree.def (VECTOR_CST): New.
1208
1209 * tree.c (build_vector): New.
1210
1211 * expmed.c (make_tree): Handle CONST_VECTOR.
1212
1213 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
1214 (CONST_VECTOR_ELT): New.
1215 (CONST_VECTOR_NUNITS): New.
1216
1217 * machmode.h (GET_MODE_INNER): New.
1218 (DEF_MACHMODE): Accept 8th arg.
1219
1220 * machmode.def: Add 8th argument for vector inner mode.
1221 Add inner vector modes for vectors.
1222
1223 * rtl.def (VEC_CONST): Remove.
1224 (CONST_VECTOR): New.
1225
1226 * expr.c (clear_storage): Allow vectors.
1227 (is_zeros_p): Handle VECTOR_CST.
1228
1229 * varasm.c (output_constant_pool): Handle vectors.
1230 (rtx_const): Add veclo and vechi fields.
1231 (kind): Add RTX_VECTOR.
1232 (decode_rtx_const): Add case for vector.
1233
1234 * config/rs6000/rs6000-protos.h: Add zero_constant.
1235
1236 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
1237 constants. Force easy vector constants into memory.
1238 (easy_vector_constant): New.
1239 (emit_easy_vector_constant): New.
1240 (rs6000_legitimize_reload_address): Do not generate bad reloads on
1241 darwin.
1242
1243 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
1244 instruction does.
1245 ("altivec_lvxl"): Same.
1246 (altivec_lvebx): Same.
1247 (altivec_lvehx): Same.
1248 (altivec_lvewx): Same.
1249 ("*movv4si_const0"): New.
1250 ("*movv4sf_const0"): New.
1251 ("*movv8hi_const0"): New.
1252 ("*movv16qi_const0"): New.
1253
1254 2002-02-18 Kazu Hirata <kazu@hxi.com>
1255
1256 * config/h8300/h8300.c (notice_update_cc): Use
1257 cc_status.value2.
1258
1259 2002-02-18 Kazu Hirata <kazu@hxi.com>
1260
1261 * config/h8300/h8300.md (divmod patterns): Change the
1262 constraints for operands[1] to register_operand.
1263
1264 2002-02-18 Kazu Hirata <kazu@hxi.com>
1265
1266 * config/h8300/h8300-protos.h: Remove the prototype for
1267 p_operand.
1268 * config/h8300/h8300.c (p_operand): Remove.
1269 * config/h8300/h8300.md: Replace p_operand with
1270 const_int_operand.
1271
1272 2002-02-18 Philip Blundell <pb@nexus.co.uk>
1273
1274 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
1275 comment.
1276 (output_return_instruction): Allow use of LDR to unstack
1277 return addresss even for interrupt handlers or when
1278 interworking. If compiling for ARMv5, use interworking-safe
1279 return instructions by default. Remove duplicated code and
1280 lengthy "strcat" sequences.
1281
1282 2002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1283
1284 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1285 (LINK_EH_SPEC): Define.
1286 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1287
1288 2002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
1289
1290 * config/s390/s390.c (s390_emit_prologue): Do not set the
1291 frame_related flag for call-clobbered registers.
1292
1293 Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
1294
1295 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
1296 (construct_container): Fix handling of SSE operands.
1297 (ix86_expand_builtin): Fix handling of 64bit pointers.
1298 (mmx_maskmovq_rex): New pattern.
1299
1300 Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
1301
1302 * regrename.c (kill_set_value): Handle subregs properly.
1303
1304 2002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
1305
1306 * objc/objc-act.c (handle_impent): Remove leading '*'
1307 from objc_class_name.
1308
1309 2002-02-17 Richard Henderson <rth@redhat.com>
1310
1311 * config/alpha/alpha.c (some_small_symbolic_operand,
1312 some_small_symbolic_operand_1, split_small_symbolic_operand,
1313 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
1314 Handle small SYMBOL_REFs anywhere, not just inside memories.
1315 * config/alpha/alpha-protos.h: Update.
1316 * config/alpha/alpha.h (PREDICATE_CODES): Update.
1317 * config/alpha/alpha.md (small symbolic operand splitter): Update.
1318
1319 2002-02-17 Roland McGrath <roland@frob.com>
1320
1321 * config.gcc (powerpc-*-gnu-gnualtivec*,
1322 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
1323 * config/rs6000/gnu.h: New file.
1324 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
1325 Grok "gnu" in rs6000_abi_name.
1326 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
1327 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
1328 Grok -mcall-gnu analogous to -mcall-linux et al.
1329 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
1330 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
1331 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
1332
1333 2002-02-17 Jakub Jelinek <jakub@redhat.com>
1334
1335 PR c/3444:
1336 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
1337 shortening.
1338
1339 2002-02-17 Philipp Thomas <pthomas@suse.de>
1340
1341 * config/cris/cris.h: Undefine STARTFILE_SPEC and
1342 ENDFILE_SPEC before (re)defining them.
1343
1344 2002-02-17 Kazu Hirata <kazu@hxi.com>
1345
1346 * config/h8300/h8300.c: Fix formatting.
1347 * config/h8300/h8300.h: Likewise.
1348
1349 2002-02-17 Philipp Thomas <pthomas@suse.de>
1350
1351 * doc/tm.texi: Explain why empty strings should not be
1352 marked for translation.
1353
1354 2002-02-17 Philipp Thomas <pthomas@suse.de>
1355
1356 * final.c (output_operand_lossage): Changed to accept
1357 printf style arguments. Change calls where necessary.
1358 * output.h (output_operand_lossage): Change declaration
1359 accordingly. Update copyright.
1360 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
1361 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
1362 Update copyright date where necessary.
1363
1364 * config/i386/i386.c (print_operand): Likewise. Remove use of
1365 sprintf.
1366
1367 * config/cris/cris.c (cris_operand_lossage): Likewise.
1368 Rename parameter so that exgettext recognizes it as
1369 translatable message.
1370 (LOSE_AND_RETURN): Rename parameter to msgid.
1371
1372 2002-02-17 Kazu Hirata <kazu@hxi.com>
1373
1374 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
1375 hard coded register number with an appropriate macro.
1376 (HARD_REGNO_MODE_OK): Likewise.
1377 (ARG_POINTER_REGNUM): Likewise.
1378 (STATIC_CHAIN_REGNUM): Likewise.
1379 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
1380 * config/h8300/h8300.md (define_constants): Define more
1381 register numbers.
1382
1383 2002-02-17 Philipp Thomas <pthomas@suse.de>
1384
1385 * config/i386/i386.h: Don't mark empty strings for translation.
1386
1387 2002-02-16 H.J. Lu <hjl@gnu.org>
1388
1389 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1390
1391 2002-02-16 Zack Weinberg <zack@codesourcery.com>
1392
1393 * cppinit.c (merge_include_chains): Check for brack being
1394 NULL before attempting to merge it with qtail.
1395
1396 2002-02-16 Andrew Cagney <ac131313@redhat.com>
1397
1398 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
1399 DBX_DEBUG.
1400
1401 2002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
1402
1403 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
1404
1405 2002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
1406
1407 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
1408 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
1409 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
1410
1411 Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1412
1413 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1414 now only if !TARGET_FIX.
1415 (*movsi_nt_vms_fix): New pattern.
1416
1417 2002-02-16 Douglas B Rupp <rupp@gnat.com>
1418
1419 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
1420 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
1421 (alpha_sa_mask, alpha_sa_size): Reflect above change.
1422 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
1423 (alpha_start_function, alpha_expand_epilogue): Likewise.
1424 (unicosmk_gen_dsib): Likewise.
1425
1426 Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1427
1428 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
1429
1430 2002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
1431
1432 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
1433 check_and_change_labels, s390_final_chunkify): Delete.
1434 (s390_split_branches, s390_chunkify_pool): New functions.
1435 (s390_function_prologue): Call them.
1436
1437 * config/s390/s390.h (S390_REL_MAX): Delete.
1438 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
1439
1440 * config/s390/s390.md (cjump, icjump, jump): Fix length
1441 attribute calculation.
1442
1443
1444 2002-02-15 David Edelsohn <edelsohn@gnu.org>
1445
1446 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
1447 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
1448
1449 2002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
1450
1451 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
1452 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
1453 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
1454
1455 2002-02-15 Richard Sandiford <rsandifo@redhat.com>
1456
1457 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
1458
1459 2002-02-15 Richard Sandiford <rsandifo@redhat.com>
1460
1461 * reload.c (find_dummy_reload): Check that an output register
1462 is valid for its mode.
1463
1464 2002-02-14 Alexandre Oliva <aoliva@redhat.com>
1465
1466 * combine.c (known_cond): After replacing the REG of a SUBREG, try
1467 to simplify it.
1468
1469 * function.c (assign_parms): Demote promoted argument passed by
1470 transparent reference.
1471
1472 2001-02-14 Joel Sherrill <joel@OARcorp.com>
1473
1474 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
1475 -Acpu() and -Amachine() to eliminate warnings.
1476
1477 2002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
1478
1479 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
1480
1481 2002-02-14 Kazu Hirata <kazu@hxi.com>
1482
1483 * config/h8300/h8300-protos.h: Update the prototype for
1484 const_costs.
1485 * config/h8300/h8300.c (const_costs): Treat SET as a little
1486 more expensive operation.
1487 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
1488 reference to const_costs.
1489
1490 2002-02-14 Hans-Peter Nilsson <hp@axis.com>
1491
1492 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
1493
1494 2002-02-14 Jakub Jelinek <jakub@redhat.com>
1495
1496 PR c/5503:
1497 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
1498 use arguments from newtype.
1499
1500 2002-02-13 Eric Christopher <echristo@redhat.com>
1501
1502 * config/mips/mips.c (override_options): Add check for march/mipsX
1503 on the same command line. Fix error message in cpu processing.
1504 Remove architecture and ISA checks.
1505
1506 2002-02-14 Aldy Hernandez <aldyh@redhat.com>
1507
1508 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
1509
1510 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
1511
1512 2002-02-14 Aldy Hernandez <aldyh@redhat.com>
1513
1514 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
1515 alternatives.
1516 ("*movv8hi_internal1"): Same.
1517 ("*movv16qi_internal1"): Same.
1518 ("*movv4sf_internal1"): Same.
1519
1520 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
1521 not push_reload for altivec modes.
1522
1523 2002-02-13 Joel Sherrill <joel@OARcorp.com>
1524
1525 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
1526 all RTEMS targets including removal of #includes from config/*/rtems*.h
1527 file and adding them to tm_file setting. Added xm_defines=POSIX to
1528 many targets.
1529 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
1530 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
1531 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
1532 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
1533 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
1534 config/m68k/rtemself.h: Ditto.
1535 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
1536 config/mips/rtems64.h: Ditto.
1537 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
1538 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
1539 Ditto.
1540 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
1541 config/sparc/rtemself.h: Ditto.
1542 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
1543 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
1544 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
1545 more like arm-elf.
1546 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
1547 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
1548 target made more similar to i386-elf.
1549 * config/i386/t-rtems-i386: Added soft float support and multilibs.
1550 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
1551 be similar to config/m68k/t-m68kelf.
1552 * gthr-rtems.h: Encapsulate with extern "C" for C++.
1553
1554 Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
1555
1556 * regmove.c (kill_value): Handle subregs.
1557
1558 Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
1559
1560 * i386.md (mul patterns): Allow memory operand to be first;
1561 add expanders where needed; fix constraints.
1562 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
1563 Allow memory operand to be the first.
1564
1565 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
1566 operands.
1567
1568 2002-02-13 Jakub Jelinek <jakub@redhat.com>
1569
1570 PR c/5681:
1571 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
1572 GET_MODE (x).
1573
1574 2002-02-13 Jakub Jelinek <jakub@redhat.com>
1575
1576 PR optimization/5547:
1577 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
1578 all valid IA-32 address modes involving non-scaled %ebx and
1579 GOT/GOTOFF as displacement.
1580
1581 2002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
1582
1583 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
1584 after emitting ltorg insns.
1585
1586 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
1587 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
1588 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
1589 *abssf2): Fix "op_type" attribute.
1590
1591 2002-02-13 Douglas B Rupp <rupp@gnat.com>
1592
1593 * mkconfig.sh: Avoid using a subshell redirect.
1594 ($output.T): Change to $(output)T.
1595 (ENABLE_NLS): Remove unneeded undef.
1596
1597 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
1598 * config/alpha/x-vms (libsubdir): Define.
1599
1600 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
1601 register frame procedures. Optimize retrieving context.
1602
1603 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
1604 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
1605 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
1606
1607 Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1608
1609 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
1610 Make same change as for find_base_value.
1611
1612 2002-02-13 Kazu Hirata <kazu@hxi.com>
1613
1614 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
1615 of QImode and SImode.
1616
1617 2002-02-13 Kazu Hirata <kazu@hxi.com>
1618
1619 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
1620 length computation of movsi.
1621 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
1622
1623 2002-02-13 Kazu Hirata <kazu@hxi.com>
1624
1625 * config/h8300/h8300.md (subqi3): Tighten the predicate for
1626 operands[2] to register_operand.
1627
1628 Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
1629
1630 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
1631
1632 2002-02-12 Aldy Hernandez <aldyh@redhat.com>
1633
1634 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
1635 for altivec_lvx* and altivec_stvx*.
1636 ("*movv4si_internal"): Add constraint for loading from GPRs.
1637 ("*movv8hi_internal1"): Same.
1638 ("*movv16qi_internal1"): Same.
1639 ("*movv4sf_internal1"): Same.
1640
1641 * config/rs6000/rs6000.c (altivec_register_operand): New.
1642
1643 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
1644 altivec_register_operand.
1645
1646 2002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
1647
1648 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
1649 handle SYMBOL_REF.
1650
1651 2002-02-13 Stan Shebs <shebs@apple.com>
1652
1653 * c-typeck.c (digest_init): Handle vectors.
1654 (really_start_incremental_init): Same.
1655 (pop_init_level): Same.
1656 (process_init_element): Same.
1657
1658 * varasm.c (output_constant): Same.
1659
1660 * expr.c (clear_storage): Same.
1661 (store_constructor): Same.
1662
1663 2002-02-12 Eric Christopher <echristo@redhat.com>
1664
1665 * explow.c (hard_function_value): Add comment explaining
1666 signed/unsigned comparison.
1667
1668 2002-02-12 Jakub Jelinek <jakub@redhat.com>
1669
1670 * jump.c (never_reached_warning): Add finish argument.
1671 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
1672 real insn after end.
1673 * rtl.h (never_reached_warning): Adjust prototype.
1674 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
1675 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
1676 never_reached_warning.
1677
1678 2002-02-12 Graham Stott <grahams@redhat.com>
1679
1680 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
1681
1682 2002-02-12 Kazu Hirata <kazu@hxi.com>
1683
1684 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
1685 logical shifts on H8/300.
1686 (shift_alg_si): Improve several shifts on H8/300.
1687 (get_shift_alg): Likewise.
1688
1689 2002-02-12 Graham Stott <grahams@redhat.com>
1690
1691 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
1692
1693 Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1694
1695 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
1696 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
1697
1698 2002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
1699
1700 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
1701 non-CONST_INT through default_assemble_integer.
1702 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
1703 <case 8>: Abort for CONST_DOUBLE.
1704
1705 2002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1706
1707 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
1708 is specified.
1709 * config/pa/pa-linux.h (LIB_SPEC): Delete.
1710 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
1711
1712 2002-02-11 Andrew Haley <aph@cambridge.redhat.com>
1713
1714 * config/stormy16/stormy16.md (zero_extendqihi2): New.
1715
1716 2002-02-11 Alexandre Oliva <aoliva@redhat.com>
1717
1718 * regrename.c (regrename_optimize): Don't accept a
1719 part-clobbered register if the replaced register is not part
1720 clobbered.
1721
1722 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
1723 take padding into account when computing the argument value.
1724
1725 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
1726
1727 * combine.c (try_combine): Apply substitutions in
1728 CALL_INSN_FUNCTION_USAGE too.
1729
1730 2002-02-11 Aldy Hernandez <aldyh@redhat.com>
1731
1732 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
1733 __builtin_altivec_abs*.
1734 (bdesc_abs): New.
1735
1736 * config/rs6000/rs6000.h (rs6000_builtins): Add
1737 ALTIVEC_BUILTIN_ABS*.
1738
1739 * config/rs6000/altivec.h: Use const char for builtins expecting
1740 literals.
1741 (vec_abs): New versions for C and C++.
1742 (vec_abss): Same.
1743
1744 2002-02-10 Kazu Hirata <kazu@hxi.com>
1745
1746 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
1747 using Pmode.
1748
1749 2002-02-10 Kazu Hirata <kazu@hxi.com>
1750
1751 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
1752 constant definition from h8300.md.
1753 (FRAME_POINTER_REGNUM): Likewise.
1754 * config/h8300/h8300.md (define_constants): Add FP_REG.
1755
1756 2002-02-10 Kazu Hirata <kazu@hxi.com>
1757
1758 * config/h8300/h8300.c (print_operand): Remove redundant code.
1759
1760 2002-02-10 Kazu Hirata <kazu@hxi.com>
1761
1762 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
1763 * config/h8300/h8300.c (byte_reg): Make it static.
1764
1765 2002-02-10 Richard Henderson <rth@redhat.com>
1766
1767 PR c/5623
1768 * c-typeck.c (incomplete_type_error): Handle flexible array members.
1769
1770 2002-02-10 Richard Henderson <rth@redhat.com>
1771
1772 PR c++/5624
1773 * tree.c (append_random_chars): Don't abort if main_input_filename
1774 does not exist.
1775
1776 2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
1777
1778 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
1779
1780 2002-02-10 Kazu Hirata <kazu@hxi.com>
1781
1782 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
1783 (pushhi1): Likewise.
1784
1785 2002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
1786
1787 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
1788 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
1789
1790 2002-02-09 David O'Brien <obrien@FreeBSD.org>
1791
1792 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
1793 remove MASK_VIS.
1794 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
1795
1796 2002-02-09 Kazu Hirata <kazu@hxi.com>
1797
1798 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
1799 a half of an SImode register on H8/300.
1800
1801 Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
1802
1803 * i386.md (movdi_2): Add missing '!'.
1804
1805 2002-02-09 Kazu Hirata <kazu@hxi.com>
1806
1807 * config/h8300/h8300.h: Fix formatting. Remove commented-out
1808 definitions.
1809
1810 2002-02-09 Kazu Hirata <kazu@hxi.com>
1811
1812 * config/h8300/h8300.md (length): Correct the distance valid
1813 for the short branch.
1814
1815 2002-02-09 Kazu Hirata <kazu@hxi.com>
1816
1817 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
1818
1819 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
1820
1821 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
1822 registers in SImode.
1823 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
1824 part-clobbered.
1825
1826 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
1827 patch.
1828
1829 Contribute sh64-elf.
1830 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
1831 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
1832 (sh_cannot_modify_jumps_p): New function.
1833 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
1834 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
1835 (sh_ms_bitfield_layout_p): New function.
1836 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
1837 Zack Weinberg <zack@codesourcery.com>
1838 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
1839 expand_simple_binop instead of expand_binop.
1840 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
1841 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
1842 use of .quad and .uaquad.
1843 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
1844 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
1845 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
1846 * config/sh/sh.md (movdi_const, movdi_const_32bit,
1847 movdi_const_16bit): Make sure all CONSTs have modes.
1848 (sym2PIC): Ditto, but by adjusting all callers.
1849 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
1850 if the prologue calls the SHmedia argument decoder or register
1851 saver.
1852 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
1853 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
1854 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
1855 (sh_expand_epilogue): Don't emit USE of return target register.
1856 (prepare_move_operands): Legitimize DImode PIC addresses.
1857 (sh_media_register_for_return): Skip tr0, used to initialize the
1858 PIC register.
1859 (sh_expand_prologue): Remove explicit USE of return register.
1860 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
1861 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
1862 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
1863 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
1864 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
1865 EXTRA_CONSTRAINT_T.
1866 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
1867 (MOVI_SHORI_BASE_OPERAND_P): New.
1868 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
1869 (EXTRA_CONSTRAINT_T): Define in terms of them.
1870 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
1871 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
1872 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
1873 alternatives supporting TARGET_REGS.
1874 (UNSPEC_GOTPLT): New constant.
1875 (movdi split): Move incrementing of LABEL_NUSES...
1876 (movdi_const, movdi_const_32bit): Here. Use
1877 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
1878 (movdi_const_16bit): New.
1879 (call, call_value) [flag_pic]: Use GOTPLT.
1880 (call_pop, call_value_pop): New expands.
1881 (call_pop_compact, call_pop_rettramp): New insns.
1882 (call_value_pop_compact, call_value_pop_rettramp): New insns.
1883 (sibcall) [flag_pic]: Use GOT.
1884 (builtint_setjmp_receiver): Remove bogus, unused expand.
1885 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
1886 (*pt, *ptb, ptrel): New insns.
1887 (sym2GOT): Handle DImode GOT.
1888 (sym2GOTPLT, symGOTPLT2reg): New expands.
1889 (sym2PIC): New expand.
1890 (shcompact_return_tramp): Use GOTPLT to return trampoline.
1891 (shcompact_return_tramp_i): Use return register explicitly.
1892 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
1893 disable flag_reorder_blocks.
1894 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
1895 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
1896 clobbers, for clarity.
1897 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
1898 restoring of r0 in macl as MAYBE_DEAD.
1899 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
1900 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
1901 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
1902 alter_subreg all over.
1903 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
1904 reload, instead of emitting instructions that would require
1905 reloading.
1906 (casesi_load_media): Add missing modes.
1907 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
1908 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
1909 as used if the argument decoder is called.
1910 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
1911 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
1912 Pmode, then extend it to DImode if necessary.
1913 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
1914 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
1915 constants in FPU-enabled SHmedia, let them be loaded from memory.
1916 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
1917 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
1918 Adjust whitespace in assembly output templates.
1919 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
1920 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
1921 mode of if_then_else.
1922 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
1923 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
1924 sh.h.
1925 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
1926 Joern Rennecke <amylaar@redhat.com>
1927 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
1928 (SUBTARGET_CPP_PTR_SPEC): New.
1929 (SUBTARGET_CPP_SPEC): Remove.
1930 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
1931 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
1932 Fix typo in previous checkin.
1933 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
1934 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
1935 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
1936 Alexandre Oliva <aoliva@redhat.com>
1937 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
1938 what single FP register can hold for SHmedia target.
1939 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
1940 Alexandre Oliva <aoliva@redhat.com>
1941 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
1942 Do not split into SUBREG.
1943 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
1944 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
1945 and added new functions as specified in SH5 ABI r9.
1946 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
1947 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
1948 8-byte boundary.
1949 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
1950 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
1951 gen_consttable_4 and gen_consttable_8. Emit multiple labels
1952 and consttable_window_ends.
1953 2001-06-03 Graham Stott <grahams@redhat,com>
1954 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
1955 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
1956 * config/sh/sh.c (print_operand): Handle floating-point pair,
1957 vector and matrix registers.
1958 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
1959 vector modes into account.
1960 * config/sh/sh.md (movv2sf): Split move between registers into
1961 movdf.
1962 (movv4sf, movv16sf): Introduce insns that get split only after
1963 reload.
1964 * config/sh/shmedia.h: Fix Copyright dates.
1965 * config/sh/ushmedia.h: Likewise. Move loop counter
1966 declarations into conditionals that uses them.
1967 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
1968 loop boundary.
1969 * config/sh/sshmedia.h: Fix Copyright dates.
1970 (sh_media_PUTCFG): Fix constraints.
1971 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
1972 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
1973 ptrmemfunc_vbit_in_delta for SH5.
1974 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
1975 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
1976 * invoke.texi: Likewise.
1977 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
1978 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
1979 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
1980 GCC_pop_shmedia_regs_nofpu): New global symbols.
1981 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
1982 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
1983 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
1984 compact function with nonlocal labels.
1985 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
1986 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
1987 (initial_elimination_offset): Account for their stack space.
1988 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
1989 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
1990 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
1991 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
1992 least one of the operands to be a register.
1993 (movv2sf): Likewise. Renamed to movv2sf_i.
1994 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
1995 prepare_move_operands() before emitting SHmedia insns.
1996 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
1997 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
1998 Don't save nor initialize r12. Don't mis-align the stack.
1999 Pad the code with a nop.
2000 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
2001 stack.
2002 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
2003 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
2004 [__SHMEDIA__]: Implement.
2005 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
2006 * config/sh/sh.md: Set latency of `pt' closer to reality.
2007 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
2008 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
2009 Set move, load and store type attributes.
2010 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
2011 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
2012 profiling.
2013 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
2014 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
2015 * config/sh/sh.c (sh_media_register_for_return): New function.
2016 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
2017 branch-target register.
2018 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
2019 * config/sh/sh.md (return_media_i): Use any call-clobbered
2020 branch-target register.
2021 (return_media): If r18 wasn't copied in the prologue, copy it
2022 here.
2023 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
2024 Clear class FP0_REGS.
2025 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
2026 from elf.h.
2027 2001-03-08 DJ Delorie <dj@redhat.com>
2028 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
2029 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
2030 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
2031 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
2032 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
2033 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
2034 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
2035 return value correctly for call_cookie.
2036 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
2037 * config/sh/crt1.asm (start): Modified so as to call
2038 ___setup_argv_and_call_main.
2039 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
2040 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
2041 SHmedia mode.
2042 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
2043 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
2044 (STRIP_NAME_ENCODING): Use it.
2045 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
2046 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
2047 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
2048 prepare_scc_operands().
2049 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
2050 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
2051 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
2052 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
2053 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
2054 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
2055 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
2056 used in shcompact_incoming_args.
2057 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
2058 change.
2059 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
2060 mode.
2061 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
2062 Adjust accordingly.
2063 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
2064 Simplify. Adjust. Add sanity check.
2065 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
2066 FPU_SINGLE_BIT.
2067 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
2068 TARGET_SHCOMPACT.
2069 (udivsi3, divsi3): Use them.
2070 (force_mode_for_call): New insn.
2071 (call, call_value, sibcall_value): Emit it before SHcompact
2072 calls.
2073 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
2074 * config/sh/sh.md (call, call_value, sibcall): Make sure the
2075 call cookie is non-NULL before taking its value.
2076 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
2077 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
2078 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
2079 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
2080 block.
2081 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
2082 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
2083 temporary for stack adjusts. Use MACL and MACH to pass
2084 arguments to shcompact_incoming_args.
2085 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
2086 clobber r1.
2087 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
2088 (nested_trampoline): Load static chain address into r1.
2089 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
2090 2001-01-07 Alexandre Oliva <aoliva@redhat.com
2091 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
2092 fp_arith_reg_operand().
2093 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
2094 * config/sh/sh.md (casesi): Sign-extend the first two operands,
2095 and use signed compares for them.
2096 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
2097 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
2098 ones properly aligned.
2099 (find_barrier): Account for extra alignment needed for 8-byte wide
2100 constants.
2101 (machine_dependent_reorg): Require a label for the second 4-byte
2102 constant after an 8-byte one.
2103 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
2104 change.
2105 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
2106 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
2107 last_float when switching float modes.
2108 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
2109 auto-increment for general-purpose registers.
2110 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
2111 result.
2112 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
2113 for stack adjust.
2114 * config/sh/sh.c (sh_builtin_saveregs): Support using all
2115 registers for varargs.
2116 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
2117 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
2118 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
2119 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
2120 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
2121 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
2122 call_cookie accordingly.
2123 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
2124 (SHCOMPACT_BYREF): Likewise.
2125 (SHCOMPACT_FORCE_ON_STACK): New macro.
2126 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
2127 (sh_builtin_saveregs): Likewise.
2128 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
2129 shcompact_incoming_args): Use new shift values. Support
2130 sequences of consecutive and non-consecutive pushes/pops.
2131 * config/sh/sh.md (return): Don't explicitly use PR_REG.
2132 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
2133 * config/sh/sh.h (TEXT_SECTION): Define.
2134 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
2135 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
2136 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
2137 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
2138 return values on FPU-enabled SHmedia.
2139 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
2140 FPU-enabled SHmedia.
2141 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
2142 value is returned in a non-FP reg and is not returned by
2143 reference.
2144 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
2145 jump_ind.
2146 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
2147 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
2148 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
2149 quad-aligned to be passed by callee-copy reference.
2150 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
2151 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
2152 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
2153 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
2154 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
2155 copying low-numbered FP regs to r7 and r8.
2156 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
2157 FP regs to general-purpose regs only if the copy was passed on the
2158 stack.
2159 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
2160 copying FP reg to r9.
2161 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
2162 copy FP regs to general-purpose regs only in outgoing calls.
2163 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
2164 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
2165 HOST_WIDE_INT.
2166 * config/sh/sh.h (struct sh_args): Document all fields.
2167 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
2168 passed partially on the stack should not consider making
2169 sibcalls.
2170 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
2171 stack_regs only for incoming calls. When passing FP args,
2172 make sure there are FP regs available before modifying
2173 call_cookie.
2174 (SHCOMPACT_BYREF): Pass double args in general-purpose
2175 registers by reference.
2176 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
2177 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
2178 attempt to generate sibcalls if the caller got any arguments
2179 by reference.
2180 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
2181 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
2182 to 8-byte boundaries.
2183 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
2184 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
2185 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
2186 stored in the stack.
2187 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
2188 for the offsets to have the ISA bit set.
2189 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
2190 invocation. Use beq instead of bgt to mark end of sequence of
2191 loads.
2192 (shcompact_incoming_args): Fix store of r2. Use beq instead of
2193 bgt to mark end of sequence of stores.
2194 * config/sh/sh.c (arith_operand): Don't check whether
2195 CONST_OK_FOR_J for now.
2196 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
2197 instead of long for conversion.
2198 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
2199 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
2200 before passing it to fprintf.
2201 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
2202 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
2203 Call set_fpscr before reading/writing SR.
2204 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
2205 Call set_fpscr.
2206 * config/sh/lib1funcs.asm: Add `.align 2' directives before
2207 SHmedia code.
2208 (FMOVD_WORKS): Define on SH5 with FPU.
2209 (set_fpscr): Define on SH5. Remove separate _fpscr_values
2210 setting.
2211 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
2212 _fpscr_values.
2213 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
2214 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
2215 address.
2216 (ia_main_table): Ditto.
2217 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
2218 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
2219 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
2220 the definitions from sh.h.
2221 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
2222 TARGET_SH5.
2223 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
2224 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
2225 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
2226 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
2227 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
2228 Increment LABEL_NUSES.
2229
2230 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
2231 TARGET_SH5.
2232 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
2233 defined.
2234 * config/sh/elf.h (SIZE_TYPE): Likewise.
2235 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
2236 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
2237 shcompact_incoming_args): Load switch table addresses using
2238 datalabel.
2239 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
2240 (NO_BUILTIN_SIZE_TYPE): Define.
2241 (SIZE_TYPE): Don't define.
2242 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
2243 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
2244 definition of __SH5__=32 for -m5-compact-nofpu.
2245 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
2246 ADDR_DIFF_VEC.
2247 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
2248 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
2249 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
2250 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
2251 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
2252 (INSN_LENGTH_ALIGNMENT): Likewise.
2253 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
2254 * config/sh/sh.md (call, call_value, sibcall): Simplify
2255 copying of non-branch-target register.
2256 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
2257 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
2258 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
2259 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
2260 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
2261 floating-point values as structs.
2262 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
2263 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
2264 general-purpose register.
2265 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
2266 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
2267 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
2268 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
2269 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
2270 (ENCODE_SECTION_INFO): Enclose variables and constants in
2271 DATALABEL unspecs.
2272 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
2273 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
2274 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
2275 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
2276 only for LABEL_REFs. For SYMBOL_REFs, prepend
2277 SH_DATALABEL_ENCODING to the symbol name.
2278 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
2279 convert_mode().
2280 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
2281 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
2282 UNSPEC_DATALABEL.
2283 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
2284 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
2285 (DATALABEL_REF_P): Don't require CONST.
2286 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
2287 REL label.
2288 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
2289 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
2290 right.
2291 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
2292 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
2293 Use shallow_copy_rtx and PUT_MODE to change the mode of
2294 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
2295 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
2296 on SHmedia using GENERAL_REGs.
2297 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
2298 bltu_media_i): Fix reversion of conditions.
2299 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
2300 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
2301 * config/sh/sh.c (output_far_jump): Save r13 in macl.
2302 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
2303 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
2304 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
2305 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
2306 (GCC_nested_trampoline): Likewise.
2307 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
2308 * config/sh/sh.c (gen_datalabel_ref): Define.
2309 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
2310 (INITIALIZE_TRAMPOLINE): Likewise.
2311 (TRAMPOLINE_ADJUST_ADDRESS): Define.
2312 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
2313 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
2314 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
2315 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
2316 (ic_invalidate): Adjust for SH5.
2317 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
2318 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
2319 _nested_trampoline.
2320 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
2321 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
2322 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
2323 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
2324 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
2325 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
2326 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
2327 * config/sh/sh.c (target_reg_operand): Match only target-branch
2328 registers and pseudos that aren't virtual registers.
2329 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
2330 Copy operands that don't match target_reg_operand to pseudos.
2331 (call_media, call_value_media, sibcall_media): Use
2332 target_reg_operand instead of target_operand.
2333 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
2334 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
2335 * config/sh/sh.c (target_reg_operand): Match hardware registers
2336 other than branch-target registers.
2337 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
2338 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
2339 (fpscr_values) [SH5 == 32]: Define.
2340 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
2341 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
2342 Handle function addresses coming in SUBREGs.
2343 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
2344 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
2345 shcompact_return_trampoline): Use datalabel where appropriate.
2346 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
2347 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
2348 general-purpose register to copy one branch-target register to
2349 another.
2350 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
2351 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
2352 SYMBOL_REFs with VOIDmode.
2353 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
2354 bltu_media_i): New insns.
2355 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
2356 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
2357 (INIT_CUMULATIVE_ARGS): Likewise.
2358 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
2359 * machmode.def (V16SFmode): New mode.
2360 * c-common.c (type_for_mode): Support V2SF and V16SF.
2361 * tree.c (build_common_tree_nodes_2): Likewise.
2362 * tree.h (tree_index): Likewise.
2363 * calls.c (emit_call_1): Take args_so_far. Adjust all
2364 callers. Introduce CALL_POPS_ARGS.
2365 * tm.texi (CALL_POPS_ARGS): Document.
2366 * config/sh/crt1.asm: Implement in SHmedia mode.
2367 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
2368 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
2369 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
2370 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
2371 Implement divsi and udivsi in SHmedia mode. Introduce
2372 SHcompact trampolines.
2373 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
2374 only in SHmedia64.
2375 (regno_reg_class): Rewrite.
2376 (fp_reg_names): Remove.
2377 (sh_register_names, sh_additional_register_names): New.
2378 (print_operand): Added `u'. Support SUBREGs in addresses.
2379 Add parentheses around shifted CONSTs.
2380 (output_file_start): Output .mode and .abi directives.
2381 (shiftcosts, addsubcosts, multcosts): Adjust.
2382 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
2383 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
2384 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
2385 bytes, not registers. Take into account the need for the
2386 SHcompact incoming args trampoline. Adjust all callers.
2387 (sh_expand_prologue): Take stack_regs into account. Call
2388 incoming args trampoline. Keep stack aligned as per SH5 ABI.
2389 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
2390 stack aligned as per SH5 ABI.
2391 (sh_builtin_saveregs): Support SH5 ABI.
2392 (sh_build_va_list, sh_va_start): Likewise.
2393 (initial_elimination_offset): Take alignment into account.
2394 Compute location of PR according to the SH5 stack frame.
2395 (arith_reg_operand): Reject branch-target registers.
2396 (shmedia_6bit_operand): New.
2397 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
2398 (target_reg_operand): Match DImode only. Accept SUBREGs.
2399 (target_operand): New.
2400 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
2401 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
2402 SIBCALL_REGS for SHmedia.
2403 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
2404 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
2405 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
2406 (TARGET_SWITCHES): New SH5 flags.
2407 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
2408 VALID_REGISTER_P to disable unsupported registers.
2409 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
2410 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
2411 (FUNCTION_ARG_PADDING): Define.
2412 (FASTEST_ALIGNMENT): Adjust.
2413 (SH_REGISTER_NAMES_INITIALIZER): New.
2414 (sh_register_names): Declare.
2415 (DEBUG_REGISTER_NAMES): Define.
2416 (REGISTER_NAMES): Define based on sh_register_names.
2417 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
2418 (sh_additional_register_names): Declare.
2419 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
2420 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
2421 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
2422 (REGISTER_NATURAL_MODE): Define.
2423 (FIRST_PSEUDO_REGISTER): Adjust.
2424 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
2425 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
2426 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
2427 (VECTOR_MODE_SUPPORTED_P): Define.
2428 (REG_CLASS_CONTENTS): Adjust.
2429 (SMALL_REGISTER_CLASSES): Adjust.
2430 (REG_ALLOC_ORDER): Adjust.
2431 (INDEX_REG_CLASS): Adjust.
2432 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
2433 (CONST_OK_FOR_LETTER_P): Adjust.
2434 (PREFERRED_RELOAD_CLASS): Adjust.
2435 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
2436 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
2437 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
2438 (FIRST_FP_PARM_REG): Adjust.
2439 (CALL_POPS_ARGS): Define.
2440 (FUNCTION_ARG_REGNO_P): Adjust.
2441 (struct sh_args): New fields.
2442 (GET_SH_ARG_CLASS): Adjust.
2443 (INIT_CUMULATIVE_ARGS): Adjust.
2444 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
2445 (FUNCTION_ARG_ADVANCE): Adjust.
2446 (FUNCTION_ARG): Adjust.
2447 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
2448 (FUNCTION_ARG_CALLEE_COPIES): Define.
2449 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
2450 (STRICT_ARGUMENT_NAMING): Define.
2451 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
2452 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
2453 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
2454 (SETUP_INCOMING_VARARGS): Adjust.
2455 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
2456 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
2457 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
2458 (SUBREG_OK_FOR_INDEX_P): Adjust.
2459 (EXTRA_CONSTRAINT_S): Update.
2460 (EXTRA_CONSTRAINT_T): New.
2461 (EXTRA_CONSTRAINT): Adjust.
2462 (GO_IF_LEGITIMATE_INDEX): Adjust.
2463 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
2464 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
2465 (MOVE_MAX): Adjust.
2466 (MAX_MOVE_MAX): Define.
2467 (Pmode): Adjust.
2468 (CONST_COSTS): Adjust.
2469 (REGISTER_MOVE_COST): Adjust.
2470 (BRANCH_COST): Adjust.
2471 (TEXT_SECTION_ASM_OP): Adjust.
2472 (DBX_REGISTER_NUMBER): Adjust.
2473 (ASM_OUTPUT_DOUBLE_INT): New.
2474 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
2475 (PREDICATE_CODES): Adjust.
2476 (PROMOTE_MODE): Adjust.
2477 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
2478 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
2479 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
2480 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
2481 (DR0_REG, DR2_REG, DR4_REG): Renumber.
2482 (TR0_REG, TR1_REG, TR2_REG): New.
2483 (XD0_REG): Renumber.
2484 (UNSPEC_COMPACT_ARGS): New.
2485 (type): Added pt and ptabs.
2486 (length): Default to 4 on SHmedia. Default pt length to 12
2487 and 20 on SHmedia32 and SHmedia64, respectively.
2488 (pt): New function unit.
2489 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
2490 Add whitespace between operands of SHmedia instructions.
2491 (movdicc): Fix.
2492 (adddi3_media, addsi3_media): Adjust constraints.
2493 (subsi3) [SHmedia]: Force operand 1 into a register.
2494 (udivsi3_i1_media, udivsi3_i4_media): New.
2495 (udivsi3): Support SHmedia.
2496 (divsi3_i1_media, divsi3_i4_media): New.
2497 (divsi3): Support SHmedia.
2498 (anddi3, iordi3, xordi3): Adjust constraints.
2499 (zero_extendhidi2, zero_extendqidi2): New.
2500 (extendsidi2, extendhidi2, extendqidi2): New.
2501 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
2502 (pop_e, pop_fpul, pop_4): Likewise.
2503 (movsi_media): Support FP and BT registers.
2504 (movsi_media_nofpu): New. Adjust splits to DImode.
2505 (lduw, ldub): Renamed to zero_extend* above.
2506 (movqi_media): Fix typo.
2507 (movdi_media): Support FP and BT registers.
2508 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
2509 (movdi_const_32bit): New.
2510 (shori_media): Require immediate operand. Use `u' for output.
2511 (movdf_media, movsf_media): Simplified.
2512 (movdf_media_nofpu, movsf_media_nofpu): New.
2513 (movdf, movsf): Adjust
2514 (movv2sf, movv2sf, movv16sf): New.
2515 (beq_media, beq_media_i): Adjust constraints. Don't use
2516 scratch BT register.
2517 (bne_media, bne_media_i): Likewise.
2518 (bgt_media, bgt_media_i): Likewise.
2519 (bge_media, bge_media_i): Likewise.
2520 (bgtu_media, bgtu_media_i): Likewise.
2521 (bgeu_media, bgeu_media_i): Likewise.
2522 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
2523 bunordered): Emit jump insn. Force operands to registers when
2524 needed.
2525 (jump_media, jump): Simplify.
2526 (call_compact, call_compact_rettramp): New.
2527 (call_value_compact, call_value_compact_rettramp): New.
2528 (call_media, call_value_media): Simplify.
2529 (sibcall_compact, sibcall_media): New.
2530 (call, call_value): Adjust for SHmedia and SHcompact.
2531 (sibcall, sibcall_value, untyped_call): Likewise.
2532 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
2533 (indirect_jump): Adjust for SHmedia.
2534 (casesi_jump_media): New.
2535 (nop): Re-enable for SHmedia.
2536 (call_site): Restrict to SH1.
2537 (casesi): Adjust for SHmedia.
2538 (casesi_shift_media, casesi_load_media): New.
2539 (return): Explicitly use PR register. Call return trampoline
2540 on SHcompact.
2541 (return_i): Explicitly use PR register.
2542 (shcompact_return_tramp, shcompact_return_tramp_i): New.
2543 (return_media): Adjust.
2544 (shcompact_incoming_args): New.
2545 (epilogue): Adjust.
2546 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
2547 (movstrsi): Disable on SH5.
2548 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
2549 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
2550 (subsf3, subsf3_media): Likewise.
2551 (mulsf3, mulsf3_media, mac_media): Likewise.
2552 (divsf3, divsf3_media): Likewise.
2553 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
2554 (floatsisf2, fux_truncsfsi2): Likewise.
2555 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
2556 constraints.
2557 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
2558 (cmpunsf_media, cmpsf): Likewise.
2559 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
2560 (abssf2, abssf2_media): Likewise.
2561 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
2562 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
2563 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
2564 (floatsidf2, fix_truncdfsi2): Likewise.
2565 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
2566 constraints.
2567 (cmpeqdf_media, cmpgtdf_media): Likewise.
2568 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
2569 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
2570 (absdf2, absdf2_media): Likewise.
2571 (extendsfdf2, extendsfdf2_media): Likewise.
2572 (truncsfdf2, truncsfdf2_media): Likewise.
2573 * config/sh/sh64.h: New file.
2574 * config/sh/t-sh64: New file.
2575 * config/sh/shmedia.h: New file.
2576 * config/sh/ushmedia.h: New file.
2577 * config/sh/sshmedia.h: New file.
2578 * configure.in: Added sh64-*-elf.
2579 * configure: Rebuilt.
2580 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
2581 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
2582 (reg_class_from_letter): Use `b' for TARGET_REGS.
2583 (print_operand): Support `%M', `%m', `AND' and
2584 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
2585 (andcosts): Adjust for SHmedia.
2586 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
2587 Likewise.
2588 (target_reg_operand): New function.
2589 * config/sh/sh-protos.h (target_reg_operand): Declare.
2590 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
2591 FP registers on SH5.
2592 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
2593 on SH4.
2594 (TARGET_REGISTER_P): New macro.
2595 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
2596 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
2597 (EXTRA_CONSTRAINT_S): New macro.
2598 (EXTRA_CONSTRAINT): Adjust.
2599 (FLOAT_TYPE_SIZE): Define to 32.
2600 (Pmode): DImode on SHmedia.
2601 (CONST_COSTS): Adjust for SHmedia literals.
2602 (PREDICATE_CODES): Added target_reg_operand.
2603 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
2604 * config/sh/sh.md: Remove all attrs from SHmedia insns.
2605 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
2606 (cmpdi): Accept SHmedia.
2607 (movdicc_false, movdicc_true): New insns.
2608 (movdicc): New expand.
2609 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
2610 no_new_pseudos.
2611 (addsi3_media): Match `S' constraint.
2612 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
2613 (negdi2): Expand for SHmedia.
2614 (one_cmpldi2): New expand.
2615 (zero_extendsidi2): Change from expand to insn.
2616 (extendsidi2): Add constraints.
2617 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
2618 LD/ST address. Fix SI immediate loading split.
2619 (movhi_media, movqi_media, lduw, ldub): New insns.
2620 (movhi, movqi): Accept SHmedia.
2621 (shori_media, movdi_media): Relax input constraints. Split
2622 symbolic constants.
2623 (movdf_media, movsf_media): New insn. New split to movdi.
2624 (movdf, movsf): Match on SHmedia.
2625 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
2626 bgeu_media): New insns and splits. New insns with `_i' suffix.
2627 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
2628 (bunordered): New expand.
2629 (jump_compact): Renamed from `jump'.
2630 (jump_media): New insn.
2631 (jump): New expand.
2632 (call_media, call_value_media): New insns.
2633 (call, call_value): Adjust.
2634 (indirect_jump_compact): Renamed from `indirect_jump'.
2635 (indirect_jump_media): New insn.
2636 (indirect_jump): New expand.
2637 (untyped_call, return): Accept SHmedia.
2638 (return_media): New insn.
2639 (prologue, epilogue, blockage): Accept SHmedia.
2640 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
2641 (sunordered): New expand.
2642 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
2643 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
2644 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
2645 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
2646 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
2647 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
2648 abssf2_media): New insns.
2649 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
2650 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
2651 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
2652 floatdidf2, floatsidf2_media, fix_truncdfdi2,
2653 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
2654 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
2655 absdf2_media): New insns.
2656 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
2657 (extendsfdf2_media, truncdfsf2_media): New insns.
2658 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
2659 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
2660 * config/sh/sh.h (CONST_OK_FOR_J): Document.
2661 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
2662 * config/sh/sh.md (adddi3): New expand.
2663 (adddi3_media, adddi3z_media): New insns.
2664 (adddi3_compact): Renamed from adddi3.
2665 (addsi3_media): Use add.l r63 to add constant zero.
2666 (subdi3): New expand.
2667 (subdi3_media): New insn.
2668 (subdi3_compact): Renamed from subdi3.
2669 (mulsidi3): New expand.
2670 (mulsidi3_media): New insn.
2671 (mulsidi3_compact): Renamed from mulsidi3.
2672 (umulsidi3): New expand.
2673 (umulsidi3_media): New insn.
2674 (umulsidi3_compact): Renamed from umulsidi3.
2675 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
2676 (ashlsi3, ashrsi3, lshrsi3): Use them.
2677 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
2678 (ashldi3, ashrdi3, lshrdi3): Use them.
2679 (zero_extendsidi2): New expand.
2680 (extendsidi2): New insn.
2681 (movsi_media): New insn. Split to movdi to load constants.
2682 (movsi): Enable for shmedia.
2683 (movdi_media): New insn. Use shori_media to load wide constants.
2684 (short_media): New insn.
2685 (movdi): Enable for shmedia.
2686 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
2687 * config/sh/sh.h (CPP_SPEC): Added `m5'.
2688 (SUBTARGET_CPP_SPEC): Added `!m5'.
2689 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
2690 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
2691 to all other SH variants.
2692 (TARGET_DEFAULT): Set to SH1_BIT.
2693 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
2694 (BITS_PER_WORD): Raise to 64 on shmedia.
2695 (MAX_BITS_PER_WORD): Change to 64.
2696 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
2697 (INT_TYPE_SIZE): Keep as 32.
2698 (UNITS_PER_WORD): Raise to 8 on shmedia.
2699 (MIN_UNITS_PER_WORD): Keep as 4.
2700 (POINTER_SIZE): Raise to 64 on shmedia.
2701 (CONST_OK_FOR_J): New macro.
2702 (CONST_OK_FOR_LETTER_P): Use it.
2703 (processor_type): Add PROCESSOR_SH5.
2704 * config/sh/sh.md: Conditionalize all expands, insns and
2705 splits to TARGET_SH1.
2706 (cpu): Added sh5.
2707 (addsi3_compact): Renamed from...
2708 (addsi3): Now an expand.
2709 (addsi3_media, subsi3_media): New insns.
2710 (subsi3): Don't negate constants with SHmedia.
2711
2712 * hooks.c: New file.
2713 * hooks.h: New file.
2714 * Makefile.in (HOOKS_H): New.
2715 (TARGET_DEF_H): Added $(HOOKS_H).
2716 (OBJS): Added hooks.o.
2717 (cfgcleanup.o, bb-reorder.o): Added target.h.
2718 (hooks.o): Added dependencies.
2719 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
2720 (TARGET_INITIALIZER): this.
2721 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
2722 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
2723 * bb-reorder.c: Include target.h.
2724 (reorder_basic_blocks): Skip if cannot modify jumps.
2725 * cfgcleanup.c: Include target.h.
2726 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
2727
2728 2002-02-08 Chris Demetriou <cgd@broadcom.com>
2729
2730 * config/mips/mips.md (casesi_internal, casesi_internal_di):
2731 Protect jump delay slot instructions with .set noreorder and
2732 .set nomacro.
2733
2734 2002-02-08 Chris Demetriou <cgd@broadcom.com>
2735
2736 * config/mips/mips.md (casesi_internal_di): Calculate
2737 the index into the target offset table correctly.
2738
2739 2002-02-08 Richard Henderson <rth@redhat.com>
2740
2741 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
2742 * final.c (output_addr_const): Accept and discard SUBREG.
2743 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
2744 mark them unknown instead.
2745 (simplify_subtraction): Handle RTX_UNKNOWN.
2746 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
2747
2748 2002-02-08 David Edelsohn <edelsohn@gnu.org>
2749
2750 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
2751
2752 2002-02-08 Richard Henderson <rth@redhat.com>
2753
2754 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
2755
2756 2002-02-08 Andreas Jaeger <aj@suse.de>
2757
2758 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
2759 * config/i386/t-linux64: New file.
2760
2761 2002-02-08 Jakub Jelinek <jakub@redhat.com>
2762
2763 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
2764 * c-parse.in (compstmt): Clear last_expr_type.
2765
2766 2002-02-07 Richard Henderson <rth@redhat.com>
2767
2768 * loop.c (strength_reduce): Sink final_value when not
2769 eliminating a biv.
2770
2771 2002-02-07 David O'Brien <obrien@FreeBSD.org>
2772
2773 * config/sparc/freebsd.h: Fix mismatched spec {.
2774
2775 2002-02-07 Richard Henderson <rth@redhat.com>
2776
2777 * cfgrtl.c: Include recog.h and insn-config.h.
2778 (keep_with_call_p): Fix general_operand invocation.
2779 * Makefile.in (cfgrtl.o): Update dependencies.
2780
2781 2002-02-07 Kazu Hirata <kazu@hxi.com>
2782
2783 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
2784 comment. Accept HImode only if TARGET_H8300.
2785
2786 2002-02-07 Eric Christopher <echristo@redhat.com>
2787
2788 * config/mips/crtn.asm: Cleanup #ifdefs.
2789
2790 2002-02-07 Eric Christopher <echristo@redhat.com>
2791
2792 * config/mips/crti.asm: Add changes for mips16. mips16 uses
2793 register 7 as RA instead of $31.
2794 * config/mips/crtn.asm: Ditto.
2795 * config/mips/mips.c (mips_move_2words): Add case for
2796 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
2797 (compute_frame_size): Fix typo.
2798 (save_restore_insns): Ditto. Make documentation about using
2799 register $7 as return register more precise.
2800 (mips_expand_epilogue): Fix comment. Add code to work around not
2801 being able to add to the stack pointer directly.
2802 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
2803 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
2804 epilogue.
2805
2806 2002-02-07 Tom Rix <trix@redhat.com>
2807
2808 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
2809 immediates in ldu and stdu DS opcode field.
2810 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
2811 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
2812 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
2813
2814 2002-02-07 Jeff Sturm <jsturm@one-point.com>
2815
2816 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
2817 offset for stack bias.
2818
2819 2002-02-07 H.J. Lu <hjl@gnu.org>
2820
2821 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
2822
2823 2002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
2824
2825 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
2826
2827 Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
2828
2829 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
2830 * i386.c (x86_order_regs_for_local_alloc): New global function.
2831 * i386.h (REG_ALLOC_ORDER): CLeanup.
2832 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
2833
2834 2002-02-07 Richard Henderson <rth@redhat.com>
2835
2836 PR optimization/2463
2837 * alias.c (find_base_value): Recall base values for fixed hard regs.
2838 * loop.c (loop_regs_update): Don't use single_set on non-insns.
2839
2840 2002-02-07 Alexandre Oliva <aoliva@redhat.com>
2841
2842 * config/mips/mips.md (define_delay) [mips16]: Adjust required
2843 length.
2844
2845 2002-02-06 Richard Henderson <rth@redhat.com>
2846
2847 PR c/5609
2848 * stmt.c (resolve_operand_name_1): Take more care with mixed
2849 named and unnamed operands.
2850
2851 2002-02-06 Janis Johnson <janis187@us.ibm.com>
2852 Jan Hubicka <jh@suse.cz>
2853
2854 * loop.c (remove_constant_addition): Avoid clobbering a shared
2855 CONST expression.
2856
2857 2002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
2858
2859 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
2860 * config/s390/t-linux64: New file.
2861 * config/s390/libgcc-glibc.ver: New file.
2862
2863 2002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
2864
2865 * config/s390/linux64.h: Delete file.
2866 * config/s390/s390x.h: New file.
2867 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
2868 as target header file.
2869 * config/s390/linux.h (TARGET_VERSION): Define depending on
2870 DEFAULT_TARGET_64BIT.
2871 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
2872 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2873 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
2874 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
2875 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
2876 (EXTRA_SPEC): New define.
2877 * config/s390/s390.h (TARGET_VERSION): Define depending on
2878 DEFAULT_TARGET_64BIT.
2879 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
2880
2881 2002-02-06 Jason Merrill <jason@redhat.com>
2882
2883 * c-decl.c (finish_function): Warn about a non-void function with
2884 no return statement and no abnormal exit.
2885 (current_function_returns_abnormally): New variable.
2886 (start_function): Clear it.
2887 (struct c_language_function): Add returns_abnormally.
2888 (push_c_function_context): Save it.
2889 (pop_c_function_context): Restore it.
2890 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
2891 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
2892 an explicit return type.
2893 * c-tree.h: Declare current_function_returns_abnormally.
2894 (C_FUNCTION_IMPLICIT_INT): New macro.
2895 * c-typeck.c (build_function_call): Set it.
2896 (c_expand_return): Set current_function_returns_value even if the
2897 value is erroneous.
2898
2899 2002-02-06 Jakub Jelinek <jakub@redhat.com>
2900
2901 PR c/5420:
2902 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
2903 unsafe for reevaluation.
2904
2905 2002-02-06 Jakub Jelinek <jakub@redhat.com>
2906
2907 PR c/5482:
2908 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
2909 EXPR_STMT, but COMPOUND_STMT, recurse into it.
2910
2911 2002-02-06 Richard Henderson <rth@redhat.com>
2912
2913 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
2914 be a general_operand. Dest for function value must be a pseudo.
2915
2916 2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
2917
2918 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
2919 as SYMBOL_REFs from the constant pool.
2920
2921 2002-02-06 Alexandre Oliva <aoliva@redhat.com>
2922
2923 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
2924 passed by invisible reference.
2925
2926 2002-02-05 Richard Henderson <rth@redhat.com>
2927
2928 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
2929
2930 2002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
2931
2932 Implement using "base addresses" in insn operands as default.
2933 * config/mmix/mmix.c (mmix_conditional_register_usage): if
2934 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
2935 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
2936 used to read the rtx value.
2937 (mmix_target_asm_function_epilogue): Fix spacing.
2938 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
2939 (mmix_legitimate_address): Ditto.
2940 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
2941 should be loaded with a GETA insn. Don't allocate needless extra
2942 char for nul termination and fix misleading comment.
2943 (mmix_print_operand_address): Handle constants if
2944 TARGET_BASE_ADDRESSES.
2945 (mmix_output_register_setting): Use base addressing if
2946 TARGET_BASE_ADDRESSES and the number of insns is 3.
2947 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
2948 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
2949 to use R as constraint, add LDA to match s.
2950 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
2951 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
2952 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
2953 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
2954 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
2955 order with other fixed registers.
2956 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
2957 other parameter/call-clobbered registers.
2958 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
2959 -mbase-addresses, -mno-base-addresses.
2960 (MMIX Options): Ditto.
2961
2962 2002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
2963
2964 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
2965
2966 2002-02-06 Aldy Hernandez <aldyh@redhat.com>
2967
2968 * config/rs6000/altivec.h: Change elem to _S_elem.
2969
2970 2002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
2971
2972 * config/netbsd.h (WCHAR_TYPE): Define.
2973 (WCHAR_TYPE_SIZE): Ditto.
2974 (WINT_TYPE): Ditto.
2975 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
2976 (WCHAR_UNSIGNED): Ditto.
2977 (WCHAR_TYPE_SIZE): Ditto.
2978 (WINT_TYPE): Ditto.
2979 * config/arm/netbsd.h: Likewise.
2980 * config/i386/netbsd-elf.h: Likewise.
2981 * config/i386/netbsd.h: Likewise.
2982 * config/m68k/netbsd-elf.h: Likewise.
2983 * config/m68k/netbsd.h: Likewise.
2984 * config/ns32k/netbsd.h: Likewise.
2985 * config/sparc/netbsd.h: Likewise.
2986 * config/vax/netbsd.: Likewise.
2987
2988 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
2989
2990 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
2991 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
2992 (TARGET_INITIALIZER): this.
2993 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
2994 (BITFIELD_NBYTES_LIMITED): Markup fix.
2995 * tree.h (default_ms_bitfield_layout_p): Declare.
2996 (record_layout_info): Added prev_field.
2997 * tree.c (default_ms_bitfield_layout_p): New fn.
2998 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
2999 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
3000 * stor-layout.c: Include target.h.
3001 (start_record_layout): Initialize prev_field.
3002 (place_field): Handle MS bit-field layout, and disregard
3003 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
3004 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
3005 * Makefile.in (stor-layout.o): Adjust dependencies.
3006
3007 2002-02-05 Jason Merrill <jason@redhat.com>
3008
3009 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
3010
3011 2002-02-05 Andreas Jaeger <aj@suse.de>
3012
3013 * crtstuff.c: Fix comments.
3014
3015 2002-02-05 Richard Henderson <rth@redhat.com>
3016
3017 PR fortran/3393
3018 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
3019 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
3020
3021 PR fortran/3392
3022 * config/mips/mips.c (function_arg): Handle TImode.
3023 (function_arg_advance): Likewise.
3024
3025 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
3026
3027 * config/rs6000/altivec.h (vec_step_help): Rename to
3028 __vec_step_help.
3029
3030 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
3031
3032 * config/rs6000/altivec.h: Fix typos.
3033
3034 2002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
3035
3036 * config/arm/netbsd.h: Correct a comment.
3037
3038 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
3039
3040 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
3041 building void typed builtins.
3042
3043 * config/rs6000/altivec.h (vec_ld*): Fix typos.
3044 (vec_step): Implement for C++.
3045
3046 Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3047
3048 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
3049
3050 2002-02-04 Richard Henderson <rth@redhat.com>
3051
3052 * combine.c (nonzero_bits): Re-introduce special case for
3053 sp/fp/ap wrt REGNO_POINTER_ALIGN.
3054
3055 2002-02-05 Aldy Hernandez <aldyh@redhat.com>
3056
3057 * doc/extend.texi: Warn about unsupported usage of altivec
3058 builtins.
3059
3060 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
3061 (altivec_predicate_*): New.
3062
3063 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
3064 Add C++ version of vec_*() functions.
3065
3066 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
3067 (bdesc_2arg): Remove altivec predicates.
3068 (altivec_expand_builtin): Handle predicates.
3069 (altivec_init_builtins): Handle predicates.
3070 (altivec_expand_predicate_builtin): New.
3071
3072 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
3073
3074 * pa.c (DO_FRAME_NOTES): Move forward.
3075 (store_reg): Revise handling of frame notes.
3076 (load_reg): Likewise.
3077 (set_reg_plus_d): Likewise.
3078 (hppa_expand_prologue): Likewise.
3079 (hppa_expand_epilogue): Likewise.
3080
3081 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
3082
3083 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
3084
3085 2002-02-04 Jakub Jelinek <jakub@redhat.com>
3086
3087 PR c/4475, c++/3780:
3088 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
3089 * c-common.h (SWITCH_TYPE): Define.
3090 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
3091 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
3092 Rename spareness variable to sparseness.
3093 (expand_end_case_type): Renamed from expand_end_case, use orig_type
3094 if non-NULL instead of TREE_TYPE (orig_index).
3095 * tree.h (expand_end_case_type): Renamed from expand_end_case.
3096 (expand_end_case): Define using expand_end_case_type.
3097 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
3098 to expand_end_case_type.
3099 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
3100
3101 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
3102
3103 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
3104 (BIGGEST_ALIGNMENT): Change to 128.
3105
3106 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
3107
3108 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
3109
3110 2002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
3111
3112 * pa.md (call_internal_reg_64bit): Remove unused variable.
3113
3114 2002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
3115
3116 * config/arm/arm.h (machine_function): Add uses_anonymous_args
3117 field.
3118 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3119 * config/arm/arm.c (current_function_anonymous_args): Delete,
3120 replace uses with cfun->machine->uses_anonymous_args.
3121 (arm_reorg): Do not reset uses_anonymous_args.
3122
3123 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
3124 any geenral register.
3125
3126 2001-02-04 Bernd Schmidt <bernds@redhat.com>
3127
3128 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
3129 the entry block.
3130
3131 2002-02-04 Richard Henderson <rth@redhat.com>
3132
3133 * combine.c (force_to_mode): Remove STACK_BIAS code.
3134 (nonzero_bits): Likewise. Replace sp/fp special case with
3135 REGNO_POINTER_ALIGN.
3136
3137 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
3138 (HARD_FRAME_POINTER_REGNUM): New.
3139 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
3140 (FIXED_REGS, CALL_USED_REGS): Update.
3141 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
3142 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
3143 (HARD_REGNO_NREGS): Update for SFP.
3144 (STACK_POINTER_OFFSET): Include bias here ...
3145 (FIRST_PARM_OFFSET): ... not here.
3146 (STACK_BIAS): Remove.
3147 (INIT_EXPANDERS): New.
3148 (STARTING_FRAME_OFFSET): Do not include bias.
3149 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
3150 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
3151 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
3152 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
3153 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
3154 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
3155 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
3156 (MUST_SAVE_REGISTER): Likewise.
3157 (sparc_flat_function_prologue): Likewise.
3158 (sparc_flat_function_epilogue): Likewise.
3159 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
3160 (sparc_init_modes): SFP is GENERAL_REGS.
3161 (sparc_builtin_saveregs): SFP does not have bias applied.
3162
3163 2002-02-04 Richard Henderson <rth@redhat.com>
3164
3165 * config/alpha/alpha.c (current_function_is_thunk): Don't check
3166 current_function_is_thunk.
3167 (alpha_sa_mask): Distinguish between current_function_is_thunk
3168 called from ASM_OUTPUT_MI_THUNK and not.
3169 (alpha_does_function_need_gp): Thunks always need gp.
3170 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
3171 (alpha_output_mi_thunk_osf): New.
3172 * config/alpha/alpha-protos.h: Update.
3173 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
3174
3175 2002-02-04 Richard Sandiford <rsandifo@redhat.com>
3176
3177 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
3178 function types, not when they're taken away.
3179
3180 Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
3181
3182 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
3183 CODE_LABEL and jump table when replacing a table jump with a
3184 simple jump.
3185
3186 2002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
3187
3188 * config/s390/s390-protos.h (legitimize_la_operand,
3189 s390_secondary_input_reload_class, s390_plus_operand,
3190 s390_expand_plus_operand): Add prototypes.
3191
3192 config/s390/s390.c (s390_secondary_input_reload_class,
3193 s390_plus_operand, s390_expand_plus_operand): New functions.
3194
3195 (struct s390_address): New member 'pointer'.
3196 (s390_decompose_address): Compute it.
3197 (legitimate_la_operand_p): Use it.
3198 (legitimize_la_operand): New function.
3199 (movti, movdi, movdf splitters): Call it.
3200
3201 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
3202 (PREDICATE_CODES): Add s390_plus_operand.
3203
3204 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
3205 (la_ccclobber): Allow GENERAL_REGS as output operand.
3206
3207 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
3208 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
3209 (*la_64, *la_31, reload_indi, reload_insi): ... these.
3210
3211 2002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
3212
3213 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
3214 register names for regular asm () construct.
3215
3216 2002-02-04 Jakub Jelinek <jakub@redhat.com>
3217
3218 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
3219 registers.
3220
3221 2002-02-04 Jakub Jelinek <jakub@redhat.com>
3222
3223 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
3224 pat for recog.
3225
3226 2002-02-04 Hartmut Penner <hpenner@de.ibm.com>
3227
3228 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
3229 constant pool to be identical by string address and index.
3230
3231 2002-02-04 Anthony Green <green@redhat.com>
3232
3233 * output.h (SECTION_OVERRIDE): Define.
3234 * varasm.c (named_section): Obey SECTION_OVERRIDE.
3235
3236 2002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
3237
3238 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
3239 by existing arm*-*-netbsd* (a.out) target.
3240 (ns32k-*-netbsdelf*): Likewise.
3241 (sparc-*-netbsdelf*): Likewise.
3242 (vax-*-netbsdelf*): Likewise.
3243
3244 2002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3245
3246 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
3247 headers and libobjc headers.
3248
3249 2002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
3250
3251 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
3252 (_mingw.h): Remove duplicate include.
3253
3254 2002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
3255
3256 * config.gcc: Set cpu_type to m68k for 68010, as well.
3257 (m68010-*-netbsdelf*): New...
3258 (m68k*-*-netbsdelf*): ...targets.
3259 * config/m68k/netbsd-elf.h: New file.
3260
3261 2002-02-02 Kazu Hirata <kazu@hxi.com>
3262
3263 * config/h8300/h8300.c (hand_list): Move inside function_arg.
3264
3265 2002-02-02 Kazu Hirata <kazu@hxi.com>
3266
3267 * config/h8300/h8300.c (h8_push_ops): Move inside
3268 h8300_init_once.
3269 (h8_pop_ops): Likewise.
3270 (h8_move_ops): Likewise.
3271
3272 2002-02-02 Kazu Hirata <kazu@hxi.com>
3273
3274 * config/h8300/h8300.c (os_task): Make it static.
3275 (monitor): Likewise.
3276 (pragma_saveall): Likewise.
3277
3278 2002-02-02 Alexandre Oliva <aoliva@redhat.com>
3279
3280 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
3281 constant is a valid sign-extension for Pmode.
3282
3283 2002-02-02 Kazu Hirata <kazu@hxi.com>
3284
3285 * config/h8300/h8300.c: Fix formatting.
3286
3287 2002-02-02 Kazu Hirata <kazu@hxi.com>
3288
3289 * config/h8300/h8300.md: Fix formatting.
3290
3291 2002-02-02 Kazu Hirata <kazu@hxi.com>
3292
3293 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
3294 predicates of operands[1]. Split the patterns for each
3295 processor variant.
3296
3297 2002-02-02 Kazu Hirata <kazu@hxi.com>
3298
3299 * config/h8300/h8300.md (xor patterns): Tighten the predicates
3300 of operands[1] to register_operand.
3301
3302 2002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
3303
3304 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
3305 * cpphash.c (_cpp_init_hashtable): Similarly.
3306 * cppinit.c (cpp_create_reader): Default the signed_char flag.
3307 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
3308 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
3309 (cpp_handle_option): Handle the new options.
3310 * cpplex.c (cpp_interpret_charconst): Use new flag.
3311 * cpplib.h (struct cpp_options): New member signed_char.
3312 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
3313 (cpp_options): Handle -fsigned-char and -funsigned-char.
3314 (static_specs): Remove signed_char_spec.
3315 (do_spec1): Don't handle %c.
3316 * system.h: Poison SIGNED_CHAR_SPEC.
3317 * tradcif.y (yylex): Use flag_signed_char.
3318 * tradcpp.h (flag_signed_char): New.
3319 * tradcpp.c (flag_signed_char): New.
3320 (main): Handle new command-line options.
3321 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
3322 config:
3323 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
3324 * avr/avr.h: Remove old comments.
3325 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
3326 (CC1_SPEC): Pass -fsigned-char if -mic*.
3327 (SIGNED_CHAR_SPEC): Remove.
3328 doc:
3329 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
3330
3331 2002-02-01 Eric Christopher <echristo@redhat.com>
3332
3333 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
3334 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
3335 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
3336 (ASM_OUTPUT_REG_POP): Ditto.
3337
3338 2002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
3339
3340 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
3341 patch.
3342
3343 2002-02-02 Jakub Jelinek <jakub@redhat.com>
3344
3345 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
3346
3347 2002-02-02 Jakub Jelinek <jakub@redhat.com>
3348
3349 PR c/5304:
3350 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
3351 unconditionally.
3352
3353 2002-02-01 Janis Johnson <janis187@us.ibm.com>
3354
3355 * cfganal.c: Include tm_p.h.
3356 (keep_with_call_p): Fix the test that determines if a register holds
3357 the return value of a call.
3358
3359 2002-02-01 DJ Delorie <dj@redhat.com>
3360
3361 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
3362 we are given conflicting registers, switch to the other one we
3363 had allocated for us.
3364 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
3365 as TImode so we know when the "other" register is available.
3366
3367 2002-02-01 David O'Brien <obrien@FreeBSD.org>
3368
3369 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
3370 sparc/sparc_bi.h.
3371
3372 2002-02-01 Janis Johnson <janis187@us.ibm.com>
3373
3374 * cfganal.c (keep_with_call_p): New function.
3375 (flow_call_edges_add): Prevent splitting a block between a call and
3376 a single-set instruction that should be kept in the same block.
3377
3378 2002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
3379
3380 * doc/install.texi (avr): Update outdated URL.
3381
3382 2002-01-30 Andrew Haley <aph@cambridge.redhat.com>
3383
3384 * config/stormy16/stormy16.md (pushqi): New.
3385 (popqi): New.
3386 (pushhi): New.
3387 (pophi): New.
3388 (movhi): Remove stack operands.
3389 (movqi): Likewise.
3390 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
3391 nonimmediate_nonstack_operand.
3392 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
3393 New.
3394 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
3395 New.
3396
3397 2002-01-31 Jason Merrill <jason@redhat.com>
3398
3399 * Makefile.in (c-parse.c): Handle .output file.
3400 * objc/Make-lang.in (objc-parse.c): Likewise.
3401
3402 2002-02-01 Alexandre Oliva <aoliva@redhat.com>
3403
3404 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
3405 the -me[lb] option is given. Don't output the default flag
3406 twice.
3407
3408 2002-01-31 Zack Weinberg <zack@codesourcery.com>
3409
3410 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
3411 the primary source file; this has not been done yet.
3412 * c-decl.c (c_expand_body): Reset input_filename from
3413 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
3414
3415 2002-01-31 Kazu Hirata <kazu@hxi.com>
3416
3417 * rtlanal.c (subreg_regno_offset): Do not use
3418 SUBREG_REGNO_OFFSET.
3419 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
3420 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
3421
3422 2002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
3423
3424 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
3425 version rather than GNATS version in --version output.
3426
3427 2002-01-31 Richard Sandiford <rsandifo@redhat.com>
3428
3429 * ifcvt.c (noce_process_if_block): Make a copy of the destination
3430 when copying back from a temporary.
3431
3432 2002-01-30 Richard Henderson <rth@redhat.com>
3433
3434 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
3435 and new_dest are the same.
3436
3437 2002-01-30 Richard Henderson <rth@redhat.com>
3438
3439 PR opt/5076
3440 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
3441 * rtl.c (note_insn_name): Update.
3442 * emit-rtl.c (remove_unnecessary_notes): Kill it.
3443 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
3444 to perform loop rotation.
3445 (expand_exit_loop_top_cond): New.
3446 * tree.h (expand_exit_loop_top_cond): Declare it.
3447 * c-semantics.c (genrtl_while_stmt): Use it.
3448 (genrtl_for_stmt): Likewise.
3449
3450 2002-01-30 Alexandre Oliva <aoliva@redhat.com>
3451
3452 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
3453 arguments to 64-bit boundaries on 64-bit ABIs.
3454
3455 2002-01-30 Steve Ellcey <sje@cup.hp.com>
3456
3457 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
3458
3459 2002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
3460
3461 * c-decl.c (grokdeclarator): Handle type being a typedef for an
3462 invalid type.
3463
3464 2002-01-30 David O'Brien <obrien@FreeBSD.org>
3465
3466 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
3467 * config/sparc/sparc_bi.h: Remove file.
3468 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
3469
3470 2002-01-30 Richard Henderson <rth@redhat.com>
3471
3472 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
3473
3474 2002-01-30 Zack Weinberg <zack@codesourcery.com>
3475
3476 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
3477
3478 2002-01-30 Jason Merrill <jason@redhat.com>
3479
3480 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
3481 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
3482 (reg_save): Use DW_CFA_offset_extended_sf instead.
3483
3484 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
3485
3486 2002-01-29 Jakub Jelinek <jakub@redhat.com>
3487
3488 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
3489 in cselib_lookup.
3490
3491 2002-01-29 Aldy Hernandez <aldyh@redhat.com>
3492
3493 * rs6000.md ("*call_value_local32"): Remove constraints.
3494 ("*call_value_local64"): Same.
3495 ("*call_value_indirect_nonlocal_aix32"): Same.
3496 ("*call_value_nonlocal_aix32"): Same.
3497 ("*call_value_indirect_nonlocal_aix64"): Same.
3498 ("*call_value_nonlocal_aix64"): Same.
3499 ("*call_value_nonlocal_sysv"): Same.
3500
3501 2002-01-29 Richard Henderson <rth@redhat.com>
3502
3503 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
3504
3505 2002-01-29 Richard Henderson <rth@redhat.com>
3506
3507 * expr.c (force_operand): Ignore flag_pic for detecting pic
3508 address loads.
3509 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
3510 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
3511 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
3512 instead of open-coded loop.
3513 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
3514 be fixed when in use.
3515
3516 2002-01-29 Richard Henderson <rth@redhat.com>
3517
3518 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
3519 * sched-rgn.c (propagate_deps): Update them.
3520 * sched-deps.c (sched_analyze_insn): Update them. Flush the
3521 clobbers list when either gets too long.
3522
3523 2002-01-29 Jakub Jelinek <jakub@redhat.com>
3524
3525 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
3526 and INDEX_REGS the same as GENERAL_REGS.
3527 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
3528
3529 2002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
3530
3531 * tree.c (build_nonstandard_integer_type): Correct prototype.
3532
3533 2002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
3534
3535 * config/s390/s390.md (movstrsico, movstrdix_64,
3536 movstrsix_31): Remove, replace by ...
3537 (movstrdi_short, movstrsi_short, movstrdi_long,
3538 movstrsi_long): ... these. New.
3539 (movstrdi, movstrsi): Adapt.
3540
3541 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
3542 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
3543 Remove unnecessary CC clobber.
3544 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
3545 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
3546
3547 (divmoddi4): Don't partially initialize TImode register.
3548
3549 2002-01-29 Geoffrey Keating <geoffk@redhat.com>
3550
3551 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
3552
3553 2002-01-29 Richard Henderson <rth@redhat.com>
3554
3555 * flow.c (print_rtl_and_abort): Remove.
3556 (print_rtl_and_abort_fcn): Remove.
3557 (verify_local_live_at_start): Use dump_bb instead.
3558 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
3559 (verify_wide_reg_1): Return 2 on mode test failure.
3560
3561 2002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
3562
3563 PR c/3325, c/3326, c/2511, c/3347
3564 * c-decl.c (enum_decl_context): Remove BITFIELD.
3565 (grokdeclarator): Take bitfield width as an input.
3566 Ensure bitfields are given the correct type. Perform
3567 bitfield width validation with build_bitfield_integer_type
3568 rather than waiting for finish_struct.
3569 (grok_typename, grok_typename_in_parm_context, start_decl,
3570 push_parmdecl, grokfield, start_function): Update calls to
3571 grokdeclarator.
3572 (build_bitfield_integer_type): New function.
3573 (finish_struct): Move bitfield validation to grokdeclarator
3574 and build_bitfield_integer_type.
3575 * tree.c (build_nonstandard_integer_type): New function.
3576 * tree.h (build_nonstandard_integer_type): New prototype.
3577 objc:
3578 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
3579
3580 2002-01-29 Jakub Jelinek <jakub@redhat.com>
3581
3582 PR other/1502:
3583 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
3584 don't ignore unrecognized -W* options.
3585 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
3586 * cpplib.h (cpp_handle_option): Adjust prototype.
3587 * c-decl.c (c_decode_options): Pass 0 as last argument to
3588 cpp_handle_option.
3589
3590 PR c/2896:
3591 * gcc.c (cpp_unique_options): Split from cpp_options.
3592 (cpp_options): Source cpp_unique_options.
3593 (default_compilers): Use cpp_unique_options instead of cpp_options
3594 when used together with cc1_options.
3595 (static_specs): Add cpp_unique_options.
3596 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
3597 when used together with cc1_options.
3598
3599 2002-01-29 Kazu Hirata <kazu@hxi.com>
3600
3601 * config/h8300/h8300-protos.h: Update the prototype of
3602 output_a_shift.
3603 * config/h8300/h8300.c (output_a_shift): Remove an unused
3604 argument 'insn'. Remove redundant code.
3605 * config/h8300/h8300.md: Adust to the new prototype of
3606 output_a_shift.
3607
3608 2002-01-29 Kazu Hirata <kazu@hxi.com>
3609
3610 * config/h8300/h8300-protos.h: Update the prototypes of
3611 emit_a_rotate and expand_a_rotate.
3612 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
3613 first argument to 'enum rtx_code'.
3614 (expand_a_rotate): Likewise.
3615
3616 2002-01-28 Kazu Hirata <kazu@hxi.com>
3617
3618 * config/h8300/h8300-protos.h: Update the prototype of
3619 output_simode_bld.
3620 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
3621 'log2'.
3622 * config/h8300/h8300.md: Adjust to the new prototype.
3623
3624 2002-01-28 Kazu Hirata <kazu@hxi.com>
3625
3626 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
3627 redundant code.
3628
3629 2002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
3630
3631 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
3632 is a fixed register before returning pic_offset_table_rtx.
3633 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
3634 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
3635
3636 2002-01-28 Jason Merrill <jason@redhat.com>
3637
3638 * dwarf2.h: Sync with src version.
3639
3640 2002-01-28 Paul Koning <pkoning@equallogic.com>
3641
3642 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
3643 BT_FN_VOID_PTR_VAR.
3644 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
3645 * doc/extend.texi (__builtin_prefetch): Update documentation:
3646 first argument is now const void ptr.
3647
3648 2002-01-28 Kazu Hirata <kazu@hxi.com>
3649
3650 * config/h8300/h8300-protos.h: Remove an unused prototype.
3651
3652 2002-01-28 Roman Zippel <zippel@linux-m68k.org>
3653
3654 * toplev.c (lang_independent_init): Round up identifier size.
3655
3656 2002-01-28 Richard Earnshaw <rearnsha@arm.com>
3657
3658 * config.gcc: Revert previous change.
3659
3660 2002-01-28 Andris Pavenis <pavenis@latnet.lv>
3661
3662 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
3663
3664 2002-01-28 Richard Earnshaw <rearnsha@arm.com>
3665
3666 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
3667 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
3668 other non-elf netbsd config frags.
3669 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
3670 collect2 will does that.
3671 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
3672 shared-lib frobbing will work.
3673
3674 2002-01-28 Kazu Hirata <kazu@hxi.com>
3675
3676 * config/h8300/h8300.h: Fix formatting.
3677 * config/h8300/h8300.md: Likewise.
3678
3679 2002-01-28 Loren J. Rittle <ljrittle@acm.org>
3680
3681 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
3682 the old, removed AAA_standards fix.
3683 * fixinc/fixincl.x: Rebuilt.
3684
3685 2002-01-28 Hans-Peter Nilsson <hp@axis.com>
3686
3687 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
3688 atexit call in crtbegin, hooked in after call to frame_dummy;
3689 register EH before registering __fini__start.
3690
3691 2002-01-28 Aldy Hernandez <aldyh@redhat.com>
3692
3693 * config/rs6000/altivec.h: Remove spurious semicolons.
3694
3695 2002-01-27 Kazu Hirata <kazu@hxi.com>
3696
3697 * config/h8300/h8300.md: Replace dead bit extraction patterns
3698 with ones that work.
3699
3700 Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3701
3702 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
3703 if not STRICT_ALIGNMENT.
3704 * rtl.h (MEM_ALIGN): Likewise.
3705
3706 2002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
3707
3708 * doc/invoke.texi (-fdump-translation-unit): Revert this
3709 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
3710
3711 2002-01-27 Kazu Hirata <kazu@hxi.com>
3712
3713 * config/h8300/h8300.md (define_constants): New.
3714 (anonymous patterns) Use defined constants appropriately.
3715
3716 2002-01-27 Kazu Hirata <kazu@hxi.com>
3717
3718 * config/h8300/h8300.c (function_arg): Remove redundant code.
3719
3720 2002-01-26 Richard Henderson <rth@redhat.com>
3721
3722 * sched-deps.c (reg_pending_uses_head): New.
3723 (reg_pending_barrier): Rename from reg_pending_sets_all.
3724 (find_insn_list): Don't mark inline.
3725 (find_insn_mem_list): Remove.
3726 (add_dependence_list, add_dependence_list_and_free): New.
3727 (flush_pending_lists): Replace only_write param with separate
3728 for_read and for_write parameters. Update all callers. Use
3729 add_dependence_list_and_free.
3730 (sched_analyze_1): Do not add reg dependencies here; just set
3731 the pending bits. Use add_dependence_list.
3732 (sched_analyze_2): Likewise.
3733 (sched_analyze_insn): Replace schedule_barrier_found with
3734 reg_pending_barrier. Add all dependencies for pending reg
3735 uses, sets, and clobbers.
3736 (sched_analyze): Don't add reg dependencies for calls, just
3737 set pending bits. Use regs_invalidated_by_call. Treat
3738 sched_before_next_call as a normal list, not a fake insn.
3739 (init_deps): No funny init for sched_before_next_call.
3740 (free_deps): Free pending mems lists. Don't zero reg_last.
3741 (init_deps_global): Init reg_pending_uses.
3742 (finish_deps_global): Free it.
3743 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
3744 (find_insn_mem_list): Remove.
3745 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
3746 (propagate_deps): Use them. Zero temp mem lists.
3747
3748 2002-01-26 Richard Henderson <rth@redhat.com>
3749
3750 * Makefile.in (CRTSTUFF_CFLAGS): New.
3751 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
3752 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
3753 crtstuff.c instead of alpha assembly version.
3754 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
3755 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
3756 not FORCE_{INIT,FINI}_SECTION_ALIGN.
3757 (__do_global_dtors_aux): Mark used.
3758 (frame_dummy, __do_global_ctors_aux): Mark used.
3759 (fini_dummy, init_dummy): Remove.
3760
3761 * config/alpha/crtbegin.asm: Remove file.
3762 * config/alpha/crtend.asm: Remove file.
3763 * config/alpha/t-crtbe: Remove file.
3764 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
3765 (LINK_EH_SPEC): New.
3766
3767 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
3768 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
3769 calling constructors.
3770 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
3771
3772 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
3773 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
3774 CRT_END_INIT_DUMMY hack.
3775 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
3776 FORCE_{INIT,FINI}_SECTION_ALIGN.
3777
3778 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
3779 FORCE_{INIT,FINI}_SECTION_ALIGN.
3780
3781 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
3782 invocation sequence.
3783 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
3784
3785 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
3786 (FORCE_CODE_SECTION_ALIGN): New.
3787
3788 2002-01-26 Richard Henderson <rth@redhat.com>
3789
3790 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
3791
3792 2002-01-26 Richard Henderson <rth@redhat.com>
3793
3794 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
3795 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
3796
3797 2002-01-26 Kazu Hirata <kazu@hxi.com>
3798
3799 * config/h8300/h8300.md: Remove bit extraction patterns that
3800 cannot be triggered.
3801 Restrict each bit extraction pattern to a variant on which the
3802 pattern is tested.
3803
3804 2002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
3805
3806 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
3807
3808 2002-01-26 Kazu Hirata <kazu@hxi.com>
3809
3810 * config/h8300/h8300.md: Remove bit test patterns that cannot
3811 be triggered.
3812 Restrict each bit test pattern to a variant on which the
3813 pattern is tested.
3814
3815 2002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3816
3817 * builtins.c (expand_builtin_strncat): Remove redundant check for
3818 INTEGER_CST.
3819
3820 2002-01-25 David O'Brien <obrien@FreeBSD.org>
3821
3822 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
3823 default setting.
3824 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
3825 existing setting.
3826
3827 2002-01-25 Geoffrey Keating <geoffk@redhat.com>
3828
3829 * dbxout.c (dbxout_init): Use assemble_name rather than just
3830 stripping off the first character.
3831 (dbxout_source_file): Likewise.
3832
3833 2002-01-25 DJ Delorie <dj@redhat.com>
3834
3835 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
3836 using rtx_equal_p, not by comparing pointers.
3837
3838 2002-01-25 Steve Ellcey <sje@cup.hp.com>
3839
3840 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
3841 for PIC_OFFSET_TABLE_REGNUM.
3842 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
3843
3844 2002-01-25 David O'Brien <obrien@FreeBSD.org>
3845
3846 * config.gcc (x86_64-*-freebsd*): New target.
3847 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
3848 value.
3849 (i[34567]86-*-freebsd*): Don't include svr4.h.
3850 * config/i386/freebsd64.h: New file.
3851
3852 2002-01-25 Douglas B Rupp <rupp@gnat.com>
3853
3854 * config/alpha/x-vms (version): Make static.
3855
3856 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
3857 in previous checkin.
3858
3859 * Makefile.in (install-headers-cp): New target.
3860 * config.gcc (alpha-dec-*vms*): Install headers with
3861 install-headers-cp
3862
3863 Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
3864
3865 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
3866 avoid it's copies.
3867
3868 Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3869
3870 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
3871 of compare_tree_int.
3872 (expand_builtin_strncat): Likewise.
3873 * c-decl.c (finish_struct): Use tree_low_cst.
3874 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
3875 * tree.c (compare_tree_int): Likewise.
3876
3877 2002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
3878
3879 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
3880 adjustments even if they are implemented by more than two insns.
3881
3882 Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
3883
3884 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
3885 * df.h (struct ref): Kill B.
3886 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
3887
3888 * basic-block.h (PROP_EQUAL_NOTES): New flag.
3889 * flow.c (propagate_one_insn): Use it.
3890 (mark_used_regs): Handle NIL.
3891
3892 2002-01-25 Geoffrey Keating <geoffk@redhat.com>
3893
3894 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
3895 to help folding.
3896
3897 2002-01-25 David Edelsohn <edelsohn@gnu.org>
3898
3899 * rs6000.md (prefetch): Make address V4SI mode so that the address
3900 is restricted to legitimate form for instruction.
3901
3902 2002-01-25 Bob Wilson <bob.wilson@acm.org>
3903
3904 * doc/install.texi (xtensa-*-elf): New target.
3905 (xtensa-*-linux*): New target.
3906 * doc/contrib.texi: Add myself.
3907
3908 2002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
3909
3910 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
3911 purpose register to hold an SImode (or smaller) value.
3912
3913 2002-01-25 Jakub Jelinek <jakub@redhat.com>
3914
3915 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
3916 registry only.
3917 * crtstuff.c: Likewise.
3918
3919 2002-01-25 Kazu Hirata <kazu@hxi.com>
3920
3921 * config/h8300/h8300.md (negation patterns): Tighten
3922 predicates to register_operand.
3923
3924 2002-01-24 Aldy Hernandez <aldyh@redhat.com>
3925
3926 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
3927 mode, not Pmode.
3928
3929 * builtins.c (expand_builtin_prefetch): Same.
3930
3931 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
3932
3933 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
3934 modes.
3935
3936 2002-01-24 Kazu Hirata <kazu@hxi.com>
3937
3938 * config/h8300/h8300.c (print_operand): Remove support for
3939 operand character 'A'.
3940 * config/h8300/h8300.md (three anonymous patterns): Replace
3941 operand character 'A' with either 'T' or 'S'.
3942
3943 2002-01-24 Kazu Hirata <kazu@hxi.com>
3944
3945 * config/h8300/h8300.c (print_operand): Remove support for
3946 operand character 'U'.
3947
3948 2002-01-24 Andris Pavenis <pavenis@latnet.lv>
3949
3950 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
3951
3952 2002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
3953
3954 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
3955 values to be assigned to the stack pointer.
3956
3957 2002-01-14 Hartmut Penner <hpenner@de.ibm.com>
3958
3959 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
3960 to const_double needs to be done right for big-endian systems.
3961
3962 2002-01-24 Jason Merrill <jason@redhat.com>
3963
3964 PR c++/2432
3965 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
3966 to can_throw_internal.
3967
3968 2002-01-23 Richard Henderson <rth@redhat.com>
3969
3970 * fold-const.c (fold): Change UINT_MAX test to check vs precision
3971 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
3972
3973 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
3974
3975 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
3976 (symGOT2reg): Use them, then set as GOT value as unchanging.
3977 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
3978 as a temporary, if possible.
3979 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
3980 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
3981
3982 2002-01-23 Kazu Hirata <kazu@hxi.com>
3983
3984 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
3985 accept to accept 0x80 as operands[2].
3986
3987 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
3988
3989 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
3990
3991 2002-01-23 Richard Henderson <rth@redhat.com>
3992
3993 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
3994
3995 2002-01-23 Aldy Hernandez <aldyh@redhat.com>
3996
3997 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
3998 (parmlist_or_identifiers_1): Verify that only a parmlist follows
3999 an attribute.
4000
4001 2002-01-23 Richard Henderson <rth@redhat.com>
4002
4003 * expr.c (move_by_pieces_1): Extend size before negation.
4004
4005 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
4006 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
4007 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
4008 * config/m68k/t-m68kelf: Likewise.
4009
4010 2002-01-23 Bob Wilson <bob.wilson@acm.org>
4011
4012 * config/xtensa/elf.h: New file.
4013 * config/xtensa/lib1funcs.asm: New file.
4014 * config/xtensa/lib2funcs.S: New file.
4015 * config/xtensa/linux.h: New file.
4016 * config/xtensa/t-xtensa: New file.
4017 * config/xtensa/xtensa-config.h: New file.
4018 * config/xtensa/xtensa-protos.h: New file.
4019 * config/xtensa/xtensa.c: New file.
4020 * config/xtensa/xtensa.h: New file.
4021 * config/xtensa/xtensa.md: New file.
4022 * config.gcc (xtensa-*-elf*): New target.
4023 (xtensa-*-linux*): New target.
4024 * cse.c (canon_hash): Compare rtx pointers instead of register
4025 numbers. This is required for the Xtensa port.
4026 * integrate.c (copy_insn_list): Handle case where the static
4027 chain is in memory and the memory address has to be copied to
4028 a register.
4029 * doc/invoke.texi (Option Summary): Add Xtensa options.
4030 (Xtensa Options): New node.
4031 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
4032
4033 2002-01-23 Zack Weinberg <zack@codesourcery.com>
4034
4035 * diagnostic.c (internal_error): Do ICE suppression only
4036 when ENABLE_CHECKING is not defined.
4037
4038 * c-typeck.c (require_complete_type): Return error_mark_node
4039 if type is error_mark_node.
4040
4041 2002-01-23 Janis Johnson <janis187@us.ibm.com>
4042
4043 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
4044 -Os and issue a warning.
4045
4046 2002-01-23 Zack Weinberg <zack@codesourcery.com>
4047
4048 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
4049 current (lack of) need for host configuration by hand.
4050
4051 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
4052 references. Documentation of some target macros moved from
4053 hostconfig.texi to tm.texi.
4054
4055 2002-01-23 Will Cohen <wcohen@redhat.com>
4056
4057 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
4058 defined.
4059
4060 2002-01-23 Kazu Hirata <kazu@hxi.com>
4061
4062 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
4063 operand[3].
4064
4065 2002-01-23 Jason Merrill <jason@redhat.com>
4066
4067 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
4068
4069 * function.c (assign_parms): Don't put args of inline functions
4070 into registers when not optimizing.
4071
4072 2002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
4073
4074 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
4075 (prologue_use): New pattern.
4076 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
4077 preference to gen_rtx_USE.
4078 (thumb_expand_prologue): Use gen_prologue_use in preference to
4079 gen_rtx_USE.
4080 (thumb_expand_epilogue): Use gen_prologue_use in preference to
4081 gen_rtx_USE.
4082
4083 2002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
4084
4085 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
4086
4087 2002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
4088
4089 PR c/3504
4090 * doc/extend.texi: Correct documentation of __alignof__.
4091
4092 2002-01-22 Zack Weinberg <zack@codesourcery.com>
4093
4094 * params.h: Rename arguments of DEFPARAM so that it will be
4095 recognized as a translation keyword.
4096
4097 2002-01-22 Aldy Hernandez <aldyh@redhat.com>
4098
4099 * extend.texi: Document altivec functions.
4100 Fix N-bit adjectives in X86 builtin documentation.
4101
4102 2002-01-22 Alexandre Oliva <aoliva@redhat.com>
4103
4104 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
4105 auto_inc_dec values.
4106
4107 2002-01-22 Richard Earnshaw <rearnsha@arm.com>
4108
4109 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
4110 after backslash.
4111 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
4112
4113 2002-01-22 Alexandre Oliva <aoliva@redhat.com>
4114
4115 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
4116
4117 2002-01-22 Richard Henderson <rth@redhat.com>
4118
4119 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
4120 copy_insn not copy_rtx.
4121
4122 2002-01-23 Alan Modra <amodra@bigpond.net.au>
4123
4124 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
4125 "nonzero" as that might add "1" bits. Ensure "constop" is
4126 properly sign extened.
4127 (force_to_mode): Tweak for sign extended constop.
4128
4129 2002-01-22 Richard Henderson <rth@redhat.com>
4130
4131 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
4132 for_each_rtx instead of assuming we're already looking at the MEM.
4133 (split_small_symbolic_mem_operand): Likewise.
4134 * config/alpha/alpha.h (PREDICATE_CODES): Update.
4135 * config/alpha/alpha.md (small symbolic memory splitters): Update.
4136
4137 2002-01-22 Richard Henderson <rth@redhat.com>
4138
4139 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
4140 sequence number for the literal.
4141 (divmoddi_internal_er): Likewise.
4142
4143 2002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
4144
4145 PR java/4972
4146 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
4147 in LIBICONV variable.
4148 * configure: Regenerated.
4149
4150 2002-01-22 Krister Walfridsson <cato@df.lth.se>
4151
4152 * dependence.c (build_def_use): Remove array_idx.
4153
4154 * dwarfout.c (last_filename): Remove.
4155 (output_compile_unit_die): Remove last_filename.
4156
4157 2002-01-22 Roger Sayle <roger@eyesopen.com>
4158 Richard Henderson <rth@redhat.com>
4159
4160 PR opt/3640
4161 * fold-const.c (fold): Optimize unsigned comparisons against
4162 UINT_MAX (and similar unsigned constants).
4163
4164 2002-01-22 Janis Johnson <janis187@us.ibm.com>
4165
4166 * Makefile.in (loop.o): Depend on OPTABS_H.
4167 * loop.c (emit_prefetch_instructions): Check the prefetch operand
4168 against the predicate.
4169
4170 PR target/5379
4171 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
4172 for the address operand.
4173
4174 2002-01-22 Richard Henderson <rth@redhat.com>
4175
4176 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
4177
4178 2002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
4179
4180 PR other/5450
4181 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
4182 preprocessor flags.
4183
4184 2002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
4185
4186 * config.gcc (x86_64-*-netbsd*): New target.
4187 * config/i386/netbsd64.h: New file.
4188
4189 2002-01-22 Aldy Hernandez <aldyh@redhat.com>
4190
4191 * regrename.c (kill_value): Fix typo.
4192
4193 2002-01-22 Aldy Hernandez <aldyh@redhat.com>
4194
4195 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
4196
4197 * config/rs6000/rs6000.h: Same.
4198
4199 * function.c (instantiate_virtual_regs): Remove
4200 STARTING_FRAME_PHASE.
4201 (assign_stack_local_1): Same.
4202 Calculate frame phase.
4203
4204 2002-01-22 Nick Clifton <nickc@redhat.com>
4205
4206 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
4207 variable declaration to outer scope in order to simplify
4208 future extensions.
4209 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
4210 arm_hard_regno_mode_ok.
4211 * config/arm/arm-protos.h: Add a prototype for
4212 arm_hard_regno_mode_ok.
4213 * config/arm/arm.c (soft_df_operand): Remove now redundant
4214 check for DImode values using IP_REGNUM.
4215 (nonimmediate_soft_df_operand): Remove now redundant check for
4216 DImode values using IP_REGNUM.
4217 (arm_hard_regno_mode_ok): New function. New check: make sure
4218 that DImode values are not stored in IP_REGNUM.
4219
4220 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
4221 note with a USE.
4222 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
4223
4224 2002-01-22 Jason Merrill <jason@redhat.com>
4225
4226 * c-semantics.c (genrtl_compound_stmt): Only check nesting
4227 consistency if this COMPOUND_STMT is scoped.
4228
4229 2002-01-22 Kazu Hirata <kazu@hxi.com>
4230
4231 * predict.c: Fix formatting.
4232 * print-tree.c: Likewise.
4233 * protoize.c: Likewise.
4234 * real.h: Likewise.
4235 * rtl.h: Likewise.
4236 * sbitmap.h: Likewise.
4237 * scan.c: Likewise.
4238 * sched-deps.c: Likewise.
4239 * sched-vis.c: Likewise.
4240 * sdbout.c: Likewise.
4241 * sibcall.c: Likewise.
4242 * ssa.c: Likewise.
4243 * ssa-ccp.c: Likewise.
4244 * ssa-dce.c: Likewise.
4245 * stmt.c: Likewise.
4246 * stor-layout.c: Likewise.
4247 * system.h: Likewise.
4248
4249 Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4250
4251 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
4252 if fits in bounds of base type.
4253
4254 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
4255 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
4256 (add_bound_info, default): If can't find a context, make a
4257 SAVE_EXPR.
4258 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
4259
4260 2002-01-22 Hans-Peter Nilsson <hp@axis.com>
4261
4262 * c-typeck.c (parser_build_binary_op): If result from
4263 build_binary_op is ERROR_MARK just return error_mark_node without
4264 further processing.
4265
4266 2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
4267
4268 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
4269 Split a.out-specific bits into...
4270 * config/netbsd-aout.h: ...this.
4271 * config/netbsd-elf.h: New file.
4272 * config/alpha/netbsd-elf.h: Remove.
4273 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
4274 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
4275 (STARTFILE_SPEC): Remove redundant definition.
4276 (ENDFILE_SPEC): Likewise.
4277 (LINK_SPEC): Likewise.
4278 (CPP_SPEC): Likewise.
4279 (ASM_SPEC): Likewise.
4280 (LIB_SPEC): Likewise.
4281 (SWITCH_TAKES_ARG): Likewise.
4282 (TARGET_MEM_FUNCTIONS): Likewise.
4283 (CPP_PREDEFINES): Redefine.
4284 (ASM_FINAL_SPEC): Remove redefinition.
4285 (ASM_COMMENT_START): Redefine.
4286 (FUNCTION_PROFILER): Define.
4287 (TARGET_VERSION): Redefine.
4288 Comment and formatting cleanup.
4289 * config/i386/netbsd.h: Include <netbsd-aout.h>.
4290 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
4291 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
4292 big- or little-endian.
4293 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
4294 * config.gcc (*-*-netbsd*): Add definitions common to all
4295 NetBSD configs.
4296 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
4297 gnu_ld definitions. Add netbsd-elf.h to and remove
4298 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
4299 tmake_file, and don't lose previous tmake_file contents.
4300 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
4301 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
4302 gnu_ld definitions. Add netbsd-elf.h to tm_file.
4303 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
4304 (mipsel-*-netbsd*): Rename this to...
4305 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
4306 mips/little.h to tm_file for mips*el-*.
4307 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
4308 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
4309 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
4310
4311 2002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
4312
4313 * pa-protos.h (reg_before_reload_operand): New function prototype.
4314 * pa.c (reg_before_reload_operand): New function implementation.
4315 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
4316 contraints to "*m".
4317
4318 2002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4319
4320 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
4321
4322 2002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
4323
4324 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
4325 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
4326 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
4327 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
4328 (ENDFILE_SPEC): Undefine.
4329 (STARTFILE_SPEC): Redefine for PA.
4330
4331 2002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4332
4333 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
4334
4335 2002-01-21 Daniel Jacobowitz <drow@mvista.com>
4336
4337 * config.gcc: Add entries to supported PowerPC --with-cpu
4338 types.
4339
4340 2002-01-21 Jakub Jelinek <jakub@redhat.com>
4341
4342 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
4343 true for 64-bit mode only SSE registers in 32-bit mode.
4344
4345 2002-01-21 Kazu Hirata <kazu@hxi.com>
4346
4347 * unwind-dw2.c: Fix formatting.
4348 * unwind-dw2-fde.c: Likewise.
4349 * unwind-dw2-fde.h: Likewise.
4350 * unwind-pe.h: Likewise.
4351 * varasm.c: Likewise.
4352 * varray.h: Likewise.
4353
4354 2002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
4355
4356 Remove workaround for register stack overwrite bug in mmix.
4357 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
4358 support for TARGET_REG_STACK_FILL_BUG.
4359 * config/mmix/mmix.h: Remove member has_call_without_parameters.
4360 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
4361 Delete.
4362 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
4363 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
4364 -mno-reg-stack-fill-bug-workaround.
4365 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
4366 machine member has_call_without_parameters.
4367 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
4368 -mreg-stack-fill-bug-workaround and
4369 -mno-reg-stack-fill-bug-workaround.
4370 (MMIX Options): Ditto.
4371
4372 2002-01-21 Kazu Hirata <kazu@hxi.com>
4373
4374 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
4375 as appropriate.
4376 Remove redundant code.
4377
4378 2002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
4379
4380 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
4381 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
4382 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
4383 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
4384 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
4385 out target macro definitions and non-target-specific comments
4386 mostly taken from old versions of the manual.
4387
4388 2002-01-20 Kazu Hirata <kazu@hxi.com>
4389
4390 * config/h8300/h8300.h: Fix comment formatting.
4391 * config/ia64/aix.h: Likewise.
4392 * config/ia64/ia64-protos.h: Likewise.
4393 * config/ia64/ia64.c: Likewise.
4394 * config/ia64/ia64.h: Likewise.
4395 * config/ia64/ia64intrin.h: Likewise.
4396 * config/ia64/linux.h: Likewise.
4397 * config/ia64/unwind-aix.c: Likewise.
4398 * config/ia64/unwind-ia64.c: Likewise.
4399
4400 2002-01-20 Kazu Hirata <kazu@hxi.com>
4401
4402 * config/h8300/h8300.c: Revise comments about shift code.
4403
4404 2002-01-20 Kazu Hirata <kazu@hxi.com>
4405
4406 * config/h8300/h8300.c (function_arg): Update a comment.
4407
4408 2002-01-20 Kazu Hirata <kazu@hxi.com>
4409
4410 * config/h8300/h8300.md: Update the comments at the beginning
4411 of the file.
4412
4413 2002-01-20 Kazu Hirata <kazu@hxi.com>
4414
4415 * config/i370/i370.c: Fix comment formatting.
4416 * config/i370/i370.h: Likewise.
4417 * config/i370/i370.md: Likewise.
4418 * config/i370/linux.h: Likewise.
4419
4420 Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4421
4422 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
4423
4424 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
4425 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
4426 in incomplete case.
4427
4428 2002-01-20 Graham Stott <grahams@redhat.com>
4429
4430 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
4431
4432 2002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
4433
4434 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
4435
4436 2002-01-19 Tom Rix <trix@redhat.com>
4437
4438 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
4439
4440 2002-01-18 Aldy Hernandez <aldyh@redhat.com>
4441
4442 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
4443
4444 * function.c (assign_stack_local_1): Adjust x_frame_offset with
4445 STARTING_FRAME_PHASE.
4446 (STARTING_FRAME_PHASE): New.
4447 (instantiate_virtual_regs): Check saneness of
4448 STARTING_FRAME_PHASE.
4449
4450 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
4451
4452 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
4453
4454 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
4455
4456 2002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
4457
4458 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
4459 be used for bootstrapping GCC 3.0.
4460
4461 2002-01-18 Kazu Hirata <kazu@hxi.com>
4462
4463 * config/h8300/h8300.md: Fix an insn length.
4464
4465 2002-01-18 Kazu Hirata <kazu@hxi.com>
4466
4467 * bitmap.h: Fix comment formatting.
4468 * combine.c: Likewise.
4469 * cppfiles.c: Likewise.
4470 * c-pragma.h: Likewise.
4471 * c-typeck.c: Likewise.
4472 * df.c: Likewise.
4473 * dwarf2out.c: Likewise.
4474 * function.c: Likewise.
4475 * gcc.c: Likewise.
4476 * genattrtab.c: Likewise.
4477 * gthr-win32.h: Likewise.
4478 * haifa-sched.c: Likewise.
4479 * predict.c: Likewise.
4480 * rtlanal.c: Likewise.
4481 * rtl.h: Likewise.
4482 * unwind-dw2-fde.h: Likewise.
4483 * unwind-pe.h: Likewise.
4484 * vmsdbgout.c: Likewise.
4485
4486 Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4487
4488 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
4489 if type_required and passed decl.
4490
4491 2002-01-17 Aldy Hernandez <aldyh@redhat.com>
4492
4493 * config.gcc (cpu_type): Include altivec.h in powerpc
4494 extra_headers.
4495 Same for darwin.
4496
4497 * config/rs6000/altivec.h: New.
4498
4499 2002-01-17 David Edelsohn <edelsohn@gnu.org>
4500
4501 * doc/install.texi (*-ibm-aix*): Update assembler and exception
4502 handling information.
4503 * doc/trouble.texi (Interoperation): Add libstdc++ information
4504 for AIX.
4505 (Misunderstandings): Add template instantiation and static template
4506 member information for AIX.
4507
4508 2002-01-17 Jason Merrill <jason@redhat.com>
4509
4510 * dbxout.c (dbxout_type): Support const and volatile.
4511
4512 * except.c (add_partial_entry): Remove backwards compatibility code.
4513 (end_protect_partials): Likewise.
4514
4515 2002-01-17 Jakub Jelinek <jakub@redhat.com>
4516
4517 * config/ia64/ia64.md (prologue_use): New.
4518 * config/ia64/ia64.c (ia64_expand_prologue): Use
4519 gen_prologue_use instead of gen_rtx_USE.
4520 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
4521 as CODE_FOR_pred_rel_mutex.
4522 (ia64_sched_reorder2): Likewise.
4523
4524 2002-01-16 Eric Christopher <echristo@redhat.com>
4525
4526 * config/mips/r3900.h: Reformat.
4527 (SUBTARGET_CPP_SIZE_SPEC): Remove.
4528 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
4529 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
4530 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
4531 * config/mips/t-elf: Remove mips3 multilib.
4532
4533 2002-01-16 H.J. Lu <hjl@gnu.org>
4534
4535 * config/mips/linux.h: Include "mips/abi64.h".
4536
4537 2002-01-16 H.J. Lu <hjl@gnu.org>
4538
4539 * config/mips/t-linux: New.
4540
4541 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
4542
4543 * config/mips/linux.h: Don't include "gofast.h".
4544 (INIT_SUBTARGET_OPTABS): Removed.
4545
4546 2002-01-16 Kazu Hirata <kazu@hxi.com>
4547
4548 * config/h8300/h8300-protos.h: Replace emit_a_shift with
4549 output_a_shift.
4550 * config/h8300/h8300.c: Likewise.
4551 * config/h8300/h8300.md: Likewise.
4552
4553 2002-01-16 Kazu Hirata <kazu@hxi.com>
4554
4555 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
4556 spaces after an opcode name.
4557 (pushqi1_h8300hs): Likewise.
4558 (pushhi1_h8300hs): Likewise.
4559
4560 2002-01-16 Kazu Hirata <kazu@hxi.com>
4561
4562 * doc/extend.texi: Replace "option" with "attribute"
4563 appropriately.
4564
4565 2002-01-16 Jakub Jelinek <jakub@redhat.com>
4566
4567 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
4568 (and:DI () (const_int -8)).
4569 (split_small_symbolic_mem_operand): Split
4570 (mem (and:DI () (const_int -8)).
4571
4572 2002-01-16 Jakub Jelinek <jakub@redhat.com>
4573
4574 PR target/5309:
4575 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
4576 same way as TYPE_IMUL.
4577 (ultrasparc_sched_reorder): Likewise.
4578 * config/sparc/sparc.md (type): Add comment to update
4579 ultrasparc_sched_reorder when making changes.
4580
4581 2002-01-16 Kazu Hirata <kazu@hxi.com>
4582
4583 * doc/invoke.texi: Change the dump file name of block
4584 reordering pass from 28.bbro to 29.bbro.
4585 Mention -dk option.
4586
4587 Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
4588
4589 * i386.md (minsf splitter): Fix pasto.
4590
4591 2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
4592
4593 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
4594 to frame pointer initialisation instruction.
4595 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
4596 initialisation instruction.
4597 (soft_df_operand): Do not accept the IP register.
4598 (nonimmediate_soft_df_operand): Do not accept the IP register.
4599
4600 2002-01-16 Jakub Jelinek <jakub@redhat.com>
4601
4602 PR target/5357:
4603 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
4604 MASK_V8 being both set.
4605
4606 2002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
4607
4608 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
4609 insn for GOT register; add REG_MAYBE_DEAD notes instead.
4610 config/s390/s390.md (call, call_value): Add GOT register to
4611 CALL_INSN_FUNCTION_USAGE where needed.
4612 (call_exp, call_value_exp): New.
4613
4614 2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
4615
4616 * config/arm/arm.c: General formatting tidy up.
4617
4618 2002-01-16 Graham Stott <grahams@redhat.com>
4619
4620 * calls.c (try_to_integrate): Use "(size_t)" intermediate
4621 cast and when casting an integer literal to "rtx" pointer.
4622 (expand_call): Likewise.
4623 * flow.c (try_pre_increment): Likewise.
4624 (find_use_as_address): Likewise.
4625 * integrate.c (expand_iline_function): Likewise.
4626 * regmove.c (try_auto_increment): Likewise.
4627
4628 2002-01-16 Graham Stott <grahams@redhat.com>
4629
4630 * sched-rgn.c (passed): Use sbitmap_free.
4631 (header): Likewise.
4632 (inner): Likewise.
4633 (in_queue): Likewise.
4634 (in_stack): Likewise.
4635
4636 2002-01-15 Eric Christopher <echristo@redhat.com>
4637
4638 * flow.c (propagate_one_insn): Change to use fatal_insn.
4639
4640 2002-01-15 Kazu Hirata <kazu@hxi.com>
4641
4642 * expmed.c (extract_fixed_bit_field): Remove unused code.
4643 * system.h: Poison SLOW_ZERO_EXTEND.
4644 * doc/tm.texi: Remove.
4645 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
4646 * config/arm/arm.h: Likewise.
4647 * config/avr/avr.h: Likewise.
4648 * config/clipper/clipper.h: Likewise.
4649 * config/convex/convex.h: Likewise.
4650 * config/d30v/d30v.h: Likewise.
4651 * config/dsp16xx/dsp16xx.h: Likewise.
4652 * config/elxsi/elxsi.h: Likewise.
4653 * config/fr30/fr30.h: Likewise.
4654 * config/h8300/h8300.h: Likewise.
4655 * config/i370/i370.h: Likewise.
4656 * config/i386/i386.h: Likewise.
4657 * config/m68k/m68k.h: Likewise.
4658 * config/mips/mips.h: Likewise.
4659 * config/ns32k/ns32k.h: Likewise.
4660 * config/pdp11/pdp11.h: Likewise.
4661 * config/pj/pj.h: Likewise.
4662 * config/s390/s390.h: Likewise.
4663 * config/sh/sh.h: Likewise.
4664 * config/stormy16/stormy16.h: Likewise.
4665 * config/v850/v850.h: Likewise.
4666 * config/vax/vax.h: Likewise.
4667 * config/we32k/we32k.h: Likewise.
4668
4669 2002-01-15 Aldy Hernandez <aldyh@redhat.com>
4670
4671 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
4672 (altivec_lvsl): Change constraint to b.
4673 (altivec_lvsr): Same.
4674 (altivec_lvebx): Same.
4675 (altivec_lvehx): Same.
4676 (altivec_lvewx): Same.
4677 (altivec_lvxl): Same.
4678 (altivec_lvx): Same.
4679 (altivec_stvx): Add parallel.
4680 (altivec_stvxl): Same.
4681 (altivec_stvehx): Same.
4682 (altivec_stvebx): Same.
4683 (altivec_stvebx): Same.
4684
4685 2002-01-15 Aldy Hernandez <aldyh@redhat.com>
4686
4687 * config.gcc: Change altivec.h to altivec-defs.h.
4688
4689 * config/rs6000/altivec.h: Delete.
4690
4691 * config/rs6000/altivec-defs.h: Add.
4692
4693 2002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
4694
4695 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
4696 and UMOD modes.
4697
4698 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
4699 less than or equal to eight bytes.
4700
4701 * vax.md (andsi3): Remove constraints and change SET destination
4702 operand type to nonimmediate_operand.
4703 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
4704 when it is a CONST_INT.
4705
4706 2002-01-15 Jason Merrill <jason@redhat.com>
4707
4708 * c-common.def (FILE_STMT): New code.
4709 * c-common.c (statement_code_p): It's a statement.
4710 * c-common.h (stmt_tree_s): Add x_last_filename.
4711 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
4712 (last_expr_filename): New macro.
4713 * c-semantics.c (begin_stmt_tree): Initialize it.
4714 (add_stmt): If the filename changed, also insert a
4715 FILE_STMT.
4716 (expand_stmt): Handle seeing one.
4717
4718 2002-01-15 Eric Christopher <echristo@redhat.com>
4719
4720 * flow.c (propagate_one_insn): Add error message and print out
4721 insn for debugging.
4722
4723 2002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
4724
4725 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
4726 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
4727 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
4728 TRAMPOLINE_ALIGNMENT.
4729 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
4730 to be in bits.
4731 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
4732 PCC_BITFIELD_TYPE_MATTERS.
4733 * config/interix.h (STDC_VALUE): Remove. Use
4734 STDC_0_IN_SYSTEM_HEADERS.
4735 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
4736 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
4737 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
4738
4739 2002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
4740
4741 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
4742 not work on this platform currently.
4743
4744 2002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
4745
4746 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
4747 readonly_warning in _().
4748
4749 2002-01-15 Douglas B Rupp <rupp@gnat.com>
4750
4751 * gcc.c (delete_if_ordinary): Backout previous change.
4752
4753 2002-01-15 Kazu Hirata <kazu@hxi.com>
4754
4755 * config/h8300/h8300.c (print_operand): Remove support for
4756 unused operand characters.
4757
4758 * read-rtl.c: Fix formatting.
4759 * real.c: Likewise.
4760 * recog.c: Likewise.
4761 * regclass.c: Likewise.
4762 * regmove.c: Likewise.
4763 * reg-stack.c: Likewise.
4764 * reload1.c: Likewise.
4765 * rtlanal.c: Likewise.
4766
4767 2002-01-15 Kazu Hirata <kazu@hxi.com>
4768
4769 * config/i386/i386.c: Fix formatting.
4770
4771 2002-01-15 Jakub Jelinek <jakub@redhat.com>
4772
4773 * c-typeck.c (process_init_element): Don't save_expr
4774 COMPOUND_LITERAL_EXPR if just its initializer will be used.
4775
4776 2002-01-15 David Edelsohn <edelsohn@gnu.org>
4777
4778 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
4779 emit optional traceback table if optimize_size or TARGET_ELF.
4780 * config/rs6000/rs6000.md (prefetch): New.
4781
4782 2002-01-15 Andreas Jaeger <aj@suse.de>
4783
4784 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
4785
4786 2002-01-15 Kazu Hirata <kazu@hxi.com>
4787
4788 * mips-tfile.c: Fix formatting.
4789
4790 Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
4791
4792 * unroll.c (final_reg_note_copy): Fix previous commit.
4793
4794 2002-01-14 Kazu Hirata <kazu@hxi.com>
4795
4796 * config/h8300/h8300-protos.h: Remove the prototype for
4797 eq_operator.
4798 * config/h8300/h8300.c (eq_operator): Remove.
4799
4800 2002-01-14 Richard Henderson <rth@redhat.com>
4801
4802 * config/i386/i386.md (prefetch): Tidy.
4803 (prefetch_3dnow): Fix locality operand.
4804
4805 2002-01-14 Richard Henderson <rth@redhat.com>
4806
4807 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
4808 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
4809
4810 2002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
4811
4812 * reload1.c (reload_combine): Pass reg_sum replacement through
4813 copy_rtx in loop performing multiple changes.
4814
4815 2002-01-14 Jakub Jelinek <jakub@redhat.com>
4816
4817 * except.c (remove_unreachable_regions): New.
4818 (free_eh_status): Clear exception_handler_labels.
4819 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
4820 (find_exception_handler_labels): Don't add the same label more than
4821 once.
4822 (remove_exception_handler_label): Don't die if
4823 find_exception_handler_labels hasn't been called for the current
4824 function yet.
4825
4826 Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
4827
4828 * toplev.c (rest_of_compilation): Rebuild jump labels after
4829 gcse.
4830
4831 2002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
4832
4833 * doc/extend.texi: Move documentation of X86 built-in functions
4834 here.
4835 * doc/invoke.texi: From here.
4836 * doc/sourcebuild.texi: Document location of documentation for
4837 machine built-in functions.
4838
4839 2002-01-13 Christopher Faylor <cgf@redhat.com>
4840
4841 * cppfiles.c (TEST_THRESHOLD): New macro.
4842 (SHOULD_MMAP): Ditto.
4843 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
4844 be used.
4845
4846 Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
4847
4848 * unroll.c (final_reg_note_copy): Properly handle
4849 REG_LABEL
4850 (unroll_loops): Fix LOOP_CONDITION heuristics.
4851
4852 2002-01-14 Geoffrey Keating <geoffk@redhat.com>
4853
4854 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
4855 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
4856
4857 Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
4858
4859 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
4860 threaded loop.
4861
4862 2002-01-14 Tom Rix <trix@redhat.com>
4863
4864 * config/rs6000/rs6000.md: Fix typo with sradi.
4865
4866 2002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
4867
4868 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
4869 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
4870 (clrstrdi, clrstrsi): Adapt callers.
4871
4872 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
4873
4874 (movti splitter): Never use register 0 as base register.
4875
4876 2002-01-14 Hartmut Penner <hpenner@de.ibm.com>
4877
4878 * combine.c (simplify_shift_const): Always generate new rtx
4879 for shift expression instead of reusing given expression.
4880
4881 Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4882
4883 * config/alpha/alpha.c (alpha_expand_mov): Don't call
4884 alpha_legitimize_address unless mode is Pmode.
4885
4886 2002-01-13 Geoffrey Keating <geoffk@redhat.com>
4887
4888 * doc/md.texi (Modifiers): Document the '*' constraint for the
4889 user.
4890
4891 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
4892 * doc/extend.texi (Function Attributes): 'interrupt' is valid
4893 for xstormy16 too.
4894
4895 2002-01-13 Richard Henderson <rth@redhat.com>
4896
4897 * reload.c (find_reloads): Use a hard reg destination as reload reg
4898 for an input reload of the source.
4899
4900 2002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4901
4902 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
4903 more generic.
4904
4905 Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
4906
4907 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
4908 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
4909
4910 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
4911
4912 Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4913
4914 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
4915
4916 2002-01-12 Tom Rix <trix@redhat.com>
4917
4918 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
4919 TARGET_POWERPC64.
4920
4921 2002-01-12 Richard Henderson <rth@redhat.com>
4922
4923 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
4924
4925 * doc/invoke.texi: Update Alpha options.
4926
4927 * doc/invoke.texi: Update i386 built-in function lists.
4928
4929 Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
4930
4931 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
4932 referencing outside.
4933
4934 Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4935
4936 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
4937 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
4938 offsets, and change line folding.
4939 * optabs.c (expand_binop): Remove warnings.
4940 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
4941
4942 2002-01-12 Graham Stott <grahams@redhat.com>
4943
4944 * attribs.c (handle_deprecated_attribute): constify WHAT.
4945 * diagnostic.c (warn_deprecated_use): Add braces, fixes
4946 dangling else warning and constify WHAT.
4947 * except.h (struct function, struct inline_remap): Move
4948 struct tag forward defs before all prototypes.
4949 (duplicate_eh_regions): Whitespace.
4950
4951 2002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
4952
4953 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
4954 MODE_BASE_REG_CLASS.
4955 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
4956
4957 2002-01-12 Richard Henderson <rth@redhat.com>
4958
4959 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
4960 (ix86_expand_vector_move): New.
4961 (bdesc_2arg): Remove andps, andnps, orps, xorps.
4962 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
4963 Remove old prefetch builtins. Special case the logicals removed above.
4964 (ix86_expand_builtin): Likewise.
4965 (safe_vector_operand): Use V4SFmode, not TImode.
4966 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
4967 (ix86_expand_timode_binop_builtin): New.
4968 * config/i386/i386-protos.h: Update.
4969 * config/i386/i386.h (enum ix86_builtins): Update.
4970 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
4971 Use ix86_expand_vector_move in vector move expanders.
4972 (movti_internal, movti_rex64): Add xorps alternative.
4973 (sse_clrv4sf): Rename and adjust from sse_clrti.
4974 (prefetch): Don't work so hard.
4975 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
4976 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
4977 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
4978
4979 2002-01-11 Richard Henderson <rth@redhat.com>
4980
4981 * config/i386/mmintrin.h: New file.
4982 * config/i386/xmmintrin.h: New file.
4983 * config.gcc (i?86-*-*): Add extra_headers.
4984 * simplify-rtx.c (simplify_unary_operation): Handle saturating
4985 truncation codes.
4986 (simplify_binary_operation): Handle saturating arithmetic codes.
4987 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
4988 not the lowpart subreg.
4989 (ix86_expand_builtin): Return a TImode dummy register instead of 0
4990 on error.
4991 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
4992
4993 2002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4994
4995 * conflict.c (conflict_graph_compute): Free regsets when finished.
4996 * ssa.c (compute_coalesced_reg_partition): Likewise.
4997
4998 2002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4999
5000 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
5001 every where we allocate a register.
5002
5003 2002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5004
5005 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
5006 * lcm.c (compute_earliest, compute_farthest): Likewise.
5007
5008 2002-01-11 Janis Johnson <janis187@us.ibm.com>
5009
5010 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
5011
5012 2002-01-11 Janis Johnson <janis187@us.ibm.com>
5013
5014 * doc/rtl.texi (Insns): Fix 2 typos.
5015
5016 2002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
5017
5018 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
5019 options. Use @table @gcctabopt for MMIX options. Add index
5020 entries for MMIX options. Start new paragraph with first
5021 heading of the machine-dependent options.
5022
5023 2002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
5024
5025 PR other/5299
5026 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
5027 * combine.c (force_to_mode): Same.
5028 * reload1.c (clear_reload_reg_in_use): Same.
5029
5030 2002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
5031
5032 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
5033 and 'subtargets'.
5034
5035 2002-01-11 Andreas Jaeger <aj@suse.de>,
5036 Brad Lucier <lucier@math.purdue.edu>
5037
5038 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
5039 mcpu.
5040
5041 Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
5042
5043 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
5044 Protect with IN_LIBGCC.
5045 (LINK_EH_SPEC): Add required trailing space.
5046
5047 Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
5048
5049 * c-tree.h: Move function declarations so that they are listed
5050 under the filename which contains them.
5051 (check_identifier, finish_decl_top_level,
5052 lookup_name_current_level_global, shadow_record_fields): Remove.
5053
5054 2002-01-11 Andreas Jaeger <aj@suse.de>
5055
5056 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
5057 march.
5058
5059 2002-01-10 Richard Henderson <rth@redhat.com>
5060
5061 * config/alpha/alpha.c (print_operand): Add 'J'.
5062 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
5063 new operand with the sequence number for the lituse. When splitting
5064 the insns, use gen_movdi_er_high_g and generate a sequence number.
5065 (gen_movdi_er_high_g): Print the sequence number if non-zero.
5066
5067 2002-01-10 Aldy Hernandez <aldyh@redhat.com>
5068
5069 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
5070 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
5071 stvxl.
5072 (altivec_expand_builtin): Same.
5073 (altivec_expand_stv_builtin): New.
5074
5075 * config/rs6000/rs6000.h (rs6000_builtins): Same.
5076
5077 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
5078 ("altivec_lvehx"): New.
5079 ("altivec_lvewx"): New.
5080 ("altivec_lvxl"): New.
5081 ("altivec_lvx"): New.
5082 ("altivec_stvx"): New.
5083 ("altivec_stvebx"): New.
5084 ("altivec_stvehx"): New.
5085 ("altivec_stvewx"): New.
5086 ("altivec_stvxl"): New.
5087
5088 2002-01-10 Richard Henderson <rth@redhat.com>
5089
5090 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
5091 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
5092 care not to delete instructions twice.
5093
5094 2002-01-10 Zack Weinberg <zack@codesourcery.com>
5095
5096 * toplev.c: Don't declare environ (it's not used anywhere).
5097 * configure.in: Don't check for declaration of environ.
5098 * config/i386/xm-mingw32.h: Don't #define environ.
5099 * config.in, configure: Regenerate.
5100
5101 2002-01-10 Zack Weinberg <zack@codesourcery.com>
5102
5103 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
5104 * configure: Regenerate.
5105
5106 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
5107 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
5108 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
5109 alpha/xm-vms.h.
5110 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
5111 LIMITS_H_TEST here, not in m68k/x-next.
5112 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
5113 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
5114
5115 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
5116 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
5117 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
5118
5119 * config/i386/x-djgpp: Renamed i386/t-djgpp.
5120 * config/m88k/x-dolph: Renamed m88k/t-dolph.
5121 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
5122 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
5123 replacement of quadlib.asm with quadlib.c.
5124
5125 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
5126 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
5127 config/rs6000/xm-beos.h: Delete file.
5128
5129 * config.gcc: Update to match above changes.
5130
5131 2002-01-10 Kazu Hirata <kazu@hxi.com>
5132
5133 * config/h8300/h8300.h: Fix comment typos.
5134 * config/h8300/h8300.md: Likewise.
5135 * config/h8300/lib1funcs.asm: Likewise.
5136
5137 2002-01-10 Dale Johannesen <dalej@apple.com>
5138
5139 PR optimization/5269
5140 * unroll.c (precondition_loop_p): Make *increment be the correct
5141 sign when n_iterations known, to avoid confusing caller.
5142
5143 2002-01-10 Kazu Hirata <kazu@hxi.com>
5144
5145 * doc/extend.texi (deprecated): Fix a typo.
5146
5147 Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
5148
5149 * basic-block.h (update_br_prob_note): Declare.
5150 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
5151 (try_forward_edges): Care negative frequencies and update note.
5152 (outgoing_edges_match): Tweek conditional merging heuristics.
5153 (try_crossjump_to_edge): use update_br_prob_note.
5154 * cfglayout.c (fixup_reorder_chain): Likewise.
5155 * cfrtl.c (update_br_prob_note): New.
5156 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
5157
5158 * i386.c (ix86_decompose_address): Return -1 if address contains
5159 shift.
5160 (legitimate_address_p): Require ix86_decompose_address to return 1.
5161
5162 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
5163 (cprop_insn): Likewise.
5164
5165 2002-01-10 Kazu Hirata <kazu@hxi.com>
5166
5167 * toplev.c: Fix formatting.
5168 * tree.c: Likewise.
5169 * tree-dump.c: Likewise.
5170 * unroll.c: Likewise.
5171 * unwind-dw2.c: Likewise.
5172 * unwind-dw2-fde.c: Likewise.
5173 * unwind-dw2-fde-glibc.c: Likewise.
5174 * unwind-sjlj.c: Likewise.
5175
5176 2002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
5177
5178 * doc/invoke.texi: Document PDP-11 options.
5179
5180 2002-01-10 Kazu Hirata <kazu@hxi.com>
5181
5182 * config/h8300/h8300.h: Fix formatting.
5183
5184 2002-01-10 Ira Ruben <ira@apple.com>
5185
5186 Add __attribute__ ((deprecated)).
5187 * extend.texi: Document __attribute__ ((deprecated)).
5188 * invoke.texi: Document -Wno-deprecated-declarations.
5189 * testsuite/g++.dg/other/deprecated.C: New C++ test.
5190 * testsuite/gcc.dg/deprecated.c: New C test.
5191 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
5192 (c_common_attribute_table): Add "deprecated" entry.
5193 (handle_deprecated_attribute): New function.
5194 * c-decl.c (deprecated_states): New enum.
5195 deprecated_state: State of "deprecated" handling.
5196 (start_decl): Set deprecated_state based on attributes.
5197 (grokdeclarator): Test for deprecated uses, propagate attribute.
5198 * c-typeck.c (build_component_ref): Test for deprecated fields.
5199 (build_external_ref): Test for deprecated primaries.
5200 * diagnostic.c (warn_deprecated_use) New function to issue
5201 warnings about __attribute__ ((depricated)) references.
5202 * flags.h (warn_deprecated_decl): Extern declared for
5203 -W[no-]deprecated-declarations option.
5204 * print-tree.c (print_node): Show deprecated flag status.
5205 * toplev.c (warn_deprecated_decl): Defined.
5206 (W_options): Added "deprecated-declaration".
5207 * toplev.h (warn_deprecated_use): Extern declared.
5208 * tree.h (struct tree_common): Define deprecated_flag.
5209 (TREE_DEPRECATED): New macro to access flag.
5210 * cp/call.c (build_call): Test for deprecated calls.
5211 * cp/class.c (add_implicitly_declared_members): Set global
5212 flag to tell grokdeclarator to not issue deprecated warnings.
5213 * cp/cp-tree.h: Add extern for adding_implicit_members.
5214 * cp/decl.c (deprecated_states): New enum.
5215 (start_decl): Set deprecated_state based on attributes.
5216 (grokdeclarator): Test for deprecated uses, propagate attribute.
5217 * cp/lex.c (do_identifier): Test for deprecated primaries.
5218 * cp/typeck.c (build_component_ref): Test for deprecated fields.
5219
5220 2002-01-10 Ira Ruben <ira@apple.com>
5221
5222 Fix to assign attributes to inline member functions.
5223 * cp/decl.c (start_method): Handle attrlist.
5224
5225 2002-01-10 Kazu Hirata <kazu@hxi.com>
5226
5227 * combine.c (expand_field_assignment): Use subreg_lsb().
5228
5229 2002-01-10 David Edelsohn <edelsohn@gnu.org>
5230
5231 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
5232 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
5233 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
5234 Recurse for any operand of AND as long as constant is non-zero.
5235
5236 2002-01-10 Kazu Hirata <kazu@hxi.com>
5237
5238 * config/h8300/h8300.md: Remove constraints from expanders.
5239
5240 2002-01-10 Kazu Hirata <kazu@hxi.com>
5241
5242 * varasm.c: Fix formatting.
5243 * varray.c: Likewise.
5244 * vmsdbgout.c: Likewise.
5245 * xcoffout.c: Likewise.
5246
5247 Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
5248
5249 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
5250 update edge probabilities to match.
5251
5252 2002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
5253
5254 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
5255 dependencies.
5256 * doc/languages.texi, doc/sourcebuild.texi: New files.
5257 * doc/configfiles.texi: Make a subsubsection. Update.
5258 * doc/configterms.texi: Add @node. Remove warning that this isn't
5259 instructions for building GCC.
5260 * doc/makefile.texi: Make a subsection.
5261 * doc/gccint.texi: Update.
5262
5263 Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
5264
5265 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
5266
5267 Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
5268
5269 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
5270
5271 Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
5272
5273 * optabs.c (expand_fix): Look for wider integer modes first.
5274
5275 * i386.md (mov?f): Avoid the fake const double trick for medium
5276 memory model.
5277 (min?f*/max?f*): Prohibit memory operands for i387 variant.
5278 (fop_df_4): Disable for SSE compilation.
5279
5280 2002-01-10 Graham Stott <grahams@redhat.com>
5281
5282 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
5283 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
5284
5285 2002-01-10 Richard Henderson <rth@redhat.com>
5286
5287 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
5288
5289 2002-01-10 Richard Henderson <rth@redhat.com>
5290
5291 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
5292 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
5293
5294 2002-01-10 Kazu Hirata <kazu@hxi.com>
5295
5296 * combine.c (can_combine_p): Fix a comment typo.
5297
5298 2002-01-09 Zack Weinberg <zack@codesourcery.com>
5299
5300 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
5301 empty list correctly. Change loop index $t to $f for
5302 consistency with rest of Makefile.
5303
5304 2002-01-08 Aldy Hernandez <aldyh@redhat.com>
5305
5306 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
5307 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
5308
5309 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
5310 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
5311 (altivec_init_builtins): Same.
5312 (altivec_expand_unop_builtin): Return NULL_RTX on error.
5313 (altivec_expand_binop_builtin): Same.
5314 (altivec_expand_ternop_builtin): Same.
5315 (bdesc_dst): New.
5316
5317 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
5318 ("altivec_vctuxs"): Fix typo.
5319 ("altivec_vnmsubfp"): Same.
5320 ("altivec_dssall"): New.
5321 ("altivec_mfvscr"): New.
5322 ("altivec_dss"): New.
5323 ("altivec_lvsl"): New.
5324 ("altivec_lvsr"): New.
5325 ("altivec_dstt"): New.
5326 ("altivec_dstst"): New.
5327 ("altivec_dststt"): New.
5328 ("altivec_dst"): New.
5329
5330 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
5331 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
5332
5333 2002-01-09 Richard Henderson <rth@redhat.com>
5334
5335 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
5336
5337 2002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
5338
5339 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
5340 function.
5341 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
5342 prototype.
5343 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
5344
5345 2002-01-09 Kazu Hirata <kazu@hxi.com>
5346
5347 * read-rtl.c: Fix formatting.
5348 * real.c: Likewise.
5349 * regclass.c: Likewise.
5350 * regrename.c: Likewise.
5351 * reg-stack.c: Likewise.
5352 * reload1.c: Likewise.
5353 * reload.c: Likewise.
5354 * rtl.c: Likewise.
5355
5356 2002-01-09 Kazu Hirata <kazu@hxi.com>
5357
5358 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
5359 to extract items in the expr_list chain.
5360
5361 2002-01-09 Richard Henderson <rth@redhat.com>
5362
5363 * config/vax/vax.c (vax_rtx_cost): Never abort.
5364
5365 * config/vax/vax.h (REAL_ARITHMETIC): Define.
5366
5367 2002-01-09 Jan Hubicka <jh@suse.cz>
5368
5369 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
5370
5371 2002-01-09 Richard Henderson <rth@redhat.com>
5372
5373 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
5374 Unify code from various alternatives.
5375
5376 2002-01-09 Richard Henderson <rth@redhat.com>
5377
5378 * regrename.c (copy_value): Ignore the copy if the source register
5379 is present in the value chain with a narrower mode.
5380
5381 2002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5382
5383 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
5384 for the c4x target. Also improve layout.
5385
5386 2002-01-09 Richard Henderson <rth@redhat.com>
5387
5388 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
5389 * config/m32r/m32r.md (and ior xor splitters): Swap operands
5390 to match insn patterns.
5391
5392 2002-01-09 Richard Henderson <rth@redhat.com>
5393
5394 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
5395 (copyprop_hardreg_forward_1): Likewise.
5396
5397 2002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
5398
5399 * pa.md (decrement_and_branch_until_zero): Change predicate for
5400 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
5401
5402 2002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5403
5404 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
5405 gets undefined. For Darwin.
5406
5407 2002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5408
5409 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
5410
5411 2002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5412
5413 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
5414
5415 2002-01-08 Richard Henderson <rth@redhat.com>
5416
5417 * regrename.c (copy_value): Ignore overlapping copies.
5418
5419 2002-01-08 Richard Henderson <rth@redhat.com>
5420
5421 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
5422 as needed to avoid shared structure.
5423
5424 2002-01-08 Kazu Hirata <kazu@hxi.com>
5425
5426 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
5427 H8/300H and H8/S.
5428
5429 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
5430
5431 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
5432 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
5433 documentation of obsolete macros.
5434 * system.h: Poison these macros.
5435 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
5436 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
5437 config/c4x/c4x.h, config/clipper/clipper.h,
5438 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
5439 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
5440 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
5441 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
5442 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
5443 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
5444 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
5445 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
5446 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
5447 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
5448 config/sparc/sparc.h, config/stormy16/stormy16.h,
5449 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
5450 definitions and commented out definitions of obsolete macros.
5451 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
5452 of MAX_INT_TYPE_SIZE.
5453
5454 2002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
5455
5456 * config/s390/s390.c (s390_preferred_reload_class): Never
5457 return ADDR_REGS if it isn't a subset of the given class.
5458 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
5459 FP_REGS, but all superclasses as well.
5460
5461 * config/s390/s390.c (s390_function_profiler): Fix thinko.
5462
5463 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
5464 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
5465 must not be a const_int.
5466
5467 2002-01-08 Richard Henderson <rth@redhat.com>
5468
5469 * Makefile.in (toplev.o): Depend on options.h.
5470 (gcc.o): Depend on specs.h.
5471
5472 2002-01-08 Jakub Jelinek <jakub@redhat.com>
5473
5474 * expr.c (store_expr): Convert VOIDmode constants back to target's
5475 mode.
5476
5477 2002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5478
5479 * doc/invoke.texi: Markup gcc as @command. Refer to
5480 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
5481 of http://gcc.gnu.org/thanks.html.
5482
5483 2002-01-08 Dale Johannesen <dalej@apple.com>
5484
5485 * config/rs6000/rs6000.md: Add missing int register
5486 target case to movdf_low.
5487
5488 2002-01-08 Zack Weinberg <zack@codesourcery.com>
5489
5490 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
5491 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
5492 (cppinit.o): Depend on except.h.
5493 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
5494 s-specs): New rules.
5495
5496 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
5497 Don't create specs.h/options.h/gencheck.h here. Remove
5498 unnecessary variable settings from last argument of AC_OUTPUT.
5499 * config.in, configure: Regenerate.
5500 * intl.c: Hardcode package name as "gcc".
5501
5502 * cppinit.c: Include except.h.
5503 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
5504 appropriate.
5505 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
5506 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
5507 (!)USING_SJLJ_EXCEPTIONS.
5508 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
5509
5510 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
5511
5512 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
5513 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
5514 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
5515 documentation of obsolete macros.
5516 * system.h: Poison these macros.
5517 * config/d30v/d30v.h, config/ns32k/encore.h,
5518 config/stormy16/stormy16.h: Remove definitions and commented out
5519 definitions of obsolete macros.
5520
5521 Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
5522
5523 * objc/objc-act.c (handle_class_ref): Mark the declaration of
5524 %sobjc_class_ref_%s as used - to prevent unwanted compiler
5525 warnings.
5526
5527 2002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
5528
5529 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
5530 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
5531 to insn adjusting stack/frame pointer.
5532 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
5533 accept operands that cause the insn to be non-splittable.
5534
5535 2002-01-08 Graham Stott <grahams@redhat.com>
5536
5537 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
5538 (C_TYPE_FIELDS_VOLATILE): Likewise.
5539 (C_TYPE_BEING_DEFINED): Likewise.
5540 (C_IS_RESERVED_WORD): Likewise.
5541 (C_TYPE_VARIABLE_SIZE): Likewise.
5542 (C_DECL_VARIABLE_SIZE): Likewise.
5543 (C_MISSING_PROTOTYPE_WARNED): Likewise.
5544 (C_SET_EXP_ORIGINAL_CODE): Likewise.
5545 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
5546 parenthesis.
5547 (C_DECL_ANTICIPATED): Likewise.
5548 (c_build_type_variant): Add parenthesis.
5549
5550 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
5551
5552 * gcc.c (option_map): Remove --version.
5553 (process_command): Handle -fversion following the GNU Coding
5554 Standards. Partially addresses PR other/704.
5555
5556 2002-01-08 Graham Stott <grahams@redhat.com>
5557
5558 * combine.c (combine_instructions): Fix typo.
5559
5560 2002-01-08 Graham Stott <grahams@redhat.com>
5561
5562 * debug.h: Use "tree" and "rtx" throughout.
5563
5564 * debug.c: Likewise.
5565
5566 2002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
5567
5568 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
5569 constant pool, use the pool's version of the symbol instead.
5570
5571 2002-01-07 Richard Henderson <rth@redhat.com>
5572
5573 * regrename.c (find_oldest_value_reg): Ignore the value chain if
5574 the original register was copied in a mode with a fewer number of
5575 hard registers than the desired mode.
5576 (copyprop_hardreg_forward_1): Likewise.
5577 (debug_value_data): Fix loop test.
5578 * toplev.c (parse_options_and_default_flags): Reenable
5579 -fcprop-registers at -O1.
5580
5581 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
5582
5583 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
5584 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
5585
5586 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
5587 predicates.
5588
5589 * config/rs6000/rs6000.md: Add altivec predicate patterns.
5590
5591 2002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
5592
5593 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
5594 (pa_output_function_prologue): Output local label at the beginning of
5595 the prologue when profiling.
5596 (hppa_profile_hook): Use the local label rather than the function label.
5597 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
5598
5599 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
5600
5601 * config/rs6000/rs6000.c (print_operand): Remove extra space.
5602 (altivec_expand_unop_builtin): Fix thinko.
5603 (altivec_expand_binop_builtin): Same.
5604 (altivec_expand_ternop_builtin): Same.
5605 (altivec_expand_builtin): Same.
5606
5607 2002-01-07 Richard Henderson <rth@redhat.com>
5608
5609 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
5610
5611 2002-01-07 Jason Merrill <jason@redhat.com>
5612
5613 * unwind-dw2.c (execute_cfa_program): Use < again.
5614
5615 2002-01-07 Jakub Jelinek <jakub@redhat.com>
5616
5617 * predict.c (combine_predictions_for_insn): Avoid division by zero.
5618
5619 2002-01-07 Jakub Jelinek <jakub@redhat.com>
5620
5621 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
5622 Don't allow -1 - x -> ~x simplifications in the first pass.
5623
5624 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
5625
5626 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
5627 arguments.
5628 (altivec_expand_binop_builtin): Same.
5629 (altivec_expand_unop_builtin): Same.
5630 (print_operand): Fix typo.
5631 (bdesc_1arg): Add vupk* variants.
5632
5633 * rs6000.h (rs6000_builtins): Add vupk* enums.
5634
5635 * rs6000.md: Add altivec_vupk* variants.
5636
5637 2002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
5638
5639 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
5640 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
5641 and last update dates.
5642
5643 2002-01-07 Janis Johnson <janis187@us.ibm.com>
5644
5645 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
5646
5647 2002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
5648
5649 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
5650 * config/avr/avr.h (CPP_SPEC): Likewise.
5651 (LINK_SPEC): Likewise.
5652 (CRT_BINUTILS_SPECS): Likewise.
5653 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
5654 * doc/invoke.texi (AVR Options): Document them.
5655
5656 Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
5657
5658 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
5659 LABEL_NUSES.
5660
5661 2002-01-07 Graham Stott <grahams@redhat.com>
5662
5663 * config/i386/i386.h: Update copyright date.
5664 (HALF_PIC_PTR): Add parenthesis.
5665 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
5666 (CONSTANT_ALIGNMENT): Add parenthesis.
5667 (DATA_ALIGNMENT): Likewise.
5668 (LOCAL_ALIGNMENT): Likewise.
5669 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
5670 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
5671 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
5672 (HARD_REGNO_NREGS): Add paranethesis.
5673 (VALID_SSE_REG_MODE): Whitespace.
5674 (VALID_MMX_REG_MODE): Whitespace.
5675 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
5676 (ix86_hard_regno_mode_ok): Add parenthesis.
5677 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
5678 (RETURN_IN_MEMORY): Whitespace.
5679 (N_REG_CLASSES): Add parenthesis.
5680 (INTEGER_CLASS_P): Add parenthesis and wrap.
5681 (FLOAT_CLASS_P): Likewise.
5682 (SSE_CLASS_P): Likewise.
5683 (MMX_CLASS_P): Likewise.
5684 (MAYBE_INTEGER_CLASS_P): Likewise.
5685 (MAYBE_FLOAT_CLASS_P): Likewise.
5686 (MAYBE_SSE_CLASS_P): Likewise.
5687 (MAYBE_MMX_CLASS_P): Likewise.
5688 (Q_CLASS_P): Likewise.
5689 (GENERAL_REGNO_P): Uppercase macro parameter.
5690 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
5691 (FP_REGNO_P): Likewise.
5692 (ANY_FP_REGNO_P): Uppercase macro parameter.
5693 (SSE_REGNO_P): Likewise.
5694 (SSE_REGNO): Likewise.
5695 (SSE_REG_P): Likewise.
5696 (SSE_FLOAT_MODE_P): Likewise.
5697 (MMX_REGNO_P): Likewise.
5698 (MMX_REG_P):Likewise.
5699 (STACK_REG_P): Likewise.
5700 (NON_STACK_REG_P): Likewise.
5701 (STACK_TOP_P): Likewise.
5702 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
5703 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
5704 (SECONDARY_MEMORY_NEEDED): Likewise.
5705 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
5706 (MD_ASM_CLOBBERS): Whitespace and wrap.
5707 (MUST_PASS_IN_STACK): Whitespace and wrap.
5708 (RETURN_POPS_ARGS): Add parenthesis.
5709 (INIT_CUMULATIVE_ARGS): Likewise.
5710 (FUNCTION_ARG): Likewise.
5711 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
5712 (SETUP_INCOMING_VARARGS): Likewise.
5713 (BUILD_VA_LIST_TYPE): Add parenthesis.
5714 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
5715 parenthsis.
5716 (EXPAND_BUILTIN_VA_ARG): Likewise.
5717 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
5718 (INITIALIZE_TRAMPOLINE): Add parenthesis.
5719 (INITIAL_ELIMINATION_OFFSET): Likewise.
5720 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
5721 (REGNO_OK_FOR_BASE_P): Likewise.
5722 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
5723 (REGNO_OK_FOR_DIREG_P): Likewise.
5724 (REG_OK_FOR_INDEX_P): Whitespace.
5725 (REG_OK_FOR_BASE_P): Whitespace.
5726 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
5727 parenthesis.
5728 (FIND_BASE_TERM): Fix typo.
5729 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
5730 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
5731 (SYMBOLIC_CONST; Whitespace.
5732 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
5733 (ENCODE_SECTION_INFO): Whitespace.
5734 (FINALIZE_PIC): Remove do { ... } while (0).
5735 (PROMOTE_MODE): Wrap in do { ... } while (0).
5736 (CONST_COSTS): Whitespace.
5737 (RTX_COSTS): Add paramethesis, whitespace and wrap.
5738 (REGISTER_MOVE_COST): Add parenthesis.
5739 (MEMORY_MOVE_COST): Likewise.
5740 (EXTRA_CC_MODES): Whitespace.
5741 (SELECT_CC_MODE): Add parenthesis and whitespace.
5742 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
5743 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
5744 (ASM_OUTPUT_LABEL): Add paramethesis.
5745 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
5746 (ASM_OUTPUT_REG_POP): Likewise.
5747 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
5748 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5749
5750 * config/i386/i386.c: Update copyright.
5751 (CHECK_STACK_LIMIT): Add parenthesis.
5752 (AT_BP): Uppercase macro parameter.
5753 (x86_64_int_parameter_registers): Constify.
5754 (x86_64_int_return_registers): Likewise.
5755 (ix86_compare_op0): Use rtx.
5756 (construct_container): Constify INTREG parameter.
5757 (function_arg): Use rtx.
5758
5759 * diagnostic.h: Update copyright date.
5760 (output_buffer_state): Add parenthesis.
5761 (output_buffer_format_args): Likewise.
5762
5763 * combine.c (combine_instructions): Replace XEXP (links, 0)
5764 with link.
5765
5766 2002-01-06 H.J. Lu <hjl@gnu.org>
5767
5768 * cfgcleanup.c (thread_jump): Fix 2 typos.
5769
5770 2002-01-06 Aldy Hernandez <aldyh@redhat.com>
5771
5772 * config.gcc: Add support for --enable-altivec.
5773
5774 2002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
5775
5776 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
5777
5778 2002-01-06 Jakub Jelinek <jakub@redhat.com>
5779
5780 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
5781 __objc_class_name_*.
5782
5783 2002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
5784
5785 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
5786
5787 2002-01-06 Richard Henderson <rth@redhat.com>
5788
5789 * reorg.c (emit_delay_sequence): Remove death notes, not merely
5790 nop them out. Increment label reference count for REG_LABEL.
5791 (fill_slots_from_thread): Frob label reference count around
5792 delete_related_insns.
5793
5794 2002-01-05 Richard Henderson <rth@redhat.com>
5795
5796 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
5797 jump threading.
5798
5799 2002-01-05 Richard Henderson <rth@redhat.com>
5800
5801 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
5802 * integrate.c (output_inline_function): Likewise.
5803 * toplev.c (rest_of_compilation): Do it here instead. Move call
5804 to remove_unnecessary_notes after emitting abstract instance.
5805 Force an emitted nested function to have its parent emited as well.
5806 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
5807 for null.
5808 (rtl_for_decl_location): Do not look at reload data structures
5809 before reload has run.
5810
5811 2002-01-05 Kazu Hirata <kazu@hxi.com>
5812
5813 * cse.c: Fix formatting.
5814 * dwarf2asm.c: Likewise.
5815 * dwarf2out.c: Likewise.
5816 * explow.c: Likewise.
5817 * expmed.c: Likewise.
5818 * function.c: Likewise.
5819 * gcov.c: Likewise.
5820 * gencheck.c: Likewise.
5821 * genrecog.c: Likewise.
5822 * ggc-common.c: Likewise.
5823 * ggc-page.c: Likewise.
5824 * global.c: Likewise.
5825
5826 2002-01-05 Kazu Hirata <kazu@hxi.com>
5827
5828 * combine.c: Fix formatting.
5829
5830 2002-01-05 Craig Rodrigues <crodrigu@bbn.com>
5831
5832 PR middle-end/1557
5833 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
5834
5835 2002-01-05 David Edelsohn <edelsohn@gnu.org>
5836
5837 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
5838 as 1 for __powerpc64__ as well.
5839
5840 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
5841
5842 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
5843 return it.
5844
5845 2002-01-05 Daniel Berlin <dan@dberlin.org>
5846
5847 * lcm.c: Revert change, due to performance regression it causes on
5848 SPEC because it's slightly more conservative (sigh, I hate
5849 edge-based LCM).
5850
5851 Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
5852
5853 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
5854
5855 2002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
5856
5857 * doc/cppinternals.texi: Update.
5858
5859 2002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
5860
5861 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
5862 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
5863 negatives.
5864 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
5865 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
5866 kludge for pre-october-14th mmix versions to handle new-found bug
5867 with PUSHJ/PUSHGO and the register stack.
5868 * config/mmix/mmix.h (struct machine_function): Rename member
5869 has_call_value_without_parameters to has_call_without_parameters.
5870 All referers changed.
5871 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
5872 TARGET_MASK_BRANCH_PREDICT): New macros.
5873 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
5874 -mno-reg-stack-fill-bug-workaround.
5875 * config/mmix/mmix.md ("call"): Set struct machine member
5876 has_call_without_parameters.
5877
5878 Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
5879
5880 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
5881
5882 Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
5883
5884 * cfgcleanup.c: Include tm_p.h
5885 (mark_effect): Fix handling of hard register; fix handling of SET
5886
5887 2002-01-04 Kazu Hirata <kazu@hxi.com>
5888
5889 * config/h8300/h8300.md (anonymous patterns): Check that
5890 operands are registers before using REGNO on them.
5891
5892 2002-01-03 Roland McGrath <roland@frob.com>
5893
5894 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
5895
5896 2002-01-04 Jakub Jelinek <jakub@redhat.com>
5897
5898 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
5899 * c-common.h (genrtl_expr_stmt_value): Likewise.
5900 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
5901 (expand_expr_stmt_value): Add maybe_last argument.
5902 Don't warn about statement with no effect if it is the last statement
5903 in expression statement.
5904 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
5905 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
5906 expand_expr_stmt_value.
5907 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
5908 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
5909 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
5910 as maybe_last to expand_expr_stmt_value.
5911
5912 Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
5913
5914 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
5915 be passed in, do not build it.
5916 (c_begin_if_stmt): New function.
5917 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
5918 * c-common.h (c_expand_start_cond): Update prototype.
5919 (c_begin_if_stmt): Prototype new function.
5920 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
5921 * c-parse.in (if_prefix): Use c_begin_if_stmt,
5922 c_begin_while_stmt and c_finish_while_stmt_cond.
5923
5924 2002-01-04 William Cohen <wcohen@redhat.com>
5925
5926 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
5927 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
5928 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
5929 * config/pa/som.h (ASM_FILE_START): Likewise.
5930
5931 2002-01-04 Daniel Berlin <dan@cgsoftware.com>
5932
5933 * lcm.c: Include df.h.
5934 Add available_transfer_function prototype.
5935 (compute_available): Rework to use iterative dataflow framework.
5936 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
5937 with bb_info in df.h
5938 (available_transfer_function): New function.
5939
5940 * Makefile.in (lcm.o): add df.h to dependencies.
5941
5942 2002-01-04 Richard Henderson <rth@redhat.com>
5943
5944 * config/alpha/alpha.c (some_operand): Accept HIGH.
5945 (input_operand): Likewise; accept simple references to globals.
5946 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
5947 (alpha_const_double_ok_for_letter_p): Likewise.
5948 (alpha_extra_constraint): Likewise.
5949 (alpha_preferred_reload_class): Likewise. Do not force
5950 symbolic constants to memory.
5951 (alpha_legitimate_address_p): Accept simple references
5952 to small_symbolic_operand.
5953 (alpha_legitimize_address): New arg scratch. Be prepared to be
5954 called when no_new_pseudos. Emit simple symbolic references.
5955 Split integers into low, high, and rest.
5956 (alpha_expand_mov): Use alpha_legitimize_address.
5957 (some_small_symbolic_mem_operand): New.
5958 (split_small_symbolic_mem_operand): New.
5959 * config/alpha/alpha-protos.h: Update.
5960 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
5961 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
5962 (EXTRA_CONSTRAINT): Likewise.
5963 (PREFERRED_RELOAD_CLASS): Likewise.
5964 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
5965 (PREDICATE_CODES): Update.
5966 * config/alpha/alpha.md: New post-reload splitters to convert
5967 simplfied symbolic operands to the form that references $29.
5968 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
5969 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
5970
5971 2002-01-03 Richard Henderson <rth@redhat.com>
5972
5973 * local-alloc.c (function_invariant_p): Update commentary.
5974
5975 2002-01-04 H.J. Lu <hjl@gnu.org>
5976
5977 * toplev.c (rest_of_compilation): Fix a typo when calling
5978 cleanup_cfg.
5979
5980 2002-01-03 Kazu Hirata <kazu@hxi.com>
5981
5982 * c-common.c: Fix formatting.
5983 * diagnostic.c: Likewise.
5984 * doloop.c: Likewise.
5985 * dwarf2out.c: Likewise.
5986
5987 2002-01-03 Kazu Hirata <kazu@hxi.com>
5988
5989 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
5990 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
5991
5992 2002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
5993
5994 * cpperror.c: Update comments and copyright.
5995 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
5996 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
5997
5998 2002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
5999
6000 * collect2.c (main): Use strcmp when testing for "-shared".
6001
6002 2002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
6003
6004 * cppmacro.c: Don't include intl.h. Update comments.
6005 (new_number_token): Allocate enough buffer for 64-bit unsigned
6006 integers; update prototype.
6007 * cppmain.c: Update comments.
6008
6009 2002-01-03 William Cohen <wcohen@redhat.com>
6010
6011 * function.h (struct function): Add profile.
6012 (current_function_profile): New.
6013 doc/extend.texi: Update documentation.
6014 * final.c (final_start_function): Use current_function_profile
6015 instead of profile_flag.
6016 (profile_after_prologue): Likewise.
6017 * function.c (expand_function_start): Likewise.
6018 (expand_function_start): Likewise.
6019 * config/alpha/alpha.c (direct_call_operand):
6020 (alpha_does_function_need_gp): Likewise.
6021 (alpha_expand_prologue): Likewise.
6022 * config/arm/arm.c (arm_expand_prologue): Likewise.
6023 thumb_expand_prologue: Likewise.
6024 * config/d30v/d30v.c (d30v_stack_info): Likewise.
6025 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
6026 (fr30_expand_prologue): Likewise.
6027 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
6028 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
6029 * config/i386/i386.h (FINALIZE_PIC): Likewise.
6030 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
6031 * config/i960/i960.c (i960_output_function_prologue): Likewise.
6032 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
6033 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
6034 (m32r_expand_prologue): Likewise.
6035 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
6036 (m88k_expand_prologue): Likewise.
6037 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
6038 * config/mips/mips.c (compute_frame_size): Likewise.
6039 (mips_expand_prologue): Likewise.
6040 (mips_can_use_return_insn): Likewise.
6041 * config/pa/elf.h (ASM_FILE_START): Likewise.
6042 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
6043 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
6044 * config/pa/som.h (ASM_FILE_START): Likewise.
6045 * config/romp/romp.c (romp_using_r14): Likewise.
6046 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
6047 (rs6000_stack_info): Likewise.
6048 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
6049 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
6050 * config/v850/v850.c (compute_register_save_size): Likewise.
6051
6052 2002-01-03 Jakub Jelinek <jakub@redhat.com>
6053
6054 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
6055 gen_lowpart_common fails, use gen_lowpart_SUBREG.
6056
6057 2002-01-03 Turly O'Connor <turly@apple.com>
6058
6059 * darwin.c (machopic_output_possible_stub_label): Don't generate
6060 stub routines for pseudo-stubs which we've just defined.
6061
6062 2002-01-03 Kazu Hirata <kazu@hxi.com>
6063
6064 * builtins.c: Fix formatting.
6065 * c-typeck.c: Likewise.
6066 * combine.c: Likewise.
6067 * expr.c: Likewise.
6068 * loop.c: Likewise.
6069
6070 2002-01-03 Andreas Schwab <schwab@suse.de>
6071
6072 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
6073 and return true if _cpp_push_next_buffer pushed a new include
6074 file.
6075 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
6076 _cpp_pop_file_buffer did not push a new file.
6077 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
6078
6079 2002-01-02 Eric Christopher <echristo@redhat.com>
6080
6081 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
6082 FIND_REG_INC_NOTE call. Update copyright.
6083 * loop.c (canonicalize_condition): Ditto.
6084 * reorg.c (delete_scheduled_jump): Ditto.
6085
6086 2002-01-03 Kazu Hirata <kazu@hxi.com>
6087
6088 * gcse.c: Fix formatting.
6089
6090 2002-01-03 Graham Stott <grahams@redhat.com>
6091
6092 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
6093 forward defs for struct tags rtx_def, union_tree, rtvec_def
6094 also output corresponding typedefs for rtx, tree, and rtvec.
6095
6096 * system.h: Move forward defs for struct tags rtx_def, union_tree,
6097 rtvec_def along with corresponding typedefs for rtx, tree, and
6098 rtvec to config.h, hconfig.h, tconfig.h.
6099
6100 2002-01-03 Graham Stott <grahams@redhat.com>
6101
6102 * tree.h: Update copyright date.
6103 (IS_EXPR_CODE_CLASS): Add parenthesis.
6104 (TREE_SET_CODE): Add whitespace.
6105 (TREE_CHECK): Add parenthesis.
6106 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
6107 (CST_OR_CONSTRUCTOR_CHECK):
6108 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
6109 (TREE_SYMBOL_REFERENCED): Whitespace.
6110 (INT_CST_LT): Likewise.
6111 (INT_CST_LT_UNSIGNED): Likewise.
6112 (tree_real_cst): Unwrap comment.
6113 (tree_string): Likewise.
6114 (tree_complex): Likewise.
6115 (IDENTIFIER_POINTER): correct cast.
6116 (SAVE_EXPR_CONTEXT): Whitespace.
6117 (EXPR_WFL_FILENAME_NODE): Likewise.
6118 (EXPR_WFL_FILENAME): Remove parenthesis.
6119 (DECL_ORIGIN): Add parenthesis.
6120 (DECL_FROM_INLINE): Use NULL_TREE.
6121 (build_int_2): Whitespace.
6122 (build_type_variant): Add parenthesis.
6123
6124 * gcc/jcf-parse.c: Update copyright date.
6125 (yyparse): Constify resource_filename.
6126
6127 2002-01-03 Graham Stott <grahams@redhat.com>
6128
6129 * rtl.h: Update copyright date.
6130 (RTL_CHECK1): Wrap long line.
6131 (RTL_CHECK2): Likewise.
6132 (RTL_CHECKC1): Wrap long line and whitespace.
6133 (RTL_CHECKC2): Likewise.
6134 (XWINT): Whitespace.
6135 (XINT): Likewise.
6136 (XSTR): Likewise.
6137 (XEXP): Likewise.
6138 (XVEC): Likewise.
6139 (XMODE): Likewise.
6140 (XBITMAP): Likewise.
6141 (XTREE): Likewise.
6142 (XBBDEF): Likewise.
6143 (XTMPL): Likewise.
6144 (X0WINT): Likewise.
6145 (X0INT):Likewise.
6146 (X0UINT): Likewise.
6147 (X0STR): Likewise.
6148 (X0EXP): Likewise.
6149 (X0VEC): Likewise.
6150 (X0MODE): Likewise.
6151 (X0BITMAP): Likewise.
6152 (X0TREE): Likewise.
6153 (X0BBDEF): Likewise.
6154 (X0ADVFLAGS): Likewise.
6155 (X0CSELIB): Likewise.
6156 (X0MEMATTR): Likewise.
6157 (XCWINT): Likewise.
6158 (XCINT): Likewise.
6159 (XCUINT): Likewise.
6160 (XCSTR): Likewise.
6161 (XCEXP): Likewise.
6162 (XCVEC): Likewise.
6163 (XCMODE): Likewise.
6164 (XCBITMAP): Likewise.
6165 (XCTREE): Likewise.
6166 (XCBBDEF): Likewise.
6167 (XCADVFLAGS): Likewise.
6168 (XCCSELIB): Likewise.
6169 (XC2EXP): Likewise.
6170 (INSN_UID): Likewise.
6171 (PREV_INSN): Likewise.
6172 (PATTERN): Likewise.
6173 (INSN_CODE): Likewise.
6174 (PUT_REG_NOTE_KIND): Likewise.
6175 (CODE_LABEL_NUMBER): Likewise.
6176 (NOTE_SOURCE_FILE): Likewise.
6177 (NOTE_BLOCK): Likewise.
6178 (NOTE_EH_HANDLER): Likewise.
6179 (NOTE_RANGE_INFO): Likewise.
6180 (NOTE_LIVE_INFO): Likewise.
6181 (NOTE_BASIC_BLOCK): Likewise.
6182 (NOTE_EXPECTED_VALUE): Likewise.
6183 (NOTE_LINE_NUMBER): Likewise.
6184 (LABEL_NAME): Likewise.
6185 (LABEL_NUSES): Likewise.
6186 (LABEL_ALTERNATE_NAME): Likewise.
6187 (ADDRESSOF_DECL): Likewise.
6188 (JUMP_LABEL): Likewise.
6189 (LABEL_NEXTREF): Likewise.
6190 (REGNO): Likewise.
6191 (ORIGINAL_REGNO: Likewise.
6192 (HARD_REGISTER_NUM_P): Add parenthesis.
6193 (SUBREG_REG): Whitespace.
6194 (SUBREG_BYTE): Likewise.
6195 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
6196 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
6197 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
6198 (ASM_OPERANDS_INPUT_VEC): Likewise.
6199 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
6200 (ASM_OPERANDS_INPUT): Likewise.
6201 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
6202 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
6203 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
6204 (ASM_OPERANDS_INPUT_MODE): Likewise.
6205 (ASM_OPERANDS_SOURCE_FILE): Likewise.
6206 (ASM_OPERANDS_SOURCE_LINE): Likewise.
6207 (MEM_SET_IN_STRUCT_P): Minor reformat.
6208 (TRAP_CONDITION): Whitespace.
6209 (TRAP_CODE): Likewise.
6210 (COND_EXEC_TEST): Likewise.
6211 (COND_EXEC_CODE): Likewise.
6212 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
6213 (PHI_NODE_P): Add parenthesis.
6214 (plus_constant): Whitespace and add parenthesis.
6215
6216 2002-01-03 Kazu Hirata <kazu@hxi.com>
6217
6218 * config/avr/avr.c: Fix comment typos.
6219 * config/c4x/c4x.md: Likewise.
6220 * config/dsp16xx/dsp16xx.h: Likewise.
6221 * config/dsp16xx/dsp16xx.md: Likewise.
6222 * config/i386/i386.md: Likewise.
6223 * config/ia64/ia64.c: Likewise.
6224 * config/m32r/m32r.h: Likewise.
6225 * config/m68hc11/m68hc11.md: Likewise.
6226 * config/mmix/mmix.c: Likewise.
6227 * config/mn10200/mn10200.c: Likewise.
6228 * config/romp/romp.c: Likewise.
6229 * config/sh/sh.c: Likewise.
6230 * config/stormy16/stormy16.c: Likewise.
6231 * config/stormy16/stormy16.h: Likewise.
6232 * config/stormy16/stormy16.md: Likewise.
6233
6234 2002-01-03 Graham Stott <grahams@redhat.com>
6235
6236 * loop.h: Update copyright date.
6237 (LOOP_MOVABLES): Fix typo.
6238 (LOOP_REGS): Likewise.
6239 (LOOP_IVS): Likewise.
6240
6241 2002-01-03 Graham Stott <grahams@redhat.com>
6242
6243 * cppinit.c: Update copyright date.
6244 Don't include output.h
6245 * Makefile.in: Update copyright date.
6246 Update dependency.
6247
6248 2002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
6249
6250 PR c/5226
6251 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
6252 (-pthread) Add to RS/6000 options.
6253
6254 2002-01-02 Kazu Hirata <kazu@hxi.com>
6255
6256 * except.c: Fix comment typos.
6257 * loop.c: Likewise.
6258 * varasm.c: Likewise.
6259 * doc/tm.texi: Fix a typo.
6260
6261 2002-01-02 Jakub Jelinek <jakub@redhat.com>
6262
6263 * c-typeck.c (output_init_element): Allow initializing static storage
6264 duration objects with compound literals.
6265
6266 2002-01-02 Richard Henderson <rth@redhat.com>
6267
6268 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
6269 after abusing it.
6270
6271 2002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6272
6273 * gcc.c (default_compilers): Const-ify.
6274 * mips-tdump.c (stab_names): Likewise.
6275 * mips-tfile.c (map_coff_types, map_coff_storage,
6276 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
6277 pseudo_ops_t, pseudo_ops): Likewise.
6278 * protoize.c (default_include): Likewise
6279
6280 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
6281 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
6282 Add array size in declaration.
6283 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
6284 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
6285 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
6286 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
6287 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
6288 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
6289 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
6290 emtens, make_nan): Const-ify.
6291 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
6292 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
6293
6294 2002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
6295
6296 * config.gcc (ia64-*-*): Set extra_headers.
6297 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
6298 * config/alpha/t-osf: Remove.
6299 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
6300
6301 2002-01-02 David Edelsohn <edelsohn@gnu.org>
6302
6303 * config/rs6000/t-aix43: Revert previous change.
6304
6305 2002-01-02 Jason Merrill <jason@redhat.com>
6306
6307 * c-decl.c (c_expand_body): Call outlining_inline_function when
6308 emitting an inline function out of line.
6309
6310 2002-01-02 Richard Henderson <rth@redhat.com>
6311
6312 * dwarf2out.c (limbo_die_node): Add created_for member.
6313 (new_die): New argument created_for. Update all callers.
6314 (mark_limbo_die_list): New.
6315 (dwarf2out_init): Register limbo_die_list as a root.
6316 (dwarf2out_finish): Force insert limbo dies into their function
6317 context.
6318
6319 2002-01-02 Nathan Sidwell <nathan@codesourcery.com>
6320
6321 PR c++/5089
6322 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
6323
6324 2002-01-02 Kazu Hirata <kazu@hxi.com>
6325
6326 * config/h8300/fixunssfsi.c: Update copyright.
6327 Fix comment typos.
6328 Fix formatting.
6329 * config/h8300/h8300.c: Update copyright.
6330 Eliminate warnings.
6331
6332 2002-01-02 Kazu Hirata <kazu@hxi.com>
6333
6334 * config/romp/romp.c: Fix comment formatting.
6335 * config/romp/romp.h: Likewise.
6336 * config/romp/romp.md: Likewise.
6337 * config/s390/s390.c: Likewise.
6338 * config/stormy16/stormy16.c: Likewise.
6339 * config/stormy16/stormy16.h: Likewise.
6340
6341 2002-01-02 Alexandre Oliva <aoliva@redhat.com>
6342
6343 * c-common.h (genrtl_expr_stmt_value): Declare.
6344 * c-semantics.c (genrtl_goto_stmt): Redirect to...
6345 (genrtl_goto_stmt_value): ... this new function. Pass new
6346 argument down to expand_expr_stmt_value, taking
6347 TREE_ADDRESSABLE into account.
6348 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
6349 STMT_EXPR as addressable, i.e., one whose result we want.
6350 * expr.c (expand_expr): Don't save expression statement value
6351 of labeled_blocks or loop_exprs.
6352 * stmt.c (expand_expr_stmt): Redirect to...
6353 (expand_expr_stmt_value): ... this new function. Use new
6354 argument to tell whether to save expression value.
6355 (expand_end_stmt_expr): Reset last_expr_type and
6356 last_expr_value if we don't have either.
6357 * tree-inline.c (declare_return_variable): Mark its use
6358 statement as addressable.
6359 * tree.h: Document new use of TREE_ADDRESSABLE.
6360 (expand_expr_stmt_value): Declare.
6361
6362 2002-01-01 Tom Rix <trix@redhat.com>
6363
6364 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
6365 rs6000_emit_allocate_stack.
6366
6367 2002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
6368
6369 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
6370 ${srcdir}/ginclude/ to every entry in extra_headers.
6371 * configure: Regenerate.
6372 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
6373 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
6374 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
6375 * ginclude/proto.h: Rename to config/convex/proto.h.
6376
6377 Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6378
6379 * attribs.c (handle_vector_size_attribute): Use host_integerp
6380 and tree_int_cst; remove warnings.
6381 * caller-save.c (insert_restore): Add cast to get rid of warning.
6382 (insert_save): Likewise.
6383 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
6384 * regmove.c (find_matches): Add temporary var to kill a warning.
6385
6386 2002-01-01 Douglas B Rupp <rupp@gnat.com>
6387
6388 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
6389 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
6390 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
6391 (vms-dwarf2eh.o): Add Makefile rule.
6392 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
6393 * config/alpha/vms-dwarf2eh.asm: New file.
6394
6395 * gcc.c (delete_if_ordinary): Delete all versions.
6396
6397 2002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
6398
6399 * config/mmix/mmix.md: Update FIXME to not mention
6400 define_constants.
6401 (MMIX_rJ_REGNUM): New define_constants constant.
6402 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
6403 "*movdicc_real"): Adjust contraints formatting.
6404 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
6405 for branch prediction.
6406 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
6407 output template.
6408 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
6409 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
6410 number. Delete related FIXMEs.
6411 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
6412 from number to MMIX_rJ_REGNUM.
6413 (TARGET_MASK_BRANCH_PREDICT): New.
6414 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
6415 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
6416 value. Add -mbranch-predict and -mno-branch-predict.
6417 (TARGET_VERSION): Drop date.
6418 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
6419 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
6420 for finding out global symbols.
6421 (mmix_asm_output_labelref): Revert condition for global symbol.
6422 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
6423 (mmix_print_operand_punct_valid_p): A '+' is valid.
6424
6425 See ChangeLog.6 for earlier changes.